From cda7b11ed6a1378ddfe6bdd4b86fc9914574142c Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Sat, 17 Jan 2026 12:27:59 +0000 Subject: [PATCH 01/20] Basic version of flutter app runs to display bottom navigation bar --- mobile_app/README.md | 27 ++++---- mobile_app/android/app/build.gradle | 9 ++- .../gradle/wrapper/gradle-wrapper.properties | 3 +- mobile_app/android/settings.gradle | 5 +- mobile_app/pubspec.lock | 64 +++++++++---------- 5 files changed, 58 insertions(+), 50 deletions(-) diff --git a/mobile_app/README.md b/mobile_app/README.md index 1dfe888..d2865ca 100644 --- a/mobile_app/README.md +++ b/mobile_app/README.md @@ -1,16 +1,17 @@ # mobile_app -A new Flutter project. +To run acho on your machine: -## Getting Started - -This project is a starting point for a Flutter application. - -A few resources to get you started if this is your first Flutter project: - -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) - -For help getting started with Flutter development, view the -[online documentation](https://docs.flutter.dev/), which offers tutorials, -samples, guidance on mobile development, and a full API reference. +- Install Android Studio +- Install Java 17 + - Configure flutter to use Java 17 because bundled Java 21 has bugs with the latest mac version (Tahoe) with + For Mac: + ``` + flutter config --jdk-dir="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home" + ``` + + Path may differ for windows +- Configure a device (Android 16.0) in Tools > Device Manager. and start with the play button ( ▶) +![Screenshot 2026-01-17 at 12.25.49.png](../../../../Desktop/Screenshot%202026-01-17%20at%2012.25.49.png) +- `cd mobile_app` +- `flutter run` \ No newline at end of file diff --git a/mobile_app/android/app/build.gradle b/mobile_app/android/app/build.gradle index 031a0ed..ba9fb7b 100644 --- a/mobile_app/android/app/build.gradle +++ b/mobile_app/android/app/build.gradle @@ -29,8 +29,8 @@ android { ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { @@ -44,6 +44,11 @@ android { versionName = flutterVersionName } + kotlinOptions { + // Change this from "1.8" to "17" + jvmTarget = "17" + } + buildTypes { release { // TODO: Add your own signing config for the release build. diff --git a/mobile_app/android/gradle/wrapper/gradle-wrapper.properties b/mobile_app/android/gradle/wrapper/gradle-wrapper.properties index e1ca574..5e02281 100644 --- a/mobile_app/android/gradle/wrapper/gradle-wrapper.properties +++ b/mobile_app/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip + diff --git a/mobile_app/android/settings.gradle b/mobile_app/android/settings.gradle index 536165d..c35249e 100644 --- a/mobile_app/android/settings.gradle +++ b/mobile_app/android/settings.gradle @@ -18,8 +18,9 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "7.3.0" apply false - id "org.jetbrains.kotlin.android" version "1.7.10" apply false + id "com.android.application" version "8.6.0" apply false + id "com.android.library" version "8.6.0" apply false + id "org.jetbrains.kotlin.android" version "2.1.0" apply false } include ":app" diff --git a/mobile_app/pubspec.lock b/mobile_app/pubspec.lock index ffe6a05..35aff79 100644 --- a/mobile_app/pubspec.lock +++ b/mobile_app/pubspec.lock @@ -37,26 +37,26 @@ packages: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" clock: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" collection: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.1" cupertino_icons: dependency: "direct main" description: @@ -69,10 +69,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.3" file: dependency: transitive description: @@ -126,26 +126,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" lints: dependency: transitive description: @@ -158,34 +158,34 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.17.0" path: dependency: transitive description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" platform: dependency: transitive description: @@ -221,7 +221,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: @@ -234,18 +234,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" string_scanner: dependency: transitive description: @@ -274,18 +274,18 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.7" vector_math: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -311,5 +311,5 @@ packages: source: hosted version: "3.0.3" sdks: - dart: ">=3.4.3 <4.0.0" + dart: ">=3.8.0-0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" From f9c480da3bdb7c14dc9f93a5f43785ab3dddf3b1 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Sat, 17 Jan 2026 16:02:13 +0000 Subject: [PATCH 02/20] Settings Page for Acho --- mobile_app/lib/folder.dart | 11 +++++++++++ mobile_app/lib/home.dart | 11 +++++++++++ mobile_app/lib/settings.dart | 11 +++++++++++ 3 files changed, 33 insertions(+) create mode 100644 mobile_app/lib/folder.dart create mode 100644 mobile_app/lib/home.dart create mode 100644 mobile_app/lib/settings.dart diff --git a/mobile_app/lib/folder.dart b/mobile_app/lib/folder.dart new file mode 100644 index 0000000..f722a12 --- /dev/null +++ b/mobile_app/lib/folder.dart @@ -0,0 +1,11 @@ +import 'package:flutter/material.dart'; + +class FolderApp extends StatelessWidget { + const FolderApp({super.key}); + + @override + Widget build(BuildContext context) { + // TODO: implement build + return const SizedBox.shrink(); + } +} diff --git a/mobile_app/lib/home.dart b/mobile_app/lib/home.dart new file mode 100644 index 0000000..44a5d1f --- /dev/null +++ b/mobile_app/lib/home.dart @@ -0,0 +1,11 @@ +import 'package:flutter/material.dart'; + +class HomeApp extends StatelessWidget { + const HomeApp({super.key}); + + @override + Widget build(BuildContext context) { + // TODO: implement build + return const SizedBox.shrink(); + } +} diff --git a/mobile_app/lib/settings.dart b/mobile_app/lib/settings.dart new file mode 100644 index 0000000..bf8ca71 --- /dev/null +++ b/mobile_app/lib/settings.dart @@ -0,0 +1,11 @@ +import 'package:flutter/material.dart'; + +class SettingsApp extends StatelessWidget { + const SettingsApp({super.key}); + + @override + Widget build(BuildContext context) { + // TODO: implement build + return const SizedBox.shrink(); + } +} From 21c3f9ef4806d5820cda51a1d4d7f82295324941 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Sat, 17 Jan 2026 18:23:28 +0000 Subject: [PATCH 03/20] implement u.i in flutter --- mobile_app/lib/folder.dart | 11 ---- mobile_app/lib/home.dart | 81 +++++++++++++++++++++++- mobile_app/lib/main.dart | 51 ++++++++++++--- mobile_app/lib/settings.dart | 75 +++++++++++++++++++++- mobile_app/pubspec.lock | 8 +++ mobile_app/pubspec.yaml | 1 + mobile_app/rust/Cargo.lock | 116 ++++++++++++++++++++++++++++------- 7 files changed, 300 insertions(+), 43 deletions(-) delete mode 100644 mobile_app/lib/folder.dart diff --git a/mobile_app/lib/folder.dart b/mobile_app/lib/folder.dart deleted file mode 100644 index f722a12..0000000 --- a/mobile_app/lib/folder.dart +++ /dev/null @@ -1,11 +0,0 @@ -import 'package:flutter/material.dart'; - -class FolderApp extends StatelessWidget { - const FolderApp({super.key}); - - @override - Widget build(BuildContext context) { - // TODO: implement build - return const SizedBox.shrink(); - } -} diff --git a/mobile_app/lib/home.dart b/mobile_app/lib/home.dart index 44a5d1f..d048149 100644 --- a/mobile_app/lib/home.dart +++ b/mobile_app/lib/home.dart @@ -1,11 +1,88 @@ +import 'dart:math'; + import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; class HomeApp extends StatelessWidget { const HomeApp({super.key}); @override Widget build(BuildContext context) { - // TODO: implement build - return const SizedBox.shrink(); + double width = MediaQuery.sizeOf(context).width; + + //TODO: cap at 5 + late List searchedItems = ['A', 'B', 'C']; + late List recentDocuments = [ + 'A', + 'B', + 'C' + ]; //TODO:switch to class, so we can access more attributes outside of title + + return SizedBox.shrink( + child: Column( + children: [ + SizedBox( + height: 70, + width: width - 40, + child: SearchBar( + leading: const Icon(Icons.search), + hintText: "Search...", + + shape: WidgetStateProperty.all( + const RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(3)), // This makes the corners square + ), + ), + + backgroundColor: WidgetStateProperty.all(Colors.grey[200]), + elevation: WidgetStateProperty.all(0), // Flat style + + onChanged: (text) { + //TODO: Handle search logic here + //spawn process into a new isolate to prevent u.i jank + }, + onSubmitted: (text) { + //TODO: Handle enter key press, + //TODO: similar to above depending on latency we may just use this + }, + ), + ), + const ListTile( + leading: Text( + "Recent Searches", + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + )), + Row( + children: List.generate(searchedItems.length, (int index) { + return SizedBox( + width: 70, + child: TextButton( + //TODO: style to make borders visible + onPressed: () { + //TODO: Handle click, popular search bar with text controller + }, + child: + Text(searchedItems[index]), // Display results from search + )); + })), + const ListTile( + leading: Text( + "Recent Documents", + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + )), + Column( + children: List.generate(recentDocuments.length, (int index) { + return ListTile( + leading: const Icon(Icons.picture_as_pdf), + onTap: () { + // Handle click + }, + trailing: const Icon(Icons.chevron_right), + title: Text(recentDocuments[index]), // Display results from search + ); + })) + ], + )); } } diff --git a/mobile_app/lib/main.dart b/mobile_app/lib/main.dart index 53581cf..e62081b 100644 --- a/mobile_app/lib/main.dart +++ b/mobile_app/lib/main.dart @@ -1,25 +1,60 @@ import 'package:flutter/material.dart'; -import 'package:mobile_app/src/rust/api/simple.dart'; import 'package:mobile_app/src/rust/frb_generated.dart'; +import 'package:mobile_app/settings.dart'; +import 'package:mobile_app/home.dart'; Future main() async { await RustLib.init(); runApp(const MyApp()); } -class MyApp extends StatelessWidget { +class MyApp extends StatefulWidget { const MyApp({super.key}); + @override + MyAppState createState() => MyAppState(); +} + +class MyAppState extends State { + PageController pageController = PageController(); + + int selectIndex = 0; + void onPageChanged(int index) { + setState(() { + selectIndex = index; + }); + } + + void onItemTap(int selectedItems) { + pageController.jumpToPage(selectedItems); + } + @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( - appBar: AppBar(title: const Text('flutter_rust_bridge quickstart')), - body: Center( - child: Text( - 'Action: Call Rust `greet("Tom")`\nResult: `${greet(name: "Tom")}`'), - ), - ), + appBar: AppBar(title: const Text('Acho')), + body: PageView( + children: [HomeApp(), SettingsApp()], + controller: pageController, + onPageChanged: onPageChanged, + ), + bottomNavigationBar: BottomNavigationBar( + onTap: onItemTap, + selectedItemColor: Colors.brown, + items: const [ + BottomNavigationBarItem( + backgroundColor: Colors.red, + label: 'Home', + icon: Icon(Icons.home_filled), + activeIcon: HomeApp(), + ), + BottomNavigationBarItem( + label: 'Settings', + icon: Icon(Icons.settings), + activeIcon: SettingsApp(), + ) + ])), ); } } diff --git a/mobile_app/lib/settings.dart b/mobile_app/lib/settings.dart index bf8ca71..2feab11 100644 --- a/mobile_app/lib/settings.dart +++ b/mobile_app/lib/settings.dart @@ -6,6 +6,79 @@ class SettingsApp extends StatelessWidget { @override Widget build(BuildContext context) { // TODO: implement build - return const SizedBox.shrink(); + return const SizedBox.shrink( + child: Column( + children: [ + ListTile( + leading: Text( + "Search Settings", + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + // onTap:, + ), + ListTile( + leading: Icon(Icons.folder), + title: Text("Folder"), + trailing: Icon(Icons.chevron_right_sharp), + // onTap:, + ), + ListTile( + leading: Icon(Icons.change_circle_sharp), + title: Text("Re-index PDFs"), + trailing: Icon(Icons.chevron_right_sharp), + // onTap:, + ), + Divider(), + ListTile( + leading: Text( + "Display", + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + ), + Divider(), + ListTile( + leading: Text( + "Storage", + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + // onTap:, + ), + ListTile( + leading: Text( + "Index Size", + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + // onTap:, + ), + ListTile( + leading: Icon(Icons.delete_forever_rounded), + title: Text("Clear search history"), + trailing: Icon(Icons.chevron_right), + // onTap:, + ), + Divider(), + ListTile( + leading: Text( + "About", + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + // onTap:, + ), + ListTile( + leading: Text( + "Version 1.0.0", + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + // onTap:, + ), + ListTile( + leading: Text( + "Help & Feedback", + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + // onTap:, + ) + ], + )); } } diff --git a/mobile_app/pubspec.lock b/mobile_app/pubspec.lock index 35aff79..95ec294 100644 --- a/mobile_app/pubspec.lock +++ b/mobile_app/pubspec.lock @@ -117,6 +117,14 @@ packages: description: flutter source: sdk version: "0.0.0" + gap: + dependency: "direct main" + description: + name: gap + sha256: f19387d4e32f849394758b91377f9153a1b41d79513ef7668c088c77dbc6955d + url: "https://pub.dev" + source: hosted + version: "3.0.1" integration_test: dependency: "direct dev" description: flutter diff --git a/mobile_app/pubspec.yaml b/mobile_app/pubspec.yaml index 76efff1..3ae2a7f 100644 --- a/mobile_app/pubspec.yaml +++ b/mobile_app/pubspec.yaml @@ -38,6 +38,7 @@ dependencies: rust_lib_mobile_app: path: rust_builder flutter_rust_bridge: 2.11.1 + gap: ^3.0.1 dev_dependencies: flutter_test: diff --git a/mobile_app/rust/Cargo.lock b/mobile_app/rust/Cargo.lock index b98e5bd..75291b4 100644 --- a/mobile_app/rust/Cargo.lock +++ b/mobile_app/rust/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -28,9 +28,9 @@ dependencies = [ [[package]] name = "allo-isolate" -version = "0.1.25" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b6d794345b06592d0ebeed8e477e41b71e5a0a49df4fc0e4184d5938b99509" +checksum = "449e356a4864c017286dbbec0e12767ea07efba29e3b7d984194c2a7ff3c4550" dependencies = [ "anyhow", "atomic", @@ -39,20 +39,19 @@ dependencies = [ [[package]] name = "android_log-sys" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937" +checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" [[package]] name = "android_logger" -version = "0.13.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c494134f746c14dc653a35a4ea5aca24ac368529da5370ecf41fe0341c35772f" +checksum = "dbb4e440d04be07da1f1bf44fb4495ebd58669372fe0cffa6e48595ac5bd88a3" dependencies = [ "android_log-sys", - "env_logger", + "env_filter", "log", - "once_cell", ] [[package]] @@ -88,6 +87,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + [[package]] name = "block-buffer" version = "0.10.4" @@ -157,22 +162,25 @@ dependencies = [ ] [[package]] -name = "dart-sys-fork" -version = "4.1.1" +name = "dart-sys" +version = "4.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "933dafff26172b719bb9695dd3715a1e7792f62dcdc8a5d4c740db7e0fedee8b" +checksum = "57967e4b200d767d091b961d6ab42cc7d0cc14fe9e052e75d0d3cf9eb732d895" dependencies = [ "cc", ] [[package]] name = "dashmap" -version = "4.0.2" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "num_cpus", + "hashbrown", + "lock_api", + "once_cell", + "parking_lot_core", ] [[package]] @@ -197,10 +205,10 @@ dependencies = [ ] [[package]] -name = "env_logger" -version = "0.10.1" +name = "env_filter" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" +checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" dependencies = [ "log", "regex", @@ -209,6 +217,8 @@ dependencies = [ [[package]] name = "flutter_rust_bridge" version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde126295b2acc5f0a712e265e91b6fdc0ed38767496483e592ae7134db83725" dependencies = [ "allo-isolate", "android_logger", @@ -217,7 +227,7 @@ dependencies = [ "bytemuck", "byteorder", "console_error_panic_hook", - "dart-sys-fork", + "dart-sys", "delegate-attr", "flutter_rust_bridge_macros", "futures", @@ -225,6 +235,7 @@ dependencies = [ "lazy_static", "log", "oslog", + "portable-atomic", "threadpool", "tokio", "wasm-bindgen", @@ -235,6 +246,8 @@ dependencies = [ [[package]] name = "flutter_rust_bridge_macros" version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f0420326b13675321b194928bb7830043b68cf8b810e1c651285c747abb080" dependencies = [ "hex", "md-5", @@ -348,6 +361,12 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + [[package]] name = "hermit-abi" version = "0.3.3" @@ -381,6 +400,15 @@ version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + [[package]] name = "log" version = "0.4.20" @@ -439,15 +467,28 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "oslog" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8343ce955f18e7e68c0207dd0ea776ec453035685395ababd2ea651c569728b3" +checksum = "80d2043d1f61d77cb2f4b1f7b7b2295f40507f5f8e9d1c8bf10a1ca5f97a3969" dependencies = [ "cc", "dashmap", "log", ] +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + [[package]] name = "pin-project-lite" version = "0.2.13" @@ -460,6 +501,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "portable-atomic" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" + [[package]] name = "proc-macro2" version = "1.0.70" @@ -478,6 +525,15 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + [[package]] name = "regex" version = "1.10.2" @@ -520,6 +576,12 @@ version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + [[package]] name = "slab" version = "0.4.9" @@ -529,6 +591,12 @@ dependencies = [ "autocfg", ] +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + [[package]] name = "syn" version = "2.0.39" @@ -653,3 +721,9 @@ dependencies = [ "js-sys", "wasm-bindgen", ] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" From cc134ed345a0e9ec059a8915edfd9a504e120faf Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 20 Jan 2026 00:32:35 +0000 Subject: [PATCH 04/20] WIP, implement indexing for local pdf documents --- mobile_app/lib/file.dart | 48 +++++++++++++++++++++++++++++++++++++ mobile_app/lib/storage.dart | 25 +++++++++++++++++++ mobile_app/lib/utils.dart | 11 +++++++++ 3 files changed, 84 insertions(+) create mode 100644 mobile_app/lib/file.dart create mode 100644 mobile_app/lib/storage.dart create mode 100644 mobile_app/lib/utils.dart diff --git a/mobile_app/lib/file.dart b/mobile_app/lib/file.dart new file mode 100644 index 0000000..e84ea1d --- /dev/null +++ b/mobile_app/lib/file.dart @@ -0,0 +1,48 @@ +import 'dart:io'; +import 'dart:math'; + +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'dart:io'; +import 'package:gap/gap.dart'; +import 'package:mobile_app/utils.dart'; + +class FolderApp extends StatelessWidget { + late List folders = []; + FolderApp({super.key, required this.folders}); + + @override + Widget build(BuildContext context) { + + //TODO:switch to class, so we can access more attributes outside of title + + + return SizedBox.shrink( + child: Column( + children: [ + const ListTile( + leading: Text( + "Folders", + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + )), + Column( + children: List.generate(folders.length, (int index) { + String fileName = folders[index].path.split("/").last; + String fileType = folders[index].path.split("/").last.split(".").last; + + Map fileIcon = {"pdf": Icon(Icons.picture_as_pdf)}; + + return ListTile( + leading: fileIcon[fileType] ?? Icon(Icons.book), + //TODO: style to make borders visible + onTap: () { + //TODO: Handle click, popular search bar with text controller + }, + title: + Text(fileName), // Display results from search + ); + })), + ], + )); + } +} diff --git a/mobile_app/lib/storage.dart b/mobile_app/lib/storage.dart new file mode 100644 index 0000000..e244e20 --- /dev/null +++ b/mobile_app/lib/storage.dart @@ -0,0 +1,25 @@ +// logging.dart +import 'dart:io'; + +import 'package:logger/logger.dart'; + + +class Log { + static Logger? _logger; + + static Future init() async { + _logger = Logger( + printer: PrettyPrinter(), + output: MultiOutput([ConsoleOutput()]), + ); + } + + static Logger get logger { + if (_logger == null) { + throw Exception('Logger is not initialized. Call Log.init() first.'); + } + return _logger!; + } + + +} diff --git a/mobile_app/lib/utils.dart b/mobile_app/lib/utils.dart new file mode 100644 index 0000000..f1bf20a --- /dev/null +++ b/mobile_app/lib/utils.dart @@ -0,0 +1,11 @@ +import 'package:flutter/services.dart'; + + +Future getFolders() async { + + const pdfPickerChannel = MethodChannel("pdfPickerPlatform"); + final String result = await pdfPickerChannel.invokeMethod('pickPdf'); + print(result); + return result; + +} \ No newline at end of file From c19bc3724de470774ef8bb449fef956662410906 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 20 Jan 2026 00:35:25 +0000 Subject: [PATCH 05/20] Scan pdf files, and update android permissions --- .../android/app/src/main/AndroidManifest.xml | 1 + mobile_app/lib/file.dart | 16 +- mobile_app/lib/main.dart | 50 +++- mobile_app/pubspec.lock | 265 +++++++++++++++++- mobile_app/pubspec.yaml | 4 + 5 files changed, 324 insertions(+), 12 deletions(-) diff --git a/mobile_app/android/app/src/main/AndroidManifest.xml b/mobile_app/android/app/src/main/AndroidManifest.xml index ff78bf3..bb3e8cc 100644 --- a/mobile_app/android/app/src/main/AndroidManifest.xml +++ b/mobile_app/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,5 @@ + folders = []; - FolderApp({super.key, required this.folders}); +class FileApp extends StatelessWidget { + late List files = []; + FileApp({super.key, required this.files}); @override Widget build(BuildContext context) { @@ -22,20 +22,22 @@ class FolderApp extends StatelessWidget { children: [ const ListTile( leading: Text( - "Folders", + "files", style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), )), Column( - children: List.generate(folders.length, (int index) { - String fileName = folders[index].path.split("/").last; - String fileType = folders[index].path.split("/").last.split(".").last; + children: List.generate(files.length, (int index) { + String fileName = files[index].path.split("/").last; + String fileType = files[index].path.split("/").last.split(".").last; Map fileIcon = {"pdf": Icon(Icons.picture_as_pdf)}; return ListTile( leading: fileIcon[fileType] ?? Icon(Icons.book), + trailing: Icon(Icons.chevron_right), //TODO: style to make borders visible onTap: () { + PdfScanner().openFilesRs(); //TODO: Handle click, popular search bar with text controller }, title: diff --git a/mobile_app/lib/main.dart b/mobile_app/lib/main.dart index e62081b..d8b6eb2 100644 --- a/mobile_app/lib/main.dart +++ b/mobile_app/lib/main.dart @@ -1,10 +1,33 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:mobile_app/src/rust/frb_generated.dart'; import 'package:mobile_app/settings.dart'; import 'package:mobile_app/home.dart'; +import 'package:mobile_app/file.dart'; +import 'package:mobile_app/storage.dart'; +import 'package:permission_handler/permission_handler.dart'; +import 'package:mobile_app/utils.dart'; Future main() async { + await RustLib.init(); + WidgetsFlutterBinding + .ensureInitialized(); // Ensure plugin services are initialized + + RootIsolateToken rootIsolateToken = RootIsolateToken.instance!; + BackgroundIsolateBinaryMessenger.ensureInitialized(rootIsolateToken); + await Log.init(); + + var status = await Permission.manageExternalStorage.status; + + if (!status.isGranted) { + status = await Permission.manageExternalStorage.request(); + } + + status = await Permission.manageExternalStorage.status; + Log.logger.i("Permission for external storage: $status"); runApp(const MyApp()); } @@ -17,6 +40,7 @@ class MyApp extends StatefulWidget { class MyAppState extends State { PageController pageController = PageController(); + List folders = []; int selectIndex = 0; void onPageChanged(int index) { @@ -25,6 +49,20 @@ class MyAppState extends State { }); } + @override + void initState() { + super.initState(); + _loadPdfs(); + } + + void _loadPdfs() async { + PdfScanner scanner = PdfScanner(); + List files = await scanner.getAllPdfs(); // This might block UI if not careful + setState(() { + folders = files; + }); + } + void onItemTap(int selectedItems) { pageController.jumpToPage(selectedItems); } @@ -35,21 +73,27 @@ class MyAppState extends State { home: Scaffold( appBar: AppBar(title: const Text('Acho')), body: PageView( - children: [HomeApp(), SettingsApp()], + children: [HomeApp(), FileApp(files: folders), SettingsApp()], controller: pageController, onPageChanged: onPageChanged, ), bottomNavigationBar: BottomNavigationBar( onTap: onItemTap, selectedItemColor: Colors.brown, - items: const [ - BottomNavigationBarItem( + items: [ + const BottomNavigationBarItem( backgroundColor: Colors.red, label: 'Home', icon: Icon(Icons.home_filled), activeIcon: HomeApp(), ), BottomNavigationBarItem( + backgroundColor: Colors.red, + label: 'Files', + icon: Icon(Icons.folder), + activeIcon: FileApp(files: [],), + ), + const BottomNavigationBarItem( label: 'Settings', icon: Icon(Icons.settings), activeIcon: SettingsApp(), diff --git a/mobile_app/pubspec.lock b/mobile_app/pubspec.lock index 95ec294..bf60420 100644 --- a/mobile_app/pubspec.lock +++ b/mobile_app/pubspec.lock @@ -49,6 +49,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.2" + code_assets: + dependency: transitive + description: + name: code_assets + sha256: ae0db647e668cbb295a3527f0938e4039e004c80099dce2f964102373f5ce0b5 + url: "https://pub.dev" + source: hosted + version: "0.19.10" collection: dependency: transitive description: @@ -57,6 +65,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.19.1" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "701dcfc06da0882883a2657c445103380e53e647060ad8d9dfb710c100996608" + url: "https://pub.dev" + source: hosted + version: "0.3.5+1" + crypto: + dependency: transitive + description: + name: crypto + sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf + url: "https://pub.dev" + source: hosted + version: "3.0.7" cupertino_icons: dependency: "direct main" description: @@ -65,6 +89,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.8" + dbus: + dependency: transitive + description: + name: dbus + sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c" + url: "https://pub.dev" + source: hosted + version: "0.7.11" fake_async: dependency: transitive description: @@ -73,6 +105,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.3" + ffi: + dependency: transitive + description: + name: ffi + sha256: d07d37192dbf97461359c1518788f203b0c9102cfd2c35a716b823741219542c + url: "https://pub.dev" + source: hosted + version: "2.1.5" file: dependency: transitive description: @@ -81,6 +121,14 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.0" + file_picker: + dependency: "direct main" + description: + name: file_picker + sha256: d974b6ba2606371ac71dd94254beefb6fa81185bde0b59bdc1df09885da85fde + url: "https://pub.dev" + source: hosted + version: "10.3.8" flutter: dependency: "direct main" description: flutter @@ -99,6 +147,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.2" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: ee8068e0e1cd16c4a82714119918efdeed33b3ba7772c54b5d094ab53f9b7fd1 + url: "https://pub.dev" + source: hosted + version: "2.0.33" flutter_rust_bridge: dependency: "direct main" description: @@ -112,6 +168,11 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" fuchsia_remote_debug_protocol: dependency: transitive description: flutter @@ -125,6 +186,22 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.1" + glob: + dependency: transitive + description: + name: glob + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de + url: "https://pub.dev" + source: hosted + version: "2.1.3" + hooks: + dependency: transitive + description: + name: hooks + sha256: "5410b9f4f6c9f01e8ff0eb81c9801ea13a3c3d39f8f0b1613cda08e27eab3c18" + url: "https://pub.dev" + source: hosted + version: "0.20.5" integration_test: dependency: "direct dev" description: flutter @@ -162,6 +239,22 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.0" + logger: + dependency: "direct main" + description: + name: logger + sha256: a7967e31b703831a893bbc3c3dd11db08126fe5f369b5c648a36f821979f5be3 + url: "https://pub.dev" + source: hosted + version: "2.6.2" + logging: + dependency: transitive + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" matcher: dependency: transitive description: @@ -186,6 +279,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.17.0" + native_toolchain_c: + dependency: transitive + description: + name: native_toolchain_c + sha256: f8872ea6c7a50ce08db9ae280ca2b8efdd973157ce462826c82f3c3051d154ce + url: "https://pub.dev" + source: hosted + version: "0.17.2" + objective_c: + dependency: transitive + description: + name: objective_c + sha256: "55eb67ede1002d9771b3f9264d2c9d30bc364f0267bc1c6cc0883280d5f0c7cb" + url: "https://pub.dev" + source: hosted + version: "9.2.2" path: dependency: transitive description: @@ -194,6 +303,110 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" + path_provider: + dependency: "direct main" + description: + name: path_provider + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" + url: "https://pub.dev" + source: hosted + version: "2.1.5" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: f2c65e21139ce2c3dad46922be8272bb5963516045659e71bb16e151c93b580e + url: "https://pub.dev" + source: hosted + version: "2.2.22" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699" + url: "https://pub.dev" + source: hosted + version: "2.6.0" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 + url: "https://pub.dev" + source: hosted + version: "2.3.0" + permission_handler: + dependency: "direct main" + description: + name: permission_handler + sha256: bc917da36261b00137bbc8896bf1482169cd76f866282368948f032c8c1caae1 + url: "https://pub.dev" + source: hosted + version: "12.0.1" + permission_handler_android: + dependency: transitive + description: + name: permission_handler_android + sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6" + url: "https://pub.dev" + source: hosted + version: "13.0.1" + permission_handler_apple: + dependency: transitive + description: + name: permission_handler_apple + sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023 + url: "https://pub.dev" + source: hosted + version: "9.4.7" + permission_handler_html: + dependency: transitive + description: + name: permission_handler_html + sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24" + url: "https://pub.dev" + source: hosted + version: "0.1.3+5" + permission_handler_platform_interface: + dependency: transitive + description: + name: permission_handler_platform_interface + sha256: eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878 + url: "https://pub.dev" + source: hosted + version: "4.3.0" + permission_handler_windows: + dependency: transitive + description: + name: permission_handler_windows + sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e" + url: "https://pub.dev" + source: hosted + version: "0.2.1" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1" + url: "https://pub.dev" + source: hosted + version: "7.0.1" platform: dependency: transitive description: @@ -218,6 +431,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.0.2" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" + url: "https://pub.dev" + source: hosted + version: "2.2.0" rust_lib_mobile_app: dependency: "direct main" description: @@ -286,6 +507,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.7.7" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" vector_math: dependency: transitive description: @@ -318,6 +547,38 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.3" + win32: + dependency: transitive + description: + name: win32 + sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e + url: "https://pub.dev" + source: hosted + version: "5.15.0" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + xml: + dependency: transitive + description: + name: xml + sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025" + url: "https://pub.dev" + source: hosted + version: "6.6.1" + yaml: + dependency: transitive + description: + name: yaml + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" + source: hosted + version: "3.1.3" sdks: - dart: ">=3.8.0-0 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" + dart: ">=3.10.3 <4.0.0" + flutter: ">=3.38.4" diff --git a/mobile_app/pubspec.yaml b/mobile_app/pubspec.yaml index 3ae2a7f..0714f25 100644 --- a/mobile_app/pubspec.yaml +++ b/mobile_app/pubspec.yaml @@ -39,6 +39,10 @@ dependencies: path: rust_builder flutter_rust_bridge: 2.11.1 gap: ^3.0.1 + permission_handler: ^12.0.1 + file_picker: ^10.3.8 + logger: ^2.6.2 + path_provider: ^2.1.5 dev_dependencies: flutter_test: From 422be7eadcfe2cdd555612dbfd8d1cd2ef532087 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 20 Jan 2026 00:37:37 +0000 Subject: [PATCH 06/20] Integrate flutter_rust_bridge with Flutter --- mobile_app/lib/utils.dart | 71 +++++++++++++++++++++++++++++++++++---- 1 file changed, 65 insertions(+), 6 deletions(-) diff --git a/mobile_app/lib/utils.dart b/mobile_app/lib/utils.dart index f1bf20a..43a902c 100644 --- a/mobile_app/lib/utils.dart +++ b/mobile_app/lib/utils.dart @@ -1,11 +1,70 @@ -import 'package:flutter/services.dart'; +import 'dart:io'; +import 'package:permission_handler/permission_handler.dart'; +import 'package:mobile_app/src/rust/api/simple.dart'; -Future getFolders() async { - const pdfPickerChannel = MethodChannel("pdfPickerPlatform"); - final String result = await pdfPickerChannel.invokeMethod('pickPdf'); - print(result); - return result; +// import 'package:path_provider/path_provider.dart'; (Optional if you need specific paths) + +class PdfScanner { + + Future> getAllPdfs() async { + List pdfs = []; + + var status = await Permission.manageExternalStorage.status; + if (!status.isGranted) { + status = await Permission.manageExternalStorage.request(); + } + + Directory rootDir = Directory('/storage/emulated/0/'); + + try { + await _searchForPdfs(rootDir, pdfs); + } catch (e) { + print("Error scanning: $e"); + } + + return pdfs; + } + + // Recursive function to walk through folders + Future _searchForPdfs(Directory dir, List pdfs) async { + try { + + List entities = dir.listSync(recursive: false, followLinks: false); + + for (FileSystemEntity entity in entities) { + // Skip hidden folders (start with .) and the Android data folder (restricted) + if (entity.path.split('/').last.startsWith('.')) continue; + if (entity.path.contains('/Android/obb')) continue; // Avoid Access Denied errors + if (entity.path.contains('/Android/data')) continue; // Avoid Access Denied errors + + if (entity is File) { + if (entity.path.toLowerCase().endsWith(".pdf")) { + pdfs.add(entity); + print("Found PDF: ${entity.path}"); + } + } else if (entity is Directory) { + await _searchForPdfs(entity, pdfs); + } + } + } catch (e) { + } + } + + void openFiles(FileSystemEntity file) async { + final stream = File(file.path).openRead(); + await for (final data in stream) { + print(data); + } + } + void openFilesRs() async { + var result = await hello(a: "Hi"); + print(result); + } + + void indexPdfFiles() async { + + } } \ No newline at end of file From 2a5a75aa85b82b19cf647e7ca5be9cc3d850aa3a Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 20 Jan 2026 00:39:46 +0000 Subject: [PATCH 07/20] WIP flutter_rust_bridge integration --- mobile_app/lib/src/rust/api/simple.dart | 3 + mobile_app/lib/src/rust/frb_generated.dart | 30 +- .../Flutter/GeneratedPluginRegistrant.swift | 2 + mobile_app/rust/Cargo.lock | 1961 +++++++++++++++-- mobile_app/rust/Cargo.toml | 2 + mobile_app/rust/src/api/keyword_search.rs | 81 + mobile_app/rust/src/api/simple.rs | 2 +- mobile_app/rust/src/frb_generated.rs | 38 +- .../flutter/generated_plugin_registrant.cc | 3 + .../windows/flutter/generated_plugins.cmake | 1 + 10 files changed, 1962 insertions(+), 161 deletions(-) create mode 100644 mobile_app/rust/src/api/keyword_search.rs diff --git a/mobile_app/lib/src/rust/api/simple.dart b/mobile_app/lib/src/rust/api/simple.dart index b632d8b..79f0d45 100644 --- a/mobile_app/lib/src/rust/api/simple.dart +++ b/mobile_app/lib/src/rust/api/simple.dart @@ -8,3 +8,6 @@ import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; String greet({required String name}) => RustLib.instance.api.crateApiSimpleGreet(name: name); + +Future hello({required String a}) => + RustLib.instance.api.crateApiSimpleHello(a: a); diff --git a/mobile_app/lib/src/rust/frb_generated.dart b/mobile_app/lib/src/rust/frb_generated.dart index 50fd264..99f6f6d 100644 --- a/mobile_app/lib/src/rust/frb_generated.dart +++ b/mobile_app/lib/src/rust/frb_generated.dart @@ -70,7 +70,7 @@ class RustLib extends BaseEntrypoint { String get codegenVersion => '2.11.1'; @override - int get rustContentHash => -1918914929; + int get rustContentHash => -810418245; static const kDefaultExternalLibraryLoaderConfig = ExternalLibraryLoaderConfig( @@ -83,6 +83,8 @@ class RustLib extends BaseEntrypoint { abstract class RustLibApi extends BaseApi { String crateApiSimpleGreet({required String name}); + Future crateApiSimpleHello({required String a}); + Future crateApiSimpleInitApp(); } @@ -118,13 +120,37 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { ); @override - Future crateApiSimpleInitApp() { + Future crateApiSimpleHello({required String a}) { return handler.executeNormal(NormalTask( callFfi: (port_) { final serializer = SseSerializer(generalizedFrbRustBinding); + sse_encode_String(a, serializer); pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 2, port: port_); }, + codec: SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ), + constMeta: kCrateApiSimpleHelloConstMeta, + argValues: [a], + apiImpl: this, + )); + } + + TaskConstMeta get kCrateApiSimpleHelloConstMeta => const TaskConstMeta( + debugName: "hello", + argNames: ["a"], + ); + + @override + Future crateApiSimpleInitApp() { + return handler.executeNormal(NormalTask( + callFfi: (port_) { + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, + funcId: 3, port: port_); + }, codec: SseCodec( decodeSuccessData: sse_decode_unit, decodeErrorData: null, diff --git a/mobile_app/macos/Flutter/GeneratedPluginRegistrant.swift b/mobile_app/macos/Flutter/GeneratedPluginRegistrant.swift index cccf817..774a6b8 100644 --- a/mobile_app/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/mobile_app/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,6 +5,8 @@ import FlutterMacOS import Foundation +import file_picker func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin")) } diff --git a/mobile_app/rust/Cargo.lock b/mobile_app/rust/Cargo.lock index 75291b4..65b1a67 100644 --- a/mobile_app/rust/Cargo.lock +++ b/mobile_app/rust/Cargo.lock @@ -17,11 +17,25 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "serde", + "version_check", + "zerocopy", +] + [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -54,18 +68,50 @@ dependencies = [ "log", ] +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "anyhow" version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "atomic" version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "autocfg" version = "1.1.0" @@ -87,6 +133,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "bitflags" version = "2.10.0" @@ -102,6 +154,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + [[package]] name = "build-target" version = "0.4.0" @@ -126,12 +187,34 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "bytes" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" + +[[package]] +name = "castaway" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" +dependencies = [ + "rustversion", +] + [[package]] name = "cc" version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ + "jobserver", "libc", ] @@ -141,6 +224,48 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" +dependencies = [ + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-link", +] + +[[package]] +name = "colored" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "compact_str" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" +dependencies = [ + "castaway", + "cfg-if", + "itoa", + "rustversion", + "ryu", + "static_assertions", +] + [[package]] name = "console_error_panic_hook" version = "0.1.7" @@ -151,6 +276,65 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "console_log" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f" +dependencies = [ + "log", + "web-sys", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + [[package]] name = "crypto-common" version = "0.1.6" @@ -161,6 +345,38 @@ dependencies = [ "typenum", ] +[[package]] +name = "csv" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde_core", +] + +[[package]] +name = "csv-core" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" +dependencies = [ + "memchr", +] + +[[package]] +name = "ctrlc" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" +dependencies = [ + "dispatch2", + "nix", + "windows-sys 0.61.2", +] + [[package]] name = "dart-sys" version = "4.1.5" @@ -177,7 +393,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown", + "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core", @@ -204,6 +420,35 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags", + "block2", + "libc", + "objc2", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + [[package]] name = "env_filter" version = "0.1.4" @@ -214,6 +459,28 @@ dependencies = [ "regex", ] +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "finl_unicode" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9844ddc3a6e533d62bba727eb6c28b5d360921d5175e9ff0f1e621a5c590a4d5" + [[package]] name = "flutter_rust_bridge" version = "2.11.1" @@ -256,11 +523,26 @@ dependencies = [ "syn", ] +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + [[package]] name = "futures" -version = "0.3.29" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -273,9 +555,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -283,15 +565,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.29" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -300,15 +582,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", @@ -317,21 +599,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -355,23 +637,69 @@ dependencies = [ "version_check", ] +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + [[package]] name = "gimli" version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +[[package]] +name = "gxhash" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ce1bab7aa741d4e7042b2aae415b78741f267a98a7271ea226cd5ba6c43d7d" +dependencies = [ + "rustversion", +] + +[[package]] +name = "h2" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -380,271 +708,1267 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] -name = "js-sys" -version = "0.3.69" +name = "http" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ - "wasm-bindgen", + "bytes", + "itoa", ] [[package]] -name = "lazy_static" -version = "1.4.0" +name = "http-body" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] [[package]] -name = "libc" -version = "0.2.150" +name = "http-body-util" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] [[package]] -name = "lock_api" -version = "0.4.14" +name = "httparse" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" -dependencies = [ - "scopeguard", -] +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] -name = "log" -version = "0.4.20" +name = "httpdate" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] -name = "md-5" -version = "0.10.6" +name = "hyper" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ - "cfg-if", - "digest", + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", + "tokio", + "want", ] [[package]] -name = "memchr" -version = "2.6.4" +name = "hyper-util" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "hyper", + "pin-project-lite", + "tokio", +] [[package]] -name = "miniz_oxide" -version = "0.7.1" +name = "iana-time-zone" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ - "adler", + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", ] [[package]] -name = "num_cpus" -version = "1.16.0" +name = "iana-time-zone-haiku" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "hermit-abi", - "libc", + "cc", ] [[package]] -name = "object" -version = "0.32.1" +name = "icu_collections" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ - "memchr", + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", ] [[package]] -name = "once_cell" -version = "1.18.0" +name = "icu_locale_core" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] [[package]] -name = "oslog" -version = "0.2.0" +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "image" +version = "0.25.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" +dependencies = [ + "bytemuck", + "byteorder-lite", + "moxcms", + "num-traits", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.180" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" + +[[package]] +name = "libloading" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" +dependencies = [ + "cfg-if", + "windows-link", +] + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "maybe-owned" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "memmap2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +dependencies = [ + "libc", +] + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "moxcms" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97" +dependencies = [ + "num-traits", + "pxfm", +] + +[[package]] +name = "nix" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", + "libc", +] + +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "num-format" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" +dependencies = [ + "arrayvec", + "itoa", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "objc2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "object" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "oslog" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80d2043d1f61d77cb2f4b1f7b7b2295f40507f5f8e9d1c8bf10a1ca5f97a3969" dependencies = [ - "cc", - "dashmap", - "log", + "cc", + "dashmap", + "log", +] + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + +[[package]] +name = "pdfium-render" +version = "0.8.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6553f6604a52b3203db7b4e9d51eb4dd193cf455af9e56d40cab6575b547b679" +dependencies = [ + "bitflags", + "bytemuck", + "bytes", + "chrono", + "console_error_panic_hook", + "console_log", + "image", + "itertools", + "js-sys", + "libloading", + "log", + "maybe-owned", + "once_cell", + "utf16string", + "vecmath", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piston-float" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad78bf43dcf80e8f950c92b84f938a0fc7590b7f6866fbcbeca781609c115590" + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "portable-atomic" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro2" +version = "1.0.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "pxfm" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" +dependencies = [ + "num-traits", +] + +[[package]] +name = "quote" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rayon" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", ] [[package]] -name = "parking_lot_core" -version = "0.9.12" +name = "redox_syscall" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" + +[[package]] +name = "rust-stemmers" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "rust_lib_mobile_app" +version = "0.1.0" +dependencies = [ + "flutter_rust_bridge", + "seekstorm", + "tokio", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "seekstorm" +version = "1.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae6733761ac4d7ec19ce349e2995c01e56b32957e2cdfaa1d49e83443bf399ed" +dependencies = [ + "ahash", + "aho-corasick", + "async-recursion", + "base64", + "chrono", + "colored", + "crossbeam-channel", + "csv", + "ctrlc", + "finl_unicode", + "futures", + "gxhash", + "http-body-util", + "hyper", + "hyper-util", + "indexmap", + "itertools", + "lazy_static", + "memmap2", + "num", + "num-derive", + "num-format", + "num-traits", + "num_cpus", + "pdfium-render", + "rand", + "rayon", + "regex", + "regex-syntax", + "rust-stemmers", + "serde", + "serde_json", + "sha2", + "smallvec", + "symspell_complete_rs", + "tokio", + "tokio-test", + "unicode-normalization", + "url", + "utoipa", + "walkdir", + "winapi", + "zstd", +] + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_norway" +version = "0.9.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e408f29489b5fd500fab51ff1484fc859bb655f32c671f307dcd733b72e8168c" +dependencies = [ + "indexmap", + "itoa", + "ryu", + "serde", + "unsafe-libyaml-norway", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", "libc", - "redox_syscall", - "smallvec", - "windows-link", ] [[package]] -name = "pin-project-lite" -version = "0.2.13" +name = "slab" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] [[package]] -name = "pin-utils" -version = "0.1.0" +name = "smallvec" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] -name = "portable-atomic" -version = "1.13.0" +name = "socket2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] [[package]] -name = "proc-macro2" -version = "1.0.70" +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "symspell_complete_rs" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57249a02e607aaafa8ca327e7503bd213e96842aaed8b6a5aab2f20d30875aa0" +dependencies = [ + "ahash", + "compact_str", + "gxhash", + "itertools", + "regex", + "smallvec", + "strsim", + "unicode-normalization", +] + +[[package]] +name = "syn" +version = "2.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" dependencies = [ + "proc-macro2", + "quote", "unicode-ident", ] [[package]] -name = "quote" -version = "1.0.33" +name = "synstructure" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", + "quote", + "syn", ] [[package]] -name = "redox_syscall" -version = "0.5.18" +name = "threadpool" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" dependencies = [ - "bitflags", + "num_cpus", ] [[package]] -name = "regex" -version = "1.10.2" +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.49.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +dependencies = [ + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-macros" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-stream" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-test" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6d24790a10a7af737693a3e8f1d03faef7e6ca0cc99aae5066f533766de545" +dependencies = [ + "futures-core", + "tokio", + "tokio-stream", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-ident" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] -name = "regex-automata" -version = "0.4.3" +name = "unicode-normalization" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", + "tinyvec", ] [[package]] -name = "regex-syntax" -version = "0.8.2" +name = "unsafe-libyaml-norway" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "b39abd59bf32521c7f2301b52d05a6a2c975b6003521cbd0c6dc1582f0a22104" [[package]] -name = "rust_lib_mobile_app" -version = "0.1.0" +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ - "flutter_rust_bridge", + "form_urlencoded", + "idna", + "percent-encoding", + "serde", ] [[package]] -name = "rustc-demangle" -version = "0.1.23" +name = "utf16string" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "0b62a1e85e12d5d712bf47a85f426b73d303e2d00a90de5f3004df3596e9d216" +dependencies = [ + "byteorder", +] [[package]] -name = "scopeguard" -version = "1.2.0" +name = "utf8_iter" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] -name = "slab" -version = "0.4.9" +name = "utoipa" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993" dependencies = [ - "autocfg", + "indexmap", + "serde", + "serde_json", + "serde_norway", + "utoipa-gen", ] [[package]] -name = "smallvec" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" - -[[package]] -name = "syn" -version = "2.0.39" +name = "utoipa-gen" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +checksum = "6d79d08d92ab8af4c5e8a6da20c47ae3f61a0f1dabc1997cdf2d082b757ca08b" dependencies = [ "proc-macro2", "quote", - "unicode-ident", + "syn", ] [[package]] -name = "threadpool" -version = "1.8.1" +name = "vecmath" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +checksum = "956ae1e0d85bca567dee1dcf87fb1ca2e792792f66f87dced8381f99cd91156a" dependencies = [ - "num_cpus", + "piston-float", ] [[package]] -name = "tokio" -version = "1.34.0" +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "walkdir" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ - "backtrace", - "num_cpus", - "pin-project-lite", + "same-file", + "winapi-util", ] [[package]] -name = "typenum" -version = "1.17.0" +name = "want" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] [[package]] -name = "unicode-ident" -version = "1.0.12" +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "version_check" -version = "0.9.4" +name = "wasip2" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] [[package]] name = "wasm-bindgen" @@ -722,8 +2046,333 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zmij" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94f63c051f4fe3c1509da62131a678643c5b6fbdc9273b2b79d4378ebda003d2" + +[[package]] +name = "zstd" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.16+zstd.1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" +dependencies = [ + "cc", + "pkg-config", +] + +[[package]] +name = "zune-core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" + +[[package]] +name = "zune-jpeg" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2959ca473aae96a14ecedf501d20b3608d2825ba280d5adb57d651721885b0c2" +dependencies = [ + "zune-core", +] diff --git a/mobile_app/rust/Cargo.toml b/mobile_app/rust/Cargo.toml index 2a03225..15cee59 100644 --- a/mobile_app/rust/Cargo.toml +++ b/mobile_app/rust/Cargo.toml @@ -8,6 +8,8 @@ crate-type = ["cdylib", "staticlib"] [dependencies] flutter_rust_bridge = "=2.11.1" +seekstorm = "1.2.5" +tokio = "1.49.0" [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(frb_expand)'] } diff --git a/mobile_app/rust/src/api/keyword_search.rs b/mobile_app/rust/src/api/keyword_search.rs new file mode 100644 index 0000000..9d3155c --- /dev/null +++ b/mobile_app/rust/src/api/keyword_search.rs @@ -0,0 +1,81 @@ +use seekstorm::index::{Index, open_index}; +use std::path::Path; +use std::sync::Arc; +use tokio::sync::RwLock; + +struct SearchFn { + path_to_index: String, +} + +impl SearchFn { + pub async fn new(&self) -> SearchFn { + use seekstorm::index::{ + AccessType, FrequentwordType, IndexMetaObject, NgramSet, SimilarityType, StemmerType, + StopwordType, TokenizerType, create_index, + }; + + let schema = SchemaField::new("title".to_string(), true, true, FieldType::String16, false, false, 1.0, false, false); + let meta = IndexMetaObject { + id: 0, + name: "acho_index".into(), + similarity: SimilarityType::Bm25f, + tokenizer: TokenizerType::AsciiAlphabetic, + stemmer: StemmerType::None, + stop_words: StopwordType::None, + frequent_words: FrequentwordType::English, + ngram_indexing: NgramSet::NgramFF as u8, + access_type: AccessType::Mmap, + spelling_correction: None, + query_completion: None, + }; + let segment_number_bits1 = 11; + let index_arc = create_index( + Path::new(self.path_to_index.as_str()), + meta, + &schema, + &Vec::new(), + 11, + false, + None, + ) + .await; + + SearchFn { + path_to_index: self.path_to_index.clone(), + } + } + + pub async fn ingest_pdf_dir(&self, dir_path: &Path) -> Result<(), Box> { + use seekstorm::ingest::IndexPdfFile; + + let file_path = Path::new(&dir_path); + let index_arc = open_index(Path::new(self.path_to_index.as_str()), false).await; + + match index_arc { + Ok(mut index_arc) => { + let _ = index_arc.index_pdf_file(file_path).await; + } + + Err(error) => { + // Err(error.into()); + println!("error: {}", error) + } + } + + Ok(()) + } + + ///For reset functionality, clearing index + pub async fn delete_index(&self) -> () { + let index_arc = open_index(Path::new(self.path_to_index.as_str()), false).await; + + match index_arc { + Ok(index_arc) => { + let _ = index_arc.write().await.delete_index(); + } + + Err(error) => { + // Err(error.into()); + } + } + } \ No newline at end of file diff --git a/mobile_app/rust/src/api/simple.rs b/mobile_app/rust/src/api/simple.rs index 4360c82..7f96e5d 100644 --- a/mobile_app/rust/src/api/simple.rs +++ b/mobile_app/rust/src/api/simple.rs @@ -7,4 +7,4 @@ pub fn greet(name: String) -> String { pub fn init_app() { // Default utilities - feel free to customize flutter_rust_bridge::setup_default_user_utils(); -} +} \ No newline at end of file diff --git a/mobile_app/rust/src/frb_generated.rs b/mobile_app/rust/src/frb_generated.rs index 4f41c47..6d764a3 100644 --- a/mobile_app/rust/src/frb_generated.rs +++ b/mobile_app/rust/src/frb_generated.rs @@ -37,7 +37,7 @@ flutter_rust_bridge::frb_generated_boilerplate!( default_rust_auto_opaque = RustAutoOpaqueMoi, ); pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.11.1"; -pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -1918914929; +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -810418245; // Section: executor @@ -75,6 +75,39 @@ fn wire__crate__api__simple__greet_impl( }, ) } +fn wire__crate__api__simple__hello_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "hello", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_a = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(crate::api::simple::hello(api_a))?; + Ok(output_ok) + })()) + } + }, + ) +} fn wire__crate__api__simple__init_app_impl( port_: flutter_rust_bridge::for_generated::MessagePort, ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, @@ -167,7 +200,8 @@ fn pde_ffi_dispatcher_primary_impl( ) { // Codec=Pde (Serialization + dispatch), see doc to use other codecs match func_id { - 2 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len), + 2 => wire__crate__api__simple__hello_impl(port, ptr, rust_vec_len, data_len), + 3 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len), _ => unreachable!(), } } diff --git a/mobile_app/windows/flutter/generated_plugin_registrant.cc b/mobile_app/windows/flutter/generated_plugin_registrant.cc index 8b6d468..48de52b 100644 --- a/mobile_app/windows/flutter/generated_plugin_registrant.cc +++ b/mobile_app/windows/flutter/generated_plugin_registrant.cc @@ -6,6 +6,9 @@ #include "generated_plugin_registrant.h" +#include void RegisterPlugins(flutter::PluginRegistry* registry) { + PermissionHandlerWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin")); } diff --git a/mobile_app/windows/flutter/generated_plugins.cmake b/mobile_app/windows/flutter/generated_plugins.cmake index 275cfbf..24083dc 100644 --- a/mobile_app/windows/flutter/generated_plugins.cmake +++ b/mobile_app/windows/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + permission_handler_windows ) list(APPEND FLUTTER_FFI_PLUGIN_LIST From 85eb8ff88bb92713637433302723d4536b961e80 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 20 Jan 2026 01:35:55 +0000 Subject: [PATCH 08/20] update to keyword_search --- backend/src/keyword_search.rs | 199 ++++++++++++++++++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 backend/src/keyword_search.rs diff --git a/backend/src/keyword_search.rs b/backend/src/keyword_search.rs new file mode 100644 index 0000000..97c8ff7 --- /dev/null +++ b/backend/src/keyword_search.rs @@ -0,0 +1,199 @@ +use clap::{Args, Parser, Subcommand}; +use seekstorm::index::open_index; +use std::path::Path; + +struct SearchFn { + path_to_index: String, +} + +impl SearchFn { + pub async fn new() -> SearchFn { + use seekstorm::index::{ + AccessType, FrequentwordType, IndexMetaObject, NgramSet, SimilarityType, StemmerType, + StopwordType, TokenizerType, create_index, + }; + + let schema = serde_json::from_str(schema_json).unwrap(); + let meta = IndexMetaObject { + id: 0, + name: "acho_index".into(), + similarity: SimilarityType::Bm25f, + tokenizer: TokenizerType::AsciiAlphabetic, + stemmer: StemmerType::None, + stop_words: StopwordType::None, + frequent_words: FrequentwordType::English, + ngram_indexing: NgramSet::NgramFF as u8, + access_type: AccessType::Mmap, + spelling_correction: None, + query_completion: None, + }; + let segment_number_bits1 = 11; + let index_arc = create_index( + Path::new(self.path_to_index.as_str()), + meta, + &schema, + &Vec::new(), + 11, + false, + None, + ) + .await; + + SearchFn { + path_to_index: self.path_to_index.clone(), + } + } + + pub async fn ingest_json(&self, json_file: &Path) -> Result<(), Box> { + use seekstorm::ingest::IngestJson; + + let index_arc = open_index(Path::new(self.path_to_index.as_str()), false).await; + + match index_arc { + Ok(index_arc) => { + index_arc.ingest_json(json_file).await; + println!("{}", self.path_to_index); + } + + Err(_error) => { + // Err(error.into()); + println!("error: {}", error) + } + } + + Ok(()) + } + + ///Functionality to search index + pub async fn search_index(&self, query: String) { + use seekstorm::highlighter::{Highlight, highlighter}; + use seekstorm::search::{QueryFacet, QueryRewriting, QueryType, ResultType, Search}; + use std::collections::HashSet; + + let offset = 0; + let length = 10; + let query_type = QueryType::Intersection; + let result_type = ResultType::TopkCount; + let include_uncommitted = false; + let field_filter = Vec::new(); + let query_facets = vec![QueryFacet::String16 { + field: "town".to_string(), + prefix: "".to_string(), + length: u16::MAX, + }]; + let facet_filter = Vec::new(); + + let result_sort = Vec::new(); + let index_arc = open_index(Path::new(self.path_to_index.as_str()), false).await; + println!("{}", query); + + match index_arc { + Ok(index_arc) => { + let result_object = index_arc + .search( + query, + query_type, + offset, + length, + result_type, + include_uncommitted, + field_filter, + query_facets, + facet_filter, + result_sort, + QueryRewriting::SearchOnly, + ) + .await; + + // ### display results + + let highlights: Vec = vec![Highlight { + field: "body".to_owned(), + name: String::new(), + fragment_number: 2, + fragment_size: 160, + highlight_markup: true, + ..Default::default() + }]; + let highlighter = + Some(highlighter(&index_arc, highlights, result_object.query_terms).await); + let return_fields_filter = HashSet::new(); + let distance_fields = Vec::new(); + let index = index_arc.write().await; + + for result in result_object.results.iter() { + let doc = index + .get_document( + result.doc_id, + false, + &highlighter, + &return_fields_filter, + &distance_fields, + ) + .await + .unwrap(); + println!( + "result {} rank {} body field {:?}", + result.doc_id, + result.score, + doc.get("body") + ); + } + println!( + "result counts {} {} {}", + result_object.results.len(), + result_object.result_count, + result_object.result_count_total + ); + + println!( + "{}", + serde_json::to_string_pretty(&result_object.facets).unwrap() + ); + } + + Err(_error) => { + // Err(error.into()); + } + } + } +} + +///CLI for keyword search +#[derive(Parser, Debug)] +#[command(version, about = "Index documents")] +pub struct SearchCli { + #[command(subcommand)] + pub action: Action, +} + +#[derive(Subcommand, Debug)] +pub enum Action { + Index { path_to_file: String }, + Search { keyword: String }, +} + +pub async fn search() -> Result<(), Box> { + let cli = SearchCli::parse(); + + match &cli.action { + Action::Index { path_to_file } => { + let user_search = SearchFn::new(&SearchFn { + path_to_index: String::from(""), //TODO: Add path_to_index + }) + .await; + let _ = user_search.ingest_json(Path::new(&path_to_file)).await; + Ok(()) + } + + Action::Search { keyword } => { + let user_search = SearchFn::new(&SearchFn { + path_to_index: String::from(""), //TODO: Add path_to_index + }) + .await; + + let _ = user_search.search_index(keyword.to_string()).await; + Ok(()) + } + } +} From b3b1c9f68f79bee463f77e62138e4eb0809072dd Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 20 Jan 2026 01:54:34 +0000 Subject: [PATCH 09/20] issues using flutter_code_gen due to missing cpu features --- mobile_app/lib/src/rust/api/simple.dart | 3 -- mobile_app/lib/src/rust/frb_generated.dart | 30 ++--------------- mobile_app/lib/utils.dart | 3 +- mobile_app/rust/src/frb_generated.rs | 38 ++-------------------- 4 files changed, 5 insertions(+), 69 deletions(-) diff --git a/mobile_app/lib/src/rust/api/simple.dart b/mobile_app/lib/src/rust/api/simple.dart index 79f0d45..b632d8b 100644 --- a/mobile_app/lib/src/rust/api/simple.dart +++ b/mobile_app/lib/src/rust/api/simple.dart @@ -8,6 +8,3 @@ import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; String greet({required String name}) => RustLib.instance.api.crateApiSimpleGreet(name: name); - -Future hello({required String a}) => - RustLib.instance.api.crateApiSimpleHello(a: a); diff --git a/mobile_app/lib/src/rust/frb_generated.dart b/mobile_app/lib/src/rust/frb_generated.dart index 99f6f6d..50fd264 100644 --- a/mobile_app/lib/src/rust/frb_generated.dart +++ b/mobile_app/lib/src/rust/frb_generated.dart @@ -70,7 +70,7 @@ class RustLib extends BaseEntrypoint { String get codegenVersion => '2.11.1'; @override - int get rustContentHash => -810418245; + int get rustContentHash => -1918914929; static const kDefaultExternalLibraryLoaderConfig = ExternalLibraryLoaderConfig( @@ -83,8 +83,6 @@ class RustLib extends BaseEntrypoint { abstract class RustLibApi extends BaseApi { String crateApiSimpleGreet({required String name}); - Future crateApiSimpleHello({required String a}); - Future crateApiSimpleInitApp(); } @@ -119,37 +117,13 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { argNames: ["name"], ); - @override - Future crateApiSimpleHello({required String a}) { - return handler.executeNormal(NormalTask( - callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(a, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 2, port: port_); - }, - codec: SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ), - constMeta: kCrateApiSimpleHelloConstMeta, - argValues: [a], - apiImpl: this, - )); - } - - TaskConstMeta get kCrateApiSimpleHelloConstMeta => const TaskConstMeta( - debugName: "hello", - argNames: ["a"], - ); - @override Future crateApiSimpleInitApp() { return handler.executeNormal(NormalTask( callFfi: (port_) { final serializer = SseSerializer(generalizedFrbRustBinding); pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 3, port: port_); + funcId: 2, port: port_); }, codec: SseCodec( decodeSuccessData: sse_decode_unit, diff --git a/mobile_app/lib/utils.dart b/mobile_app/lib/utils.dart index 43a902c..0644b33 100644 --- a/mobile_app/lib/utils.dart +++ b/mobile_app/lib/utils.dart @@ -59,8 +59,7 @@ class PdfScanner { } } void openFilesRs() async { - var result = await hello(a: "Hi"); - print(result); + } void indexPdfFiles() async { diff --git a/mobile_app/rust/src/frb_generated.rs b/mobile_app/rust/src/frb_generated.rs index 6d764a3..4f41c47 100644 --- a/mobile_app/rust/src/frb_generated.rs +++ b/mobile_app/rust/src/frb_generated.rs @@ -37,7 +37,7 @@ flutter_rust_bridge::frb_generated_boilerplate!( default_rust_auto_opaque = RustAutoOpaqueMoi, ); pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.11.1"; -pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -810418245; +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -1918914929; // Section: executor @@ -75,39 +75,6 @@ fn wire__crate__api__simple__greet_impl( }, ) } -fn wire__crate__api__simple__hello_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "hello", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_a = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(crate::api::simple::hello(api_a))?; - Ok(output_ok) - })()) - } - }, - ) -} fn wire__crate__api__simple__init_app_impl( port_: flutter_rust_bridge::for_generated::MessagePort, ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, @@ -200,8 +167,7 @@ fn pde_ffi_dispatcher_primary_impl( ) { // Codec=Pde (Serialization + dispatch), see doc to use other codecs match func_id { - 2 => wire__crate__api__simple__hello_impl(port, ptr, rust_vec_len, data_len), - 3 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len), + 2 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len), _ => unreachable!(), } } From ea105e5fb4df3fbaf0dd30836a8dd66f7c051afc Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Thu, 22 Jan 2026 19:59:53 +0000 Subject: [PATCH 10/20] attempt at using flutter_rust bridge --- backend/src/lib.rs | 2 +- mobile_app/rust/Cargo.lock | 2378 ------------------------------------ 2 files changed, 1 insertion(+), 2379 deletions(-) delete mode 100644 mobile_app/rust/Cargo.lock diff --git a/backend/src/lib.rs b/backend/src/lib.rs index 8b13789..d87586f 100644 --- a/backend/src/lib.rs +++ b/backend/src/lib.rs @@ -1 +1 @@ - +pub mod keyword_search.rs diff --git a/mobile_app/rust/Cargo.lock b/mobile_app/rust/Cargo.lock deleted file mode 100644 index 65b1a67..0000000 --- a/mobile_app/rust/Cargo.lock +++ /dev/null @@ -1,2378 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "getrandom", - "once_cell", - "serde", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" -dependencies = [ - "memchr", -] - -[[package]] -name = "allo-isolate" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449e356a4864c017286dbbec0e12767ea07efba29e3b7d984194c2a7ff3c4550" -dependencies = [ - "anyhow", - "atomic", - "backtrace", -] - -[[package]] -name = "android_log-sys" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" - -[[package]] -name = "android_logger" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb4e440d04be07da1f1bf44fb4495ebd58669372fe0cffa6e48595ac5bd88a3" -dependencies = [ - "android_log-sys", - "env_filter", - "log", -] - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "atomic" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backtrace" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "bitflags" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "block2" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" -dependencies = [ - "objc2", -] - -[[package]] -name = "build-target" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832133bbabbbaa9fbdba793456a2827627a7d2b8fb96032fa1e7666d7895832b" - -[[package]] -name = "bumpalo" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" - -[[package]] -name = "bytemuck" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "byteorder-lite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" - -[[package]] -name = "bytes" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" - -[[package]] -name = "castaway" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" -dependencies = [ - "rustversion", -] - -[[package]] -name = "cc" -version = "1.0.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "jobserver", - "libc", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "chrono" -version = "0.4.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" -dependencies = [ - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-link", -] - -[[package]] -name = "colored" -version = "3.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" -dependencies = [ - "windows-sys 0.61.2", -] - -[[package]] -name = "compact_str" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" -dependencies = [ - "castaway", - "cfg-if", - "itoa", - "rustversion", - "ryu", - "static_assertions", -] - -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if", - "wasm-bindgen", -] - -[[package]] -name = "console_log" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f" -dependencies = [ - "log", - "web-sys", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "csv" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde_core", -] - -[[package]] -name = "csv-core" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" -dependencies = [ - "memchr", -] - -[[package]] -name = "ctrlc" -version = "3.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" -dependencies = [ - "dispatch2", - "nix", - "windows-sys 0.61.2", -] - -[[package]] -name = "dart-sys" -version = "4.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57967e4b200d767d091b961d6ab42cc7d0cc14fe9e052e75d0d3cf9eb732d895" -dependencies = [ - "cc", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - -[[package]] -name = "delegate-attr" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51aac4c99b2e6775164b412ea33ae8441b2fde2dbf05a20bc0052a63d08c475b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[package]] -name = "dispatch2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" -dependencies = [ - "bitflags", - "block2", - "libc", - "objc2", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" - -[[package]] -name = "env_filter" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" -dependencies = [ - "log", - "regex", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "errno" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" -dependencies = [ - "libc", - "windows-sys 0.61.2", -] - -[[package]] -name = "finl_unicode" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9844ddc3a6e533d62bba727eb6c28b5d360921d5175e9ff0f1e621a5c590a4d5" - -[[package]] -name = "flutter_rust_bridge" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde126295b2acc5f0a712e265e91b6fdc0ed38767496483e592ae7134db83725" -dependencies = [ - "allo-isolate", - "android_logger", - "anyhow", - "build-target", - "bytemuck", - "byteorder", - "console_error_panic_hook", - "dart-sys", - "delegate-attr", - "flutter_rust_bridge_macros", - "futures", - "js-sys", - "lazy_static", - "log", - "oslog", - "portable-atomic", - "threadpool", - "tokio", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "flutter_rust_bridge_macros" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f0420326b13675321b194928bb7830043b68cf8b810e1c651285c747abb080" -dependencies = [ - "hex", - "md-5", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "form_urlencoded" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" -dependencies = [ - "cfg-if", - "libc", - "r-efi", - "wasip2", -] - -[[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "gxhash" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3ce1bab7aa741d4e7042b2aae415b78741f267a98a7271ea226cd5ba6c43d7d" -dependencies = [ - "rustversion", -] - -[[package]] -name = "h2" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" - -[[package]] -name = "hashbrown" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" - -[[package]] -name = "hermit-abi" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "http" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" -dependencies = [ - "bytes", - "itoa", -] - -[[package]] -name = "http-body" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" -dependencies = [ - "bytes", - "http", -] - -[[package]] -name = "http-body-util" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" -dependencies = [ - "bytes", - "futures-core", - "http", - "http-body", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "hyper" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" -dependencies = [ - "atomic-waker", - "bytes", - "futures-channel", - "futures-core", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "pin-utils", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-util" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" -dependencies = [ - "bytes", - "futures-core", - "http", - "http-body", - "hyper", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "icu_collections" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" -dependencies = [ - "displaydoc", - "potential_utf", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locale_core" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_normalizer" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" -dependencies = [ - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" - -[[package]] -name = "icu_properties" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" -dependencies = [ - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" - -[[package]] -name = "icu_provider" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" -dependencies = [ - "displaydoc", - "icu_locale_core", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", -] - -[[package]] -name = "idna" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "image" -version = "0.25.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" -dependencies = [ - "bytemuck", - "byteorder-lite", - "moxcms", - "num-traits", - "zune-core", - "zune-jpeg", -] - -[[package]] -name = "indexmap" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" -dependencies = [ - "equivalent", - "hashbrown 0.16.1", - "serde", - "serde_core", -] - -[[package]] -name = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" - -[[package]] -name = "jobserver" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" -dependencies = [ - "getrandom", - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "libc" -version = "0.2.180" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" - -[[package]] -name = "libloading" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" -dependencies = [ - "cfg-if", - "windows-link", -] - -[[package]] -name = "litemap" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" - -[[package]] -name = "lock_api" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - -[[package]] -name = "maybe-owned" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "memchr" -version = "2.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" - -[[package]] -name = "memmap2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" -dependencies = [ - "libc", -] - -[[package]] -name = "miniz_oxide" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" -dependencies = [ - "libc", - "wasi", - "windows-sys 0.61.2", -] - -[[package]] -name = "moxcms" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97" -dependencies = [ - "num-traits", - "pxfm", -] - -[[package]] -name = "nix" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" -dependencies = [ - "bitflags", - "cfg-if", - "cfg_aliases", - "libc", -] - -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "num-format" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" -dependencies = [ - "arrayvec", - "itoa", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "objc2" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" -dependencies = [ - "objc2-encode", -] - -[[package]] -name = "objc2-encode" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" - -[[package]] -name = "object" -version = "0.32.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" - -[[package]] -name = "oslog" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d2043d1f61d77cb2f4b1f7b7b2295f40507f5f8e9d1c8bf10a1ca5f97a3969" -dependencies = [ - "cc", - "dashmap", - "log", -] - -[[package]] -name = "parking_lot" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-link", -] - -[[package]] -name = "pdfium-render" -version = "0.8.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6553f6604a52b3203db7b4e9d51eb4dd193cf455af9e56d40cab6575b547b679" -dependencies = [ - "bitflags", - "bytemuck", - "bytes", - "chrono", - "console_error_panic_hook", - "console_log", - "image", - "itertools", - "js-sys", - "libloading", - "log", - "maybe-owned", - "once_cell", - "utf16string", - "vecmath", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "pin-project-lite" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "piston-float" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad78bf43dcf80e8f950c92b84f938a0fc7590b7f6866fbcbeca781609c115590" - -[[package]] -name = "pkg-config" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "portable-atomic" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" - -[[package]] -name = "potential_utf" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" -dependencies = [ - "zerovec", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "proc-macro2" -version = "1.0.105" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "pxfm" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" -dependencies = [ - "num-traits", -] - -[[package]] -name = "quote" -version = "1.0.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r-efi" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" - -[[package]] -name = "rand" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" -dependencies = [ - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "rayon" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "redox_syscall" -version = "0.5.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" -dependencies = [ - "bitflags", -] - -[[package]] -name = "regex" -version = "1.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" - -[[package]] -name = "rust-stemmers" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54" -dependencies = [ - "serde", - "serde_derive", -] - -[[package]] -name = "rust_lib_mobile_app" -version = "0.1.0" -dependencies = [ - "flutter_rust_bridge", - "seekstorm", - "tokio", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - -[[package]] -name = "rustversion" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" - -[[package]] -name = "ryu" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "seekstorm" -version = "1.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6733761ac4d7ec19ce349e2995c01e56b32957e2cdfaa1d49e83443bf399ed" -dependencies = [ - "ahash", - "aho-corasick", - "async-recursion", - "base64", - "chrono", - "colored", - "crossbeam-channel", - "csv", - "ctrlc", - "finl_unicode", - "futures", - "gxhash", - "http-body-util", - "hyper", - "hyper-util", - "indexmap", - "itertools", - "lazy_static", - "memmap2", - "num", - "num-derive", - "num-format", - "num-traits", - "num_cpus", - "pdfium-render", - "rand", - "rayon", - "regex", - "regex-syntax", - "rust-stemmers", - "serde", - "serde_json", - "sha2", - "smallvec", - "symspell_complete_rs", - "tokio", - "tokio-test", - "unicode-normalization", - "url", - "utoipa", - "walkdir", - "winapi", - "zstd", -] - -[[package]] -name = "serde" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" -dependencies = [ - "serde_core", - "serde_derive", -] - -[[package]] -name = "serde_core" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.149" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" -dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] - -[[package]] -name = "serde_norway" -version = "0.9.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e408f29489b5fd500fab51ff1484fc859bb655f32c671f307dcd733b72e8168c" -dependencies = [ - "indexmap", - "itoa", - "ryu", - "serde", - "unsafe-libyaml-norway", -] - -[[package]] -name = "sha2" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" -dependencies = [ - "errno", - "libc", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" - -[[package]] -name = "socket2" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" -dependencies = [ - "libc", - "windows-sys 0.60.2", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "symspell_complete_rs" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57249a02e607aaafa8ca327e7503bd213e96842aaed8b6a5aab2f20d30875aa0" -dependencies = [ - "ahash", - "compact_str", - "gxhash", - "itertools", - "regex", - "smallvec", - "strsim", - "unicode-normalization", -] - -[[package]] -name = "syn" -version = "2.0.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "synstructure" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - -[[package]] -name = "tinystr" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinyvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.49.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" -dependencies = [ - "bytes", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.61.2", -] - -[[package]] -name = "tokio-macros" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-stream" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-test" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6d24790a10a7af737693a3e8f1d03faef7e6ca0cc99aae5066f533766de545" -dependencies = [ - "futures-core", - "tokio", - "tokio-stream", -] - -[[package]] -name = "tokio-util" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tracing" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" -dependencies = [ - "pin-project-lite", - "tracing-core", -] - -[[package]] -name = "tracing-core" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" -dependencies = [ - "once_cell", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unsafe-libyaml-norway" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39abd59bf32521c7f2301b52d05a6a2c975b6003521cbd0c6dc1582f0a22104" - -[[package]] -name = "url" -version = "2.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", -] - -[[package]] -name = "utf16string" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b62a1e85e12d5d712bf47a85f426b73d303e2d00a90de5f3004df3596e9d216" -dependencies = [ - "byteorder", -] - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "utoipa" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993" -dependencies = [ - "indexmap", - "serde", - "serde_json", - "serde_norway", - "utoipa-gen", -] - -[[package]] -name = "utoipa-gen" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d79d08d92ab8af4c5e8a6da20c47ae3f61a0f1dabc1997cdf2d082b757ca08b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "vecmath" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ae1e0d85bca567dee1dcf87fb1ca2e792792f66f87dced8381f99cd91156a" -dependencies = [ - "piston-float", -] - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.1+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - -[[package]] -name = "wasip2" -version = "1.0.2+wasi-0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" -dependencies = [ - "wit-bindgen", -] - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "web-sys" -version = "0.3.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" -dependencies = [ - "windows-sys 0.61.2", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link", - "windows-result", - "windows-strings", -] - -[[package]] -name = "windows-implement" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "windows-interface" -version = "0.59.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-result" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-sys" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-targets" -version = "0.53.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" -dependencies = [ - "windows-link", - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" - -[[package]] -name = "windows_i686_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" - -[[package]] -name = "windows_i686_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" - -[[package]] -name = "wit-bindgen" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" - -[[package]] -name = "writeable" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" - -[[package]] -name = "yoke" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" -dependencies = [ - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerocopy" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerotrie" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", -] - -[[package]] -name = "zerovec" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zmij" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f63c051f4fe3c1509da62131a678643c5b6fbdc9273b2b79d4378ebda003d2" - -[[package]] -name = "zstd" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "7.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" -dependencies = [ - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.16+zstd.1.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" -dependencies = [ - "cc", - "pkg-config", -] - -[[package]] -name = "zune-core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" - -[[package]] -name = "zune-jpeg" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2959ca473aae96a14ecedf501d20b3608d2825ba280d5adb57d651721885b0c2" -dependencies = [ - "zune-core", -] From 89422cb047a9c0844ca2df55b0b9ce9dd1dd13e1 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Thu, 22 Jan 2026 20:00:33 +0000 Subject: [PATCH 11/20] attempt at connecting flutter_rust_bridge --- .idea/caches/deviceStreaming.xml | 1313 + .idea/deviceManager.xml | 13 + .idea/misc.xml | 5 + .idea/vcs.xml | 6 + .idea/workspace.xml | 118 + mobile_app/flutter_rust_bridge.yaml | 2 +- .../lib/src/rust/api/keyword_search.dart | 41 + mobile_app/lib/src/rust/frb_generated.dart | 35326 +++++++++++- mobile_app/lib/src/rust/frb_generated.io.dart | 7710 ++- .../lib/src/rust/frb_generated.web.dart | 5167 +- mobile_app/lib/src/rust/lib.dart | 79 + .../rust/third_party/seekstorm/commit.dart | 31 + .../third_party/seekstorm/geo_search.dart | 52 + .../third_party/seekstorm/highlighter.dart | 89 + .../src/rust/third_party/seekstorm/index.dart | 857 + .../rust/third_party/seekstorm/ingest.dart | 83 + .../rust/third_party/seekstorm/search.dart | 295 + .../src/rust/third_party/seekstorm/utils.dart | 20 + .../lib/src/rust/third_party/tokio/io.dart | 2712 + .../third_party/tokio/macros/support.dart | 15 + .../lib/src/rust/third_party/tokio/net.dart | 4504 ++ .../src/rust/third_party/tokio/net/tcp.dart | 297 + .../third_party/tokio/net/tcp/listener.dart | 13 + .../tokio/net/tcp/split_owned.dart | 20 + .../src/rust/third_party/tokio/net/udp.dart | 13 + .../src/rust/third_party/tokio/net/unix.dart | 41 + .../tokio/net/unix/datagram/socket.dart | 13 + .../third_party/tokio/net/unix/listener.dart | 13 + .../rust/third_party/tokio/net/unix/pipe.dart | 2871 + .../src/rust/third_party/tokio/process.dart | 426 + .../rust/third_party/tokio/process/sys.dart | 12 + .../src/rust/third_party/tokio/runtime.dart | 531 + .../src/rust/third_party/tokio/signal.dart | 63 + .../rust/third_party/tokio/signal/unix.dart | 231 + .../lib/src/rust/third_party/tokio/sync.dart | 695 + .../third_party/tokio/sync/broadcast.dart | 15 + .../tokio/sync/broadcast/error.dart | 18 + .../third_party/tokio/sync/mpsc/bounded.dart | 19 + .../third_party/tokio/sync/mpsc/error.dart | 25 + .../rust/third_party/tokio/sync/oneshot.dart | 14 + .../rust/third_party/tokio/sync/watch.dart | 15 + .../lib/src/rust/third_party/tokio/task.dart | 83 + .../src/rust/third_party/tokio/task/coop.dart | 157 + .../lib/src/rust/third_party/tokio/time.dart | 734 + .../rust/third_party/tokio/time/error.dart | 34 + .../rust/third_party/tokio/time/interval.dart | 12 + mobile_app/pubspec.lock | 112 + mobile_app/pubspec.yaml | 1 + mobile_app/rust/Cargo.lock | 2380 + mobile_app/rust/Cargo.toml | 3 +- mobile_app/rust/src/api/keyword_search.rs | 40 +- mobile_app/rust/src/api/mod.rs | 1 + mobile_app/rust/src/frb_generated.rs | 46942 +++++++++++++++- 53 files changed, 113777 insertions(+), 505 deletions(-) create mode 100644 .idea/caches/deviceStreaming.xml create mode 100644 .idea/deviceManager.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 mobile_app/lib/src/rust/api/keyword_search.dart create mode 100644 mobile_app/lib/src/rust/lib.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/commit.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/index.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/search.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/utils.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/io.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/macros/support.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/udp.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/process.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/process/sys.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/runtime.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/signal.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/task.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/task/coop.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/time.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/time/error.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/time/interval.dart create mode 100644 mobile_app/rust/Cargo.lock diff --git a/.idea/caches/deviceStreaming.xml b/.idea/caches/deviceStreaming.xml new file mode 100644 index 0000000..33049c4 --- /dev/null +++ b/.idea/caches/deviceStreaming.xml @@ -0,0 +1,1313 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deviceManager.xml b/.idea/deviceManager.xml new file mode 100644 index 0000000..91f9558 --- /dev/null +++ b/.idea/deviceManager.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6e86672 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..f8ab653 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + { + "associatedIndex": 0 +} + + + + { + "keyToString": { + "ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true", + "ModuleVcsDetector.initialDetectionPerformed": "true", + "RunOnceActivity.ShowReadmeOnStart": "true", + "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true", + "RunOnceActivity.cidr.known.project.marker": "true", + "RunOnceActivity.git.unshallow": "true", + "RunOnceActivity.readMode.enableVisualFormatting": "true", + "cf.first.check.clang-format": "false", + "cidr.known.project.marker": "true", + "dart.analysis.tool.window.visible": "false", + "git-widget-placeholder": "start-flutter-2", + "kotlin-language-version-configured": "true", + "last_opened_file_path": "/Users/emmanuel/Code/pp/acho/mobile_app/lib", + "project.structure.last.edited": "Project", + "project.structure.proportion": "0.0", + "project.structure.side.proportion": "0.2", + "settings.editor.selected.configurable": "project.propDebugger", + "show.migrate.to.gradle.popup": "false" + }, + "keyToStringList": { + "com.intellij.ide.scratch.ScratchImplUtil$2/New Scratch File": [ + "Dart" + ] + } +} + + + + + + + + + + + + + + 1768432606666 + + + + + + + + + + + + file://$PROJECT_DIR$/mobile_app/lib/utils.dart + + + + + \ No newline at end of file diff --git a/mobile_app/flutter_rust_bridge.yaml b/mobile_app/flutter_rust_bridge.yaml index e15ed91..3ac6de9 100644 --- a/mobile_app/flutter_rust_bridge.yaml +++ b/mobile_app/flutter_rust_bridge.yaml @@ -1,3 +1,3 @@ -rust_input: crate::api +rust_input: crate::api,seekstorm rust_root: rust/ dart_output: lib/src/rust \ No newline at end of file diff --git a/mobile_app/lib/src/rust/api/keyword_search.dart b/mobile_app/lib/src/rust/api/keyword_search.dart new file mode 100644 index 0000000..a7dc4e8 --- /dev/null +++ b/mobile_app/lib/src/rust/api/keyword_search.dart @@ -0,0 +1,41 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../frb_generated.dart'; +import '../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +class SearchFn { + final String pathToIndex; + + const SearchFn({ + required this.pathToIndex, + }); + + ///For reset functionality, clearing index + Future deleteIndex() => + RustLib.instance.api.crateApiKeywordSearchSearchFnDeleteIndex( + that: this, + ); + + Future ingestPdfDir({required Path dirPath}) => RustLib.instance.api + .crateApiKeywordSearchSearchFnIngestPdfDir(that: this, dirPath: dirPath); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + Future newInstance() => + RustLib.instance.api.crateApiKeywordSearchSearchFnNew( + that: this, + ); + + @override + int get hashCode => pathToIndex.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is SearchFn && + runtimeType == other.runtimeType && + pathToIndex == other.pathToIndex; +} diff --git a/mobile_app/lib/src/rust/frb_generated.dart b/mobile_app/lib/src/rust/frb_generated.dart index 50fd264..ddafba6 100644 --- a/mobile_app/lib/src/rust/frb_generated.dart +++ b/mobile_app/lib/src/rust/frb_generated.dart @@ -3,238 +3,35106 @@ // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field +import 'api/keyword_search.dart'; import 'api/simple.dart'; import 'dart:async'; import 'dart:convert'; import 'frb_generated.dart'; -import 'frb_generated.io.dart' - if (dart.library.js_interop) 'frb_generated.web.dart'; +import 'frb_generated.io.dart' if (dart.library.js_interop) 'frb_generated.web.dart'; +import 'lib.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'third_party/seekstorm/commit.dart'; +import 'third_party/seekstorm/geo_search.dart'; +import 'third_party/seekstorm/highlighter.dart'; +import 'third_party/seekstorm/index.dart'; +import 'third_party/seekstorm/ingest.dart'; +import 'third_party/seekstorm/search.dart'; +import 'third_party/seekstorm/utils.dart'; +import 'third_party/tokio/io.dart'; +import 'third_party/tokio/macros/support.dart'; +import 'third_party/tokio/net.dart'; +import 'third_party/tokio/net/tcp.dart'; +import 'third_party/tokio/net/tcp/listener.dart'; +import 'third_party/tokio/net/tcp/split_owned.dart'; +import 'third_party/tokio/net/udp.dart'; +import 'third_party/tokio/net/unix.dart'; +import 'third_party/tokio/net/unix/datagram/socket.dart'; +import 'third_party/tokio/net/unix/listener.dart'; +import 'third_party/tokio/net/unix/pipe.dart'; +import 'third_party/tokio/process.dart'; +import 'third_party/tokio/process/sys.dart'; +import 'third_party/tokio/runtime.dart'; +import 'third_party/tokio/signal.dart'; +import 'third_party/tokio/signal/unix.dart'; +import 'third_party/tokio/sync.dart'; +import 'third_party/tokio/sync/broadcast.dart'; +import 'third_party/tokio/sync/broadcast/error.dart'; +import 'third_party/tokio/sync/mpsc/bounded.dart'; +import 'third_party/tokio/sync/mpsc/error.dart'; +import 'third_party/tokio/sync/oneshot.dart'; +import 'third_party/tokio/sync/watch.dart'; +import 'third_party/tokio/task.dart'; +import 'third_party/tokio/task/coop.dart'; +import 'third_party/tokio/time.dart'; +import 'third_party/tokio/time/error.dart'; +import 'third_party/tokio/time/interval.dart'; -/// Main entrypoint of the Rust API -class RustLib extends BaseEntrypoint { - @internal - static final instance = RustLib._(); - - RustLib._(); - - /// Initialize flutter_rust_bridge - static Future init({ - RustLibApi? api, - BaseHandler? handler, - ExternalLibrary? externalLibrary, - bool forceSameCodegenVersion = true, - }) async { - await instance.initImpl( - api: api, - handler: handler, - externalLibrary: externalLibrary, - forceSameCodegenVersion: forceSameCodegenVersion, - ); - } - - /// Initialize flutter_rust_bridge in mock mode. - /// No libraries for FFI are loaded. - static void initMock({ - required RustLibApi api, - }) { - instance.initMockImpl( - api: api, - ); - } - - /// Dispose flutter_rust_bridge - /// - /// The call to this function is optional, since flutter_rust_bridge (and everything else) - /// is automatically disposed when the app stops. - static void dispose() => instance.disposeImpl(); - - @override - ApiImplConstructor get apiImplConstructor => - RustLibApiImpl.new; - - @override - WireConstructor get wireConstructor => - RustLibWire.fromExternalLibrary; - - @override - Future executeRustInitializers() async { - await api.crateApiSimpleInitApp(); - } - - @override - ExternalLibraryLoaderConfig get defaultExternalLibraryLoaderConfig => - kDefaultExternalLibraryLoaderConfig; - - @override - String get codegenVersion => '2.11.1'; - - @override - int get rustContentHash => -1918914929; - - static const kDefaultExternalLibraryLoaderConfig = - ExternalLibraryLoaderConfig( - stem: 'rust_lib_mobile_app', - ioDirectory: 'rust/target/release/', - webPrefix: 'pkg/', - ); -} - -abstract class RustLibApi extends BaseApi { - String crateApiSimpleGreet({required String name}); - - Future crateApiSimpleInitApp(); -} - -class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { - RustLibApiImpl({ - required super.handler, - required super.wire, - required super.generalizedFrbRustBinding, - required super.portManager, - }); - - @override - String crateApiSimpleGreet({required String name}) { - return handler.executeSync(SyncTask( - callFfi: () { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(name, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 1)!; - }, - codec: SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ), - constMeta: kCrateApiSimpleGreetConstMeta, - argValues: [name], - apiImpl: this, - )); - } - - TaskConstMeta get kCrateApiSimpleGreetConstMeta => const TaskConstMeta( - debugName: "greet", - argNames: ["name"], - ); - - @override - Future crateApiSimpleInitApp() { - return handler.executeNormal(NormalTask( - callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 2, port: port_); - }, - codec: SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ), - constMeta: kCrateApiSimpleInitAppConstMeta, - argValues: [], - apiImpl: this, - )); - } - - TaskConstMeta get kCrateApiSimpleInitAppConstMeta => const TaskConstMeta( - debugName: "init_app", - argNames: [], - ); - - @protected - String dco_decode_String(dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return raw as String; - } - - @protected - Uint8List dco_decode_list_prim_u_8_strict(dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return raw as Uint8List; - } - - @protected - int dco_decode_u_8(dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return raw as int; - } - - @protected - void dco_decode_unit(dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return; - } - - @protected - String sse_decode_String(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - var inner = sse_decode_list_prim_u_8_strict(deserializer); - return utf8.decoder.convert(inner); - } - - @protected - Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - var len_ = sse_decode_i_32(deserializer); - return deserializer.buffer.getUint8List(len_); - } - - @protected - int sse_decode_u_8(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - return deserializer.buffer.getUint8(); - } - - @protected - void sse_decode_unit(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - } - - @protected - int sse_decode_i_32(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - return deserializer.buffer.getInt32(); - } - - @protected - bool sse_decode_bool(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - return deserializer.buffer.getUint8() != 0; - } - - @protected - void sse_encode_String(String self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_list_prim_u_8_strict(utf8.encoder.convert(self), serializer); - } - - @protected - void sse_encode_list_prim_u_8_strict( - Uint8List self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_i_32(self.length, serializer); - serializer.buffer.putUint8List(self); - } - - @protected - void sse_encode_u_8(int self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - serializer.buffer.putUint8(self); - } - - @protected - void sse_encode_unit(void self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - } - - @protected - void sse_encode_i_32(int self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - serializer.buffer.putInt32(self); - } - - @protected - void sse_encode_bool(bool self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - serializer.buffer.putUint8(self ? 1 : 0); - } -} + + /// Main entrypoint of the Rust API + class RustLib extends BaseEntrypoint { + @internal + static final instance = RustLib._(); + + RustLib._(); + + /// Initialize flutter_rust_bridge + static Future init({ + RustLibApi? api, + BaseHandler? handler, + ExternalLibrary? externalLibrary, + bool forceSameCodegenVersion = true, + }) async { + await instance.initImpl( + api: api, + handler: handler, + externalLibrary: externalLibrary, + forceSameCodegenVersion: forceSameCodegenVersion, + ); + } + + /// Initialize flutter_rust_bridge in mock mode. + /// No libraries for FFI are loaded. + static void initMock({ + required RustLibApi api, + }) { + instance.initMockImpl( + api: api, + ); + } + + /// Dispose flutter_rust_bridge + /// + /// The call to this function is optional, since flutter_rust_bridge (and everything else) + /// is automatically disposed when the app stops. + static void dispose() => instance.disposeImpl(); + + @override + ApiImplConstructor get apiImplConstructor => RustLibApiImpl.new; + + @override + WireConstructor get wireConstructor => RustLibWire.fromExternalLibrary; + + @override + Future executeRustInitializers() async { + await api.crateApiSimpleInitApp(); + + } + + @override + ExternalLibraryLoaderConfig get defaultExternalLibraryLoaderConfig => kDefaultExternalLibraryLoaderConfig; + + @override + String get codegenVersion => '2.11.1'; + + @override + int get rustContentHash => 606630313; + + static const kDefaultExternalLibraryLoaderConfig = ExternalLibraryLoaderConfig( + stem: 'rust_lib_mobile_app', + ioDirectory: 'rust/target/release/', + webPrefix: 'pkg/', + ); + } + + + abstract class RustLibApi extends BaseApi { + Future tokioSyncBarrierWaitResultIsLeader({required BarrierWaitResult that }); + +Future tokioSyncBarrierNew({required BigInt n }); + +Future tokioSyncBarrierWait({required Barrier that }); + +Future tokioProcessChildStderrFromStd({required ChildStderr inner }); + +Future tokioProcessChildStderrIntoOwnedFd({required ChildStderr that }); + +Future tokioProcessChildStdinFromStd({required ChildStdin inner }); + +Future tokioProcessChildStdinIntoOwnedFd({required ChildStdin that }); + +Future tokioProcessChildStdoutFromStd({required ChildStdout inner }); + +Future tokioProcessChildStdoutIntoOwnedFd({required ChildStdout that }); + +ChildStderr? tokioProcessChildAutoAccessorGetStderr({required Child that }); + +ChildStdin? tokioProcessChildAutoAccessorGetStdin({required Child that }); + +ChildStdout? tokioProcessChildAutoAccessorGetStdout({required Child that }); + +void tokioProcessChildAutoAccessorSetStderr({required Child that , ChildStderr? stderr }); + +void tokioProcessChildAutoAccessorSetStdin({required Child that , ChildStdin? stdin }); + +void tokioProcessChildAutoAccessorSetStdout({required Child that , ChildStdout? stdout }); + +Future tokioProcessChildId({required Child that }); + +Future tokioProcessChildKill({required Child that }); + +Future tokioProcessChildStartKill({required Child that }); + +Future tokioProcessChildTryWait({required Child that }); + +Future tokioProcessChildWait({required Child that }); + +Future tokioProcessCommandAsStd({required Command that }); + +Future tokioProcessCommandAsStdMut({required Command that }); + +Future tokioProcessCommandEnvClear({required Command that }); + +Future tokioProcessCommandGetKillOnDrop({required Command that }); + +Future tokioProcessCommandGid({required Command that , required int id }); + +Future tokioProcessCommandIntoStd({required Command that }); + +Future tokioProcessCommandKillOnDrop({required Command that , required bool killOnDrop }); + +Future tokioProcessCommandProcessGroup({required Command that , required int pgroup }); + +Future tokioProcessCommandSpawn({required Command that }); + +Future tokioProcessCommandUid({required Command that , required int id }); + +Future tokioTimeErrorErrorAtCapacity(); + +Future tokioTimeErrorErrorInvalid(); + +Future tokioTimeErrorErrorIsAtCapacity({required Error that }); + +Future tokioTimeErrorErrorIsInvalid({required Error that }); + +Future tokioTimeErrorErrorIsShutdown({required Error that }); + +Future tokioTimeErrorErrorShutdown(); + +ValueType seekstormIndexFacetFieldAutoAccessorGetMax({required FacetField that }); + +ValueType seekstormIndexFacetFieldAutoAccessorGetMin({required FacetField that }); + +String seekstormIndexFacetFieldAutoAccessorGetName({required FacetField that }); + +IndexMapStringVecStringUsize seekstormIndexFacetFieldAutoAccessorGetValues({required FacetField that }); + +void seekstormIndexFacetFieldAutoAccessorSetMax({required FacetField that , required ValueType max }); + +void seekstormIndexFacetFieldAutoAccessorSetMin({required FacetField that , required ValueType min }); + +void seekstormIndexFacetFieldAutoAccessorSetName({required FacetField that , required String name }); + +void seekstormIndexFacetFieldAutoAccessorSetValues({required FacetField that , required IndexMapStringVecStringUsize values }); + +Future seekstormIndexFacetFieldDefault(); + +Future seekstormIndexFrequentwordTypeDefault(); + +Future tokioRuntimeHandleCurrent(); + +Future tokioRuntimeHandleDefault(); + +Future tokioRuntimeHandleEnter({required Handle that }); + +Future tokioRuntimeHandleId({required Handle that }); + +Future tokioRuntimeHandleMetrics({required Handle that }); + +Future tokioRuntimeHandleRuntimeFlavor({required Handle that }); + +Future tokioRuntimeHandleTryCurrent(); + +AccessType seekstormIndexIndexMetaObjectAutoAccessorGetAccessType({required IndexMetaObject that }); + +FrequentwordType seekstormIndexIndexMetaObjectAutoAccessorGetFrequentWords({required IndexMetaObject that }); + +BigInt seekstormIndexIndexMetaObjectAutoAccessorGetId({required IndexMetaObject that }); + +String seekstormIndexIndexMetaObjectAutoAccessorGetName({required IndexMetaObject that }); + +int seekstormIndexIndexMetaObjectAutoAccessorGetNgramIndexing({required IndexMetaObject that }); + +QueryCompletion? seekstormIndexIndexMetaObjectAutoAccessorGetQueryCompletion({required IndexMetaObject that }); + +SimilarityType seekstormIndexIndexMetaObjectAutoAccessorGetSimilarity({required IndexMetaObject that }); + +SpellingCorrection? seekstormIndexIndexMetaObjectAutoAccessorGetSpellingCorrection({required IndexMetaObject that }); + +StemmerType seekstormIndexIndexMetaObjectAutoAccessorGetStemmer({required IndexMetaObject that }); + +StopwordType seekstormIndexIndexMetaObjectAutoAccessorGetStopWords({required IndexMetaObject that }); + +TokenizerType seekstormIndexIndexMetaObjectAutoAccessorGetTokenizer({required IndexMetaObject that }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetAccessType({required IndexMetaObject that , required AccessType accessType }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetFrequentWords({required IndexMetaObject that , required FrequentwordType frequentWords }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetId({required IndexMetaObject that , required BigInt id }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetName({required IndexMetaObject that , required String name }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetNgramIndexing({required IndexMetaObject that , required int ngramIndexing }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetQueryCompletion({required IndexMetaObject that , QueryCompletion? queryCompletion }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetSimilarity({required IndexMetaObject that , required SimilarityType similarity }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetSpellingCorrection({required IndexMetaObject that , SpellingCorrection? spellingCorrection }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetStemmer({required IndexMetaObject that , required StemmerType stemmer }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetStopWords({required IndexMetaObject that , required StopwordType stopWords }); + +void seekstormIndexIndexMetaObjectAutoAccessorSetTokenizer({required IndexMetaObject that , required TokenizerType tokenizer }); + +Future seekstormIndexIndexAddSynonyms({required Index that , required List synonyms }); + +int seekstormIndexIndexAutoAccessorGetIndexFormatVersionMajor({required Index that }); + +int seekstormIndexIndexAutoAccessorGetIndexFormatVersionMinor({required Index that }); + +IndexMetaObject seekstormIndexIndexAutoAccessorGetMeta({required Index that }); + +Map seekstormIndexIndexAutoAccessorGetSchemaMap({required Index that }); + +List seekstormIndexIndexAutoAccessorGetStoredFieldNames({required Index that }); + +void seekstormIndexIndexAutoAccessorSetIndexFormatVersionMajor({required Index that , required int indexFormatVersionMajor }); + +void seekstormIndexIndexAutoAccessorSetIndexFormatVersionMinor({required Index that , required int indexFormatVersionMinor }); + +void seekstormIndexIndexAutoAccessorSetMeta({required Index that , required IndexMetaObject meta }); + +void seekstormIndexIndexAutoAccessorSetSchemaMap({required Index that , required Map schemaMap }); + +void seekstormIndexIndexAutoAccessorSetStoredFieldNames({required Index that , required List storedFieldNames }); + +Future seekstormIndexIndexClearIndex({required Index that }); + +Future seekstormIndexIndexCommittedDocCount({required Index that }); + +Future seekstormIndexIndexCurrentDocCount({required Index that }); + +Future seekstormIndexIndexDeleteIndex({required Index that }); + +Future seekstormIndexIndexFacetsCount({required Index that }); + +Future> seekstormIndexIndexGetDocument({required Index that , required BigInt docId , required bool includeUncommited , Highlighter? highlighterOption , required Set fields , required List distanceFields }); + +Future seekstormIndexIndexGetFacetValue({required Index that , required String field , required BigInt docId }); + +Future seekstormIndexIndexGetFile({required Index that , required BigInt docId }); + +Future seekstormIndexIndexGetIndexStringFacets({required Index that , required List queryFacets }); + +Future> seekstormIndexIndexGetSynonyms({required Index that }); + +Future> seekstormIndexIndexIndexFacetsMinmax({required Index that }); + +Future seekstormIndexIndexIndexedDocCount({required Index that }); + +Future seekstormIndexIndexLevelCount({required Index that }); + +Future seekstormIndexIndexSetSynonyms({required Index that , required List synonyms }); + +Future seekstormIndexIndexShardCount({required Index that }); + +Future seekstormIndexIndexUncommittedDocCount({required Index that }); + +Future tokioIoInterestAdd({required Interest that , required Interest other }); + +Future tokioIoInterestIsError({required Interest that }); + +Future tokioIoInterestIsReadable({required Interest that }); + +Future tokioIoInterestIsWritable({required Interest that }); + +Future tokioIoInterestRemove({required Interest that , required Interest other }); + +Future tokioTimeIntervalMissedTickBehavior({required Interval that }); + +Future tokioTimeIntervalPeriod({required Interval that }); + +Future tokioTimeIntervalPollTick({required Interval that , required Context cx }); + +Future tokioTimeIntervalReset({required Interval that }); + +Future tokioTimeIntervalResetAfter({required Interval that , required Duration after }); + +Future tokioTimeIntervalResetAt({required Interval that , required Instant deadline }); + +Future tokioTimeIntervalResetImmediately({required Interval that }); + +Future tokioTimeIntervalSetMissedTickBehavior({required Interval that , required MissedTickBehavior behavior }); + +Future tokioTimeIntervalTick({required Interval that }); + +Future tokioTaskLocalSetDefault(); + +Future tokioTaskLocalSetEnter({required LocalSet that }); + +Future tokioTaskLocalSetId({required LocalSet that }); + +Future tokioTaskLocalSetNew(); + +Value seekstormIndexMinMaxFieldJsonAutoAccessorGetMax({required MinMaxFieldJson that }); + +Value seekstormIndexMinMaxFieldJsonAutoAccessorGetMin({required MinMaxFieldJson that }); + +void seekstormIndexMinMaxFieldJsonAutoAccessorSetMax({required MinMaxFieldJson that , required Value max }); + +void seekstormIndexMinMaxFieldJsonAutoAccessorSetMin({required MinMaxFieldJson that , required Value min }); + +Future seekstormIndexMinMaxFieldJsonDefault(); + +ValueType seekstormIndexMinMaxFieldAutoAccessorGetMax({required MinMaxField that }); + +ValueType seekstormIndexMinMaxFieldAutoAccessorGetMin({required MinMaxField that }); + +void seekstormIndexMinMaxFieldAutoAccessorSetMax({required MinMaxField that , required ValueType max }); + +void seekstormIndexMinMaxFieldAutoAccessorSetMin({required MinMaxField that , required ValueType min }); + +Future seekstormIndexMinMaxFieldDefault(); + +Future tokioSyncNotifyConstNew(); + +Future tokioSyncNotifyDefault(); + +Future tokioSyncNotifyNew(); + +Future tokioSyncNotifyNotified({required Notify that }); + +Future tokioSyncNotifyNotifiedOwned({required Notify that }); + +Future tokioSyncNotifyNotifyLast({required Notify that }); + +Future tokioSyncNotifyNotifyOne({required Notify that }); + +Future tokioSyncNotifyNotifyWaiters({required Notify that }); + +Future tokioNetUnixPipeOpenOptionsAppend({required OpenOptions that , required bool append }); + +Future tokioNetUnixPipeOpenOptionsCreate({required OpenOptions that , required bool create }); + +Future tokioNetUnixPipeOpenOptionsCreateNew({required OpenOptions that , required bool createNew }); + +Future tokioNetUnixPipeOpenOptionsCustomFlags({required OpenOptions that , required int flags }); + +Future tokioNetUnixPipeOpenOptionsDefault(); + +Future tokioNetUnixPipeOpenOptionsMode({required OpenOptions that , required int mode }); + +Future tokioNetUnixPipeOpenOptionsNew(); + +Future tokioNetUnixPipeOpenOptionsRead({required OpenOptions that , required bool read }); + +Future tokioNetUnixPipeOpenOptionsTruncate({required OpenOptions that , required bool truncate }); + +Future tokioNetUnixPipeOpenOptionsUnchecked({required OpenOptions that , required bool value }); + +Future tokioNetUnixPipeOpenOptionsWrite({required OpenOptions that , required bool write }); + +Future tokioNetTcpOwnedReadHalfLocalAddr({required OwnedReadHalf that }); + +Future tokioNetTcpOwnedReadHalfPeek({required OwnedReadHalf that , required U8 buf }); + +Future tokioNetTcpOwnedReadHalfPeerAddr({required OwnedReadHalf that }); + +Future tokioNetTcpOwnedReadHalfPollPeek({required OwnedReadHalf that , required Context cx , required ReadBuf buf }); + +Future tokioNetTcpOwnedReadHalfReadable({required OwnedReadHalf that }); + +Future tokioNetTcpOwnedReadHalfReady({required OwnedReadHalf that , required Interest interest }); + +Future tokioNetTcpOwnedReadHalfReunite({required OwnedReadHalf that , required OwnedWriteHalf other }); + +Future tokioNetTcpOwnedReadHalfTryRead({required OwnedReadHalf that , required U8 buf }); + +Future tokioNetTcpOwnedReadHalfTryReadVectored({required OwnedReadHalf that , required IoSliceMut bufs }); + +Future tokioSyncOwnedSemaphorePermitMerge({required OwnedSemaphorePermit that , required OwnedSemaphorePermit other }); + +Future tokioSyncOwnedSemaphorePermitNumPermits({required OwnedSemaphorePermit that }); + +Future tokioSyncOwnedSemaphorePermitSemaphore({required OwnedSemaphorePermit that }); + +Future tokioSyncOwnedSemaphorePermitSplit({required OwnedSemaphorePermit that , required BigInt n }); + +Future tokioNetTcpOwnedWriteHalfLocalAddr({required OwnedWriteHalf that }); + +Future tokioNetTcpOwnedWriteHalfPeerAddr({required OwnedWriteHalf that }); + +Future tokioNetTcpOwnedWriteHalfReady({required OwnedWriteHalf that , required Interest interest }); + +Future tokioNetTcpOwnedWriteHalfReunite({required OwnedWriteHalf that , required OwnedReadHalf other }); + +Future tokioNetTcpOwnedWriteHalfTryWrite({required OwnedWriteHalf that , required List buf }); + +Future tokioNetTcpOwnedWriteHalfTryWriteVectored({required OwnedWriteHalf that , required List bufs }); + +Future tokioNetTcpOwnedWriteHalfWritable({required OwnedWriteHalf that }); + +Future seekstormSearchQueryFacetDefault(); + +Future seekstormSearchQueryRewritingDefault(); + +Future seekstormSearchRangesDefault(); + +Future tokioIoReadyIsEmpty({required Ready that }); + +Future tokioIoReadyIsError({required Ready that }); + +Future tokioIoReadyIsReadClosed({required Ready that }); + +Future tokioIoReadyIsReadable({required Ready that }); + +Future tokioIoReadyIsWritable({required Ready that }); + +Future tokioIoReadyIsWriteClosed({required Ready that }); + +Future tokioNetUnixPipeReceiverTBlockingRecv({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTBlockingRecvMany({required ReceiverT that , required VecT buffer , required BigInt limit }); + +Future tokioNetUnixPipeReceiverTBorrow({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTBorrowAndUpdate({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTCapacity({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTChanged({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTClose({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTHasChanged({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTIsClosed({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTIsEmpty({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTIsTerminated({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTLen({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTMarkChanged({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTMarkUnchanged({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTMaxCapacity({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTPollRecv({required ReceiverT that , required Context cx }); + +Future tokioNetUnixPipeReceiverTPollRecvMany({required ReceiverT that , required Context cx , required VecT buffer , required BigInt limit }); + +Future tokioNetUnixPipeReceiverTRecv({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTRecvMany({required ReceiverT that , required VecT buffer , required BigInt limit }); + +Future tokioNetUnixPipeReceiverTResubscribe({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTSameChannel({required ReceiverT that , required ReceiverT other }); + +Future tokioNetUnixPipeReceiverTSenderStrongCount({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTSenderWeakCount({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverTTryRecv({required ReceiverT that }); + +Future tokioNetUnixPipeReceiverFromFile({required File file }); + +Future tokioNetUnixPipeReceiverFromFileUnchecked({required File file }); + +Future tokioNetUnixPipeReceiverFromOwnedFd({required OwnedFd ownedFd }); + +Future tokioNetUnixPipeReceiverFromOwnedFdUnchecked({required OwnedFd ownedFd }); + +Future tokioNetUnixPipeReceiverIntoBlockingFd({required Receiver that }); + +Future tokioNetUnixPipeReceiverIntoNonblockingFd({required Receiver that }); + +Future tokioNetUnixPipeReceiverPollReadReady({required Receiver that , required Context cx }); + +Future tokioNetUnixPipeReceiverReadable({required Receiver that }); + +Future tokioNetUnixPipeReceiverReady({required Receiver that , required Interest interest }); + +Future tokioNetUnixPipeReceiverTryRead({required Receiver that , required U8 buf }); + +Future tokioNetUnixPipeReceiverTryReadVectored({required Receiver that , required IoSliceMut bufs }); + +Future tokioTaskCoopRestoreOnPendingMadeProgress({required RestoreOnPending that }); + +AHashMapStringFacet seekstormSearchResultObjectAutoAccessorGetFacets({required ResultObject that }); + +String seekstormSearchResultObjectAutoAccessorGetOriginalQuery({required ResultObject that }); + +String seekstormSearchResultObjectAutoAccessorGetQuery({required ResultObject that }); + +List seekstormSearchResultObjectAutoAccessorGetQueryTerms({required ResultObject that }); + +BigInt seekstormSearchResultObjectAutoAccessorGetResultCount({required ResultObject that }); + +BigInt seekstormSearchResultObjectAutoAccessorGetResultCountTotal({required ResultObject that }); + +List seekstormSearchResultObjectAutoAccessorGetResults({required ResultObject that }); + +List seekstormSearchResultObjectAutoAccessorGetSuggestions({required ResultObject that }); + +void seekstormSearchResultObjectAutoAccessorSetFacets({required ResultObject that , required AHashMapStringFacet facets }); + +void seekstormSearchResultObjectAutoAccessorSetOriginalQuery({required ResultObject that , required String originalQuery }); + +void seekstormSearchResultObjectAutoAccessorSetQuery({required ResultObject that , required String query }); + +void seekstormSearchResultObjectAutoAccessorSetQueryTerms({required ResultObject that , required List queryTerms }); + +void seekstormSearchResultObjectAutoAccessorSetResultCount({required ResultObject that , required BigInt resultCount }); + +void seekstormSearchResultObjectAutoAccessorSetResultCountTotal({required ResultObject that , required BigInt resultCountTotal }); + +void seekstormSearchResultObjectAutoAccessorSetResults({required ResultObject that , required List results }); + +void seekstormSearchResultObjectAutoAccessorSetSuggestions({required ResultObject that , required List suggestions }); + +Future seekstormSearchResultObjectDefault(); + +FacetValue seekstormSearchResultSortAutoAccessorGetBase({required ResultSort that }); + +String seekstormSearchResultSortAutoAccessorGetField({required ResultSort that }); + +SortOrder seekstormSearchResultSortAutoAccessorGetOrder({required ResultSort that }); + +void seekstormSearchResultSortAutoAccessorSetBase({required ResultSort that , required FacetValue base }); + +void seekstormSearchResultSortAutoAccessorSetField({required ResultSort that , required String field }); + +void seekstormSearchResultSortAutoAccessorSetOrder({required ResultSort that , required SortOrder order }); + +OwnedReadHalf tokioNetTcpReuniteErrorAutoAccessorGetField0({required ReuniteError that }); + +OwnedWriteHalf tokioNetTcpReuniteErrorAutoAccessorGetField1({required ReuniteError that }); + +void tokioNetTcpReuniteErrorAutoAccessorSetField0({required ReuniteError that , required OwnedReadHalf field0 }); + +void tokioNetTcpReuniteErrorAutoAccessorSetField1({required ReuniteError that , required OwnedWriteHalf field1 }); + +Future tokioRuntimeRuntimeMetricsGlobalQueueDepth({required RuntimeMetrics that }); + +Future tokioRuntimeRuntimeMetricsNumAliveTasks({required RuntimeMetrics that }); + +Future tokioRuntimeRuntimeMetricsNumWorkers({required RuntimeMetrics that }); + +Future tokioRuntimeRuntimeMetricsWorkerParkCount({required RuntimeMetrics that , required BigInt worker }); + +Future tokioRuntimeRuntimeMetricsWorkerParkUnparkCount({required RuntimeMetrics that , required BigInt worker }); + +Future tokioRuntimeRuntimeMetricsWorkerTotalBusyDuration({required RuntimeMetrics that , required BigInt worker }); + +Future tokioRuntimeRuntimeEnter({required Runtime that }); + +Future tokioRuntimeRuntimeHandle({required Runtime that }); + +Future tokioRuntimeRuntimeMetrics({required Runtime that }); + +Future tokioRuntimeRuntimeNew(); + +Future tokioRuntimeRuntimeShutdownBackground({required Runtime that }); + +double seekstormIndexSchemaFieldAutoAccessorGetBoost({required SchemaField that }); + +bool seekstormIndexSchemaFieldAutoAccessorGetCompletionSource({required SchemaField that }); + +bool seekstormIndexSchemaFieldAutoAccessorGetDictionarySource({required SchemaField that }); + +bool seekstormIndexSchemaFieldAutoAccessorGetFacet({required SchemaField that }); + +String seekstormIndexSchemaFieldAutoAccessorGetField({required SchemaField that }); + +FieldType seekstormIndexSchemaFieldAutoAccessorGetFieldType({required SchemaField that }); + +bool seekstormIndexSchemaFieldAutoAccessorGetIndexed({required SchemaField that }); + +bool seekstormIndexSchemaFieldAutoAccessorGetLongest({required SchemaField that }); + +bool seekstormIndexSchemaFieldAutoAccessorGetStored({required SchemaField that }); + +void seekstormIndexSchemaFieldAutoAccessorSetBoost({required SchemaField that , required double boost }); + +void seekstormIndexSchemaFieldAutoAccessorSetCompletionSource({required SchemaField that , required bool completionSource }); + +void seekstormIndexSchemaFieldAutoAccessorSetDictionarySource({required SchemaField that , required bool dictionarySource }); + +void seekstormIndexSchemaFieldAutoAccessorSetFacet({required SchemaField that , required bool facet }); + +void seekstormIndexSchemaFieldAutoAccessorSetField({required SchemaField that , required String field }); + +void seekstormIndexSchemaFieldAutoAccessorSetFieldType({required SchemaField that , required FieldType fieldType }); + +void seekstormIndexSchemaFieldAutoAccessorSetIndexed({required SchemaField that , required bool indexed }); + +void seekstormIndexSchemaFieldAutoAccessorSetLongest({required SchemaField that , required bool longest }); + +void seekstormIndexSchemaFieldAutoAccessorSetStored({required SchemaField that , required bool stored }); + +Future seekstormIndexSchemaFieldNew({required String field , required bool stored , required bool indexed , required FieldType fieldType , required bool facet , required bool longest , required double boost , required bool dictionarySource , required bool completionSource }); + +Future tokioSyncSemaphoreAcquire({required Semaphore that }); + +Future tokioSyncSemaphoreAcquireMany({required Semaphore that , required int n }); + +Future tokioSyncSemaphoreAcquireManyOwned({required Semaphore that , required int n }); + +Future tokioSyncSemaphoreAcquireOwned({required Semaphore that }); + +Future tokioSyncSemaphoreAddPermits({required Semaphore that , required BigInt n }); + +Future tokioSyncSemaphoreAvailablePermits({required Semaphore that }); + +Future tokioSyncSemaphoreClose({required Semaphore that }); + +Future tokioSyncSemaphoreConstNew({required BigInt permits }); + +Future tokioSyncSemaphoreForgetPermits({required Semaphore that , required BigInt n }); + +Future tokioSyncSemaphoreIsClosed({required Semaphore that }); + +Future tokioSyncSemaphoreNew({required BigInt permits }); + +Future tokioSyncSemaphoreTryAcquire({required Semaphore that }); + +Future tokioSyncSemaphoreTryAcquireMany({required Semaphore that , required int n }); + +Future tokioSyncSemaphoreTryAcquireManyOwned({required Semaphore that , required int n }); + +Future tokioSyncSemaphoreTryAcquireOwned({required Semaphore that }); + +Future tokioNetUnixPipeSenderTBlockingSend({required SenderT that , required T value }); + +Future tokioNetUnixPipeSenderTBorrow({required SenderT that }); + +Future tokioNetUnixPipeSenderTCapacity({required SenderT that }); + +Future tokioNetUnixPipeSenderTClosed({required SenderT that }); + +Future tokioNetUnixPipeSenderTDefault(); + +Future tokioNetUnixPipeSenderTDowngrade({required SenderT that }); + +Future tokioNetUnixPipeSenderTIsClosed({required SenderT that }); + +Future tokioNetUnixPipeSenderTIsEmpty({required SenderT that }); + +Future tokioNetUnixPipeSenderTLen({required SenderT that }); + +Future tokioNetUnixPipeSenderTMaxCapacity({required SenderT that }); + +Future tokioNetUnixPipeSenderTNew({required BigInt capacity }); + +Future tokioNetUnixPipeSenderTPollClosed({required SenderT that , required Context cx }); + +Future tokioNetUnixPipeSenderTReceiverCount({required SenderT that }); + +Future tokioNetUnixPipeSenderTReserve({required SenderT that }); + +Future tokioNetUnixPipeSenderTReserveMany({required SenderT that , required BigInt n }); + +Future tokioNetUnixPipeSenderTReserveOwned({required SenderT that }); + +Future tokioNetUnixPipeSenderTSameChannel({required SenderT that , required SenderT other }); + +Future tokioNetUnixPipeSenderTSend({required SenderT that , required T value }); + +Future tokioNetUnixPipeSenderTSendReplace({required SenderT that , required T value }); + +Future tokioNetUnixPipeSenderTSendTimeout({required SenderT that , required T value , required Duration timeout }); + +Future tokioNetUnixPipeSenderTSenderCount({required SenderT that }); + +Future tokioNetUnixPipeSenderTStrongCount({required SenderT that }); + +Future tokioNetUnixPipeSenderTSubscribe({required SenderT that }); + +Future tokioNetUnixPipeSenderTTryReserve({required SenderT that }); + +Future tokioNetUnixPipeSenderTTryReserveMany({required SenderT that , required BigInt n }); + +Future tokioNetUnixPipeSenderTTryReserveOwned({required SenderT that }); + +Future tokioNetUnixPipeSenderTTrySend({required SenderT that , required T message }); + +Future tokioNetUnixPipeSenderTWeakCount({required SenderT that }); + +Future tokioNetUnixPipeSenderFromFile({required File file }); + +Future tokioNetUnixPipeSenderFromFileUnchecked({required File file }); + +Future tokioNetUnixPipeSenderFromOwnedFd({required OwnedFd ownedFd }); + +Future tokioNetUnixPipeSenderFromOwnedFdUnchecked({required OwnedFd ownedFd }); + +Future tokioNetUnixPipeSenderIntoBlockingFd({required Sender that }); + +Future tokioNetUnixPipeSenderIntoNonblockingFd({required Sender that }); + +Future tokioNetUnixPipeSenderPollWriteReady({required Sender that , required Context cx }); + +Future tokioNetUnixPipeSenderReady({required Sender that , required Interest interest }); + +Future tokioNetUnixPipeSenderTryWrite({required Sender that , required List buf }); + +Future tokioNetUnixPipeSenderTryWriteVectored({required Sender that , required List buf }); + +Future tokioNetUnixPipeSenderWritable({required Sender that }); + +Future tokioSignalUnixSignalKindAlarm(); + +Future tokioSignalUnixSignalKindAsRawValue({required SignalKind that }); + +Future tokioSignalUnixSignalKindChild(); + +Future tokioSignalUnixSignalKindFromRaw({required CInt signum }); + +Future tokioSignalUnixSignalKindHangup(); + +Future tokioSignalUnixSignalKindInfo(); + +Future tokioSignalUnixSignalKindInterrupt(); + +Future tokioSignalUnixSignalKindIo(); + +Future tokioSignalUnixSignalKindPipe(); + +Future tokioSignalUnixSignalKindQuit(); + +Future tokioSignalUnixSignalKindTerminate(); + +Future tokioSignalUnixSignalKindUserDefined1(); + +Future tokioSignalUnixSignalKindUserDefined2(); + +Future tokioSignalUnixSignalKindWindowChange(); + +Future tokioSignalUnixSignalPollRecv({required Signal that , required Context cx }); + +Future tokioSignalUnixSignalRecv({required Signal that }); + +Future tokioIoSimplexStreamNewUnsplit({required BigInt maxBufSize }); + +Future tokioTimeSleepDeadline({required Sleep that }); + +Future tokioTimeSleepIsElapsed({required Sleep that }); + +Future tokioTimeSleepReset({required Sleep that , required Instant deadline }); + +Future tokioNetUnixSocketAddrAsPathname({required SocketAddr that }); + +Future tokioNetUnixSocketAddrIsUnnamed({required SocketAddr that }); + +Future seekstormIndexStopwordTypeDefault(); + +Future<(TcpStream,SocketAddr)> tokioNetTcpListenerAccept({required TcpListener that }); + +Future tokioNetTcpListenerFromStd({required TcpListener listener }); + +Future tokioNetTcpListenerIntoStd({required TcpListener that }); + +Future tokioNetTcpListenerLocalAddr({required TcpListener that }); + +Future tokioNetTcpListenerPollAccept({required TcpListener that , required Context cx }); + +Future tokioNetTcpListenerSetTtl({required TcpListener that , required int ttl }); + +Future tokioNetTcpListenerTtl({required TcpListener that }); + +Future tokioNetTcpSocketBind({required TcpSocket that , required SocketAddr addr }); + +Future tokioNetTcpSocketConnect({required TcpSocket that , required SocketAddr addr }); + +Future tokioNetTcpSocketFromStdStream({required TcpStream stdStream }); + +Future tokioNetTcpSocketKeepalive({required TcpSocket that }); + +Future tokioNetTcpSocketLinger({required TcpSocket that }); + +Future tokioNetTcpSocketListen({required TcpSocket that , required int backlog }); + +Future tokioNetTcpSocketLocalAddr({required TcpSocket that }); + +Future tokioNetTcpSocketNewV4(); + +Future tokioNetTcpSocketNewV6(); + +Future tokioNetTcpSocketNodelay({required TcpSocket that }); + +Future tokioNetTcpSocketRecvBufferSize({required TcpSocket that }); + +Future tokioNetTcpSocketReuseaddr({required TcpSocket that }); + +Future tokioNetTcpSocketReuseport({required TcpSocket that }); + +Future tokioNetTcpSocketSendBufferSize({required TcpSocket that }); + +Future tokioNetTcpSocketSetKeepalive({required TcpSocket that , required bool keepalive }); + +Future tokioNetTcpSocketSetLinger({required TcpSocket that , Duration? dur }); + +Future tokioNetTcpSocketSetNodelay({required TcpSocket that , required bool nodelay }); + +Future tokioNetTcpSocketSetRecvBufferSize({required TcpSocket that , required int size }); + +Future tokioNetTcpSocketSetReuseaddr({required TcpSocket that , required bool reuseaddr }); + +Future tokioNetTcpSocketSetReuseport({required TcpSocket that , required bool reuseport }); + +Future tokioNetTcpSocketSetSendBufferSize({required TcpSocket that , required int size }); + +Future tokioNetTcpSocketSetTclassV6({required TcpSocket that , required int tclass }); + +Future tokioNetTcpSocketSetTos({required TcpSocket that , required int tos }); + +Future tokioNetTcpSocketSetTosV4({required TcpSocket that , required int tos }); + +Future tokioNetTcpSocketTakeError({required TcpSocket that }); + +Future tokioNetTcpSocketTclassV6({required TcpSocket that }); + +Future tokioNetTcpSocketTos({required TcpSocket that }); + +Future tokioNetTcpSocketTosV4({required TcpSocket that }); + +Future tokioNetTcpStreamFromStd({required TcpStream stream }); + +Future<(OwnedReadHalf,OwnedWriteHalf)> tokioNetTcpStreamIntoSplit({required TcpStream that }); + +Future tokioNetTcpStreamIntoStd({required TcpStream that }); + +Future tokioNetTcpStreamLinger({required TcpStream that }); + +Future tokioNetTcpStreamLocalAddr({required TcpStream that }); + +Future tokioNetTcpStreamNodelay({required TcpStream that }); + +Future tokioNetTcpStreamPeek({required TcpStream that , required U8 buf }); + +Future tokioNetTcpStreamPeerAddr({required TcpStream that }); + +Future tokioNetTcpStreamPollPeek({required TcpStream that , required Context cx , required ReadBuf buf }); + +Future tokioNetTcpStreamPollReadReady({required TcpStream that , required Context cx }); + +Future tokioNetTcpStreamPollWriteReady({required TcpStream that , required Context cx }); + +Future tokioNetTcpStreamReadable({required TcpStream that }); + +Future tokioNetTcpStreamReady({required TcpStream that , required Interest interest }); + +Future tokioNetTcpStreamSetLinger({required TcpStream that , Duration? dur }); + +Future tokioNetTcpStreamSetNodelay({required TcpStream that , required bool nodelay }); + +Future tokioNetTcpStreamSetTtl({required TcpStream that , required int ttl }); + +Future tokioNetTcpStreamTakeError({required TcpStream that }); + +Future tokioNetTcpStreamTryRead({required TcpStream that , required U8 buf }); + +Future tokioNetTcpStreamTryReadVectored({required TcpStream that , required IoSliceMut bufs }); + +Future tokioNetTcpStreamTryWrite({required TcpStream that , required List buf }); + +Future tokioNetTcpStreamTryWriteVectored({required TcpStream that , required List bufs }); + +Future tokioNetTcpStreamTtl({required TcpStream that }); + +Future tokioNetTcpStreamWritable({required TcpStream that }); + +Future tokioRuntimeTryCurrentErrorIsMissingContext({required TryCurrentError that }); + +Future tokioRuntimeTryCurrentErrorIsThreadLocalDestroyed({required TryCurrentError that }); + +Future tokioNetUnixUCredGid({required UCred that }); + +Future tokioNetUnixUCredPid({required UCred that }); + +Future tokioNetUnixUCredUid({required UCred that }); + +Future tokioNetUdpSocketBroadcast({required UdpSocket that }); + +Future tokioNetUdpSocketFromStd({required UdpSocket socket }); + +Future tokioNetUdpSocketIntoStd({required UdpSocket that }); + +Future tokioNetUdpSocketJoinMulticastV4({required UdpSocket that , required Ipv4Addr multiaddr , required Ipv4Addr interface_ }); + +Future tokioNetUdpSocketJoinMulticastV6({required UdpSocket that , required Ipv6Addr multiaddr , required int interface_ }); + +Future tokioNetUdpSocketLeaveMulticastV4({required UdpSocket that , required Ipv4Addr multiaddr , required Ipv4Addr interface_ }); + +Future tokioNetUdpSocketLeaveMulticastV6({required UdpSocket that , required Ipv6Addr multiaddr , required int interface_ }); + +Future tokioNetUdpSocketLocalAddr({required UdpSocket that }); + +Future tokioNetUdpSocketMulticastLoopV4({required UdpSocket that }); + +Future tokioNetUdpSocketMulticastLoopV6({required UdpSocket that }); + +Future tokioNetUdpSocketMulticastTtlV4({required UdpSocket that }); + +Future tokioNetUdpSocketPeek({required UdpSocket that , required U8 buf }); + +Future<(BigInt,SocketAddr)> tokioNetUdpSocketPeekFrom({required UdpSocket that , required U8 buf }); + +Future tokioNetUdpSocketPeekSender({required UdpSocket that }); + +Future tokioNetUdpSocketPeerAddr({required UdpSocket that }); + +Future tokioNetUdpSocketPollPeek({required UdpSocket that , required Context cx , required ReadBuf buf }); + +Future tokioNetUdpSocketPollPeekFrom({required UdpSocket that , required Context cx , required ReadBuf buf }); + +Future tokioNetUdpSocketPollPeekSender({required UdpSocket that , required Context cx }); + +Future tokioNetUdpSocketPollRecv({required UdpSocket that , required Context cx , required ReadBuf buf }); + +Future tokioNetUdpSocketPollRecvFrom({required UdpSocket that , required Context cx , required ReadBuf buf }); + +Future tokioNetUdpSocketPollRecvReady({required UdpSocket that , required Context cx }); + +Future tokioNetUdpSocketPollSend({required UdpSocket that , required Context cx , required List buf }); + +Future tokioNetUdpSocketPollSendReady({required UdpSocket that , required Context cx }); + +Future tokioNetUdpSocketPollSendTo({required UdpSocket that , required Context cx , required List buf , required SocketAddr target }); + +Future tokioNetUdpSocketReadable({required UdpSocket that }); + +Future tokioNetUdpSocketReady({required UdpSocket that , required Interest interest }); + +Future tokioNetUdpSocketRecv({required UdpSocket that , required U8 buf }); + +Future<(BigInt,SocketAddr)> tokioNetUdpSocketRecvFrom({required UdpSocket that , required U8 buf }); + +Future tokioNetUdpSocketSend({required UdpSocket that , required List buf }); + +Future tokioNetUdpSocketSetBroadcast({required UdpSocket that , required bool on_ }); + +Future tokioNetUdpSocketSetMulticastLoopV4({required UdpSocket that , required bool on_ }); + +Future tokioNetUdpSocketSetMulticastLoopV6({required UdpSocket that , required bool on_ }); + +Future tokioNetUdpSocketSetMulticastTtlV4({required UdpSocket that , required int ttl }); + +Future tokioNetUdpSocketSetTclassV6({required UdpSocket that , required int tclass }); + +Future tokioNetUdpSocketSetTos({required UdpSocket that , required int tos }); + +Future tokioNetUdpSocketSetTosV4({required UdpSocket that , required int tos }); + +Future tokioNetUdpSocketSetTtl({required UdpSocket that , required int ttl }); + +Future tokioNetUdpSocketTakeError({required UdpSocket that }); + +Future tokioNetUdpSocketTclassV6({required UdpSocket that }); + +Future tokioNetUdpSocketTos({required UdpSocket that }); + +Future tokioNetUdpSocketTosV4({required UdpSocket that }); + +Future tokioNetUdpSocketTryPeek({required UdpSocket that , required U8 buf }); + +Future<(BigInt,SocketAddr)> tokioNetUdpSocketTryPeekFrom({required UdpSocket that , required U8 buf }); + +Future tokioNetUdpSocketTryPeekSender({required UdpSocket that }); + +Future tokioNetUdpSocketTryRecv({required UdpSocket that , required U8 buf }); + +Future<(BigInt,SocketAddr)> tokioNetUdpSocketTryRecvFrom({required UdpSocket that , required U8 buf }); + +Future tokioNetUdpSocketTrySend({required UdpSocket that , required List buf }); + +Future tokioNetUdpSocketTrySendTo({required UdpSocket that , required List buf , required SocketAddr target }); + +Future tokioNetUdpSocketTtl({required UdpSocket that }); + +Future tokioNetUdpSocketWritable({required UdpSocket that }); + +Future tokioNetUnixDatagramFromStd({required UnixDatagram datagram }); + +Future tokioNetUnixDatagramIntoStd({required UnixDatagram that }); + +Future tokioNetUnixDatagramLocalAddr({required UnixDatagram that }); + +Future<(UnixDatagram,UnixDatagram)> tokioNetUnixDatagramPair(); + +Future tokioNetUnixDatagramPeerAddr({required UnixDatagram that }); + +Future tokioNetUnixDatagramPollRecv({required UnixDatagram that , required Context cx , required ReadBuf buf }); + +Future tokioNetUnixDatagramPollRecvFrom({required UnixDatagram that , required Context cx , required ReadBuf buf }); + +Future tokioNetUnixDatagramPollRecvReady({required UnixDatagram that , required Context cx }); + +Future tokioNetUnixDatagramPollSend({required UnixDatagram that , required Context cx , required List buf }); + +Future tokioNetUnixDatagramPollSendReady({required UnixDatagram that , required Context cx }); + +Future tokioNetUnixDatagramReadable({required UnixDatagram that }); + +Future tokioNetUnixDatagramReady({required UnixDatagram that , required Interest interest }); + +Future tokioNetUnixDatagramRecv({required UnixDatagram that , required U8 buf }); + +Future<(BigInt,SocketAddr)> tokioNetUnixDatagramRecvFrom({required UnixDatagram that , required U8 buf }); + +Future tokioNetUnixDatagramSend({required UnixDatagram that , required List buf }); + +Future tokioNetUnixDatagramShutdown({required UnixDatagram that , required Shutdown how }); + +Future tokioNetUnixDatagramTakeError({required UnixDatagram that }); + +Future tokioNetUnixDatagramTryRecv({required UnixDatagram that , required U8 buf }); + +Future<(BigInt,SocketAddr)> tokioNetUnixDatagramTryRecvFrom({required UnixDatagram that , required U8 buf }); + +Future tokioNetUnixDatagramTrySend({required UnixDatagram that , required List buf }); + +Future tokioNetUnixDatagramUnbound(); + +Future tokioNetUnixDatagramWritable({required UnixDatagram that }); + +Future<(UnixStream,SocketAddr)> tokioNetUnixListenerAccept({required UnixListener that }); + +Future tokioNetUnixListenerFromStd({required UnixListener listener }); + +Future tokioNetUnixListenerIntoStd({required UnixListener that }); + +Future tokioNetUnixListenerLocalAddr({required UnixListener that }); + +Future tokioNetUnixListenerPollAccept({required UnixListener that , required Context cx }); + +Future tokioNetUnixListenerTakeError({required UnixListener that }); + +Future tokioNetUnixSocketDatagram({required UnixSocket that }); + +Future tokioNetUnixSocketListen({required UnixSocket that , required int backlog }); + +Future tokioNetUnixSocketNewDatagram(); + +Future tokioNetUnixSocketNewStream(); + +Future tokioNetUnixStreamFromStd({required UnixStream stream }); + +Future<(OwnedReadHalf,OwnedWriteHalf)> tokioNetUnixStreamIntoSplit({required UnixStream that }); + +Future tokioNetUnixStreamIntoStd({required UnixStream that }); + +Future tokioNetUnixStreamLocalAddr({required UnixStream that }); + +Future<(UnixStream,UnixStream)> tokioNetUnixStreamPair(); + +Future tokioNetUnixStreamPeerAddr({required UnixStream that }); + +Future tokioNetUnixStreamPeerCred({required UnixStream that }); + +Future tokioNetUnixStreamPollReadReady({required UnixStream that , required Context cx }); + +Future tokioNetUnixStreamPollWriteReady({required UnixStream that , required Context cx }); + +Future tokioNetUnixStreamReadable({required UnixStream that }); + +Future tokioNetUnixStreamReady({required UnixStream that , required Interest interest }); + +Future tokioNetUnixStreamTakeError({required UnixStream that }); + +Future tokioNetUnixStreamTryRead({required UnixStream that , required U8 buf }); + +Future tokioNetUnixStreamTryReadVectored({required UnixStream that , required IoSliceMut bufs }); + +Future tokioNetUnixStreamTryWrite({required UnixStream that , required List buf }); + +Future tokioNetUnixStreamTryWriteVectored({required UnixStream that , required List buf }); + +Future tokioNetUnixStreamWritable({required UnixStream that }); + +Future seekstormIndexValueTypeDefault(); + +Future tokioTimeAdvance({required Duration duration }); + +Future seekstormIndexCompressionTypeDefault(); + +Future tokioTaskCoopConsumeBudget(); + +Future seekstormIndexCreateIndex({required Path indexPath , required IndexMetaObject meta , required List schema , required List synonyms , required BigInt segmentNumberBits1 , required bool mute , BigInt? forceShardNumber }); + +Future tokioSignalCtrlC(); + +Future seekstormGeoSearchDecodeMorton2D({required BigInt code }); + +Future seekstormIndexDistanceFieldDefault(); + +Future<(DuplexStream,DuplexStream)> tokioIoDuplex({required BigInt maxBufSize }); + +Future tokioIoEmpty(); + +Future seekstormGeoSearchEncodeMorton2D({required List point }); + +Future seekstormGeoSearchEuclidianDistance({required List point1 , required List point2 , required DistanceUnit unit }); + +Future seekstormIndexFieldTypeDefault(); + +String crateApiSimpleGreet({required String name }); + +Future tokioTaskCoopHasBudgetRemaining(); + +Future seekstormHighlighterHighlightDefault(); + +Future seekstormHighlighterHighlighter({required ArcIndex indexArc , required List highlights , required List queryTermsVec }); + +Future crateApiSimpleInitApp(); + +Future tokioTimeInterval({required Duration period }); + +Future tokioTimeIntervalAt({required Instant start , required Duration period }); + +Future tokioTimeMissedTickBehaviorDefault(); + +Future seekstormGeoSearchMortonOrdering({required BigInt morton1 , required BigInt morton2 , required List basePoint , required SortOrder order }); + +Future seekstormIndexNgramTypeDefault(); + +Future seekstormIndexOpenIndex({required Path indexPath , required bool mute }); + +Future tokioTimePause(); + +Future<(Sender,Receiver)> tokioNetUnixPipePipe(); + +Future seekstormGeoSearchPointDistanceToMortonRange({required List point , required double distance , required DistanceUnit unit }); + +Future tokioMacrosSupportPollBudgetAvailable({required Context cx }); + +Future tokioTaskCoopPollProceed({required Context cx }); + +Future seekstormSearchQueryTypeDefault(); + +Future seekstormSearchRangeTypeDefault(); + +Future tokioIoRepeat({required int byte }); + +Future seekstormSearchResultTypeDefault(); + +Future tokioTimeResume(); + +Future crateApiKeywordSearchSearchFnDeleteIndex({required SearchFn that }); + +Future crateApiKeywordSearchSearchFnIngestPdfDir({required SearchFn that , required Path dirPath }); + +Future crateApiKeywordSearchSearchFnNew({required SearchFn that }); + +Future tokioSignalUnixSignal({required SignalKind kind }); + +Future seekstormIndexSimilarityTypeDefault(); + +Future<(ReadHalfSimplexStream,WriteHalfSimplexStream)> tokioIoSimplex({required BigInt maxBufSize }); + +Future tokioIoSink(); + +Future tokioTimeSleep({required Duration duration }); + +Future tokioTimeSleepUntil({required Instant deadline }); + +Future tokioIoStderr(); + +Future tokioIoStdin(); + +Future tokioIoStdout(); + +Future seekstormIndexStemmerTypeDefault(); + +Future seekstormUtilsSubstring({required String source , required BigInt start , required BigInt length }); + +Future tokioMacrosSupportThreadRngN({required int n }); + +Future seekstormIndexTokenizerTypeDefault(); + +Future seekstormUtilsTruncate({required String source , required BigInt maxChars }); + +Future seekstormIndexVersion(); + +Future tokioTaskYieldNow(); + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_AHashMapStringFacet; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_AHashMapStringFacet; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AHashMapStringFacetPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_AcquireError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_AcquireError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AcquireErrorPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ArcIndex; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ArcIndex; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ArcIndexPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Barrier; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Barrier; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_BarrierWaitResult; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_BarrierWaitResult; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierWaitResultPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Child; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Child; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStderr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStderr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStderrPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStdin; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStdin; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdinPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStdout; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStdout; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdoutPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Command; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Command; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CommandPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Context; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Context; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ContextPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_DocumentItem; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_DocumentItem; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DocumentItemPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_DuplexStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_DuplexStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DuplexStreamPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Empty; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Empty; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EmptyPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_EnterGuard; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_EnterGuard; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EnterGuardPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Error; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Error; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ErrorPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ExitStatus; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ExitStatus; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ExitStatusPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetField; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetField; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFieldPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetFilter; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetFilter; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFilterPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetValue; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetValue; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetValuePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_File; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_File; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FilePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FileType; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FileType; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FileTypePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FillBufSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FillBufSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FillBufSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FlushSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FlushSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FlushSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FrequentwordType; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FrequentwordType; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FrequentwordTypePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Handle; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Handle; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HandlePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Highlighter; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Highlighter; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HighlighterPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Id; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Id; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IdPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Index; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Index; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IndexMapStringVecStringUsize; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IndexMapStringVecStringUsize; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMapStringVecStringUsizePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IndexMetaObject; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IndexMetaObject; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMetaObjectPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Instant; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Instant; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InstantPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Interest; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Interest; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InterestPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Interval; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Interval; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IntervalPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IoSliceMut; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IoSliceMut; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSliceMutPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IoSlice; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IoSlice; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSlicePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ipv4Addr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ipv4Addr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv4AddrPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ipv6Addr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ipv6Addr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv6AddrPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LinesSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LinesSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LinesSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LocalEnterGuard; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LocalEnterGuard; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalEnterGuardPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LocalSet; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LocalSet; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalSetPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_MinMaxField; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_MinMaxField; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_MinMaxFieldJson; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_MinMaxFieldJson; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldJsonPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Notified; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Notified; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifiedPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Notify; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Notify; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifyPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OpenOptions; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OpenOptions; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OpenOptionsPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ordering; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ordering; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OrderingPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedFd; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedFd; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedFdPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedNotified; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedNotified; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedNotifiedPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedPermitT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedPermitT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedPermitTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedReadHalf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedReadHalf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedReadHalfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedSemaphorePermit; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedSemaphorePermit; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedSemaphorePermitPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedWriteHalf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedWriteHalf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedWriteHalfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Path; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Path; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PathPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PdfDocument; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PdfDocument; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PdfDocumentPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PermitIteratorT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PermitIteratorT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitIteratorTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PermitT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PermitT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Poll; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Poll; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollInstant; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollInstant; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollInstantPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollOption; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollOption; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollOptionT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollOptionT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollRestoreOnPending; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollRestoreOnPending; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollRestoreOnPendingPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResult; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResult; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultSocketAddr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultSocketAddr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultSocketAddrPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultTcpStreamSocketAddr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddrPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultUnixStreamSocketAddr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddrPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultUsize; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultUsize; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUsizePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollUsize; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollUsize; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollUsizePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_QueryFacet; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_QueryFacet; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryFacetPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_QueryRewriting; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_QueryRewriting; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryRewritingPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ranges; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ranges; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangesPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RangeU64; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RangeU64; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangeU64Ptr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadBuf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadBuf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadBufPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF32LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF32LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF32MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF32MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF64LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF64LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF64MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF64MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadHalfSimplexStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadHalfSimplexStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadHalfSimplexStreamPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI128LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI128LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI128MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI128MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI16LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI16LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI16MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI16MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI32LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI32LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI32MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI32MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI64LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI64LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI64MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI64MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI8MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI8MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI8MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU128LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU128LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU128MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU128MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU16LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU16LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU16MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU16MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU32LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU32LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU32MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU32MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU64LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU64LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU64MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU64MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU8MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU8MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU8MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ready; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ready; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadyPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Receiver; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Receiver; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReceiverT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReceiverT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RecvError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RecvError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RecvErrorPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RefT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RefT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RefTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Repeat; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Repeat; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RepeatPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RestoreOnPending; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RestoreOnPending; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RestoreOnPendingPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Result; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Result; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ResultObject; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ResultObject; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultObjectPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ResultSort; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ResultSort; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultSortPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReuniteError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReuniteError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReuniteErrorPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Runtime; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Runtime; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RuntimeMetrics; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RuntimeMetrics; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimeMetricsPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SchemaField; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SchemaField; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SchemaFieldPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SeekFrom; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SeekFrom; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekFromPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SeekSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SeekSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Semaphore; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Semaphore; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SemaphorePermit; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SemaphorePermit; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePermitPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendErrorT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendErrorT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendTimeoutErrorT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendTimeoutErrorT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendTimeoutErrorTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sender; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sender; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SenderT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SenderT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Shutdown; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Shutdown; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ShutdownSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ShutdownSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Signal; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Signal; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SignalKind; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SignalKind; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalKindPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SimplexStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SimplexStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SimplexStreamPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sink; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sink; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SinkPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sleep; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sleep; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SleepPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SocketAddr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SocketAddr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SocketAddrPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SplitSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SplitSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SplitSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_StdCommand; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_StdCommand; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdCommandPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stderr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stderr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StderrPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stdin; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stdin; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdinPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stdout; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stdout; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdoutPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_StopwordType; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_StopwordType; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StopwordTypePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_T; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_T; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TakeSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TakeSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TakeSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpListener; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpListener; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpListenerPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpSocket; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpSocket; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpSocketPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpStreamPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TryCurrentError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TryCurrentError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryCurrentErrorPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TryRecvError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TryRecvError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryRecvErrorPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendErrorSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendErrorSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendErrorT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendErrorT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UCred; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UCred; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UCredPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UdpSocket; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UdpSocket; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UdpSocketPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixDatagram; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixDatagram; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixDatagramPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixListener; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixListener; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixListenerPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixSocket; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixSocket; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixSocketPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixStreamPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Value; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Value; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValuePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ValueType; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ValueType; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValueTypePtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_VecT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_VecT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_VecTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WeakSenderT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WeakSenderT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WeakSenderTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF32LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF32LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF32MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF32MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF64LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF64LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF64MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF64MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteHalfSimplexStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteHalfSimplexStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteHalfSimplexStreamPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI128LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI128LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI128MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI128MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI16LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI16LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI16MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI16MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI32LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI32LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI32MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI32MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI64LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI64LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI64MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI64MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI8MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI8MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI8MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU128LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU128LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU128MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU128MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU16LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU16LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU16MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU16MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU32LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU32LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU32MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU32MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU64LeMutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU64LeMutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64LeMutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU64MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU64MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU8MutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU8MutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU8MutSelfPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_CInt; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_CInt; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CIntPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_GidT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_GidT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_GidTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PidT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PidT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PidTPtr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_U8; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_U8; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_U8Ptr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UidT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UidT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UidTPtr; + + + } + + + class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { + RustLibApiImpl({ + required super.handler, + required super.wire, + required super.generalizedFrbRustBinding, + required super.portManager, + }); + + @override Future tokioSyncBarrierWaitResultIsLeader({required BarrierWaitResult that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 1, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncBarrierWaitResultIsLeaderConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncBarrierWaitResultIsLeaderConstMeta => const TaskConstMeta( + debugName: "BarrierWaitResult_is_leader", + argNames: ["that"], + ); + + +@override Future tokioSyncBarrierNew({required BigInt n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 2, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncBarrierNewConstMeta, + argValues: [n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncBarrierNewConstMeta => const TaskConstMeta( + debugName: "Barrier_new", + argNames: ["n"], + ); + + +@override Future tokioSyncBarrierWait({required Barrier that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 3, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncBarrierWaitConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncBarrierWaitConstMeta => const TaskConstMeta( + debugName: "Barrier_wait", + argNames: ["that"], + ); + + +@override Future tokioProcessChildStderrFromStd({required ChildStderr inner }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(inner, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 4, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessChildStderrFromStdConstMeta, + argValues: [inner], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildStderrFromStdConstMeta => const TaskConstMeta( + debugName: "ChildStderr_from_std", + argNames: ["inner"], + ); + + +@override Future tokioProcessChildStderrIntoOwnedFd({required ChildStderr that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 5, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessChildStderrIntoOwnedFdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildStderrIntoOwnedFdConstMeta => const TaskConstMeta( + debugName: "ChildStderr_into_owned_fd", + argNames: ["that"], + ); + + +@override Future tokioProcessChildStdinFromStd({required ChildStdin inner }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(inner, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 6, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessChildStdinFromStdConstMeta, + argValues: [inner], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildStdinFromStdConstMeta => const TaskConstMeta( + debugName: "ChildStdin_from_std", + argNames: ["inner"], + ); + + +@override Future tokioProcessChildStdinIntoOwnedFd({required ChildStdin that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 7, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessChildStdinIntoOwnedFdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildStdinIntoOwnedFdConstMeta => const TaskConstMeta( + debugName: "ChildStdin_into_owned_fd", + argNames: ["that"], + ); + + +@override Future tokioProcessChildStdoutFromStd({required ChildStdout inner }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(inner, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 8, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessChildStdoutFromStdConstMeta, + argValues: [inner], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildStdoutFromStdConstMeta => const TaskConstMeta( + debugName: "ChildStdout_from_std", + argNames: ["inner"], + ); + + +@override Future tokioProcessChildStdoutIntoOwnedFd({required ChildStdout that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 9, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessChildStdoutIntoOwnedFdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildStdoutIntoOwnedFdConstMeta => const TaskConstMeta( + debugName: "ChildStdout_into_owned_fd", + argNames: ["that"], + ); + + +@override ChildStderr? tokioProcessChildAutoAccessorGetStderr({required Child that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 10)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessChildAutoAccessorGetStderrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildAutoAccessorGetStderrConstMeta => const TaskConstMeta( + debugName: "Child_auto_accessor_get_stderr", + argNames: ["that"], + ); + + +@override ChildStdin? tokioProcessChildAutoAccessorGetStdin({required Child that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 11)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessChildAutoAccessorGetStdinConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildAutoAccessorGetStdinConstMeta => const TaskConstMeta( + debugName: "Child_auto_accessor_get_stdin", + argNames: ["that"], + ); + + +@override ChildStdout? tokioProcessChildAutoAccessorGetStdout({required Child that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 12)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessChildAutoAccessorGetStdoutConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildAutoAccessorGetStdoutConstMeta => const TaskConstMeta( + debugName: "Child_auto_accessor_get_stdout", + argNames: ["that"], + ); + + +@override void tokioProcessChildAutoAccessorSetStderr({required Child that , ChildStderr? stderr }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); +sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(stderr, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 13)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessChildAutoAccessorSetStderrConstMeta, + argValues: [that, stderr], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildAutoAccessorSetStderrConstMeta => const TaskConstMeta( + debugName: "Child_auto_accessor_set_stderr", + argNames: ["that", "stderr"], + ); + + +@override void tokioProcessChildAutoAccessorSetStdin({required Child that , ChildStdin? stdin }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); +sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(stdin, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 14)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessChildAutoAccessorSetStdinConstMeta, + argValues: [that, stdin], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildAutoAccessorSetStdinConstMeta => const TaskConstMeta( + debugName: "Child_auto_accessor_set_stdin", + argNames: ["that", "stdin"], + ); + + +@override void tokioProcessChildAutoAccessorSetStdout({required Child that , ChildStdout? stdout }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); +sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(stdout, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 15)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessChildAutoAccessorSetStdoutConstMeta, + argValues: [that, stdout], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildAutoAccessorSetStdoutConstMeta => const TaskConstMeta( + debugName: "Child_auto_accessor_set_stdout", + argNames: ["that", "stdout"], + ); + + +@override Future tokioProcessChildId({required Child that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 16, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_u_32, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessChildIdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildIdConstMeta => const TaskConstMeta( + debugName: "Child_id", + argNames: ["that"], + ); + + +@override Future tokioProcessChildKill({required Child that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 17, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessChildKillConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildKillConstMeta => const TaskConstMeta( + debugName: "Child_kill", + argNames: ["that"], + ); + + +@override Future tokioProcessChildStartKill({required Child that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 18, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessChildStartKillConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildStartKillConstMeta => const TaskConstMeta( + debugName: "Child_start_kill", + argNames: ["that"], + ); + + +@override Future tokioProcessChildTryWait({required Child that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 19, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessChildTryWaitConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildTryWaitConstMeta => const TaskConstMeta( + debugName: "Child_try_wait", + argNames: ["that"], + ); + + +@override Future tokioProcessChildWait({required Child that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 20, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessChildWaitConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessChildWaitConstMeta => const TaskConstMeta( + debugName: "Child_wait", + argNames: ["that"], + ); + + +@override Future tokioProcessCommandAsStd({required Command that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 21, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessCommandAsStdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessCommandAsStdConstMeta => const TaskConstMeta( + debugName: "Command_as_std", + argNames: ["that"], + ); + + +@override Future tokioProcessCommandAsStdMut({required Command that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 22, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessCommandAsStdMutConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessCommandAsStdMutConstMeta => const TaskConstMeta( + debugName: "Command_as_std_mut", + argNames: ["that"], + ); + + +@override Future tokioProcessCommandEnvClear({required Command that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 23, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessCommandEnvClearConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessCommandEnvClearConstMeta => const TaskConstMeta( + debugName: "Command_env_clear", + argNames: ["that"], + ); + + +@override Future tokioProcessCommandGetKillOnDrop({required Command that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 24, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessCommandGetKillOnDropConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessCommandGetKillOnDropConstMeta => const TaskConstMeta( + debugName: "Command_get_kill_on_drop", + argNames: ["that"], + ); + + +@override Future tokioProcessCommandGid({required Command that , required int id }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); +sse_encode_u_32(id, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 25, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessCommandGidConstMeta, + argValues: [that, id], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessCommandGidConstMeta => const TaskConstMeta( + debugName: "Command_gid", + argNames: ["that", "id"], + ); + + +@override Future tokioProcessCommandIntoStd({required Command that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 26, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessCommandIntoStdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessCommandIntoStdConstMeta => const TaskConstMeta( + debugName: "Command_into_std", + argNames: ["that"], + ); + + +@override Future tokioProcessCommandKillOnDrop({required Command that , required bool killOnDrop }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); +sse_encode_bool(killOnDrop, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 27, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessCommandKillOnDropConstMeta, + argValues: [that, killOnDrop], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessCommandKillOnDropConstMeta => const TaskConstMeta( + debugName: "Command_kill_on_drop", + argNames: ["that", "killOnDrop"], + ); + + +@override Future tokioProcessCommandProcessGroup({required Command that , required int pgroup }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); +sse_encode_i_32(pgroup, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 28, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessCommandProcessGroupConstMeta, + argValues: [that, pgroup], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessCommandProcessGroupConstMeta => const TaskConstMeta( + debugName: "Command_process_group", + argNames: ["that", "pgroup"], + ); + + +@override Future tokioProcessCommandSpawn({required Command that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 29, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioProcessCommandSpawnConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessCommandSpawnConstMeta => const TaskConstMeta( + debugName: "Command_spawn", + argNames: ["that"], + ); + + +@override Future tokioProcessCommandUid({required Command that , required int id }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); +sse_encode_u_32(id, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 30, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioProcessCommandUidConstMeta, + argValues: [that, id], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioProcessCommandUidConstMeta => const TaskConstMeta( + debugName: "Command_uid", + argNames: ["that", "id"], + ); + + +@override Future tokioTimeErrorErrorAtCapacity() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 31, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeErrorErrorAtCapacityConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeErrorErrorAtCapacityConstMeta => const TaskConstMeta( + debugName: "Error_at_capacity", + argNames: [], + ); + + +@override Future tokioTimeErrorErrorInvalid() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 32, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeErrorErrorInvalidConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeErrorErrorInvalidConstMeta => const TaskConstMeta( + debugName: "Error_invalid", + argNames: [], + ); + + +@override Future tokioTimeErrorErrorIsAtCapacity({required Error that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 33, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeErrorErrorIsAtCapacityConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeErrorErrorIsAtCapacityConstMeta => const TaskConstMeta( + debugName: "Error_is_at_capacity", + argNames: ["that"], + ); + + +@override Future tokioTimeErrorErrorIsInvalid({required Error that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 34, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeErrorErrorIsInvalidConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeErrorErrorIsInvalidConstMeta => const TaskConstMeta( + debugName: "Error_is_invalid", + argNames: ["that"], + ); + + +@override Future tokioTimeErrorErrorIsShutdown({required Error that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 35, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeErrorErrorIsShutdownConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeErrorErrorIsShutdownConstMeta => const TaskConstMeta( + debugName: "Error_is_shutdown", + argNames: ["that"], + ); + + +@override Future tokioTimeErrorErrorShutdown() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 36, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeErrorErrorShutdownConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeErrorErrorShutdownConstMeta => const TaskConstMeta( + debugName: "Error_shutdown", + argNames: [], + ); + + +@override ValueType seekstormIndexFacetFieldAutoAccessorGetMax({required FacetField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 37)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFacetFieldAutoAccessorGetMaxConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorGetMaxConstMeta => const TaskConstMeta( + debugName: "FacetField_auto_accessor_get_max", + argNames: ["that"], + ); + + +@override ValueType seekstormIndexFacetFieldAutoAccessorGetMin({required FacetField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 38)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFacetFieldAutoAccessorGetMinConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorGetMinConstMeta => const TaskConstMeta( + debugName: "FacetField_auto_accessor_get_min", + argNames: ["that"], + ); + + +@override String seekstormIndexFacetFieldAutoAccessorGetName({required FacetField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 39)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFacetFieldAutoAccessorGetNameConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorGetNameConstMeta => const TaskConstMeta( + debugName: "FacetField_auto_accessor_get_name", + argNames: ["that"], + ); + + +@override IndexMapStringVecStringUsize seekstormIndexFacetFieldAutoAccessorGetValues({required FacetField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 40)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFacetFieldAutoAccessorGetValuesConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorGetValuesConstMeta => const TaskConstMeta( + debugName: "FacetField_auto_accessor_get_values", + argNames: ["that"], + ); + + +@override void seekstormIndexFacetFieldAutoAccessorSetMax({required FacetField that , required ValueType max }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(max, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 41)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFacetFieldAutoAccessorSetMaxConstMeta, + argValues: [that, max], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorSetMaxConstMeta => const TaskConstMeta( + debugName: "FacetField_auto_accessor_set_max", + argNames: ["that", "max"], + ); + + +@override void seekstormIndexFacetFieldAutoAccessorSetMin({required FacetField that , required ValueType min }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(min, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 42)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFacetFieldAutoAccessorSetMinConstMeta, + argValues: [that, min], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorSetMinConstMeta => const TaskConstMeta( + debugName: "FacetField_auto_accessor_set_min", + argNames: ["that", "min"], + ); + + +@override void seekstormIndexFacetFieldAutoAccessorSetName({required FacetField that , required String name }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); +sse_encode_String(name, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 43)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFacetFieldAutoAccessorSetNameConstMeta, + argValues: [that, name], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorSetNameConstMeta => const TaskConstMeta( + debugName: "FacetField_auto_accessor_set_name", + argNames: ["that", "name"], + ); + + +@override void seekstormIndexFacetFieldAutoAccessorSetValues({required FacetField that , required IndexMapStringVecStringUsize values }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(values, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 44)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFacetFieldAutoAccessorSetValuesConstMeta, + argValues: [that, values], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorSetValuesConstMeta => const TaskConstMeta( + debugName: "FacetField_auto_accessor_set_values", + argNames: ["that", "values"], + ); + + +@override Future seekstormIndexFacetFieldDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 45, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFacetFieldDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFacetFieldDefaultConstMeta => const TaskConstMeta( + debugName: "FacetField_default", + argNames: [], + ); + + +@override Future seekstormIndexFrequentwordTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 46, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFrequentwordTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFrequentwordTypeDefaultConstMeta => const TaskConstMeta( + debugName: "FrequentwordType_default", + argNames: [], + ); + + +@override Future tokioRuntimeHandleCurrent() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 47, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeHandleCurrentConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeHandleCurrentConstMeta => const TaskConstMeta( + debugName: "Handle_current", + argNames: [], + ); + + +@override Future tokioRuntimeHandleDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 48, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeHandleDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeHandleDefaultConstMeta => const TaskConstMeta( + debugName: "Handle_default", + argNames: [], + ); + + +@override Future tokioRuntimeHandleEnter({required Handle that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 49, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeHandleEnterConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeHandleEnterConstMeta => const TaskConstMeta( + debugName: "Handle_enter", + argNames: ["that"], + ); + + +@override Future tokioRuntimeHandleId({required Handle that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 50, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeHandleIdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeHandleIdConstMeta => const TaskConstMeta( + debugName: "Handle_id", + argNames: ["that"], + ); + + +@override Future tokioRuntimeHandleMetrics({required Handle that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 51, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeHandleMetricsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeHandleMetricsConstMeta => const TaskConstMeta( + debugName: "Handle_metrics", + argNames: ["that"], + ); + + +@override Future tokioRuntimeHandleRuntimeFlavor({required Handle that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 52, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_runtime_flavor, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeHandleRuntimeFlavorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeHandleRuntimeFlavorConstMeta => const TaskConstMeta( + debugName: "Handle_runtime_flavor", + argNames: ["that"], + ); + + +@override Future tokioRuntimeHandleTryCurrent() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 53, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError, + ) + , + constMeta: kTokioRuntimeHandleTryCurrentConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeHandleTryCurrentConstMeta => const TaskConstMeta( + debugName: "Handle_try_current", + argNames: [], + ); + + +@override AccessType seekstormIndexIndexMetaObjectAutoAccessorGetAccessType({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 54)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_access_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetAccessTypeConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetAccessTypeConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_access_type", + argNames: ["that"], + ); + + +@override FrequentwordType seekstormIndexIndexMetaObjectAutoAccessorGetFrequentWords({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 55)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetFrequentWordsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetFrequentWordsConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_frequent_words", + argNames: ["that"], + ); + + +@override BigInt seekstormIndexIndexMetaObjectAutoAccessorGetId({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 56)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_64, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetIdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetIdConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_id", + argNames: ["that"], + ); + + +@override String seekstormIndexIndexMetaObjectAutoAccessorGetName({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 57)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetNameConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetNameConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_name", + argNames: ["that"], + ); + + +@override int seekstormIndexIndexMetaObjectAutoAccessorGetNgramIndexing({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 58)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_8, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetNgramIndexingConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetNgramIndexingConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_ngram_indexing", + argNames: ["that"], + ); + + +@override QueryCompletion? seekstormIndexIndexMetaObjectAutoAccessorGetQueryCompletion({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 59)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_query_completion, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetQueryCompletionConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetQueryCompletionConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_query_completion", + argNames: ["that"], + ); + + +@override SimilarityType seekstormIndexIndexMetaObjectAutoAccessorGetSimilarity({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 60)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_similarity_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetSimilarityConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetSimilarityConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_similarity", + argNames: ["that"], + ); + + +@override SpellingCorrection? seekstormIndexIndexMetaObjectAutoAccessorGetSpellingCorrection({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 61)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_spelling_correction, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetSpellingCorrectionConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetSpellingCorrectionConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_spelling_correction", + argNames: ["that"], + ); + + +@override StemmerType seekstormIndexIndexMetaObjectAutoAccessorGetStemmer({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 62)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_stemmer_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetStemmerConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetStemmerConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_stemmer", + argNames: ["that"], + ); + + +@override StopwordType seekstormIndexIndexMetaObjectAutoAccessorGetStopWords({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 63)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetStopWordsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetStopWordsConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_stop_words", + argNames: ["that"], + ); + + +@override TokenizerType seekstormIndexIndexMetaObjectAutoAccessorGetTokenizer({required IndexMetaObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 64)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_tokenizer_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetTokenizerConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetTokenizerConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_get_tokenizer", + argNames: ["that"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetAccessType({required IndexMetaObject that , required AccessType accessType }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_access_type(accessType, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 65)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetAccessTypeConstMeta, + argValues: [that, accessType], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetAccessTypeConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_access_type", + argNames: ["that", "accessType"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetFrequentWords({required IndexMetaObject that , required FrequentwordType frequentWords }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(frequentWords, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 66)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetFrequentWordsConstMeta, + argValues: [that, frequentWords], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetFrequentWordsConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_frequent_words", + argNames: ["that", "frequentWords"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetId({required IndexMetaObject that , required BigInt id }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_u_64(id, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 67)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetIdConstMeta, + argValues: [that, id], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetIdConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_id", + argNames: ["that", "id"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetName({required IndexMetaObject that , required String name }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_String(name, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 68)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetNameConstMeta, + argValues: [that, name], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetNameConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_name", + argNames: ["that", "name"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetNgramIndexing({required IndexMetaObject that , required int ngramIndexing }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_u_8(ngramIndexing, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 69)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetNgramIndexingConstMeta, + argValues: [that, ngramIndexing], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetNgramIndexingConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_ngram_indexing", + argNames: ["that", "ngramIndexing"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetQueryCompletion({required IndexMetaObject that , QueryCompletion? queryCompletion }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_opt_box_autoadd_query_completion(queryCompletion, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 70)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetQueryCompletionConstMeta, + argValues: [that, queryCompletion], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetQueryCompletionConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_query_completion", + argNames: ["that", "queryCompletion"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetSimilarity({required IndexMetaObject that , required SimilarityType similarity }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_similarity_type(similarity, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 71)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetSimilarityConstMeta, + argValues: [that, similarity], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetSimilarityConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_similarity", + argNames: ["that", "similarity"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetSpellingCorrection({required IndexMetaObject that , SpellingCorrection? spellingCorrection }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_opt_box_autoadd_spelling_correction(spellingCorrection, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 72)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetSpellingCorrectionConstMeta, + argValues: [that, spellingCorrection], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetSpellingCorrectionConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_spelling_correction", + argNames: ["that", "spellingCorrection"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetStemmer({required IndexMetaObject that , required StemmerType stemmer }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_stemmer_type(stemmer, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 73)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetStemmerConstMeta, + argValues: [that, stemmer], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetStemmerConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_stemmer", + argNames: ["that", "stemmer"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetStopWords({required IndexMetaObject that , required StopwordType stopWords }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(stopWords, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 74)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetStopWordsConstMeta, + argValues: [that, stopWords], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetStopWordsConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_stop_words", + argNames: ["that", "stopWords"], + ); + + +@override void seekstormIndexIndexMetaObjectAutoAccessorSetTokenizer({required IndexMetaObject that , required TokenizerType tokenizer }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); +sse_encode_tokenizer_type(tokenizer, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 75)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetTokenizerConstMeta, + argValues: [that, tokenizer], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetTokenizerConstMeta => const TaskConstMeta( + debugName: "IndexMetaObject_auto_accessor_set_tokenizer", + argNames: ["that", "tokenizer"], + ); + + +@override Future seekstormIndexIndexAddSynonyms({required Index that , required List synonyms }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_list_synonym(synonyms, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 76, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_String, + ) + , + constMeta: kSeekstormIndexIndexAddSynonymsConstMeta, + argValues: [that, synonyms], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAddSynonymsConstMeta => const TaskConstMeta( + debugName: "Index_add_synonyms", + argNames: ["that", "synonyms"], + ); + + +@override int seekstormIndexIndexAutoAccessorGetIndexFormatVersionMajor({required Index that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 77)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_16, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexAutoAccessorGetIndexFormatVersionMajorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAutoAccessorGetIndexFormatVersionMajorConstMeta => const TaskConstMeta( + debugName: "Index_auto_accessor_get_index_format_version_major", + argNames: ["that"], + ); + + +@override int seekstormIndexIndexAutoAccessorGetIndexFormatVersionMinor({required Index that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 78)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_16, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexAutoAccessorGetIndexFormatVersionMinorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAutoAccessorGetIndexFormatVersionMinorConstMeta => const TaskConstMeta( + debugName: "Index_auto_accessor_get_index_format_version_minor", + argNames: ["that"], + ); + + +@override IndexMetaObject seekstormIndexIndexAutoAccessorGetMeta({required Index that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 79)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexAutoAccessorGetMetaConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAutoAccessorGetMetaConstMeta => const TaskConstMeta( + debugName: "Index_auto_accessor_get_meta", + argNames: ["that"], + ); + + +@override Map seekstormIndexIndexAutoAccessorGetSchemaMap({required Index that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 80)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexAutoAccessorGetSchemaMapConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAutoAccessorGetSchemaMapConstMeta => const TaskConstMeta( + debugName: "Index_auto_accessor_get_schema_map", + argNames: ["that"], + ); + + +@override List seekstormIndexIndexAutoAccessorGetStoredFieldNames({required Index that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 81)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_list_String, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexAutoAccessorGetStoredFieldNamesConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAutoAccessorGetStoredFieldNamesConstMeta => const TaskConstMeta( + debugName: "Index_auto_accessor_get_stored_field_names", + argNames: ["that"], + ); + + +@override void seekstormIndexIndexAutoAccessorSetIndexFormatVersionMajor({required Index that , required int indexFormatVersionMajor }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_u_16(indexFormatVersionMajor, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 82)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexAutoAccessorSetIndexFormatVersionMajorConstMeta, + argValues: [that, indexFormatVersionMajor], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAutoAccessorSetIndexFormatVersionMajorConstMeta => const TaskConstMeta( + debugName: "Index_auto_accessor_set_index_format_version_major", + argNames: ["that", "indexFormatVersionMajor"], + ); + + +@override void seekstormIndexIndexAutoAccessorSetIndexFormatVersionMinor({required Index that , required int indexFormatVersionMinor }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_u_16(indexFormatVersionMinor, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 83)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexAutoAccessorSetIndexFormatVersionMinorConstMeta, + argValues: [that, indexFormatVersionMinor], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAutoAccessorSetIndexFormatVersionMinorConstMeta => const TaskConstMeta( + debugName: "Index_auto_accessor_set_index_format_version_minor", + argNames: ["that", "indexFormatVersionMinor"], + ); + + +@override void seekstormIndexIndexAutoAccessorSetMeta({required Index that , required IndexMetaObject meta }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(meta, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 84)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexAutoAccessorSetMetaConstMeta, + argValues: [that, meta], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAutoAccessorSetMetaConstMeta => const TaskConstMeta( + debugName: "Index_auto_accessor_set_meta", + argNames: ["that", "meta"], + ); + + +@override void seekstormIndexIndexAutoAccessorSetSchemaMap({required Index that , required Map schemaMap }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(schemaMap, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 85)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexAutoAccessorSetSchemaMapConstMeta, + argValues: [that, schemaMap], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAutoAccessorSetSchemaMapConstMeta => const TaskConstMeta( + debugName: "Index_auto_accessor_set_schema_map", + argNames: ["that", "schemaMap"], + ); + + +@override void seekstormIndexIndexAutoAccessorSetStoredFieldNames({required Index that , required List storedFieldNames }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_list_String(storedFieldNames, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 86)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexAutoAccessorSetStoredFieldNamesConstMeta, + argValues: [that, storedFieldNames], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexAutoAccessorSetStoredFieldNamesConstMeta => const TaskConstMeta( + debugName: "Index_auto_accessor_set_stored_field_names", + argNames: ["that", "storedFieldNames"], + ); + + +@override Future seekstormIndexIndexClearIndex({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 87, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexClearIndexConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexClearIndexConstMeta => const TaskConstMeta( + debugName: "Index_clear_index", + argNames: ["that"], + ); + + +@override Future seekstormIndexIndexCommittedDocCount({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 88, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexCommittedDocCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexCommittedDocCountConstMeta => const TaskConstMeta( + debugName: "Index_committed_doc_count", + argNames: ["that"], + ); + + +@override Future seekstormIndexIndexCurrentDocCount({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 89, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexCurrentDocCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexCurrentDocCountConstMeta => const TaskConstMeta( + debugName: "Index_current_doc_count", + argNames: ["that"], + ); + + +@override Future seekstormIndexIndexDeleteIndex({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 90, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexDeleteIndexConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexDeleteIndexConstMeta => const TaskConstMeta( + debugName: "Index_delete_index", + argNames: ["that"], + ); + + +@override Future seekstormIndexIndexFacetsCount({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 91, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexFacetsCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexFacetsCountConstMeta => const TaskConstMeta( + debugName: "Index_facets_count", + argNames: ["that"], + ); + + +@override Future> seekstormIndexIndexGetDocument({required Index that , required BigInt docId , required bool includeUncommited , Highlighter? highlighterOption , required Set fields , required List distanceFields }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_usize(docId, serializer); +sse_encode_bool(includeUncommited, serializer); +sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(highlighterOption, serializer); +sse_encode_Set_String_None(fields, serializer); +sse_encode_list_distance_field(distanceFields, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 92, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None, + decodeErrorData: sse_decode_String, + ) + , + constMeta: kSeekstormIndexIndexGetDocumentConstMeta, + argValues: [that, docId, includeUncommited, highlighterOption, fields, distanceFields], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexGetDocumentConstMeta => const TaskConstMeta( + debugName: "Index_get_document", + argNames: ["that", "docId", "includeUncommited", "highlighterOption", "fields", "distanceFields"], + ); + + +@override Future seekstormIndexIndexGetFacetValue({required Index that , required String field , required BigInt docId }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_String(field, serializer); +sse_encode_usize(docId, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 93, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexGetFacetValueConstMeta, + argValues: [that, field, docId], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexGetFacetValueConstMeta => const TaskConstMeta( + debugName: "Index_get_facet_value", + argNames: ["that", "field", "docId"], + ); + + +@override Future seekstormIndexIndexGetFile({required Index that , required BigInt docId }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_usize(docId, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 94, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_list_prim_u_8_strict, + decodeErrorData: sse_decode_String, + ) + , + constMeta: kSeekstormIndexIndexGetFileConstMeta, + argValues: [that, docId], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexGetFileConstMeta => const TaskConstMeta( + debugName: "Index_get_file", + argNames: ["that", "docId"], + ); + + +@override Future seekstormIndexIndexGetIndexStringFacets({required Index that , required List queryFacets }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(queryFacets, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 95, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexGetIndexStringFacetsConstMeta, + argValues: [that, queryFacets], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexGetIndexStringFacetsConstMeta => const TaskConstMeta( + debugName: "Index_get_index_string_facets", + argNames: ["that", "queryFacets"], + ); + + +@override Future> seekstormIndexIndexGetSynonyms({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 96, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_list_synonym, + decodeErrorData: sse_decode_String, + ) + , + constMeta: kSeekstormIndexIndexGetSynonymsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexGetSynonymsConstMeta => const TaskConstMeta( + debugName: "Index_get_synonyms", + argNames: ["that"], + ); + + +@override Future> seekstormIndexIndexIndexFacetsMinmax({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 97, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexIndexFacetsMinmaxConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexIndexFacetsMinmaxConstMeta => const TaskConstMeta( + debugName: "Index_index_facets_minmax", + argNames: ["that"], + ); + + +@override Future seekstormIndexIndexIndexedDocCount({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 98, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexIndexedDocCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexIndexedDocCountConstMeta => const TaskConstMeta( + debugName: "Index_indexed_doc_count", + argNames: ["that"], + ); + + +@override Future seekstormIndexIndexLevelCount({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 99, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexLevelCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexLevelCountConstMeta => const TaskConstMeta( + debugName: "Index_level_count", + argNames: ["that"], + ); + + +@override Future seekstormIndexIndexSetSynonyms({required Index that , required List synonyms }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); +sse_encode_list_synonym(synonyms, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 100, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_String, + ) + , + constMeta: kSeekstormIndexIndexSetSynonymsConstMeta, + argValues: [that, synonyms], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexSetSynonymsConstMeta => const TaskConstMeta( + debugName: "Index_set_synonyms", + argNames: ["that", "synonyms"], + ); + + +@override Future seekstormIndexIndexShardCount({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 101, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexShardCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexShardCountConstMeta => const TaskConstMeta( + debugName: "Index_shard_count", + argNames: ["that"], + ); + + +@override Future seekstormIndexIndexUncommittedDocCount({required Index that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 102, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexIndexUncommittedDocCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexIndexUncommittedDocCountConstMeta => const TaskConstMeta( + debugName: "Index_uncommitted_doc_count", + argNames: ["that"], + ); + + +@override Future tokioIoInterestAdd({required Interest that , required Interest other }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(other, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 103, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest, + decodeErrorData: null, + ) + , + constMeta: kTokioIoInterestAddConstMeta, + argValues: [that, other], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoInterestAddConstMeta => const TaskConstMeta( + debugName: "Interest_add", + argNames: ["that", "other"], + ); + + +@override Future tokioIoInterestIsError({required Interest that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 104, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioIoInterestIsErrorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoInterestIsErrorConstMeta => const TaskConstMeta( + debugName: "Interest_is_error", + argNames: ["that"], + ); + + +@override Future tokioIoInterestIsReadable({required Interest that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 105, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioIoInterestIsReadableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoInterestIsReadableConstMeta => const TaskConstMeta( + debugName: "Interest_is_readable", + argNames: ["that"], + ); + + +@override Future tokioIoInterestIsWritable({required Interest that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 106, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioIoInterestIsWritableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoInterestIsWritableConstMeta => const TaskConstMeta( + debugName: "Interest_is_writable", + argNames: ["that"], + ); + + +@override Future tokioIoInterestRemove({required Interest that , required Interest other }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(other, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 107, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest, + decodeErrorData: null, + ) + , + constMeta: kTokioIoInterestRemoveConstMeta, + argValues: [that, other], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoInterestRemoveConstMeta => const TaskConstMeta( + debugName: "Interest_remove", + argNames: ["that", "other"], + ); + + +@override Future tokioTimeIntervalMissedTickBehavior({required Interval that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 108, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_missed_tick_behavior, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalMissedTickBehaviorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalMissedTickBehaviorConstMeta => const TaskConstMeta( + debugName: "Interval_missed_tick_behavior", + argNames: ["that"], + ); + + +@override Future tokioTimeIntervalPeriod({required Interval that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 109, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Chrono_Duration, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalPeriodConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalPeriodConstMeta => const TaskConstMeta( + debugName: "Interval_period", + argNames: ["that"], + ); + + +@override Future tokioTimeIntervalPollTick({required Interval that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 110, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalPollTickConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalPollTickConstMeta => const TaskConstMeta( + debugName: "Interval_poll_tick", + argNames: ["that", "cx"], + ); + + +@override Future tokioTimeIntervalReset({required Interval that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 111, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalResetConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalResetConstMeta => const TaskConstMeta( + debugName: "Interval_reset", + argNames: ["that"], + ); + + +@override Future tokioTimeIntervalResetAfter({required Interval that , required Duration after }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); +sse_encode_Chrono_Duration(after, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 112, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalResetAfterConstMeta, + argValues: [that, after], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalResetAfterConstMeta => const TaskConstMeta( + debugName: "Interval_reset_after", + argNames: ["that", "after"], + ); + + +@override Future tokioTimeIntervalResetAt({required Interval that , required Instant deadline }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(deadline, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 113, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalResetAtConstMeta, + argValues: [that, deadline], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalResetAtConstMeta => const TaskConstMeta( + debugName: "Interval_reset_at", + argNames: ["that", "deadline"], + ); + + +@override Future tokioTimeIntervalResetImmediately({required Interval that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 114, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalResetImmediatelyConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalResetImmediatelyConstMeta => const TaskConstMeta( + debugName: "Interval_reset_immediately", + argNames: ["that"], + ); + + +@override Future tokioTimeIntervalSetMissedTickBehavior({required Interval that , required MissedTickBehavior behavior }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); +sse_encode_missed_tick_behavior(behavior, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 115, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalSetMissedTickBehaviorConstMeta, + argValues: [that, behavior], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalSetMissedTickBehaviorConstMeta => const TaskConstMeta( + debugName: "Interval_set_missed_tick_behavior", + argNames: ["that", "behavior"], + ); + + +@override Future tokioTimeIntervalTick({required Interval that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 116, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalTickConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalTickConstMeta => const TaskConstMeta( + debugName: "Interval_tick", + argNames: ["that"], + ); + + +@override Future tokioTaskLocalSetDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 117, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet, + decodeErrorData: null, + ) + , + constMeta: kTokioTaskLocalSetDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTaskLocalSetDefaultConstMeta => const TaskConstMeta( + debugName: "LocalSet_default", + argNames: [], + ); + + +@override Future tokioTaskLocalSetEnter({required LocalSet that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 118, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard, + decodeErrorData: null, + ) + , + constMeta: kTokioTaskLocalSetEnterConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTaskLocalSetEnterConstMeta => const TaskConstMeta( + debugName: "LocalSet_enter", + argNames: ["that"], + ); + + +@override Future tokioTaskLocalSetId({required LocalSet that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 119, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId, + decodeErrorData: null, + ) + , + constMeta: kTokioTaskLocalSetIdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTaskLocalSetIdConstMeta => const TaskConstMeta( + debugName: "LocalSet_id", + argNames: ["that"], + ); + + +@override Future tokioTaskLocalSetNew() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 120, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet, + decodeErrorData: null, + ) + , + constMeta: kTokioTaskLocalSetNewConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTaskLocalSetNewConstMeta => const TaskConstMeta( + debugName: "LocalSet_new", + argNames: [], + ); + + +@override Value seekstormIndexMinMaxFieldJsonAutoAccessorGetMax({required MinMaxFieldJson that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 121)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexMinMaxFieldJsonAutoAccessorGetMaxConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexMinMaxFieldJsonAutoAccessorGetMaxConstMeta => const TaskConstMeta( + debugName: "MinMaxFieldJson_auto_accessor_get_max", + argNames: ["that"], + ); + + +@override Value seekstormIndexMinMaxFieldJsonAutoAccessorGetMin({required MinMaxFieldJson that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 122)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexMinMaxFieldJsonAutoAccessorGetMinConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexMinMaxFieldJsonAutoAccessorGetMinConstMeta => const TaskConstMeta( + debugName: "MinMaxFieldJson_auto_accessor_get_min", + argNames: ["that"], + ); + + +@override void seekstormIndexMinMaxFieldJsonAutoAccessorSetMax({required MinMaxFieldJson that , required Value max }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(max, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 123)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexMinMaxFieldJsonAutoAccessorSetMaxConstMeta, + argValues: [that, max], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexMinMaxFieldJsonAutoAccessorSetMaxConstMeta => const TaskConstMeta( + debugName: "MinMaxFieldJson_auto_accessor_set_max", + argNames: ["that", "max"], + ); + + +@override void seekstormIndexMinMaxFieldJsonAutoAccessorSetMin({required MinMaxFieldJson that , required Value min }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(min, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 124)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexMinMaxFieldJsonAutoAccessorSetMinConstMeta, + argValues: [that, min], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexMinMaxFieldJsonAutoAccessorSetMinConstMeta => const TaskConstMeta( + debugName: "MinMaxFieldJson_auto_accessor_set_min", + argNames: ["that", "min"], + ); + + +@override Future seekstormIndexMinMaxFieldJsonDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 125, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexMinMaxFieldJsonDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexMinMaxFieldJsonDefaultConstMeta => const TaskConstMeta( + debugName: "MinMaxFieldJson_default", + argNames: [], + ); + + +@override ValueType seekstormIndexMinMaxFieldAutoAccessorGetMax({required MinMaxField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 126)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexMinMaxFieldAutoAccessorGetMaxConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexMinMaxFieldAutoAccessorGetMaxConstMeta => const TaskConstMeta( + debugName: "MinMaxField_auto_accessor_get_max", + argNames: ["that"], + ); + + +@override ValueType seekstormIndexMinMaxFieldAutoAccessorGetMin({required MinMaxField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 127)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexMinMaxFieldAutoAccessorGetMinConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexMinMaxFieldAutoAccessorGetMinConstMeta => const TaskConstMeta( + debugName: "MinMaxField_auto_accessor_get_min", + argNames: ["that"], + ); + + +@override void seekstormIndexMinMaxFieldAutoAccessorSetMax({required MinMaxField that , required ValueType max }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(max, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 128)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexMinMaxFieldAutoAccessorSetMaxConstMeta, + argValues: [that, max], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexMinMaxFieldAutoAccessorSetMaxConstMeta => const TaskConstMeta( + debugName: "MinMaxField_auto_accessor_set_max", + argNames: ["that", "max"], + ); + + +@override void seekstormIndexMinMaxFieldAutoAccessorSetMin({required MinMaxField that , required ValueType min }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(min, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 129)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexMinMaxFieldAutoAccessorSetMinConstMeta, + argValues: [that, min], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexMinMaxFieldAutoAccessorSetMinConstMeta => const TaskConstMeta( + debugName: "MinMaxField_auto_accessor_set_min", + argNames: ["that", "min"], + ); + + +@override Future seekstormIndexMinMaxFieldDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 130, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexMinMaxFieldDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexMinMaxFieldDefaultConstMeta => const TaskConstMeta( + debugName: "MinMaxField_default", + argNames: [], + ); + + +@override Future tokioSyncNotifyConstNew() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 131, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncNotifyConstNewConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncNotifyConstNewConstMeta => const TaskConstMeta( + debugName: "Notify_const_new", + argNames: [], + ); + + +@override Future tokioSyncNotifyDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 132, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncNotifyDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncNotifyDefaultConstMeta => const TaskConstMeta( + debugName: "Notify_default", + argNames: [], + ); + + +@override Future tokioSyncNotifyNew() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 133, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncNotifyNewConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncNotifyNewConstMeta => const TaskConstMeta( + debugName: "Notify_new", + argNames: [], + ); + + +@override Future tokioSyncNotifyNotified({required Notify that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 134, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncNotifyNotifiedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncNotifyNotifiedConstMeta => const TaskConstMeta( + debugName: "Notify_notified", + argNames: ["that"], + ); + + +@override Future tokioSyncNotifyNotifiedOwned({required Notify that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 135, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncNotifyNotifiedOwnedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncNotifyNotifiedOwnedConstMeta => const TaskConstMeta( + debugName: "Notify_notified_owned", + argNames: ["that"], + ); + + +@override Future tokioSyncNotifyNotifyLast({required Notify that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 136, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncNotifyNotifyLastConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncNotifyNotifyLastConstMeta => const TaskConstMeta( + debugName: "Notify_notify_last", + argNames: ["that"], + ); + + +@override Future tokioSyncNotifyNotifyOne({required Notify that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 137, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncNotifyNotifyOneConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncNotifyNotifyOneConstMeta => const TaskConstMeta( + debugName: "Notify_notify_one", + argNames: ["that"], + ); + + +@override Future tokioSyncNotifyNotifyWaiters({required Notify that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 138, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncNotifyNotifyWaitersConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncNotifyNotifyWaitersConstMeta => const TaskConstMeta( + debugName: "Notify_notify_waiters", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeOpenOptionsAppend({required OpenOptions that , required bool append }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); +sse_encode_bool(append, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 139, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsAppendConstMeta, + argValues: [that, append], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsAppendConstMeta => const TaskConstMeta( + debugName: "OpenOptions_append", + argNames: ["that", "append"], + ); + + +@override Future tokioNetUnixPipeOpenOptionsCreate({required OpenOptions that , required bool create }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); +sse_encode_bool(create, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 140, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsCreateConstMeta, + argValues: [that, create], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsCreateConstMeta => const TaskConstMeta( + debugName: "OpenOptions_create", + argNames: ["that", "create"], + ); + + +@override Future tokioNetUnixPipeOpenOptionsCreateNew({required OpenOptions that , required bool createNew }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); +sse_encode_bool(createNew, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 141, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsCreateNewConstMeta, + argValues: [that, createNew], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsCreateNewConstMeta => const TaskConstMeta( + debugName: "OpenOptions_create_new", + argNames: ["that", "createNew"], + ); + + +@override Future tokioNetUnixPipeOpenOptionsCustomFlags({required OpenOptions that , required int flags }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); +sse_encode_i_32(flags, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 142, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsCustomFlagsConstMeta, + argValues: [that, flags], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsCustomFlagsConstMeta => const TaskConstMeta( + debugName: "OpenOptions_custom_flags", + argNames: ["that", "flags"], + ); + + +@override Future tokioNetUnixPipeOpenOptionsDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 143, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsDefaultConstMeta => const TaskConstMeta( + debugName: "OpenOptions_default", + argNames: [], + ); + + +@override Future tokioNetUnixPipeOpenOptionsMode({required OpenOptions that , required int mode }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); +sse_encode_u_32(mode, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 144, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsModeConstMeta, + argValues: [that, mode], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsModeConstMeta => const TaskConstMeta( + debugName: "OpenOptions_mode", + argNames: ["that", "mode"], + ); + + +@override Future tokioNetUnixPipeOpenOptionsNew() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 145, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsNewConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsNewConstMeta => const TaskConstMeta( + debugName: "OpenOptions_new", + argNames: [], + ); + + +@override Future tokioNetUnixPipeOpenOptionsRead({required OpenOptions that , required bool read }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); +sse_encode_bool(read, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 146, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsReadConstMeta, + argValues: [that, read], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsReadConstMeta => const TaskConstMeta( + debugName: "OpenOptions_read", + argNames: ["that", "read"], + ); + + +@override Future tokioNetUnixPipeOpenOptionsTruncate({required OpenOptions that , required bool truncate }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); +sse_encode_bool(truncate, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 147, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsTruncateConstMeta, + argValues: [that, truncate], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsTruncateConstMeta => const TaskConstMeta( + debugName: "OpenOptions_truncate", + argNames: ["that", "truncate"], + ); + + +@override Future tokioNetUnixPipeOpenOptionsUnchecked({required OpenOptions that , required bool value }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); +sse_encode_bool(value, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 148, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsUncheckedConstMeta, + argValues: [that, value], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsUncheckedConstMeta => const TaskConstMeta( + debugName: "OpenOptions_unchecked", + argNames: ["that", "value"], + ); + + +@override Future tokioNetUnixPipeOpenOptionsWrite({required OpenOptions that , required bool write }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); +sse_encode_bool(write, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 149, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeOpenOptionsWriteConstMeta, + argValues: [that, write], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeOpenOptionsWriteConstMeta => const TaskConstMeta( + debugName: "OpenOptions_write", + argNames: ["that", "write"], + ); + + +@override Future tokioNetTcpOwnedReadHalfLocalAddr({required OwnedReadHalf that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 150, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedReadHalfLocalAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedReadHalfLocalAddrConstMeta => const TaskConstMeta( + debugName: "OwnedReadHalf_local_addr", + argNames: ["that"], + ); + + +@override Future tokioNetTcpOwnedReadHalfPeek({required OwnedReadHalf that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 151, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedReadHalfPeekConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedReadHalfPeekConstMeta => const TaskConstMeta( + debugName: "OwnedReadHalf_peek", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetTcpOwnedReadHalfPeerAddr({required OwnedReadHalf that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 152, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedReadHalfPeerAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedReadHalfPeerAddrConstMeta => const TaskConstMeta( + debugName: "OwnedReadHalf_peer_addr", + argNames: ["that"], + ); + + +@override Future tokioNetTcpOwnedReadHalfPollPeek({required OwnedReadHalf that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 153, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpOwnedReadHalfPollPeekConstMeta, + argValues: [that, cx, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedReadHalfPollPeekConstMeta => const TaskConstMeta( + debugName: "OwnedReadHalf_poll_peek", + argNames: ["that", "cx", "buf"], + ); + + +@override Future tokioNetTcpOwnedReadHalfReadable({required OwnedReadHalf that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 154, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedReadHalfReadableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedReadHalfReadableConstMeta => const TaskConstMeta( + debugName: "OwnedReadHalf_readable", + argNames: ["that"], + ); + + +@override Future tokioNetTcpOwnedReadHalfReady({required OwnedReadHalf that , required Interest interest }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 155, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedReadHalfReadyConstMeta, + argValues: [that, interest], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedReadHalfReadyConstMeta => const TaskConstMeta( + debugName: "OwnedReadHalf_ready", + argNames: ["that", "interest"], + ); + + +@override Future tokioNetTcpOwnedReadHalfReunite({required OwnedReadHalf that , required OwnedWriteHalf other }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(other, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 156, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError, + ) + , + constMeta: kTokioNetTcpOwnedReadHalfReuniteConstMeta, + argValues: [that, other], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedReadHalfReuniteConstMeta => const TaskConstMeta( + debugName: "OwnedReadHalf_reunite", + argNames: ["that", "other"], + ); + + +@override Future tokioNetTcpOwnedReadHalfTryRead({required OwnedReadHalf that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 157, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedReadHalfTryReadConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedReadHalfTryReadConstMeta => const TaskConstMeta( + debugName: "OwnedReadHalf_try_read", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetTcpOwnedReadHalfTryReadVectored({required OwnedReadHalf that , required IoSliceMut bufs }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(bufs, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 158, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedReadHalfTryReadVectoredConstMeta, + argValues: [that, bufs], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedReadHalfTryReadVectoredConstMeta => const TaskConstMeta( + debugName: "OwnedReadHalf_try_read_vectored", + argNames: ["that", "bufs"], + ); + + +@override Future tokioSyncOwnedSemaphorePermitMerge({required OwnedSemaphorePermit that , required OwnedSemaphorePermit other }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(other, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 159, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncOwnedSemaphorePermitMergeConstMeta, + argValues: [that, other], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncOwnedSemaphorePermitMergeConstMeta => const TaskConstMeta( + debugName: "OwnedSemaphorePermit_merge", + argNames: ["that", "other"], + ); + + +@override Future tokioSyncOwnedSemaphorePermitNumPermits({required OwnedSemaphorePermit that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 160, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncOwnedSemaphorePermitNumPermitsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncOwnedSemaphorePermitNumPermitsConstMeta => const TaskConstMeta( + debugName: "OwnedSemaphorePermit_num_permits", + argNames: ["that"], + ); + + +@override Future tokioSyncOwnedSemaphorePermitSemaphore({required OwnedSemaphorePermit that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 161, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncOwnedSemaphorePermitSemaphoreConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncOwnedSemaphorePermitSemaphoreConstMeta => const TaskConstMeta( + debugName: "OwnedSemaphorePermit_semaphore", + argNames: ["that"], + ); + + +@override Future tokioSyncOwnedSemaphorePermitSplit({required OwnedSemaphorePermit that , required BigInt n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(that, serializer); +sse_encode_usize(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 162, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncOwnedSemaphorePermitSplitConstMeta, + argValues: [that, n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncOwnedSemaphorePermitSplitConstMeta => const TaskConstMeta( + debugName: "OwnedSemaphorePermit_split", + argNames: ["that", "n"], + ); + + +@override Future tokioNetTcpOwnedWriteHalfLocalAddr({required OwnedWriteHalf that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 163, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedWriteHalfLocalAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedWriteHalfLocalAddrConstMeta => const TaskConstMeta( + debugName: "OwnedWriteHalf_local_addr", + argNames: ["that"], + ); + + +@override Future tokioNetTcpOwnedWriteHalfPeerAddr({required OwnedWriteHalf that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 164, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedWriteHalfPeerAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedWriteHalfPeerAddrConstMeta => const TaskConstMeta( + debugName: "OwnedWriteHalf_peer_addr", + argNames: ["that"], + ); + + +@override Future tokioNetTcpOwnedWriteHalfReady({required OwnedWriteHalf that , required Interest interest }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 165, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedWriteHalfReadyConstMeta, + argValues: [that, interest], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedWriteHalfReadyConstMeta => const TaskConstMeta( + debugName: "OwnedWriteHalf_ready", + argNames: ["that", "interest"], + ); + + +@override Future tokioNetTcpOwnedWriteHalfReunite({required OwnedWriteHalf that , required OwnedReadHalf other }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(other, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 166, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError, + ) + , + constMeta: kTokioNetTcpOwnedWriteHalfReuniteConstMeta, + argValues: [that, other], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedWriteHalfReuniteConstMeta => const TaskConstMeta( + debugName: "OwnedWriteHalf_reunite", + argNames: ["that", "other"], + ); + + +@override Future tokioNetTcpOwnedWriteHalfTryWrite({required OwnedWriteHalf that , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 167, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedWriteHalfTryWriteConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedWriteHalfTryWriteConstMeta => const TaskConstMeta( + debugName: "OwnedWriteHalf_try_write", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetTcpOwnedWriteHalfTryWriteVectored({required OwnedWriteHalf that , required List bufs }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); +sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(bufs, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 168, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedWriteHalfTryWriteVectoredConstMeta, + argValues: [that, bufs], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedWriteHalfTryWriteVectoredConstMeta => const TaskConstMeta( + debugName: "OwnedWriteHalf_try_write_vectored", + argNames: ["that", "bufs"], + ); + + +@override Future tokioNetTcpOwnedWriteHalfWritable({required OwnedWriteHalf that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 169, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpOwnedWriteHalfWritableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpOwnedWriteHalfWritableConstMeta => const TaskConstMeta( + debugName: "OwnedWriteHalf_writable", + argNames: ["that"], + ); + + +@override Future seekstormSearchQueryFacetDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 170, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchQueryFacetDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchQueryFacetDefaultConstMeta => const TaskConstMeta( + debugName: "QueryFacet_default", + argNames: [], + ); + + +@override Future seekstormSearchQueryRewritingDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 171, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchQueryRewritingDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchQueryRewritingDefaultConstMeta => const TaskConstMeta( + debugName: "QueryRewriting_default", + argNames: [], + ); + + +@override Future seekstormSearchRangesDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 172, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchRangesDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchRangesDefaultConstMeta => const TaskConstMeta( + debugName: "Ranges_default", + argNames: [], + ); + + +@override Future tokioIoReadyIsEmpty({required Ready that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 173, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioIoReadyIsEmptyConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoReadyIsEmptyConstMeta => const TaskConstMeta( + debugName: "Ready_is_empty", + argNames: ["that"], + ); + + +@override Future tokioIoReadyIsError({required Ready that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 174, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioIoReadyIsErrorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoReadyIsErrorConstMeta => const TaskConstMeta( + debugName: "Ready_is_error", + argNames: ["that"], + ); + + +@override Future tokioIoReadyIsReadClosed({required Ready that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 175, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioIoReadyIsReadClosedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoReadyIsReadClosedConstMeta => const TaskConstMeta( + debugName: "Ready_is_read_closed", + argNames: ["that"], + ); + + +@override Future tokioIoReadyIsReadable({required Ready that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 176, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioIoReadyIsReadableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoReadyIsReadableConstMeta => const TaskConstMeta( + debugName: "Ready_is_readable", + argNames: ["that"], + ); + + +@override Future tokioIoReadyIsWritable({required Ready that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 177, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioIoReadyIsWritableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoReadyIsWritableConstMeta => const TaskConstMeta( + debugName: "Ready_is_writable", + argNames: ["that"], + ); + + +@override Future tokioIoReadyIsWriteClosed({required Ready that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 178, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioIoReadyIsWriteClosedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoReadyIsWriteClosedConstMeta => const TaskConstMeta( + debugName: "Ready_is_write_closed", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTBlockingRecv({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 179, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError, + ) + , + constMeta: kTokioNetUnixPipeReceiverTBlockingRecvConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTBlockingRecvConstMeta => const TaskConstMeta( + debugName: "ReceiverT_blocking_recv", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTBlockingRecvMany({required ReceiverT that , required VecT buffer , required BigInt limit }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(buffer, serializer); +sse_encode_usize(limit, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 180, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTBlockingRecvManyConstMeta, + argValues: [that, buffer, limit], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTBlockingRecvManyConstMeta => const TaskConstMeta( + debugName: "ReceiverT_blocking_recv_many", + argNames: ["that", "buffer", "limit"], + ); + + +@override Future tokioNetUnixPipeReceiverTBorrow({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 181, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTBorrowConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTBorrowConstMeta => const TaskConstMeta( + debugName: "ReceiverT_borrow", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTBorrowAndUpdate({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 182, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTBorrowAndUpdateConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTBorrowAndUpdateConstMeta => const TaskConstMeta( + debugName: "ReceiverT_borrow_and_update", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTCapacity({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 183, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTCapacityConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTCapacityConstMeta => const TaskConstMeta( + debugName: "ReceiverT_capacity", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTChanged({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 184, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError, + ) + , + constMeta: kTokioNetUnixPipeReceiverTChangedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTChangedConstMeta => const TaskConstMeta( + debugName: "ReceiverT_changed", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTClose({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 185, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTCloseConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTCloseConstMeta => const TaskConstMeta( + debugName: "ReceiverT_close", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTHasChanged({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 186, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError, + ) + , + constMeta: kTokioNetUnixPipeReceiverTHasChangedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTHasChangedConstMeta => const TaskConstMeta( + debugName: "ReceiverT_has_changed", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTIsClosed({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 187, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTIsClosedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTIsClosedConstMeta => const TaskConstMeta( + debugName: "ReceiverT_is_closed", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTIsEmpty({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 188, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTIsEmptyConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTIsEmptyConstMeta => const TaskConstMeta( + debugName: "ReceiverT_is_empty", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTIsTerminated({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 189, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTIsTerminatedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTIsTerminatedConstMeta => const TaskConstMeta( + debugName: "ReceiverT_is_terminated", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTLen({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 190, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTLenConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTLenConstMeta => const TaskConstMeta( + debugName: "ReceiverT_len", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTMarkChanged({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 191, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTMarkChangedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTMarkChangedConstMeta => const TaskConstMeta( + debugName: "ReceiverT_mark_changed", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTMarkUnchanged({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 192, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTMarkUnchangedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTMarkUnchangedConstMeta => const TaskConstMeta( + debugName: "ReceiverT_mark_unchanged", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTMaxCapacity({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 193, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTMaxCapacityConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTMaxCapacityConstMeta => const TaskConstMeta( + debugName: "ReceiverT_max_capacity", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTPollRecv({required ReceiverT that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 194, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTPollRecvConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTPollRecvConstMeta => const TaskConstMeta( + debugName: "ReceiverT_poll_recv", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUnixPipeReceiverTPollRecvMany({required ReceiverT that , required Context cx , required VecT buffer , required BigInt limit }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(buffer, serializer); +sse_encode_usize(limit, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 195, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTPollRecvManyConstMeta, + argValues: [that, cx, buffer, limit], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTPollRecvManyConstMeta => const TaskConstMeta( + debugName: "ReceiverT_poll_recv_many", + argNames: ["that", "cx", "buffer", "limit"], + ); + + +@override Future tokioNetUnixPipeReceiverTRecv({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 196, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError, + ) + , + constMeta: kTokioNetUnixPipeReceiverTRecvConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTRecvConstMeta => const TaskConstMeta( + debugName: "ReceiverT_recv", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTRecvMany({required ReceiverT that , required VecT buffer , required BigInt limit }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(buffer, serializer); +sse_encode_usize(limit, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 197, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTRecvManyConstMeta, + argValues: [that, buffer, limit], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTRecvManyConstMeta => const TaskConstMeta( + debugName: "ReceiverT_recv_many", + argNames: ["that", "buffer", "limit"], + ); + + +@override Future tokioNetUnixPipeReceiverTResubscribe({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 198, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTResubscribeConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTResubscribeConstMeta => const TaskConstMeta( + debugName: "ReceiverT_resubscribe", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTSameChannel({required ReceiverT that , required ReceiverT other }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); +sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(other, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 199, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTSameChannelConstMeta, + argValues: [that, other], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTSameChannelConstMeta => const TaskConstMeta( + debugName: "ReceiverT_same_channel", + argNames: ["that", "other"], + ); + + +@override Future tokioNetUnixPipeReceiverTSenderStrongCount({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 200, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTSenderStrongCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTSenderStrongCountConstMeta => const TaskConstMeta( + debugName: "ReceiverT_sender_strong_count", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTSenderWeakCount({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 201, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverTSenderWeakCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTSenderWeakCountConstMeta => const TaskConstMeta( + debugName: "ReceiverT_sender_weak_count", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverTTryRecv({required ReceiverT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 202, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError, + ) + , + constMeta: kTokioNetUnixPipeReceiverTTryRecvConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTTryRecvConstMeta => const TaskConstMeta( + debugName: "ReceiverT_try_recv", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverFromFile({required File file }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(file, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 203, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeReceiverFromFileConstMeta, + argValues: [file], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverFromFileConstMeta => const TaskConstMeta( + debugName: "Receiver_from_file", + argNames: ["file"], + ); + + +@override Future tokioNetUnixPipeReceiverFromFileUnchecked({required File file }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(file, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 204, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeReceiverFromFileUncheckedConstMeta, + argValues: [file], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverFromFileUncheckedConstMeta => const TaskConstMeta( + debugName: "Receiver_from_file_unchecked", + argNames: ["file"], + ); + + +@override Future tokioNetUnixPipeReceiverFromOwnedFd({required OwnedFd ownedFd }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ownedFd, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 205, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeReceiverFromOwnedFdConstMeta, + argValues: [ownedFd], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverFromOwnedFdConstMeta => const TaskConstMeta( + debugName: "Receiver_from_owned_fd", + argNames: ["ownedFd"], + ); + + +@override Future tokioNetUnixPipeReceiverFromOwnedFdUnchecked({required OwnedFd ownedFd }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ownedFd, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 206, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeReceiverFromOwnedFdUncheckedConstMeta, + argValues: [ownedFd], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverFromOwnedFdUncheckedConstMeta => const TaskConstMeta( + debugName: "Receiver_from_owned_fd_unchecked", + argNames: ["ownedFd"], + ); + + +@override Future tokioNetUnixPipeReceiverIntoBlockingFd({required Receiver that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 207, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeReceiverIntoBlockingFdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverIntoBlockingFdConstMeta => const TaskConstMeta( + debugName: "Receiver_into_blocking_fd", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverIntoNonblockingFd({required Receiver that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 208, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeReceiverIntoNonblockingFdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverIntoNonblockingFdConstMeta => const TaskConstMeta( + debugName: "Receiver_into_nonblocking_fd", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverPollReadReady({required Receiver that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 209, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeReceiverPollReadReadyConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverPollReadReadyConstMeta => const TaskConstMeta( + debugName: "Receiver_poll_read_ready", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUnixPipeReceiverReadable({required Receiver that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 210, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeReceiverReadableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverReadableConstMeta => const TaskConstMeta( + debugName: "Receiver_readable", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeReceiverReady({required Receiver that , required Interest interest }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 211, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeReceiverReadyConstMeta, + argValues: [that, interest], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverReadyConstMeta => const TaskConstMeta( + debugName: "Receiver_ready", + argNames: ["that", "interest"], + ); + + +@override Future tokioNetUnixPipeReceiverTryRead({required Receiver that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 212, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeReceiverTryReadConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTryReadConstMeta => const TaskConstMeta( + debugName: "Receiver_try_read", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUnixPipeReceiverTryReadVectored({required Receiver that , required IoSliceMut bufs }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(bufs, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 213, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeReceiverTryReadVectoredConstMeta, + argValues: [that, bufs], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeReceiverTryReadVectoredConstMeta => const TaskConstMeta( + debugName: "Receiver_try_read_vectored", + argNames: ["that", "bufs"], + ); + + +@override Future tokioTaskCoopRestoreOnPendingMadeProgress({required RestoreOnPending that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 214, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTaskCoopRestoreOnPendingMadeProgressConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTaskCoopRestoreOnPendingMadeProgressConstMeta => const TaskConstMeta( + debugName: "RestoreOnPending_made_progress", + argNames: ["that"], + ); + + +@override AHashMapStringFacet seekstormSearchResultObjectAutoAccessorGetFacets({required ResultObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 215)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorGetFacetsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetFacetsConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_get_facets", + argNames: ["that"], + ); + + +@override String seekstormSearchResultObjectAutoAccessorGetOriginalQuery({required ResultObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 216)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorGetOriginalQueryConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetOriginalQueryConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_get_original_query", + argNames: ["that"], + ); + + +@override String seekstormSearchResultObjectAutoAccessorGetQuery({required ResultObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 217)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorGetQueryConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetQueryConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_get_query", + argNames: ["that"], + ); + + +@override List seekstormSearchResultObjectAutoAccessorGetQueryTerms({required ResultObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 218)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_list_String, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorGetQueryTermsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetQueryTermsConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_get_query_terms", + argNames: ["that"], + ); + + +@override BigInt seekstormSearchResultObjectAutoAccessorGetResultCount({required ResultObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 219)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorGetResultCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetResultCountConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_get_result_count", + argNames: ["that"], + ); + + +@override BigInt seekstormSearchResultObjectAutoAccessorGetResultCountTotal({required ResultObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 220)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorGetResultCountTotalConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetResultCountTotalConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_get_result_count_total", + argNames: ["that"], + ); + + +@override List seekstormSearchResultObjectAutoAccessorGetResults({required ResultObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 221)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorGetResultsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetResultsConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_get_results", + argNames: ["that"], + ); + + +@override List seekstormSearchResultObjectAutoAccessorGetSuggestions({required ResultObject that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 222)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_list_String, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorGetSuggestionsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetSuggestionsConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_get_suggestions", + argNames: ["that"], + ); + + +@override void seekstormSearchResultObjectAutoAccessorSetFacets({required ResultObject that , required AHashMapStringFacet facets }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(facets, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 223)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorSetFacetsConstMeta, + argValues: [that, facets], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetFacetsConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_set_facets", + argNames: ["that", "facets"], + ); + + +@override void seekstormSearchResultObjectAutoAccessorSetOriginalQuery({required ResultObject that , required String originalQuery }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); +sse_encode_String(originalQuery, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 224)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorSetOriginalQueryConstMeta, + argValues: [that, originalQuery], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetOriginalQueryConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_set_original_query", + argNames: ["that", "originalQuery"], + ); + + +@override void seekstormSearchResultObjectAutoAccessorSetQuery({required ResultObject that , required String query }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); +sse_encode_String(query, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 225)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorSetQueryConstMeta, + argValues: [that, query], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetQueryConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_set_query", + argNames: ["that", "query"], + ); + + +@override void seekstormSearchResultObjectAutoAccessorSetQueryTerms({required ResultObject that , required List queryTerms }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); +sse_encode_list_String(queryTerms, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 226)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorSetQueryTermsConstMeta, + argValues: [that, queryTerms], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetQueryTermsConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_set_query_terms", + argNames: ["that", "queryTerms"], + ); + + +@override void seekstormSearchResultObjectAutoAccessorSetResultCount({required ResultObject that , required BigInt resultCount }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); +sse_encode_usize(resultCount, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 227)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorSetResultCountConstMeta, + argValues: [that, resultCount], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetResultCountConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_set_result_count", + argNames: ["that", "resultCount"], + ); + + +@override void seekstormSearchResultObjectAutoAccessorSetResultCountTotal({required ResultObject that , required BigInt resultCountTotal }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); +sse_encode_usize(resultCountTotal, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 228)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorSetResultCountTotalConstMeta, + argValues: [that, resultCountTotal], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetResultCountTotalConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_set_result_count_total", + argNames: ["that", "resultCountTotal"], + ); + + +@override void seekstormSearchResultObjectAutoAccessorSetResults({required ResultObject that , required List results }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); +sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(results, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 229)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorSetResultsConstMeta, + argValues: [that, results], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetResultsConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_set_results", + argNames: ["that", "results"], + ); + + +@override void seekstormSearchResultObjectAutoAccessorSetSuggestions({required ResultObject that , required List suggestions }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); +sse_encode_list_String(suggestions, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 230)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectAutoAccessorSetSuggestionsConstMeta, + argValues: [that, suggestions], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetSuggestionsConstMeta => const TaskConstMeta( + debugName: "ResultObject_auto_accessor_set_suggestions", + argNames: ["that", "suggestions"], + ); + + +@override Future seekstormSearchResultObjectDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 231, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultObjectDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultObjectDefaultConstMeta => const TaskConstMeta( + debugName: "ResultObject_default", + argNames: [], + ); + + +@override FacetValue seekstormSearchResultSortAutoAccessorGetBase({required ResultSort that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 232)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultSortAutoAccessorGetBaseConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultSortAutoAccessorGetBaseConstMeta => const TaskConstMeta( + debugName: "ResultSort_auto_accessor_get_base", + argNames: ["that"], + ); + + +@override String seekstormSearchResultSortAutoAccessorGetField({required ResultSort that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 233)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultSortAutoAccessorGetFieldConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultSortAutoAccessorGetFieldConstMeta => const TaskConstMeta( + debugName: "ResultSort_auto_accessor_get_field", + argNames: ["that"], + ); + + +@override SortOrder seekstormSearchResultSortAutoAccessorGetOrder({required ResultSort that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 234)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_sort_order, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultSortAutoAccessorGetOrderConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultSortAutoAccessorGetOrderConstMeta => const TaskConstMeta( + debugName: "ResultSort_auto_accessor_get_order", + argNames: ["that"], + ); + + +@override void seekstormSearchResultSortAutoAccessorSetBase({required ResultSort that , required FacetValue base }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(base, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 235)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultSortAutoAccessorSetBaseConstMeta, + argValues: [that, base], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultSortAutoAccessorSetBaseConstMeta => const TaskConstMeta( + debugName: "ResultSort_auto_accessor_set_base", + argNames: ["that", "base"], + ); + + +@override void seekstormSearchResultSortAutoAccessorSetField({required ResultSort that , required String field }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); +sse_encode_String(field, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 236)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultSortAutoAccessorSetFieldConstMeta, + argValues: [that, field], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultSortAutoAccessorSetFieldConstMeta => const TaskConstMeta( + debugName: "ResultSort_auto_accessor_set_field", + argNames: ["that", "field"], + ); + + +@override void seekstormSearchResultSortAutoAccessorSetOrder({required ResultSort that , required SortOrder order }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); +sse_encode_sort_order(order, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 237)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultSortAutoAccessorSetOrderConstMeta, + argValues: [that, order], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultSortAutoAccessorSetOrderConstMeta => const TaskConstMeta( + debugName: "ResultSort_auto_accessor_set_order", + argNames: ["that", "order"], + ); + + +@override OwnedReadHalf tokioNetTcpReuniteErrorAutoAccessorGetField0({required ReuniteError that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 238)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpReuniteErrorAutoAccessorGetField0ConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpReuniteErrorAutoAccessorGetField0ConstMeta => const TaskConstMeta( + debugName: "ReuniteError_auto_accessor_get_field0", + argNames: ["that"], + ); + + +@override OwnedWriteHalf tokioNetTcpReuniteErrorAutoAccessorGetField1({required ReuniteError that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 239)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpReuniteErrorAutoAccessorGetField1ConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpReuniteErrorAutoAccessorGetField1ConstMeta => const TaskConstMeta( + debugName: "ReuniteError_auto_accessor_get_field1", + argNames: ["that"], + ); + + +@override void tokioNetTcpReuniteErrorAutoAccessorSetField0({required ReuniteError that , required OwnedReadHalf field0 }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(field0, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 240)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpReuniteErrorAutoAccessorSetField0ConstMeta, + argValues: [that, field0], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpReuniteErrorAutoAccessorSetField0ConstMeta => const TaskConstMeta( + debugName: "ReuniteError_auto_accessor_set_field0", + argNames: ["that", "field0"], + ); + + +@override void tokioNetTcpReuniteErrorAutoAccessorSetField1({required ReuniteError that , required OwnedWriteHalf field1 }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(field1, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 241)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpReuniteErrorAutoAccessorSetField1ConstMeta, + argValues: [that, field1], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpReuniteErrorAutoAccessorSetField1ConstMeta => const TaskConstMeta( + debugName: "ReuniteError_auto_accessor_set_field1", + argNames: ["that", "field1"], + ); + + +@override Future tokioRuntimeRuntimeMetricsGlobalQueueDepth({required RuntimeMetrics that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 242, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeRuntimeMetricsGlobalQueueDepthConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeMetricsGlobalQueueDepthConstMeta => const TaskConstMeta( + debugName: "RuntimeMetrics_global_queue_depth", + argNames: ["that"], + ); + + +@override Future tokioRuntimeRuntimeMetricsNumAliveTasks({required RuntimeMetrics that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 243, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeRuntimeMetricsNumAliveTasksConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeMetricsNumAliveTasksConstMeta => const TaskConstMeta( + debugName: "RuntimeMetrics_num_alive_tasks", + argNames: ["that"], + ); + + +@override Future tokioRuntimeRuntimeMetricsNumWorkers({required RuntimeMetrics that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 244, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeRuntimeMetricsNumWorkersConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeMetricsNumWorkersConstMeta => const TaskConstMeta( + debugName: "RuntimeMetrics_num_workers", + argNames: ["that"], + ); + + +@override Future tokioRuntimeRuntimeMetricsWorkerParkCount({required RuntimeMetrics that , required BigInt worker }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); +sse_encode_usize(worker, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 245, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_64, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeRuntimeMetricsWorkerParkCountConstMeta, + argValues: [that, worker], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeMetricsWorkerParkCountConstMeta => const TaskConstMeta( + debugName: "RuntimeMetrics_worker_park_count", + argNames: ["that", "worker"], + ); + + +@override Future tokioRuntimeRuntimeMetricsWorkerParkUnparkCount({required RuntimeMetrics that , required BigInt worker }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); +sse_encode_usize(worker, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 246, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_64, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeRuntimeMetricsWorkerParkUnparkCountConstMeta, + argValues: [that, worker], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeMetricsWorkerParkUnparkCountConstMeta => const TaskConstMeta( + debugName: "RuntimeMetrics_worker_park_unpark_count", + argNames: ["that", "worker"], + ); + + +@override Future tokioRuntimeRuntimeMetricsWorkerTotalBusyDuration({required RuntimeMetrics that , required BigInt worker }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); +sse_encode_usize(worker, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 247, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Chrono_Duration, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeRuntimeMetricsWorkerTotalBusyDurationConstMeta, + argValues: [that, worker], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeMetricsWorkerTotalBusyDurationConstMeta => const TaskConstMeta( + debugName: "RuntimeMetrics_worker_total_busy_duration", + argNames: ["that", "worker"], + ); + + +@override Future tokioRuntimeRuntimeEnter({required Runtime that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 248, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeRuntimeEnterConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeEnterConstMeta => const TaskConstMeta( + debugName: "Runtime_enter", + argNames: ["that"], + ); + + +@override Future tokioRuntimeRuntimeHandle({required Runtime that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 249, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeRuntimeHandleConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeHandleConstMeta => const TaskConstMeta( + debugName: "Runtime_handle", + argNames: ["that"], + ); + + +@override Future tokioRuntimeRuntimeMetrics({required Runtime that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 250, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeRuntimeMetricsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeMetricsConstMeta => const TaskConstMeta( + debugName: "Runtime_metrics", + argNames: ["that"], + ); + + +@override Future tokioRuntimeRuntimeNew() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 251, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioRuntimeRuntimeNewConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeNewConstMeta => const TaskConstMeta( + debugName: "Runtime_new", + argNames: [], + ); + + +@override Future tokioRuntimeRuntimeShutdownBackground({required Runtime that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 252, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeRuntimeShutdownBackgroundConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeRuntimeShutdownBackgroundConstMeta => const TaskConstMeta( + debugName: "Runtime_shutdown_background", + argNames: ["that"], + ); + + +@override double seekstormIndexSchemaFieldAutoAccessorGetBoost({required SchemaField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 253)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_f_32, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetBoostConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetBoostConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_get_boost", + argNames: ["that"], + ); + + +@override bool seekstormIndexSchemaFieldAutoAccessorGetCompletionSource({required SchemaField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 254)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetCompletionSourceConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetCompletionSourceConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_get_completion_source", + argNames: ["that"], + ); + + +@override bool seekstormIndexSchemaFieldAutoAccessorGetDictionarySource({required SchemaField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 255)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetDictionarySourceConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetDictionarySourceConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_get_dictionary_source", + argNames: ["that"], + ); + + +@override bool seekstormIndexSchemaFieldAutoAccessorGetFacet({required SchemaField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 256)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetFacetConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetFacetConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_get_facet", + argNames: ["that"], + ); + + +@override String seekstormIndexSchemaFieldAutoAccessorGetField({required SchemaField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 257)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetFieldConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetFieldConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_get_field", + argNames: ["that"], + ); + + +@override FieldType seekstormIndexSchemaFieldAutoAccessorGetFieldType({required SchemaField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 258)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_field_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetFieldTypeConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetFieldTypeConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_get_field_type", + argNames: ["that"], + ); + + +@override bool seekstormIndexSchemaFieldAutoAccessorGetIndexed({required SchemaField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 259)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetIndexedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetIndexedConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_get_indexed", + argNames: ["that"], + ); + + +@override bool seekstormIndexSchemaFieldAutoAccessorGetLongest({required SchemaField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 260)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetLongestConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetLongestConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_get_longest", + argNames: ["that"], + ); + + +@override bool seekstormIndexSchemaFieldAutoAccessorGetStored({required SchemaField that }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 261)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetStoredConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetStoredConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_get_stored", + argNames: ["that"], + ); + + +@override void seekstormIndexSchemaFieldAutoAccessorSetBoost({required SchemaField that , required double boost }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); +sse_encode_f_32(boost, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 262)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetBoostConstMeta, + argValues: [that, boost], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetBoostConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_set_boost", + argNames: ["that", "boost"], + ); + + +@override void seekstormIndexSchemaFieldAutoAccessorSetCompletionSource({required SchemaField that , required bool completionSource }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); +sse_encode_bool(completionSource, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 263)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetCompletionSourceConstMeta, + argValues: [that, completionSource], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetCompletionSourceConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_set_completion_source", + argNames: ["that", "completionSource"], + ); + + +@override void seekstormIndexSchemaFieldAutoAccessorSetDictionarySource({required SchemaField that , required bool dictionarySource }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); +sse_encode_bool(dictionarySource, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 264)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetDictionarySourceConstMeta, + argValues: [that, dictionarySource], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetDictionarySourceConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_set_dictionary_source", + argNames: ["that", "dictionarySource"], + ); + + +@override void seekstormIndexSchemaFieldAutoAccessorSetFacet({required SchemaField that , required bool facet }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); +sse_encode_bool(facet, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 265)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetFacetConstMeta, + argValues: [that, facet], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetFacetConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_set_facet", + argNames: ["that", "facet"], + ); + + +@override void seekstormIndexSchemaFieldAutoAccessorSetField({required SchemaField that , required String field }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); +sse_encode_String(field, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 266)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetFieldConstMeta, + argValues: [that, field], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetFieldConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_set_field", + argNames: ["that", "field"], + ); + + +@override void seekstormIndexSchemaFieldAutoAccessorSetFieldType({required SchemaField that , required FieldType fieldType }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); +sse_encode_field_type(fieldType, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 267)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetFieldTypeConstMeta, + argValues: [that, fieldType], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetFieldTypeConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_set_field_type", + argNames: ["that", "fieldType"], + ); + + +@override void seekstormIndexSchemaFieldAutoAccessorSetIndexed({required SchemaField that , required bool indexed }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); +sse_encode_bool(indexed, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 268)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetIndexedConstMeta, + argValues: [that, indexed], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetIndexedConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_set_indexed", + argNames: ["that", "indexed"], + ); + + +@override void seekstormIndexSchemaFieldAutoAccessorSetLongest({required SchemaField that , required bool longest }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); +sse_encode_bool(longest, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 269)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetLongestConstMeta, + argValues: [that, longest], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetLongestConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_set_longest", + argNames: ["that", "longest"], + ); + + +@override void seekstormIndexSchemaFieldAutoAccessorSetStored({required SchemaField that , required bool stored }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); +sse_encode_bool(stored, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 270)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetStoredConstMeta, + argValues: [that, stored], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetStoredConstMeta => const TaskConstMeta( + debugName: "SchemaField_auto_accessor_set_stored", + argNames: ["that", "stored"], + ); + + +@override Future seekstormIndexSchemaFieldNew({required String field , required bool stored , required bool indexed , required FieldType fieldType , required bool facet , required bool longest , required double boost , required bool dictionarySource , required bool completionSource }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_String(field, serializer); +sse_encode_bool(stored, serializer); +sse_encode_bool(indexed, serializer); +sse_encode_field_type(fieldType, serializer); +sse_encode_bool(facet, serializer); +sse_encode_bool(longest, serializer); +sse_encode_f_32(boost, serializer); +sse_encode_bool(dictionarySource, serializer); +sse_encode_bool(completionSource, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 271, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSchemaFieldNewConstMeta, + argValues: [field, stored, indexed, fieldType, facet, longest, boost, dictionarySource, completionSource], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSchemaFieldNewConstMeta => const TaskConstMeta( + debugName: "SchemaField_new", + argNames: ["field", "stored", "indexed", "fieldType", "facet", "longest", "boost", "dictionarySource", "completionSource"], + ); + + +@override Future tokioSyncSemaphoreAcquire({required Semaphore that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 272, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError, + ) + , + constMeta: kTokioSyncSemaphoreAcquireConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreAcquireConstMeta => const TaskConstMeta( + debugName: "Semaphore_acquire", + argNames: ["that"], + ); + + +@override Future tokioSyncSemaphoreAcquireMany({required Semaphore that , required int n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); +sse_encode_u_32(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 273, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError, + ) + , + constMeta: kTokioSyncSemaphoreAcquireManyConstMeta, + argValues: [that, n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreAcquireManyConstMeta => const TaskConstMeta( + debugName: "Semaphore_acquire_many", + argNames: ["that", "n"], + ); + + +@override Future tokioSyncSemaphoreAcquireManyOwned({required Semaphore that , required int n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); +sse_encode_u_32(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 274, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError, + ) + , + constMeta: kTokioSyncSemaphoreAcquireManyOwnedConstMeta, + argValues: [that, n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreAcquireManyOwnedConstMeta => const TaskConstMeta( + debugName: "Semaphore_acquire_many_owned", + argNames: ["that", "n"], + ); + + +@override Future tokioSyncSemaphoreAcquireOwned({required Semaphore that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 275, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError, + ) + , + constMeta: kTokioSyncSemaphoreAcquireOwnedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreAcquireOwnedConstMeta => const TaskConstMeta( + debugName: "Semaphore_acquire_owned", + argNames: ["that"], + ); + + +@override Future tokioSyncSemaphoreAddPermits({required Semaphore that , required BigInt n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); +sse_encode_usize(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 276, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncSemaphoreAddPermitsConstMeta, + argValues: [that, n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreAddPermitsConstMeta => const TaskConstMeta( + debugName: "Semaphore_add_permits", + argNames: ["that", "n"], + ); + + +@override Future tokioSyncSemaphoreAvailablePermits({required Semaphore that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 277, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncSemaphoreAvailablePermitsConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreAvailablePermitsConstMeta => const TaskConstMeta( + debugName: "Semaphore_available_permits", + argNames: ["that"], + ); + + +@override Future tokioSyncSemaphoreClose({required Semaphore that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 278, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncSemaphoreCloseConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreCloseConstMeta => const TaskConstMeta( + debugName: "Semaphore_close", + argNames: ["that"], + ); + + +@override Future tokioSyncSemaphoreConstNew({required BigInt permits }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(permits, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 279, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncSemaphoreConstNewConstMeta, + argValues: [permits], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreConstNewConstMeta => const TaskConstMeta( + debugName: "Semaphore_const_new", + argNames: ["permits"], + ); + + +@override Future tokioSyncSemaphoreForgetPermits({required Semaphore that , required BigInt n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); +sse_encode_usize(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 280, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncSemaphoreForgetPermitsConstMeta, + argValues: [that, n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreForgetPermitsConstMeta => const TaskConstMeta( + debugName: "Semaphore_forget_permits", + argNames: ["that", "n"], + ); + + +@override Future tokioSyncSemaphoreIsClosed({required Semaphore that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 281, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncSemaphoreIsClosedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreIsClosedConstMeta => const TaskConstMeta( + debugName: "Semaphore_is_closed", + argNames: ["that"], + ); + + +@override Future tokioSyncSemaphoreNew({required BigInt permits }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(permits, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 282, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore, + decodeErrorData: null, + ) + , + constMeta: kTokioSyncSemaphoreNewConstMeta, + argValues: [permits], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreNewConstMeta => const TaskConstMeta( + debugName: "Semaphore_new", + argNames: ["permits"], + ); + + +@override Future tokioSyncSemaphoreTryAcquire({required Semaphore that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 283, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic, + decodeErrorData: sse_decode_try_acquire_error, + ) + , + constMeta: kTokioSyncSemaphoreTryAcquireConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreTryAcquireConstMeta => const TaskConstMeta( + debugName: "Semaphore_try_acquire", + argNames: ["that"], + ); + + +@override Future tokioSyncSemaphoreTryAcquireMany({required Semaphore that , required int n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); +sse_encode_u_32(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 284, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic, + decodeErrorData: sse_decode_try_acquire_error, + ) + , + constMeta: kTokioSyncSemaphoreTryAcquireManyConstMeta, + argValues: [that, n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreTryAcquireManyConstMeta => const TaskConstMeta( + debugName: "Semaphore_try_acquire_many", + argNames: ["that", "n"], + ); + + +@override Future tokioSyncSemaphoreTryAcquireManyOwned({required Semaphore that , required int n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); +sse_encode_u_32(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 285, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit, + decodeErrorData: sse_decode_try_acquire_error, + ) + , + constMeta: kTokioSyncSemaphoreTryAcquireManyOwnedConstMeta, + argValues: [that, n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreTryAcquireManyOwnedConstMeta => const TaskConstMeta( + debugName: "Semaphore_try_acquire_many_owned", + argNames: ["that", "n"], + ); + + +@override Future tokioSyncSemaphoreTryAcquireOwned({required Semaphore that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 286, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit, + decodeErrorData: sse_decode_try_acquire_error, + ) + , + constMeta: kTokioSyncSemaphoreTryAcquireOwnedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSyncSemaphoreTryAcquireOwnedConstMeta => const TaskConstMeta( + debugName: "Semaphore_try_acquire_owned", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTBlockingSend({required SenderT that , required T value }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(value, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 287, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT, + ) + , + constMeta: kTokioNetUnixPipeSenderTBlockingSendConstMeta, + argValues: [that, value], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTBlockingSendConstMeta => const TaskConstMeta( + debugName: "SenderT_blocking_send", + argNames: ["that", "value"], + ); + + +@override Future tokioNetUnixPipeSenderTBorrow({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 288, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTBorrowConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTBorrowConstMeta => const TaskConstMeta( + debugName: "SenderT_borrow", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTCapacity({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 289, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTCapacityConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTCapacityConstMeta => const TaskConstMeta( + debugName: "SenderT_capacity", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTClosed({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 290, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTClosedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTClosedConstMeta => const TaskConstMeta( + debugName: "SenderT_closed", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 291, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTDefaultConstMeta => const TaskConstMeta( + debugName: "SenderT_default", + argNames: [], + ); + + +@override Future tokioNetUnixPipeSenderTDowngrade({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 292, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTDowngradeConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTDowngradeConstMeta => const TaskConstMeta( + debugName: "SenderT_downgrade", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTIsClosed({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 293, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTIsClosedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTIsClosedConstMeta => const TaskConstMeta( + debugName: "SenderT_is_closed", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTIsEmpty({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 294, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTIsEmptyConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTIsEmptyConstMeta => const TaskConstMeta( + debugName: "SenderT_is_empty", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTLen({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 295, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTLenConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTLenConstMeta => const TaskConstMeta( + debugName: "SenderT_len", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTMaxCapacity({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 296, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTMaxCapacityConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTMaxCapacityConstMeta => const TaskConstMeta( + debugName: "SenderT_max_capacity", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTNew({required BigInt capacity }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(capacity, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 297, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTNewConstMeta, + argValues: [capacity], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTNewConstMeta => const TaskConstMeta( + debugName: "SenderT_new", + argNames: ["capacity"], + ); + + +@override Future tokioNetUnixPipeSenderTPollClosed({required SenderT that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 298, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTPollClosedConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTPollClosedConstMeta => const TaskConstMeta( + debugName: "SenderT_poll_closed", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUnixPipeSenderTReceiverCount({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 299, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTReceiverCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTReceiverCountConstMeta => const TaskConstMeta( + debugName: "SenderT_receiver_count", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTReserve({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 300, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError, + ) + , + constMeta: kTokioNetUnixPipeSenderTReserveConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTReserveConstMeta => const TaskConstMeta( + debugName: "SenderT_reserve", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTReserveMany({required SenderT that , required BigInt n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); +sse_encode_usize(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 301, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError, + ) + , + constMeta: kTokioNetUnixPipeSenderTReserveManyConstMeta, + argValues: [that, n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTReserveManyConstMeta => const TaskConstMeta( + debugName: "SenderT_reserve_many", + argNames: ["that", "n"], + ); + + +@override Future tokioNetUnixPipeSenderTReserveOwned({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 302, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError, + ) + , + constMeta: kTokioNetUnixPipeSenderTReserveOwnedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTReserveOwnedConstMeta => const TaskConstMeta( + debugName: "SenderT_reserve_owned", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTSameChannel({required SenderT that , required SenderT other }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); +sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(other, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 303, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTSameChannelConstMeta, + argValues: [that, other], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTSameChannelConstMeta => const TaskConstMeta( + debugName: "SenderT_same_channel", + argNames: ["that", "other"], + ); + + +@override Future tokioNetUnixPipeSenderTSend({required SenderT that , required T value }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(value, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 304, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT, + ) + , + constMeta: kTokioNetUnixPipeSenderTSendConstMeta, + argValues: [that, value], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTSendConstMeta => const TaskConstMeta( + debugName: "SenderT_send", + argNames: ["that", "value"], + ); + + +@override Future tokioNetUnixPipeSenderTSendReplace({required SenderT that , required T value }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(value, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 305, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTSendReplaceConstMeta, + argValues: [that, value], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTSendReplaceConstMeta => const TaskConstMeta( + debugName: "SenderT_send_replace", + argNames: ["that", "value"], + ); + + +@override Future tokioNetUnixPipeSenderTSendTimeout({required SenderT that , required T value , required Duration timeout }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(value, serializer); +sse_encode_Chrono_Duration(timeout, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 306, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT, + ) + , + constMeta: kTokioNetUnixPipeSenderTSendTimeoutConstMeta, + argValues: [that, value, timeout], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTSendTimeoutConstMeta => const TaskConstMeta( + debugName: "SenderT_send_timeout", + argNames: ["that", "value", "timeout"], + ); + + +@override Future tokioNetUnixPipeSenderTSenderCount({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 307, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTSenderCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTSenderCountConstMeta => const TaskConstMeta( + debugName: "SenderT_sender_count", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTStrongCount({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 308, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTStrongCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTStrongCountConstMeta => const TaskConstMeta( + debugName: "SenderT_strong_count", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTSubscribe({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 309, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTSubscribeConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTSubscribeConstMeta => const TaskConstMeta( + debugName: "SenderT_subscribe", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTTryReserve({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 310, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError, + ) + , + constMeta: kTokioNetUnixPipeSenderTTryReserveConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTTryReserveConstMeta => const TaskConstMeta( + debugName: "SenderT_try_reserve", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTTryReserveMany({required SenderT that , required BigInt n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); +sse_encode_usize(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 311, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError, + ) + , + constMeta: kTokioNetUnixPipeSenderTTryReserveManyConstMeta, + argValues: [that, n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTTryReserveManyConstMeta => const TaskConstMeta( + debugName: "SenderT_try_reserve_many", + argNames: ["that", "n"], + ); + + +@override Future tokioNetUnixPipeSenderTTryReserveOwned({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 312, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf, + ) + , + constMeta: kTokioNetUnixPipeSenderTTryReserveOwnedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTTryReserveOwnedConstMeta => const TaskConstMeta( + debugName: "SenderT_try_reserve_owned", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderTTrySend({required SenderT that , required T message }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(message, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 313, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT, + ) + , + constMeta: kTokioNetUnixPipeSenderTTrySendConstMeta, + argValues: [that, message], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTTrySendConstMeta => const TaskConstMeta( + debugName: "SenderT_try_send", + argNames: ["that", "message"], + ); + + +@override Future tokioNetUnixPipeSenderTWeakCount({required SenderT that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 314, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderTWeakCountConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTWeakCountConstMeta => const TaskConstMeta( + debugName: "SenderT_weak_count", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderFromFile({required File file }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(file, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 315, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeSenderFromFileConstMeta, + argValues: [file], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderFromFileConstMeta => const TaskConstMeta( + debugName: "Sender_from_file", + argNames: ["file"], + ); + + +@override Future tokioNetUnixPipeSenderFromFileUnchecked({required File file }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(file, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 316, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeSenderFromFileUncheckedConstMeta, + argValues: [file], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderFromFileUncheckedConstMeta => const TaskConstMeta( + debugName: "Sender_from_file_unchecked", + argNames: ["file"], + ); + + +@override Future tokioNetUnixPipeSenderFromOwnedFd({required OwnedFd ownedFd }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ownedFd, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 317, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeSenderFromOwnedFdConstMeta, + argValues: [ownedFd], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderFromOwnedFdConstMeta => const TaskConstMeta( + debugName: "Sender_from_owned_fd", + argNames: ["ownedFd"], + ); + + +@override Future tokioNetUnixPipeSenderFromOwnedFdUnchecked({required OwnedFd ownedFd }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ownedFd, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 318, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeSenderFromOwnedFdUncheckedConstMeta, + argValues: [ownedFd], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderFromOwnedFdUncheckedConstMeta => const TaskConstMeta( + debugName: "Sender_from_owned_fd_unchecked", + argNames: ["ownedFd"], + ); + + +@override Future tokioNetUnixPipeSenderIntoBlockingFd({required Sender that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 319, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeSenderIntoBlockingFdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderIntoBlockingFdConstMeta => const TaskConstMeta( + debugName: "Sender_into_blocking_fd", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderIntoNonblockingFd({required Sender that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 320, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeSenderIntoNonblockingFdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderIntoNonblockingFdConstMeta => const TaskConstMeta( + debugName: "Sender_into_nonblocking_fd", + argNames: ["that"], + ); + + +@override Future tokioNetUnixPipeSenderPollWriteReady({required Sender that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 321, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixPipeSenderPollWriteReadyConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderPollWriteReadyConstMeta => const TaskConstMeta( + debugName: "Sender_poll_write_ready", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUnixPipeSenderReady({required Sender that , required Interest interest }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 322, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeSenderReadyConstMeta, + argValues: [that, interest], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderReadyConstMeta => const TaskConstMeta( + debugName: "Sender_ready", + argNames: ["that", "interest"], + ); + + +@override Future tokioNetUnixPipeSenderTryWrite({required Sender that , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 323, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeSenderTryWriteConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTryWriteConstMeta => const TaskConstMeta( + debugName: "Sender_try_write", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUnixPipeSenderTryWriteVectored({required Sender that , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); +sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 324, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeSenderTryWriteVectoredConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderTryWriteVectoredConstMeta => const TaskConstMeta( + debugName: "Sender_try_write_vectored", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUnixPipeSenderWritable({required Sender that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 325, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipeSenderWritableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipeSenderWritableConstMeta => const TaskConstMeta( + debugName: "Sender_writable", + argNames: ["that"], + ); + + +@override Future tokioSignalUnixSignalKindAlarm() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 326, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindAlarmConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindAlarmConstMeta => const TaskConstMeta( + debugName: "SignalKind_alarm", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindAsRawValue({required SignalKind that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 327, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindAsRawValueConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindAsRawValueConstMeta => const TaskConstMeta( + debugName: "SignalKind_as_raw_value", + argNames: ["that"], + ); + + +@override Future tokioSignalUnixSignalKindChild() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 328, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindChildConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindChildConstMeta => const TaskConstMeta( + debugName: "SignalKind_child", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindFromRaw({required CInt signum }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(signum, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 329, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindFromRawConstMeta, + argValues: [signum], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindFromRawConstMeta => const TaskConstMeta( + debugName: "SignalKind_from_raw", + argNames: ["signum"], + ); + + +@override Future tokioSignalUnixSignalKindHangup() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 330, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindHangupConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindHangupConstMeta => const TaskConstMeta( + debugName: "SignalKind_hangup", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindInfo() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 331, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindInfoConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindInfoConstMeta => const TaskConstMeta( + debugName: "SignalKind_info", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindInterrupt() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 332, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindInterruptConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindInterruptConstMeta => const TaskConstMeta( + debugName: "SignalKind_interrupt", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindIo() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 333, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindIoConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindIoConstMeta => const TaskConstMeta( + debugName: "SignalKind_io", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindPipe() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 334, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindPipeConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindPipeConstMeta => const TaskConstMeta( + debugName: "SignalKind_pipe", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindQuit() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 335, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindQuitConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindQuitConstMeta => const TaskConstMeta( + debugName: "SignalKind_quit", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindTerminate() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 336, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindTerminateConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindTerminateConstMeta => const TaskConstMeta( + debugName: "SignalKind_terminate", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindUserDefined1() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 337, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindUserDefined1ConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindUserDefined1ConstMeta => const TaskConstMeta( + debugName: "SignalKind_user_defined1", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindUserDefined2() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 338, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindUserDefined2ConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindUserDefined2ConstMeta => const TaskConstMeta( + debugName: "SignalKind_user_defined2", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalKindWindowChange() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 339, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalKindWindowChangeConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalKindWindowChangeConstMeta => const TaskConstMeta( + debugName: "SignalKind_window_change", + argNames: [], + ); + + +@override Future tokioSignalUnixSignalPollRecv({required Signal that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 340, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalPollRecvConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalPollRecvConstMeta => const TaskConstMeta( + debugName: "Signal_poll_recv", + argNames: ["that", "cx"], + ); + + +@override Future tokioSignalUnixSignalRecv({required Signal that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 341, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioSignalUnixSignalRecvConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalRecvConstMeta => const TaskConstMeta( + debugName: "Signal_recv", + argNames: ["that"], + ); + + +@override Future tokioIoSimplexStreamNewUnsplit({required BigInt maxBufSize }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(maxBufSize, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 342, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream, + decodeErrorData: null, + ) + , + constMeta: kTokioIoSimplexStreamNewUnsplitConstMeta, + argValues: [maxBufSize], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoSimplexStreamNewUnsplitConstMeta => const TaskConstMeta( + debugName: "SimplexStream_new_unsplit", + argNames: ["maxBufSize"], + ); + + +@override Future tokioTimeSleepDeadline({required Sleep that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 343, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeSleepDeadlineConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeSleepDeadlineConstMeta => const TaskConstMeta( + debugName: "Sleep_deadline", + argNames: ["that"], + ); + + +@override Future tokioTimeSleepIsElapsed({required Sleep that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 344, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeSleepIsElapsedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeSleepIsElapsedConstMeta => const TaskConstMeta( + debugName: "Sleep_is_elapsed", + argNames: ["that"], + ); + + +@override Future tokioTimeSleepReset({required Sleep that , required Instant deadline }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(deadline, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 345, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeSleepResetConstMeta, + argValues: [that, deadline], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeSleepResetConstMeta => const TaskConstMeta( + debugName: "Sleep_reset", + argNames: ["that", "deadline"], + ); + + +@override Future tokioNetUnixSocketAddrAsPathname({required SocketAddr that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 346, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixSocketAddrAsPathnameConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixSocketAddrAsPathnameConstMeta => const TaskConstMeta( + debugName: "SocketAddr_as_pathname", + argNames: ["that"], + ); + + +@override Future tokioNetUnixSocketAddrIsUnnamed({required SocketAddr that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 347, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixSocketAddrIsUnnamedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixSocketAddrIsUnnamedConstMeta => const TaskConstMeta( + debugName: "SocketAddr_is_unnamed", + argNames: ["that"], + ); + + +@override Future seekstormIndexStopwordTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 348, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexStopwordTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexStopwordTypeDefaultConstMeta => const TaskConstMeta( + debugName: "StopwordType_default", + argNames: [], + ); + + +@override Future<(TcpStream,SocketAddr)> tokioNetTcpListenerAccept({required TcpListener that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 349, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpListenerAcceptConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpListenerAcceptConstMeta => const TaskConstMeta( + debugName: "TcpListener_accept", + argNames: ["that"], + ); + + +@override Future tokioNetTcpListenerFromStd({required TcpListener listener }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(listener, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 350, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpListenerFromStdConstMeta, + argValues: [listener], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpListenerFromStdConstMeta => const TaskConstMeta( + debugName: "TcpListener_from_std", + argNames: ["listener"], + ); + + +@override Future tokioNetTcpListenerIntoStd({required TcpListener that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 351, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpListenerIntoStdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpListenerIntoStdConstMeta => const TaskConstMeta( + debugName: "TcpListener_into_std", + argNames: ["that"], + ); + + +@override Future tokioNetTcpListenerLocalAddr({required TcpListener that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 352, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpListenerLocalAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpListenerLocalAddrConstMeta => const TaskConstMeta( + debugName: "TcpListener_local_addr", + argNames: ["that"], + ); + + +@override Future tokioNetTcpListenerPollAccept({required TcpListener that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 353, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpListenerPollAcceptConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpListenerPollAcceptConstMeta => const TaskConstMeta( + debugName: "TcpListener_poll_accept", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetTcpListenerSetTtl({required TcpListener that , required int ttl }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); +sse_encode_u_32(ttl, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 354, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpListenerSetTtlConstMeta, + argValues: [that, ttl], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpListenerSetTtlConstMeta => const TaskConstMeta( + debugName: "TcpListener_set_ttl", + argNames: ["that", "ttl"], + ); + + +@override Future tokioNetTcpListenerTtl({required TcpListener that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 355, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpListenerTtlConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpListenerTtlConstMeta => const TaskConstMeta( + debugName: "TcpListener_ttl", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketBind({required TcpSocket that , required SocketAddr addr }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(addr, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 356, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketBindConstMeta, + argValues: [that, addr], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketBindConstMeta => const TaskConstMeta( + debugName: "TcpSocket_bind", + argNames: ["that", "addr"], + ); + + +@override Future tokioNetTcpSocketConnect({required TcpSocket that , required SocketAddr addr }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(addr, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 357, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketConnectConstMeta, + argValues: [that, addr], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketConnectConstMeta => const TaskConstMeta( + debugName: "TcpSocket_connect", + argNames: ["that", "addr"], + ); + + +@override Future tokioNetTcpSocketFromStdStream({required TcpStream stdStream }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(stdStream, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 358, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpSocketFromStdStreamConstMeta, + argValues: [stdStream], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketFromStdStreamConstMeta => const TaskConstMeta( + debugName: "TcpSocket_from_std_stream", + argNames: ["stdStream"], + ); + + +@override Future tokioNetTcpSocketKeepalive({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 359, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketKeepaliveConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketKeepaliveConstMeta => const TaskConstMeta( + debugName: "TcpSocket_keepalive", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketLinger({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 360, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Chrono_Duration, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketLingerConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketLingerConstMeta => const TaskConstMeta( + debugName: "TcpSocket_linger", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketListen({required TcpSocket that , required int backlog }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_u_32(backlog, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 361, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketListenConstMeta, + argValues: [that, backlog], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketListenConstMeta => const TaskConstMeta( + debugName: "TcpSocket_listen", + argNames: ["that", "backlog"], + ); + + +@override Future tokioNetTcpSocketLocalAddr({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 362, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketLocalAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketLocalAddrConstMeta => const TaskConstMeta( + debugName: "TcpSocket_local_addr", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketNewV4() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 363, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketNewV4ConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketNewV4ConstMeta => const TaskConstMeta( + debugName: "TcpSocket_new_v4", + argNames: [], + ); + + +@override Future tokioNetTcpSocketNewV6() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 364, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketNewV6ConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketNewV6ConstMeta => const TaskConstMeta( + debugName: "TcpSocket_new_v6", + argNames: [], + ); + + +@override Future tokioNetTcpSocketNodelay({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 365, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketNodelayConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketNodelayConstMeta => const TaskConstMeta( + debugName: "TcpSocket_nodelay", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketRecvBufferSize({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 366, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketRecvBufferSizeConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketRecvBufferSizeConstMeta => const TaskConstMeta( + debugName: "TcpSocket_recv_buffer_size", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketReuseaddr({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 367, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketReuseaddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketReuseaddrConstMeta => const TaskConstMeta( + debugName: "TcpSocket_reuseaddr", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketReuseport({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 368, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketReuseportConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketReuseportConstMeta => const TaskConstMeta( + debugName: "TcpSocket_reuseport", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketSendBufferSize({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 369, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSendBufferSizeConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSendBufferSizeConstMeta => const TaskConstMeta( + debugName: "TcpSocket_send_buffer_size", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketSetKeepalive({required TcpSocket that , required bool keepalive }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_bool(keepalive, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 370, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSetKeepaliveConstMeta, + argValues: [that, keepalive], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSetKeepaliveConstMeta => const TaskConstMeta( + debugName: "TcpSocket_set_keepalive", + argNames: ["that", "keepalive"], + ); + + +@override Future tokioNetTcpSocketSetLinger({required TcpSocket that , Duration? dur }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_opt_box_autoadd_Chrono_Duration(dur, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 371, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSetLingerConstMeta, + argValues: [that, dur], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSetLingerConstMeta => const TaskConstMeta( + debugName: "TcpSocket_set_linger", + argNames: ["that", "dur"], + ); + + +@override Future tokioNetTcpSocketSetNodelay({required TcpSocket that , required bool nodelay }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_bool(nodelay, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 372, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSetNodelayConstMeta, + argValues: [that, nodelay], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSetNodelayConstMeta => const TaskConstMeta( + debugName: "TcpSocket_set_nodelay", + argNames: ["that", "nodelay"], + ); + + +@override Future tokioNetTcpSocketSetRecvBufferSize({required TcpSocket that , required int size }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_u_32(size, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 373, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSetRecvBufferSizeConstMeta, + argValues: [that, size], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSetRecvBufferSizeConstMeta => const TaskConstMeta( + debugName: "TcpSocket_set_recv_buffer_size", + argNames: ["that", "size"], + ); + + +@override Future tokioNetTcpSocketSetReuseaddr({required TcpSocket that , required bool reuseaddr }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_bool(reuseaddr, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 374, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSetReuseaddrConstMeta, + argValues: [that, reuseaddr], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSetReuseaddrConstMeta => const TaskConstMeta( + debugName: "TcpSocket_set_reuseaddr", + argNames: ["that", "reuseaddr"], + ); + + +@override Future tokioNetTcpSocketSetReuseport({required TcpSocket that , required bool reuseport }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_bool(reuseport, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 375, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSetReuseportConstMeta, + argValues: [that, reuseport], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSetReuseportConstMeta => const TaskConstMeta( + debugName: "TcpSocket_set_reuseport", + argNames: ["that", "reuseport"], + ); + + +@override Future tokioNetTcpSocketSetSendBufferSize({required TcpSocket that , required int size }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_u_32(size, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 376, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSetSendBufferSizeConstMeta, + argValues: [that, size], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSetSendBufferSizeConstMeta => const TaskConstMeta( + debugName: "TcpSocket_set_send_buffer_size", + argNames: ["that", "size"], + ); + + +@override Future tokioNetTcpSocketSetTclassV6({required TcpSocket that , required int tclass }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_u_32(tclass, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 377, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSetTclassV6ConstMeta, + argValues: [that, tclass], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSetTclassV6ConstMeta => const TaskConstMeta( + debugName: "TcpSocket_set_tclass_v6", + argNames: ["that", "tclass"], + ); + + +@override Future tokioNetTcpSocketSetTos({required TcpSocket that , required int tos }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_u_32(tos, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 378, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSetTosConstMeta, + argValues: [that, tos], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSetTosConstMeta => const TaskConstMeta( + debugName: "TcpSocket_set_tos", + argNames: ["that", "tos"], + ); + + +@override Future tokioNetTcpSocketSetTosV4({required TcpSocket that , required int tos }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); +sse_encode_u_32(tos, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 379, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketSetTosV4ConstMeta, + argValues: [that, tos], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketSetTosV4ConstMeta => const TaskConstMeta( + debugName: "TcpSocket_set_tos_v4", + argNames: ["that", "tos"], + ); + + +@override Future tokioNetTcpSocketTakeError({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 380, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketTakeErrorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketTakeErrorConstMeta => const TaskConstMeta( + debugName: "TcpSocket_take_error", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketTclassV6({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 381, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketTclassV6ConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketTclassV6ConstMeta => const TaskConstMeta( + debugName: "TcpSocket_tclass_v6", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketTos({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 382, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketTosConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketTosConstMeta => const TaskConstMeta( + debugName: "TcpSocket_tos", + argNames: ["that"], + ); + + +@override Future tokioNetTcpSocketTosV4({required TcpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 383, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpSocketTosV4ConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpSocketTosV4ConstMeta => const TaskConstMeta( + debugName: "TcpSocket_tos_v4", + argNames: ["that"], + ); + + +@override Future tokioNetTcpStreamFromStd({required TcpStream stream }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(stream, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 384, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamFromStdConstMeta, + argValues: [stream], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamFromStdConstMeta => const TaskConstMeta( + debugName: "TcpStream_from_std", + argNames: ["stream"], + ); + + +@override Future<(OwnedReadHalf,OwnedWriteHalf)> tokioNetTcpStreamIntoSplit({required TcpStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 385, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpStreamIntoSplitConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamIntoSplitConstMeta => const TaskConstMeta( + debugName: "TcpStream_into_split", + argNames: ["that"], + ); + + +@override Future tokioNetTcpStreamIntoStd({required TcpStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 386, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamIntoStdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamIntoStdConstMeta => const TaskConstMeta( + debugName: "TcpStream_into_std", + argNames: ["that"], + ); + + +@override Future tokioNetTcpStreamLinger({required TcpStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 387, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Chrono_Duration, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamLingerConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamLingerConstMeta => const TaskConstMeta( + debugName: "TcpStream_linger", + argNames: ["that"], + ); + + +@override Future tokioNetTcpStreamLocalAddr({required TcpStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 388, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamLocalAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamLocalAddrConstMeta => const TaskConstMeta( + debugName: "TcpStream_local_addr", + argNames: ["that"], + ); + + +@override Future tokioNetTcpStreamNodelay({required TcpStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 389, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamNodelayConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamNodelayConstMeta => const TaskConstMeta( + debugName: "TcpStream_nodelay", + argNames: ["that"], + ); + + +@override Future tokioNetTcpStreamPeek({required TcpStream that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 390, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamPeekConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamPeekConstMeta => const TaskConstMeta( + debugName: "TcpStream_peek", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetTcpStreamPeerAddr({required TcpStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 391, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamPeerAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamPeerAddrConstMeta => const TaskConstMeta( + debugName: "TcpStream_peer_addr", + argNames: ["that"], + ); + + +@override Future tokioNetTcpStreamPollPeek({required TcpStream that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 392, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpStreamPollPeekConstMeta, + argValues: [that, cx, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamPollPeekConstMeta => const TaskConstMeta( + debugName: "TcpStream_poll_peek", + argNames: ["that", "cx", "buf"], + ); + + +@override Future tokioNetTcpStreamPollReadReady({required TcpStream that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 393, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpStreamPollReadReadyConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamPollReadReadyConstMeta => const TaskConstMeta( + debugName: "TcpStream_poll_read_ready", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetTcpStreamPollWriteReady({required TcpStream that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 394, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetTcpStreamPollWriteReadyConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamPollWriteReadyConstMeta => const TaskConstMeta( + debugName: "TcpStream_poll_write_ready", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetTcpStreamReadable({required TcpStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 395, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamReadableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamReadableConstMeta => const TaskConstMeta( + debugName: "TcpStream_readable", + argNames: ["that"], + ); + + +@override Future tokioNetTcpStreamReady({required TcpStream that , required Interest interest }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 396, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamReadyConstMeta, + argValues: [that, interest], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamReadyConstMeta => const TaskConstMeta( + debugName: "TcpStream_ready", + argNames: ["that", "interest"], + ); + + +@override Future tokioNetTcpStreamSetLinger({required TcpStream that , Duration? dur }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_opt_box_autoadd_Chrono_Duration(dur, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 397, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamSetLingerConstMeta, + argValues: [that, dur], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamSetLingerConstMeta => const TaskConstMeta( + debugName: "TcpStream_set_linger", + argNames: ["that", "dur"], + ); + + +@override Future tokioNetTcpStreamSetNodelay({required TcpStream that , required bool nodelay }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_bool(nodelay, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 398, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamSetNodelayConstMeta, + argValues: [that, nodelay], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamSetNodelayConstMeta => const TaskConstMeta( + debugName: "TcpStream_set_nodelay", + argNames: ["that", "nodelay"], + ); + + +@override Future tokioNetTcpStreamSetTtl({required TcpStream that , required int ttl }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_u_32(ttl, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 399, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamSetTtlConstMeta, + argValues: [that, ttl], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamSetTtlConstMeta => const TaskConstMeta( + debugName: "TcpStream_set_ttl", + argNames: ["that", "ttl"], + ); + + +@override Future tokioNetTcpStreamTakeError({required TcpStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 400, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamTakeErrorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamTakeErrorConstMeta => const TaskConstMeta( + debugName: "TcpStream_take_error", + argNames: ["that"], + ); + + +@override Future tokioNetTcpStreamTryRead({required TcpStream that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 401, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamTryReadConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamTryReadConstMeta => const TaskConstMeta( + debugName: "TcpStream_try_read", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetTcpStreamTryReadVectored({required TcpStream that , required IoSliceMut bufs }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(bufs, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 402, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamTryReadVectoredConstMeta, + argValues: [that, bufs], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamTryReadVectoredConstMeta => const TaskConstMeta( + debugName: "TcpStream_try_read_vectored", + argNames: ["that", "bufs"], + ); + + +@override Future tokioNetTcpStreamTryWrite({required TcpStream that , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 403, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamTryWriteConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamTryWriteConstMeta => const TaskConstMeta( + debugName: "TcpStream_try_write", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetTcpStreamTryWriteVectored({required TcpStream that , required List bufs }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); +sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(bufs, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 404, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamTryWriteVectoredConstMeta, + argValues: [that, bufs], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamTryWriteVectoredConstMeta => const TaskConstMeta( + debugName: "TcpStream_try_write_vectored", + argNames: ["that", "bufs"], + ); + + +@override Future tokioNetTcpStreamTtl({required TcpStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 405, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamTtlConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamTtlConstMeta => const TaskConstMeta( + debugName: "TcpStream_ttl", + argNames: ["that"], + ); + + +@override Future tokioNetTcpStreamWritable({required TcpStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 406, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetTcpStreamWritableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetTcpStreamWritableConstMeta => const TaskConstMeta( + debugName: "TcpStream_writable", + argNames: ["that"], + ); + + +@override Future tokioRuntimeTryCurrentErrorIsMissingContext({required TryCurrentError that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 481, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeTryCurrentErrorIsMissingContextConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeTryCurrentErrorIsMissingContextConstMeta => const TaskConstMeta( + debugName: "TryCurrentError_is_missing_context", + argNames: ["that"], + ); + + +@override Future tokioRuntimeTryCurrentErrorIsThreadLocalDestroyed({required TryCurrentError that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 482, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioRuntimeTryCurrentErrorIsThreadLocalDestroyedConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioRuntimeTryCurrentErrorIsThreadLocalDestroyedConstMeta => const TaskConstMeta( + debugName: "TryCurrentError_is_thread_local_destroyed", + argNames: ["that"], + ); + + +@override Future tokioNetUnixUCredGid({required UCred that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 483, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixUCredGidConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixUCredGidConstMeta => const TaskConstMeta( + debugName: "UCred_gid", + argNames: ["that"], + ); + + +@override Future tokioNetUnixUCredPid({required UCred that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 484, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixUCredPidConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixUCredPidConstMeta => const TaskConstMeta( + debugName: "UCred_pid", + argNames: ["that"], + ); + + +@override Future tokioNetUnixUCredUid({required UCred that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 485, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixUCredUidConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixUCredUidConstMeta => const TaskConstMeta( + debugName: "UCred_uid", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketBroadcast({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 486, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketBroadcastConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketBroadcastConstMeta => const TaskConstMeta( + debugName: "UdpSocket_broadcast", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketFromStd({required UdpSocket socket }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(socket, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 487, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketFromStdConstMeta, + argValues: [socket], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketFromStdConstMeta => const TaskConstMeta( + debugName: "UdpSocket_from_std", + argNames: ["socket"], + ); + + +@override Future tokioNetUdpSocketIntoStd({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 488, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketIntoStdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketIntoStdConstMeta => const TaskConstMeta( + debugName: "UdpSocket_into_std", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketJoinMulticastV4({required UdpSocket that , required Ipv4Addr multiaddr , required Ipv4Addr interface_ }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(multiaddr, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(interface_, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 489, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketJoinMulticastV4ConstMeta, + argValues: [that, multiaddr, interface_], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketJoinMulticastV4ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_join_multicast_v4", + argNames: ["that", "multiaddr", "interface_"], + ); + + +@override Future tokioNetUdpSocketJoinMulticastV6({required UdpSocket that , required Ipv6Addr multiaddr , required int interface_ }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(multiaddr, serializer); +sse_encode_u_32(interface_, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 490, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketJoinMulticastV6ConstMeta, + argValues: [that, multiaddr, interface_], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketJoinMulticastV6ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_join_multicast_v6", + argNames: ["that", "multiaddr", "interface_"], + ); + + +@override Future tokioNetUdpSocketLeaveMulticastV4({required UdpSocket that , required Ipv4Addr multiaddr , required Ipv4Addr interface_ }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(multiaddr, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(interface_, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 491, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketLeaveMulticastV4ConstMeta, + argValues: [that, multiaddr, interface_], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketLeaveMulticastV4ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_leave_multicast_v4", + argNames: ["that", "multiaddr", "interface_"], + ); + + +@override Future tokioNetUdpSocketLeaveMulticastV6({required UdpSocket that , required Ipv6Addr multiaddr , required int interface_ }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(multiaddr, serializer); +sse_encode_u_32(interface_, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 492, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketLeaveMulticastV6ConstMeta, + argValues: [that, multiaddr, interface_], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketLeaveMulticastV6ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_leave_multicast_v6", + argNames: ["that", "multiaddr", "interface_"], + ); + + +@override Future tokioNetUdpSocketLocalAddr({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 493, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketLocalAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketLocalAddrConstMeta => const TaskConstMeta( + debugName: "UdpSocket_local_addr", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketMulticastLoopV4({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 494, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketMulticastLoopV4ConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketMulticastLoopV4ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_multicast_loop_v4", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketMulticastLoopV6({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 495, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketMulticastLoopV6ConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketMulticastLoopV6ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_multicast_loop_v6", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketMulticastTtlV4({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 496, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketMulticastTtlV4ConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketMulticastTtlV4ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_multicast_ttl_v4", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketPeek({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 497, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketPeekConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPeekConstMeta => const TaskConstMeta( + debugName: "UdpSocket_peek", + argNames: ["that", "buf"], + ); + + +@override Future<(BigInt,SocketAddr)> tokioNetUdpSocketPeekFrom({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 498, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketPeekFromConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPeekFromConstMeta => const TaskConstMeta( + debugName: "UdpSocket_peek_from", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUdpSocketPeekSender({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 499, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketPeekSenderConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPeekSenderConstMeta => const TaskConstMeta( + debugName: "UdpSocket_peek_sender", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketPeerAddr({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 500, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketPeerAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPeerAddrConstMeta => const TaskConstMeta( + debugName: "UdpSocket_peer_addr", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketPollPeek({required UdpSocket that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 501, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUdpSocketPollPeekConstMeta, + argValues: [that, cx, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPollPeekConstMeta => const TaskConstMeta( + debugName: "UdpSocket_poll_peek", + argNames: ["that", "cx", "buf"], + ); + + +@override Future tokioNetUdpSocketPollPeekFrom({required UdpSocket that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 502, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUdpSocketPollPeekFromConstMeta, + argValues: [that, cx, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPollPeekFromConstMeta => const TaskConstMeta( + debugName: "UdpSocket_poll_peek_from", + argNames: ["that", "cx", "buf"], + ); + + +@override Future tokioNetUdpSocketPollPeekSender({required UdpSocket that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 503, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUdpSocketPollPeekSenderConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPollPeekSenderConstMeta => const TaskConstMeta( + debugName: "UdpSocket_poll_peek_sender", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUdpSocketPollRecv({required UdpSocket that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 504, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUdpSocketPollRecvConstMeta, + argValues: [that, cx, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPollRecvConstMeta => const TaskConstMeta( + debugName: "UdpSocket_poll_recv", + argNames: ["that", "cx", "buf"], + ); + + +@override Future tokioNetUdpSocketPollRecvFrom({required UdpSocket that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 505, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUdpSocketPollRecvFromConstMeta, + argValues: [that, cx, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPollRecvFromConstMeta => const TaskConstMeta( + debugName: "UdpSocket_poll_recv_from", + argNames: ["that", "cx", "buf"], + ); + + +@override Future tokioNetUdpSocketPollRecvReady({required UdpSocket that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 506, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUdpSocketPollRecvReadyConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPollRecvReadyConstMeta => const TaskConstMeta( + debugName: "UdpSocket_poll_recv_ready", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUdpSocketPollSend({required UdpSocket that , required Context cx , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 507, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUdpSocketPollSendConstMeta, + argValues: [that, cx, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPollSendConstMeta => const TaskConstMeta( + debugName: "UdpSocket_poll_send", + argNames: ["that", "cx", "buf"], + ); + + +@override Future tokioNetUdpSocketPollSendReady({required UdpSocket that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 508, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUdpSocketPollSendReadyConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPollSendReadyConstMeta => const TaskConstMeta( + debugName: "UdpSocket_poll_send_ready", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUdpSocketPollSendTo({required UdpSocket that , required Context cx , required List buf , required SocketAddr target }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(target, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 509, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUdpSocketPollSendToConstMeta, + argValues: [that, cx, buf, target], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketPollSendToConstMeta => const TaskConstMeta( + debugName: "UdpSocket_poll_send_to", + argNames: ["that", "cx", "buf", "target"], + ); + + +@override Future tokioNetUdpSocketReadable({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 510, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketReadableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketReadableConstMeta => const TaskConstMeta( + debugName: "UdpSocket_readable", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketReady({required UdpSocket that , required Interest interest }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 511, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketReadyConstMeta, + argValues: [that, interest], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketReadyConstMeta => const TaskConstMeta( + debugName: "UdpSocket_ready", + argNames: ["that", "interest"], + ); + + +@override Future tokioNetUdpSocketRecv({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 512, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketRecvConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketRecvConstMeta => const TaskConstMeta( + debugName: "UdpSocket_recv", + argNames: ["that", "buf"], + ); + + +@override Future<(BigInt,SocketAddr)> tokioNetUdpSocketRecvFrom({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 513, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketRecvFromConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketRecvFromConstMeta => const TaskConstMeta( + debugName: "UdpSocket_recv_from", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUdpSocketSend({required UdpSocket that , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 514, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketSendConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketSendConstMeta => const TaskConstMeta( + debugName: "UdpSocket_send", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUdpSocketSetBroadcast({required UdpSocket that , required bool on_ }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_bool(on_, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 515, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketSetBroadcastConstMeta, + argValues: [that, on_], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketSetBroadcastConstMeta => const TaskConstMeta( + debugName: "UdpSocket_set_broadcast", + argNames: ["that", "on_"], + ); + + +@override Future tokioNetUdpSocketSetMulticastLoopV4({required UdpSocket that , required bool on_ }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_bool(on_, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 516, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketSetMulticastLoopV4ConstMeta, + argValues: [that, on_], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketSetMulticastLoopV4ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_set_multicast_loop_v4", + argNames: ["that", "on_"], + ); + + +@override Future tokioNetUdpSocketSetMulticastLoopV6({required UdpSocket that , required bool on_ }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_bool(on_, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 517, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketSetMulticastLoopV6ConstMeta, + argValues: [that, on_], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketSetMulticastLoopV6ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_set_multicast_loop_v6", + argNames: ["that", "on_"], + ); + + +@override Future tokioNetUdpSocketSetMulticastTtlV4({required UdpSocket that , required int ttl }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_u_32(ttl, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 518, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketSetMulticastTtlV4ConstMeta, + argValues: [that, ttl], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketSetMulticastTtlV4ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_set_multicast_ttl_v4", + argNames: ["that", "ttl"], + ); + + +@override Future tokioNetUdpSocketSetTclassV6({required UdpSocket that , required int tclass }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_u_32(tclass, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 519, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketSetTclassV6ConstMeta, + argValues: [that, tclass], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketSetTclassV6ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_set_tclass_v6", + argNames: ["that", "tclass"], + ); + + +@override Future tokioNetUdpSocketSetTos({required UdpSocket that , required int tos }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_u_32(tos, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 520, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketSetTosConstMeta, + argValues: [that, tos], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketSetTosConstMeta => const TaskConstMeta( + debugName: "UdpSocket_set_tos", + argNames: ["that", "tos"], + ); + + +@override Future tokioNetUdpSocketSetTosV4({required UdpSocket that , required int tos }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_u_32(tos, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 521, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketSetTosV4ConstMeta, + argValues: [that, tos], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketSetTosV4ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_set_tos_v4", + argNames: ["that", "tos"], + ); + + +@override Future tokioNetUdpSocketSetTtl({required UdpSocket that , required int ttl }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_u_32(ttl, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 522, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketSetTtlConstMeta, + argValues: [that, ttl], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketSetTtlConstMeta => const TaskConstMeta( + debugName: "UdpSocket_set_ttl", + argNames: ["that", "ttl"], + ); + + +@override Future tokioNetUdpSocketTakeError({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 523, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTakeErrorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTakeErrorConstMeta => const TaskConstMeta( + debugName: "UdpSocket_take_error", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketTclassV6({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 524, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTclassV6ConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTclassV6ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_tclass_v6", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketTos({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 525, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTosConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTosConstMeta => const TaskConstMeta( + debugName: "UdpSocket_tos", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketTosV4({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 526, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTosV4ConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTosV4ConstMeta => const TaskConstMeta( + debugName: "UdpSocket_tos_v4", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketTryPeek({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 527, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTryPeekConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTryPeekConstMeta => const TaskConstMeta( + debugName: "UdpSocket_try_peek", + argNames: ["that", "buf"], + ); + + +@override Future<(BigInt,SocketAddr)> tokioNetUdpSocketTryPeekFrom({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 528, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTryPeekFromConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTryPeekFromConstMeta => const TaskConstMeta( + debugName: "UdpSocket_try_peek_from", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUdpSocketTryPeekSender({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 529, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTryPeekSenderConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTryPeekSenderConstMeta => const TaskConstMeta( + debugName: "UdpSocket_try_peek_sender", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketTryRecv({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 530, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTryRecvConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTryRecvConstMeta => const TaskConstMeta( + debugName: "UdpSocket_try_recv", + argNames: ["that", "buf"], + ); + + +@override Future<(BigInt,SocketAddr)> tokioNetUdpSocketTryRecvFrom({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 531, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTryRecvFromConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTryRecvFromConstMeta => const TaskConstMeta( + debugName: "UdpSocket_try_recv_from", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUdpSocketTrySend({required UdpSocket that , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 532, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTrySendConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTrySendConstMeta => const TaskConstMeta( + debugName: "UdpSocket_try_send", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUdpSocketTrySendTo({required UdpSocket that , required List buf , required SocketAddr target }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(target, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 533, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTrySendToConstMeta, + argValues: [that, buf, target], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTrySendToConstMeta => const TaskConstMeta( + debugName: "UdpSocket_try_send_to", + argNames: ["that", "buf", "target"], + ); + + +@override Future tokioNetUdpSocketTtl({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 534, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketTtlConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketTtlConstMeta => const TaskConstMeta( + debugName: "UdpSocket_ttl", + argNames: ["that"], + ); + + +@override Future tokioNetUdpSocketWritable({required UdpSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 535, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUdpSocketWritableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUdpSocketWritableConstMeta => const TaskConstMeta( + debugName: "UdpSocket_writable", + argNames: ["that"], + ); + + +@override Future tokioNetUnixDatagramFromStd({required UnixDatagram datagram }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(datagram, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 536, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramFromStdConstMeta, + argValues: [datagram], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramFromStdConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_from_std", + argNames: ["datagram"], + ); + + +@override Future tokioNetUnixDatagramIntoStd({required UnixDatagram that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 537, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramIntoStdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramIntoStdConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_into_std", + argNames: ["that"], + ); + + +@override Future tokioNetUnixDatagramLocalAddr({required UnixDatagram that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 538, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramLocalAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramLocalAddrConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_local_addr", + argNames: ["that"], + ); + + +@override Future<(UnixDatagram,UnixDatagram)> tokioNetUnixDatagramPair() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 539, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramPairConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramPairConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_pair", + argNames: [], + ); + + +@override Future tokioNetUnixDatagramPeerAddr({required UnixDatagram that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 540, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramPeerAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramPeerAddrConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_peer_addr", + argNames: ["that"], + ); + + +@override Future tokioNetUnixDatagramPollRecv({required UnixDatagram that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 541, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixDatagramPollRecvConstMeta, + argValues: [that, cx, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramPollRecvConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_poll_recv", + argNames: ["that", "cx", "buf"], + ); + + +@override Future tokioNetUnixDatagramPollRecvFrom({required UnixDatagram that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 542, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixDatagramPollRecvFromConstMeta, + argValues: [that, cx, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramPollRecvFromConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_poll_recv_from", + argNames: ["that", "cx", "buf"], + ); + + +@override Future tokioNetUnixDatagramPollRecvReady({required UnixDatagram that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 543, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixDatagramPollRecvReadyConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramPollRecvReadyConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_poll_recv_ready", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUnixDatagramPollSend({required UnixDatagram that , required Context cx , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 544, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixDatagramPollSendConstMeta, + argValues: [that, cx, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramPollSendConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_poll_send", + argNames: ["that", "cx", "buf"], + ); + + +@override Future tokioNetUnixDatagramPollSendReady({required UnixDatagram that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 545, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixDatagramPollSendReadyConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramPollSendReadyConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_poll_send_ready", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUnixDatagramReadable({required UnixDatagram that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 546, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramReadableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramReadableConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_readable", + argNames: ["that"], + ); + + +@override Future tokioNetUnixDatagramReady({required UnixDatagram that , required Interest interest }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 547, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramReadyConstMeta, + argValues: [that, interest], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramReadyConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_ready", + argNames: ["that", "interest"], + ); + + +@override Future tokioNetUnixDatagramRecv({required UnixDatagram that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 548, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramRecvConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramRecvConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_recv", + argNames: ["that", "buf"], + ); + + +@override Future<(BigInt,SocketAddr)> tokioNetUnixDatagramRecvFrom({required UnixDatagram that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 549, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramRecvFromConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramRecvFromConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_recv_from", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUnixDatagramSend({required UnixDatagram that , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 550, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramSendConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramSendConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_send", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUnixDatagramShutdown({required UnixDatagram that , required Shutdown how }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(how, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 551, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramShutdownConstMeta, + argValues: [that, how], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramShutdownConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_shutdown", + argNames: ["that", "how"], + ); + + +@override Future tokioNetUnixDatagramTakeError({required UnixDatagram that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 552, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramTakeErrorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramTakeErrorConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_take_error", + argNames: ["that"], + ); + + +@override Future tokioNetUnixDatagramTryRecv({required UnixDatagram that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 553, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramTryRecvConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramTryRecvConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_try_recv", + argNames: ["that", "buf"], + ); + + +@override Future<(BigInt,SocketAddr)> tokioNetUnixDatagramTryRecvFrom({required UnixDatagram that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 554, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramTryRecvFromConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramTryRecvFromConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_try_recv_from", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUnixDatagramTrySend({required UnixDatagram that , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 555, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramTrySendConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramTrySendConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_try_send", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUnixDatagramUnbound() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 556, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramUnboundConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramUnboundConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_unbound", + argNames: [], + ); + + +@override Future tokioNetUnixDatagramWritable({required UnixDatagram that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 557, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixDatagramWritableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixDatagramWritableConstMeta => const TaskConstMeta( + debugName: "UnixDatagram_writable", + argNames: ["that"], + ); + + +@override Future<(UnixStream,SocketAddr)> tokioNetUnixListenerAccept({required UnixListener that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 558, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixListenerAcceptConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixListenerAcceptConstMeta => const TaskConstMeta( + debugName: "UnixListener_accept", + argNames: ["that"], + ); + + +@override Future tokioNetUnixListenerFromStd({required UnixListener listener }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(listener, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 559, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixListenerFromStdConstMeta, + argValues: [listener], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixListenerFromStdConstMeta => const TaskConstMeta( + debugName: "UnixListener_from_std", + argNames: ["listener"], + ); + + +@override Future tokioNetUnixListenerIntoStd({required UnixListener that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 560, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixListenerIntoStdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixListenerIntoStdConstMeta => const TaskConstMeta( + debugName: "UnixListener_into_std", + argNames: ["that"], + ); + + +@override Future tokioNetUnixListenerLocalAddr({required UnixListener that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 561, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixListenerLocalAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixListenerLocalAddrConstMeta => const TaskConstMeta( + debugName: "UnixListener_local_addr", + argNames: ["that"], + ); + + +@override Future tokioNetUnixListenerPollAccept({required UnixListener that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 562, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixListenerPollAcceptConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixListenerPollAcceptConstMeta => const TaskConstMeta( + debugName: "UnixListener_poll_accept", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUnixListenerTakeError({required UnixListener that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 563, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixListenerTakeErrorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixListenerTakeErrorConstMeta => const TaskConstMeta( + debugName: "UnixListener_take_error", + argNames: ["that"], + ); + + +@override Future tokioNetUnixSocketDatagram({required UnixSocket that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 564, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixSocketDatagramConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixSocketDatagramConstMeta => const TaskConstMeta( + debugName: "UnixSocket_datagram", + argNames: ["that"], + ); + + +@override Future tokioNetUnixSocketListen({required UnixSocket that , required int backlog }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(that, serializer); +sse_encode_u_32(backlog, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 565, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixSocketListenConstMeta, + argValues: [that, backlog], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixSocketListenConstMeta => const TaskConstMeta( + debugName: "UnixSocket_listen", + argNames: ["that", "backlog"], + ); + + +@override Future tokioNetUnixSocketNewDatagram() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 566, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixSocketNewDatagramConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixSocketNewDatagramConstMeta => const TaskConstMeta( + debugName: "UnixSocket_new_datagram", + argNames: [], + ); + + +@override Future tokioNetUnixSocketNewStream() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 567, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixSocketNewStreamConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixSocketNewStreamConstMeta => const TaskConstMeta( + debugName: "UnixSocket_new_stream", + argNames: [], + ); + + +@override Future tokioNetUnixStreamFromStd({required UnixStream stream }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(stream, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 568, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamFromStdConstMeta, + argValues: [stream], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamFromStdConstMeta => const TaskConstMeta( + debugName: "UnixStream_from_std", + argNames: ["stream"], + ); + + +@override Future<(OwnedReadHalf,OwnedWriteHalf)> tokioNetUnixStreamIntoSplit({required UnixStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 569, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixStreamIntoSplitConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamIntoSplitConstMeta => const TaskConstMeta( + debugName: "UnixStream_into_split", + argNames: ["that"], + ); + + +@override Future tokioNetUnixStreamIntoStd({required UnixStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 570, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamIntoStdConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamIntoStdConstMeta => const TaskConstMeta( + debugName: "UnixStream_into_std", + argNames: ["that"], + ); + + +@override Future tokioNetUnixStreamLocalAddr({required UnixStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 571, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamLocalAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamLocalAddrConstMeta => const TaskConstMeta( + debugName: "UnixStream_local_addr", + argNames: ["that"], + ); + + +@override Future<(UnixStream,UnixStream)> tokioNetUnixStreamPair() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 572, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamPairConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamPairConstMeta => const TaskConstMeta( + debugName: "UnixStream_pair", + argNames: [], + ); + + +@override Future tokioNetUnixStreamPeerAddr({required UnixStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 573, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamPeerAddrConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamPeerAddrConstMeta => const TaskConstMeta( + debugName: "UnixStream_peer_addr", + argNames: ["that"], + ); + + +@override Future tokioNetUnixStreamPeerCred({required UnixStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 574, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamPeerCredConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamPeerCredConstMeta => const TaskConstMeta( + debugName: "UnixStream_peer_cred", + argNames: ["that"], + ); + + +@override Future tokioNetUnixStreamPollReadReady({required UnixStream that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 575, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixStreamPollReadReadyConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamPollReadReadyConstMeta => const TaskConstMeta( + debugName: "UnixStream_poll_read_ready", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUnixStreamPollWriteReady({required UnixStream that , required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 576, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, + decodeErrorData: null, + ) + , + constMeta: kTokioNetUnixStreamPollWriteReadyConstMeta, + argValues: [that, cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamPollWriteReadyConstMeta => const TaskConstMeta( + debugName: "UnixStream_poll_write_ready", + argNames: ["that", "cx"], + ); + + +@override Future tokioNetUnixStreamReadable({required UnixStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 577, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamReadableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamReadableConstMeta => const TaskConstMeta( + debugName: "UnixStream_readable", + argNames: ["that"], + ); + + +@override Future tokioNetUnixStreamReady({required UnixStream that , required Interest interest }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 578, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamReadyConstMeta, + argValues: [that, interest], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamReadyConstMeta => const TaskConstMeta( + debugName: "UnixStream_ready", + argNames: ["that", "interest"], + ); + + +@override Future tokioNetUnixStreamTakeError({required UnixStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 579, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamTakeErrorConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamTakeErrorConstMeta => const TaskConstMeta( + debugName: "UnixStream_take_error", + argNames: ["that"], + ); + + +@override Future tokioNetUnixStreamTryRead({required UnixStream that , required U8 buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 580, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamTryReadConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamTryReadConstMeta => const TaskConstMeta( + debugName: "UnixStream_try_read", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUnixStreamTryReadVectored({required UnixStream that , required IoSliceMut bufs }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); +sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(bufs, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 581, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamTryReadVectoredConstMeta, + argValues: [that, bufs], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamTryReadVectoredConstMeta => const TaskConstMeta( + debugName: "UnixStream_try_read_vectored", + argNames: ["that", "bufs"], + ); + + +@override Future tokioNetUnixStreamTryWrite({required UnixStream that , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); +sse_encode_list_prim_u_8_loose(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 582, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamTryWriteConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamTryWriteConstMeta => const TaskConstMeta( + debugName: "UnixStream_try_write", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUnixStreamTryWriteVectored({required UnixStream that , required List buf }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); +sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(buf, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 583, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_usize, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamTryWriteVectoredConstMeta, + argValues: [that, buf], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamTryWriteVectoredConstMeta => const TaskConstMeta( + debugName: "UnixStream_try_write_vectored", + argNames: ["that", "buf"], + ); + + +@override Future tokioNetUnixStreamWritable({required UnixStream that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 584, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixStreamWritableConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixStreamWritableConstMeta => const TaskConstMeta( + debugName: "UnixStream_writable", + argNames: ["that"], + ); + + +@override Future seekstormIndexValueTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 585, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexValueTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexValueTypeDefaultConstMeta => const TaskConstMeta( + debugName: "ValueType_default", + argNames: [], + ); + + +@override Future tokioTimeAdvance({required Duration duration }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Chrono_Duration(duration, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 586, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeAdvanceConstMeta, + argValues: [duration], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeAdvanceConstMeta => const TaskConstMeta( + debugName: "advance", + argNames: ["duration"], + ); + + +@override Future seekstormIndexCompressionTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 587, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_compression_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexCompressionTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexCompressionTypeDefaultConstMeta => const TaskConstMeta( + debugName: "compression_type_default", + argNames: [], + ); + + +@override Future tokioTaskCoopConsumeBudget() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 588, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTaskCoopConsumeBudgetConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTaskCoopConsumeBudgetConstMeta => const TaskConstMeta( + debugName: "consume_budget", + argNames: [], + ); + + +@override Future seekstormIndexCreateIndex({required Path indexPath , required IndexMetaObject meta , required List schema , required List synonyms , required BigInt segmentNumberBits1 , required bool mute , BigInt? forceShardNumber }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(indexPath, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(meta, serializer); +sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(schema, serializer); +sse_encode_list_synonym(synonyms, serializer); +sse_encode_usize(segmentNumberBits1, serializer); +sse_encode_bool(mute, serializer); +sse_encode_opt_box_autoadd_usize(forceShardNumber, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 589, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex, + decodeErrorData: sse_decode_String, + ) + , + constMeta: kSeekstormIndexCreateIndexConstMeta, + argValues: [indexPath, meta, schema, synonyms, segmentNumberBits1, mute, forceShardNumber], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexCreateIndexConstMeta => const TaskConstMeta( + debugName: "create_index", + argNames: ["indexPath", "meta", "schema", "synonyms", "segmentNumberBits1", "mute", "forceShardNumber"], + ); + + +@override Future tokioSignalCtrlC() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 590, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioSignalCtrlCConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalCtrlCConstMeta => const TaskConstMeta( + debugName: "ctrl_c", + argNames: [], + ); + + +@override Future seekstormGeoSearchDecodeMorton2D({required BigInt code }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_u_64(code, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 591, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_list_prim_f_64_strict, + decodeErrorData: null, + ) + , + constMeta: kSeekstormGeoSearchDecodeMorton2DConstMeta, + argValues: [code], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormGeoSearchDecodeMorton2DConstMeta => const TaskConstMeta( + debugName: "decode_morton_2_d", + argNames: ["code"], + ); + + +@override Future seekstormIndexDistanceFieldDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 592, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_distance_field, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexDistanceFieldDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexDistanceFieldDefaultConstMeta => const TaskConstMeta( + debugName: "distance_field_default", + argNames: [], + ); + + +@override Future<(DuplexStream,DuplexStream)> tokioIoDuplex({required BigInt maxBufSize }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(maxBufSize, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 593, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream, + decodeErrorData: null, + ) + , + constMeta: kTokioIoDuplexConstMeta, + argValues: [maxBufSize], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoDuplexConstMeta => const TaskConstMeta( + debugName: "duplex", + argNames: ["maxBufSize"], + ); + + +@override Future tokioIoEmpty() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 594, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty, + decodeErrorData: null, + ) + , + constMeta: kTokioIoEmptyConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoEmptyConstMeta => const TaskConstMeta( + debugName: "empty", + argNames: [], + ); + + +@override Future seekstormGeoSearchEncodeMorton2D({required List point }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_list_prim_f_64_loose(point, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 595, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_64, + decodeErrorData: null, + ) + , + constMeta: kSeekstormGeoSearchEncodeMorton2DConstMeta, + argValues: [point], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormGeoSearchEncodeMorton2DConstMeta => const TaskConstMeta( + debugName: "encode_morton_2_d", + argNames: ["point"], + ); + + +@override Future seekstormGeoSearchEuclidianDistance({required List point1 , required List point2 , required DistanceUnit unit }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_list_prim_f_64_loose(point1, serializer); +sse_encode_list_prim_f_64_loose(point2, serializer); +sse_encode_distance_unit(unit, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 596, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_f_64, + decodeErrorData: null, + ) + , + constMeta: kSeekstormGeoSearchEuclidianDistanceConstMeta, + argValues: [point1, point2, unit], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormGeoSearchEuclidianDistanceConstMeta => const TaskConstMeta( + debugName: "euclidian_distance", + argNames: ["point1", "point2", "unit"], + ); + + +@override Future seekstormIndexFieldTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 597, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_field_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexFieldTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexFieldTypeDefaultConstMeta => const TaskConstMeta( + debugName: "field_type_default", + argNames: [], + ); + + +@override String crateApiSimpleGreet({required String name }) { return handler.executeSync(SyncTask( + callFfi: () { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_String(name, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 598)!; + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ) + , + constMeta: kCrateApiSimpleGreetConstMeta, + argValues: [name], + apiImpl: this, + )); } + + + TaskConstMeta get kCrateApiSimpleGreetConstMeta => const TaskConstMeta( + debugName: "greet", + argNames: ["name"], + ); + + +@override Future tokioTaskCoopHasBudgetRemaining() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 599, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_bool, + decodeErrorData: null, + ) + , + constMeta: kTokioTaskCoopHasBudgetRemainingConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTaskCoopHasBudgetRemainingConstMeta => const TaskConstMeta( + debugName: "has_budget_remaining", + argNames: [], + ); + + +@override Future seekstormHighlighterHighlightDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 600, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_highlight, + decodeErrorData: null, + ) + , + constMeta: kSeekstormHighlighterHighlightDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormHighlighterHighlightDefaultConstMeta => const TaskConstMeta( + debugName: "highlight_default", + argNames: [], + ); + + +@override Future seekstormHighlighterHighlighter({required ArcIndex indexArc , required List highlights , required List queryTermsVec }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(indexArc, serializer); +sse_encode_list_highlight(highlights, serializer); +sse_encode_list_String(queryTermsVec, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 601, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter, + decodeErrorData: null, + ) + , + constMeta: kSeekstormHighlighterHighlighterConstMeta, + argValues: [indexArc, highlights, queryTermsVec], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormHighlighterHighlighterConstMeta => const TaskConstMeta( + debugName: "highlighter", + argNames: ["indexArc", "highlights", "queryTermsVec"], + ); + + +@override Future crateApiSimpleInitApp() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 602, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kCrateApiSimpleInitAppConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kCrateApiSimpleInitAppConstMeta => const TaskConstMeta( + debugName: "init_app", + argNames: [], + ); + + +@override Future tokioTimeInterval({required Duration period }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Chrono_Duration(period, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 603, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalConstMeta, + argValues: [period], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalConstMeta => const TaskConstMeta( + debugName: "interval", + argNames: ["period"], + ); + + +@override Future tokioTimeIntervalAt({required Instant start , required Duration period }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(start, serializer); +sse_encode_Chrono_Duration(period, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 604, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeIntervalAtConstMeta, + argValues: [start, period], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeIntervalAtConstMeta => const TaskConstMeta( + debugName: "interval_at", + argNames: ["start", "period"], + ); + + +@override Future tokioTimeMissedTickBehaviorDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 605, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_missed_tick_behavior, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeMissedTickBehaviorDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeMissedTickBehaviorDefaultConstMeta => const TaskConstMeta( + debugName: "missed_tick_behavior_default", + argNames: [], + ); + + +@override Future seekstormGeoSearchMortonOrdering({required BigInt morton1 , required BigInt morton2 , required List basePoint , required SortOrder order }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_u_64(morton1, serializer); +sse_encode_u_64(morton2, serializer); +sse_encode_list_prim_f_64_loose(basePoint, serializer); +sse_encode_sort_order(order, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 606, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering, + decodeErrorData: null, + ) + , + constMeta: kSeekstormGeoSearchMortonOrderingConstMeta, + argValues: [morton1, morton2, basePoint, order], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormGeoSearchMortonOrderingConstMeta => const TaskConstMeta( + debugName: "morton_ordering", + argNames: ["morton1", "morton2", "basePoint", "order"], + ); + + +@override Future seekstormIndexNgramTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 607, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_ngram_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexNgramTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexNgramTypeDefaultConstMeta => const TaskConstMeta( + debugName: "ngram_type_default", + argNames: [], + ); + + +@override Future seekstormIndexOpenIndex({required Path indexPath , required bool mute }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(indexPath, serializer); +sse_encode_bool(mute, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 608, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex, + decodeErrorData: sse_decode_String, + ) + , + constMeta: kSeekstormIndexOpenIndexConstMeta, + argValues: [indexPath, mute], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexOpenIndexConstMeta => const TaskConstMeta( + debugName: "open_index", + argNames: ["indexPath", "mute"], + ); + + +@override Future tokioTimePause() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 609, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTimePauseConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimePauseConstMeta => const TaskConstMeta( + debugName: "pause", + argNames: [], + ); + + +@override Future<(Sender,Receiver)> tokioNetUnixPipePipe() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 610, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioNetUnixPipePipeConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioNetUnixPipePipeConstMeta => const TaskConstMeta( + debugName: "pipe", + argNames: [], + ); + + +@override Future seekstormGeoSearchPointDistanceToMortonRange({required List point , required double distance , required DistanceUnit unit }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_list_prim_f_64_loose(point, serializer); +sse_encode_f_64(distance, serializer); +sse_encode_distance_unit(unit, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 611, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64, + decodeErrorData: null, + ) + , + constMeta: kSeekstormGeoSearchPointDistanceToMortonRangeConstMeta, + argValues: [point, distance, unit], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormGeoSearchPointDistanceToMortonRangeConstMeta => const TaskConstMeta( + debugName: "point_distance_to_morton_range", + argNames: ["point", "distance", "unit"], + ); + + +@override Future tokioMacrosSupportPollBudgetAvailable({required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 612, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll, + decodeErrorData: null, + ) + , + constMeta: kTokioMacrosSupportPollBudgetAvailableConstMeta, + argValues: [cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioMacrosSupportPollBudgetAvailableConstMeta => const TaskConstMeta( + debugName: "poll_budget_available", + argNames: ["cx"], + ); + + +@override Future tokioTaskCoopPollProceed({required Context cx }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 613, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending, + decodeErrorData: null, + ) + , + constMeta: kTokioTaskCoopPollProceedConstMeta, + argValues: [cx], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTaskCoopPollProceedConstMeta => const TaskConstMeta( + debugName: "poll_proceed", + argNames: ["cx"], + ); + + +@override Future seekstormSearchQueryTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 614, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_query_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchQueryTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchQueryTypeDefaultConstMeta => const TaskConstMeta( + debugName: "query_type_default", + argNames: [], + ); + + +@override Future seekstormSearchRangeTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 615, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_range_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchRangeTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchRangeTypeDefaultConstMeta => const TaskConstMeta( + debugName: "range_type_default", + argNames: [], + ); + + +@override Future tokioIoRepeat({required int byte }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_u_8(byte, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 616, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat, + decodeErrorData: null, + ) + , + constMeta: kTokioIoRepeatConstMeta, + argValues: [byte], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoRepeatConstMeta => const TaskConstMeta( + debugName: "repeat", + argNames: ["byte"], + ); + + +@override Future seekstormSearchResultTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 617, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_result_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormSearchResultTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormSearchResultTypeDefaultConstMeta => const TaskConstMeta( + debugName: "result_type_default", + argNames: [], + ); + + +@override Future tokioTimeResume() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 618, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeResumeConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeResumeConstMeta => const TaskConstMeta( + debugName: "resume", + argNames: [], + ); + + +@override Future crateApiKeywordSearchSearchFnDeleteIndex({required SearchFn that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_box_autoadd_search_fn(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 619, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kCrateApiKeywordSearchSearchFnDeleteIndexConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kCrateApiKeywordSearchSearchFnDeleteIndexConstMeta => const TaskConstMeta( + debugName: "search_fn_delete_index", + argNames: ["that"], + ); + + +@override Future crateApiKeywordSearchSearchFnIngestPdfDir({required SearchFn that , required Path dirPath }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_box_autoadd_search_fn(that, serializer); +sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dirPath, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 620, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kCrateApiKeywordSearchSearchFnIngestPdfDirConstMeta, + argValues: [that, dirPath], + apiImpl: this, + )); } + + + TaskConstMeta get kCrateApiKeywordSearchSearchFnIngestPdfDirConstMeta => const TaskConstMeta( + debugName: "search_fn_ingest_pdf_dir", + argNames: ["that", "dirPath"], + ); + + +@override Future crateApiKeywordSearchSearchFnNew({required SearchFn that }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_box_autoadd_search_fn(that, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 621, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_search_fn, + decodeErrorData: null, + ) + , + constMeta: kCrateApiKeywordSearchSearchFnNewConstMeta, + argValues: [that], + apiImpl: this, + )); } + + + TaskConstMeta get kCrateApiKeywordSearchSearchFnNewConstMeta => const TaskConstMeta( + debugName: "search_fn_new", + argNames: ["that"], + ); + + +@override Future tokioSignalUnixSignal({required SignalKind kind }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(kind, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 622, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal, + decodeErrorData: sse_decode_AnyhowException, + ) + , + constMeta: kTokioSignalUnixSignalConstMeta, + argValues: [kind], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioSignalUnixSignalConstMeta => const TaskConstMeta( + debugName: "signal", + argNames: ["kind"], + ); + + +@override Future seekstormIndexSimilarityTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 623, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_similarity_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexSimilarityTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexSimilarityTypeDefaultConstMeta => const TaskConstMeta( + debugName: "similarity_type_default", + argNames: [], + ); + + +@override Future<(ReadHalfSimplexStream,WriteHalfSimplexStream)> tokioIoSimplex({required BigInt maxBufSize }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(maxBufSize, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 624, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream, + decodeErrorData: null, + ) + , + constMeta: kTokioIoSimplexConstMeta, + argValues: [maxBufSize], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoSimplexConstMeta => const TaskConstMeta( + debugName: "simplex", + argNames: ["maxBufSize"], + ); + + +@override Future tokioIoSink() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 625, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink, + decodeErrorData: null, + ) + , + constMeta: kTokioIoSinkConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoSinkConstMeta => const TaskConstMeta( + debugName: "sink", + argNames: [], + ); + + +@override Future tokioTimeSleep({required Duration duration }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Chrono_Duration(duration, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 626, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeSleepConstMeta, + argValues: [duration], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeSleepConstMeta => const TaskConstMeta( + debugName: "sleep", + argNames: ["duration"], + ); + + +@override Future tokioTimeSleepUntil({required Instant deadline }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(deadline, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 627, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep, + decodeErrorData: null, + ) + , + constMeta: kTokioTimeSleepUntilConstMeta, + argValues: [deadline], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTimeSleepUntilConstMeta => const TaskConstMeta( + debugName: "sleep_until", + argNames: ["deadline"], + ); + + +@override Future tokioIoStderr() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 628, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr, + decodeErrorData: null, + ) + , + constMeta: kTokioIoStderrConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoStderrConstMeta => const TaskConstMeta( + debugName: "stderr", + argNames: [], + ); + + +@override Future tokioIoStdin() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 629, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin, + decodeErrorData: null, + ) + , + constMeta: kTokioIoStdinConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoStdinConstMeta => const TaskConstMeta( + debugName: "stdin", + argNames: [], + ); + + +@override Future tokioIoStdout() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 630, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout, + decodeErrorData: null, + ) + , + constMeta: kTokioIoStdoutConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioIoStdoutConstMeta => const TaskConstMeta( + debugName: "stdout", + argNames: [], + ); + + +@override Future seekstormIndexStemmerTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 631, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_stemmer_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexStemmerTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexStemmerTypeDefaultConstMeta => const TaskConstMeta( + debugName: "stemmer_type_default", + argNames: [], + ); + + +@override Future seekstormUtilsSubstring({required String source , required BigInt start , required BigInt length }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_String(source, serializer); +sse_encode_usize(start, serializer); +sse_encode_usize(length, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 632, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ) + , + constMeta: kSeekstormUtilsSubstringConstMeta, + argValues: [source, start, length], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormUtilsSubstringConstMeta => const TaskConstMeta( + debugName: "substring", + argNames: ["source", "start", "length"], + ); + + +@override Future tokioMacrosSupportThreadRngN({required int n }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_u_32(n, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 633, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_u_32, + decodeErrorData: null, + ) + , + constMeta: kTokioMacrosSupportThreadRngNConstMeta, + argValues: [n], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioMacrosSupportThreadRngNConstMeta => const TaskConstMeta( + debugName: "thread_rng_n", + argNames: ["n"], + ); + + +@override Future seekstormIndexTokenizerTypeDefault() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 634, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_tokenizer_type, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexTokenizerTypeDefaultConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexTokenizerTypeDefaultConstMeta => const TaskConstMeta( + debugName: "tokenizer_type_default", + argNames: [], + ); + + +@override Future seekstormUtilsTruncate({required String source , required BigInt maxChars }) { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_String(source, serializer); +sse_encode_usize(maxChars, serializer); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 635, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormUtilsTruncateConstMeta, + argValues: [source, maxChars], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormUtilsTruncateConstMeta => const TaskConstMeta( + debugName: "truncate", + argNames: ["source", "maxChars"], + ); + + +@override Future seekstormIndexVersion() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 636, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kSeekstormIndexVersionConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kSeekstormIndexVersionConstMeta => const TaskConstMeta( + debugName: "version", + argNames: [], + ); + + +@override Future tokioTaskYieldNow() { return handler.executeNormal(NormalTask( + callFfi: (port_) { + + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 637, port: port_); + + }, + codec: + SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ) + , + constMeta: kTokioTaskYieldNowConstMeta, + argValues: [], + apiImpl: this, + )); } + + + TaskConstMeta get kTokioTaskYieldNowConstMeta => const TaskConstMeta( + debugName: "yield_now", + argNames: [], + ); + + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_AHashMapStringFacet => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_AHashMapStringFacet => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_AcquireError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_AcquireError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ArcIndex => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ArcIndex => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Barrier => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Barrier => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_BarrierWaitResult => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_BarrierWaitResult => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Child => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Child => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStderr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStderr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStdin => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStdin => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStdout => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStdout => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Command => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Command => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Context => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Context => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_DocumentItem => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_DocumentItem => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_DuplexStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_DuplexStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Empty => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Empty => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_EnterGuard => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_EnterGuard => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Error => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Error => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ExitStatus => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ExitStatus => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetField => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetField => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetFilter => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetFilter => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetValue => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetValue => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_File => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_File => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FileType => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FileType => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FillBufSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FillBufSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FlushSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FlushSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FrequentwordType => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FrequentwordType => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Handle => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Handle => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Highlighter => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Highlighter => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Id => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Id => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Index => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Index => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IndexMapStringVecStringUsize => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IndexMapStringVecStringUsize => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IndexMetaObject => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IndexMetaObject => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Instant => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Instant => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Interest => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Interest => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Interval => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Interval => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IoSliceMut => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IoSliceMut => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IoSlice => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IoSlice => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ipv4Addr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ipv4Addr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ipv6Addr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ipv6Addr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LinesSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LinesSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LocalEnterGuard => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LocalEnterGuard => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LocalSet => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LocalSet => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_MinMaxField => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_MinMaxField => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_MinMaxFieldJson => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_MinMaxFieldJson => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Notified => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Notified => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Notify => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Notify => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OpenOptions => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OpenOptions => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ordering => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ordering => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedFd => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedFd => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedNotified => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedNotified => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedPermitT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedPermitT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedReadHalf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedReadHalf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedSemaphorePermit => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedSemaphorePermit => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedWriteHalf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedWriteHalf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Path => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Path => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PdfDocument => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PdfDocument => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PermitIteratorT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PermitIteratorT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PermitT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PermitT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Poll => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Poll => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollInstant => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollInstant => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollOption => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollOption => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollOptionT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollOptionT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollRestoreOnPending => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollRestoreOnPending => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResult => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResult => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultSocketAddr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultSocketAddr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultTcpStreamSocketAddr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultUnixStreamSocketAddr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultUsize => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultUsize => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollUsize => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollUsize => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_QueryFacet => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_QueryFacet => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_QueryRewriting => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_QueryRewriting => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ranges => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ranges => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RangeU64 => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RangeU64 => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadBuf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadBuf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadHalfSimplexStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadHalfSimplexStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI128LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI128LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI128MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI128MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI16LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI16LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI16MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI16MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI8MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI8MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU128LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU128LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU128MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU128MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU16LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU16LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU16MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU16MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU8MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU8MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ready => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ready => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Receiver => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Receiver => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReceiverT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReceiverT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RecvError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RecvError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RefT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RefT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Repeat => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Repeat => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RestoreOnPending => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RestoreOnPending => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Result => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Result => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ResultObject => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ResultObject => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ResultSort => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ResultSort => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReuniteError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReuniteError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Runtime => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Runtime => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RuntimeMetrics => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RuntimeMetrics => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SchemaField => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SchemaField => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SeekFrom => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SeekFrom => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SeekSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SeekSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Semaphore => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Semaphore => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SemaphorePermit => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SemaphorePermit => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendErrorT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendErrorT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendTimeoutErrorT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendTimeoutErrorT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sender => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sender => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SenderT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SenderT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Shutdown => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Shutdown => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ShutdownSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ShutdownSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Signal => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Signal => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SignalKind => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SignalKind => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SimplexStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SimplexStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sink => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sink => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sleep => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sleep => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SocketAddr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SocketAddr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SplitSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SplitSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_StdCommand => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_StdCommand => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stderr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stderr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stdin => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stdin => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stdout => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stdout => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_StopwordType => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_StopwordType => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_T => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_T => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TakeSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TakeSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpListener => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpListener => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpSocket => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpSocket => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TryCurrentError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TryCurrentError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TryRecvError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TryRecvError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendErrorSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendErrorSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendErrorT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendErrorT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UCred => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UCred => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UdpSocket => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UdpSocket => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixDatagram => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixDatagram => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixListener => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixListener => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixSocket => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixSocket => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Value => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Value => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ValueType => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ValueType => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_VecT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_VecT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WeakSenderT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WeakSenderT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteHalfSimplexStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteHalfSimplexStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI128LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI128LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI128MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI128MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI16LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI16LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI16MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI16MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI8MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI8MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU128LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU128LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU128MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU128MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU16LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU16LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU16MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU16MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU8MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU8MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_CInt => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_CInt => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_GidT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_GidT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PidT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PidT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_U8 => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_U8 => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8; + +RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UidT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t; + +RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UidT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t; + + + + @protected AnyhowException dco_decode_AnyhowException(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return AnyhowException(raw as String); } + +@protected AHashMapStringFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return AHashMapStringFacetImpl.frbInternalDcoDecode(raw as List); } + +@protected AcquireError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return AcquireErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected ArcIndex dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ArcIndexImpl.frbInternalDcoDecode(raw as List); } + +@protected Barrier dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return BarrierImpl.frbInternalDcoDecode(raw as List); } + +@protected BarrierWaitResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return BarrierWaitResultImpl.frbInternalDcoDecode(raw as List); } + +@protected Child dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ChildImpl.frbInternalDcoDecode(raw as List); } + +@protected ChildStderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ChildStderrImpl.frbInternalDcoDecode(raw as List); } + +@protected ChildStdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ChildStdinImpl.frbInternalDcoDecode(raw as List); } + +@protected ChildStdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ChildStdoutImpl.frbInternalDcoDecode(raw as List); } + +@protected Command dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return CommandImpl.frbInternalDcoDecode(raw as List); } + +@protected DocumentItem dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return DocumentItemImpl.frbInternalDcoDecode(raw as List); } + +@protected DuplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return DuplexStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected Empty dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return EmptyImpl.frbInternalDcoDecode(raw as List); } + +@protected EnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return EnterGuardImpl.frbInternalDcoDecode(raw as List); } + +@protected Error dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected ExitStatus dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ExitStatusImpl.frbInternalDcoDecode(raw as List); } + +@protected FacetField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FacetFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected FacetFilter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FacetFilterImpl.frbInternalDcoDecode(raw as List); } + +@protected FacetValue dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FacetValueImpl.frbInternalDcoDecode(raw as List); } + +@protected File dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FileImpl.frbInternalDcoDecode(raw as List); } + +@protected FileType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FileTypeImpl.frbInternalDcoDecode(raw as List); } + +@protected FillBufSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FillBufSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected FlushSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FlushSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected FrequentwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FrequentwordTypeImpl.frbInternalDcoDecode(raw as List); } + +@protected Handle dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return HandleImpl.frbInternalDcoDecode(raw as List); } + +@protected Highlighter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return HighlighterImpl.frbInternalDcoDecode(raw as List); } + +@protected Id dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IdImpl.frbInternalDcoDecode(raw as List); } + +@protected Index dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IndexImpl.frbInternalDcoDecode(raw as List); } + +@protected IndexMapStringVecStringUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IndexMapStringVecStringUsizeImpl.frbInternalDcoDecode(raw as List); } + +@protected IndexMetaObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IndexMetaObjectImpl.frbInternalDcoDecode(raw as List); } + +@protected Instant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return InstantImpl.frbInternalDcoDecode(raw as List); } + +@protected Interest dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return InterestImpl.frbInternalDcoDecode(raw as List); } + +@protected Interval dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IntervalImpl.frbInternalDcoDecode(raw as List); } + +@protected IoSlice dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IoSliceImpl.frbInternalDcoDecode(raw as List); } + +@protected Ipv4Addr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return Ipv4AddrImpl.frbInternalDcoDecode(raw as List); } + +@protected LinesSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return LinesSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected LocalEnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return LocalEnterGuardImpl.frbInternalDcoDecode(raw as List); } + +@protected LocalSet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return LocalSetImpl.frbInternalDcoDecode(raw as List); } + +@protected MinMaxField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return MinMaxFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected MinMaxFieldJson dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return MinMaxFieldJsonImpl.frbInternalDcoDecode(raw as List); } + +@protected Notified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return NotifiedImpl.frbInternalDcoDecode(raw as List); } + +@protected Notify dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return NotifyImpl.frbInternalDcoDecode(raw as List); } + +@protected OpenOptions dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OpenOptionsImpl.frbInternalDcoDecode(raw as List); } + +@protected Ordering dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OrderingImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedFd dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedFdImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedNotified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedNotifiedImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedPermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedPermitTImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedReadHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedReadHalfImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedSemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedSemaphorePermitImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedWriteHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedWriteHalfImpl.frbInternalDcoDecode(raw as List); } + +@protected PdfDocument dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PdfDocumentImpl.frbInternalDcoDecode(raw as List); } + +@protected PermitIteratorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PermitIteratorTImpl.frbInternalDcoDecode(raw as List); } + +@protected PermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PermitTImpl.frbInternalDcoDecode(raw as List); } + +@protected Poll dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollImpl.frbInternalDcoDecode(raw as List); } + +@protected PollInstant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollInstantImpl.frbInternalDcoDecode(raw as List); } + +@protected PollOption dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollOptionImpl.frbInternalDcoDecode(raw as List); } + +@protected PollOptionT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollOptionTImpl.frbInternalDcoDecode(raw as List); } + +@protected PollRestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollRestoreOnPendingImpl.frbInternalDcoDecode(raw as List); } + +@protected PollResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollResultImpl.frbInternalDcoDecode(raw as List); } + +@protected PollResultSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollResultSocketAddrImpl.frbInternalDcoDecode(raw as List); } + +@protected PollResultTcpStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollResultTcpStreamSocketAddrImpl.frbInternalDcoDecode(raw as List); } + +@protected PollResultUnixStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollResultUnixStreamSocketAddrImpl.frbInternalDcoDecode(raw as List); } + +@protected PollResultUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollResultUsizeImpl.frbInternalDcoDecode(raw as List); } + +@protected PollUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollUsizeImpl.frbInternalDcoDecode(raw as List); } + +@protected QueryFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return QueryFacetImpl.frbInternalDcoDecode(raw as List); } + +@protected QueryRewriting dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return QueryRewritingImpl.frbInternalDcoDecode(raw as List); } + +@protected Ranges dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RangesImpl.frbInternalDcoDecode(raw as List); } + +@protected RangeU64 dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RangeU64Impl.frbInternalDcoDecode(raw as List); } + +@protected ReadF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadF32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadF32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadF64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadF64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadHalfSimplexStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI128MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI16MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI8MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU128MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU16MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU8MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected Ready dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadyImpl.frbInternalDcoDecode(raw as List); } + +@protected Receiver dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReceiverImpl.frbInternalDcoDecode(raw as List); } + +@protected ReceiverT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReceiverTImpl.frbInternalDcoDecode(raw as List); } + +@protected RecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RecvErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected RefT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RefTImpl.frbInternalDcoDecode(raw as List); } + +@protected Repeat dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RepeatImpl.frbInternalDcoDecode(raw as List); } + +@protected RestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RestoreOnPendingImpl.frbInternalDcoDecode(raw as List); } + +@protected Result dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultImpl.frbInternalDcoDecode(raw as List); } + +@protected ResultObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultObjectImpl.frbInternalDcoDecode(raw as List); } + +@protected ResultSort dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultSortImpl.frbInternalDcoDecode(raw as List); } + +@protected ReuniteError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReuniteErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected Runtime dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RuntimeImpl.frbInternalDcoDecode(raw as List); } + +@protected RuntimeMetrics dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RuntimeMetricsImpl.frbInternalDcoDecode(raw as List); } + +@protected SchemaField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SchemaFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected SeekFrom dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SeekFromImpl.frbInternalDcoDecode(raw as List); } + +@protected SeekSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SeekSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected Semaphore dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SemaphoreImpl.frbInternalDcoDecode(raw as List); } + +@protected SemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SemaphorePermitImpl.frbInternalDcoDecode(raw as List); } + +@protected SendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SendErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected SendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SendErrorTImpl.frbInternalDcoDecode(raw as List); } + +@protected SendTimeoutErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SendTimeoutErrorTImpl.frbInternalDcoDecode(raw as List); } + +@protected Sender dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SenderImpl.frbInternalDcoDecode(raw as List); } + +@protected SenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SenderTImpl.frbInternalDcoDecode(raw as List); } + +@protected Shutdown dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ShutdownImpl.frbInternalDcoDecode(raw as List); } + +@protected ShutdownSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ShutdownSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected Signal dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SignalImpl.frbInternalDcoDecode(raw as List); } + +@protected SignalKind dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SignalKindImpl.frbInternalDcoDecode(raw as List); } + +@protected SimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SimplexStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected Sink dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SinkImpl.frbInternalDcoDecode(raw as List); } + +@protected Sleep dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SleepImpl.frbInternalDcoDecode(raw as List); } + +@protected SocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SocketAddrImpl.frbInternalDcoDecode(raw as List); } + +@protected SplitSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SplitSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected StdCommand dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StdCommandImpl.frbInternalDcoDecode(raw as List); } + +@protected Stderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StderrImpl.frbInternalDcoDecode(raw as List); } + +@protected Stdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StdinImpl.frbInternalDcoDecode(raw as List); } + +@protected Stdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StdoutImpl.frbInternalDcoDecode(raw as List); } + +@protected StopwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StopwordTypeImpl.frbInternalDcoDecode(raw as List); } + +@protected T dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TImpl.frbInternalDcoDecode(raw as List); } + +@protected TakeSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TakeSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected TcpListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TcpListenerImpl.frbInternalDcoDecode(raw as List); } + +@protected TcpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TcpSocketImpl.frbInternalDcoDecode(raw as List); } + +@protected TcpStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TcpStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected TryCurrentError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TryCurrentErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected TryRecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TryRecvErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected TrySendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TrySendErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected TrySendErrorSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TrySendErrorSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected TrySendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TrySendErrorTImpl.frbInternalDcoDecode(raw as List); } + +@protected UCred dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UCredImpl.frbInternalDcoDecode(raw as List); } + +@protected UdpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UdpSocketImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixDatagram dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixDatagramImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixListenerImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixSocketImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected Value dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ValueImpl.frbInternalDcoDecode(raw as List); } + +@protected ValueType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ValueTypeImpl.frbInternalDcoDecode(raw as List); } + +@protected WeakSenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WeakSenderTImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteF32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteF32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteF64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteF64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteHalfSimplexStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI128MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI16MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI8MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU128MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU16MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU8MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected CInt dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return CIntImpl.frbInternalDcoDecode(raw as List); } + +@protected GidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return GidTImpl.frbInternalDcoDecode(raw as List); } + +@protected PidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PidTImpl.frbInternalDcoDecode(raw as List); } + +@protected UidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UidTImpl.frbInternalDcoDecode(raw as List); } + +@protected Child dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ChildImpl.frbInternalDcoDecode(raw as List); } + +@protected Command dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return CommandImpl.frbInternalDcoDecode(raw as List); } + +@protected Context dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ContextImpl.frbInternalDcoDecode(raw as List); } + +@protected FacetField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FacetFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected Index dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IndexImpl.frbInternalDcoDecode(raw as List); } + +@protected IndexMetaObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IndexMetaObjectImpl.frbInternalDcoDecode(raw as List); } + +@protected Interval dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IntervalImpl.frbInternalDcoDecode(raw as List); } + +@protected IoSliceMut dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IoSliceMutImpl.frbInternalDcoDecode(raw as List); } + +@protected MinMaxField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return MinMaxFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected MinMaxFieldJson dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return MinMaxFieldJsonImpl.frbInternalDcoDecode(raw as List); } + +@protected OpenOptions dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OpenOptionsImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedReadHalf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedReadHalfImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedSemaphorePermit dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedSemaphorePermitImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadBuf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadBufImpl.frbInternalDcoDecode(raw as List); } + +@protected ReceiverT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReceiverTImpl.frbInternalDcoDecode(raw as List); } + +@protected ResultObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultObjectImpl.frbInternalDcoDecode(raw as List); } + +@protected ResultSort dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultSortImpl.frbInternalDcoDecode(raw as List); } + +@protected ReuniteError dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReuniteErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected SchemaField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SchemaFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected SenderT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SenderTImpl.frbInternalDcoDecode(raw as List); } + +@protected Signal dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SignalImpl.frbInternalDcoDecode(raw as List); } + +@protected VecT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return VecTImpl.frbInternalDcoDecode(raw as List); } + +@protected U8 dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return U8Impl.frbInternalDcoDecode(raw as List); } + +@protected ArcIndex dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ArcIndexImpl.frbInternalDcoDecode(raw as List); } + +@protected Barrier dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return BarrierImpl.frbInternalDcoDecode(raw as List); } + +@protected BarrierWaitResult dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return BarrierWaitResultImpl.frbInternalDcoDecode(raw as List); } + +@protected Child dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ChildImpl.frbInternalDcoDecode(raw as List); } + +@protected Command dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return CommandImpl.frbInternalDcoDecode(raw as List); } + +@protected Error dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected FacetField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FacetFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected Handle dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return HandleImpl.frbInternalDcoDecode(raw as List); } + +@protected Index dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IndexImpl.frbInternalDcoDecode(raw as List); } + +@protected IndexMetaObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IndexMetaObjectImpl.frbInternalDcoDecode(raw as List); } + +@protected Interval dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IntervalImpl.frbInternalDcoDecode(raw as List); } + +@protected Ipv6Addr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return Ipv6AddrImpl.frbInternalDcoDecode(raw as List); } + +@protected LocalSet dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return LocalSetImpl.frbInternalDcoDecode(raw as List); } + +@protected MinMaxField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return MinMaxFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected MinMaxFieldJson dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return MinMaxFieldJsonImpl.frbInternalDcoDecode(raw as List); } + +@protected Notify dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return NotifyImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedReadHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedReadHalfImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedSemaphorePermit dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedSemaphorePermitImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedWriteHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedWriteHalfImpl.frbInternalDcoDecode(raw as List); } + +@protected Path dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PathImpl.frbInternalDcoDecode(raw as List); } + +@protected Receiver dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReceiverImpl.frbInternalDcoDecode(raw as List); } + +@protected ReceiverT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReceiverTImpl.frbInternalDcoDecode(raw as List); } + +@protected RestoreOnPending dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RestoreOnPendingImpl.frbInternalDcoDecode(raw as List); } + +@protected ResultObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultObjectImpl.frbInternalDcoDecode(raw as List); } + +@protected ResultSort dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultSortImpl.frbInternalDcoDecode(raw as List); } + +@protected ReuniteError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReuniteErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected Runtime dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RuntimeImpl.frbInternalDcoDecode(raw as List); } + +@protected RuntimeMetrics dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RuntimeMetricsImpl.frbInternalDcoDecode(raw as List); } + +@protected SchemaField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SchemaFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected Semaphore dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SemaphoreImpl.frbInternalDcoDecode(raw as List); } + +@protected Sender dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SenderImpl.frbInternalDcoDecode(raw as List); } + +@protected SenderT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SenderTImpl.frbInternalDcoDecode(raw as List); } + +@protected SignalKind dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SignalKindImpl.frbInternalDcoDecode(raw as List); } + +@protected Sleep dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SleepImpl.frbInternalDcoDecode(raw as List); } + +@protected SocketAddr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SocketAddrImpl.frbInternalDcoDecode(raw as List); } + +@protected TcpListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TcpListenerImpl.frbInternalDcoDecode(raw as List); } + +@protected TcpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TcpSocketImpl.frbInternalDcoDecode(raw as List); } + +@protected TcpStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TcpStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected TryCurrentError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TryCurrentErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected UCred dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UCredImpl.frbInternalDcoDecode(raw as List); } + +@protected UdpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UdpSocketImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixDatagram dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixDatagramImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixListenerImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected Duration dco_decode_Chrono_Duration(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dcoDecodeDuration(dco_decode_i_64(raw).toInt()); } + +@protected BigInt dco_decode_I128(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return BigInt.parse(raw); } + +@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return Map.fromEntries(dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(raw).map((e) => MapEntry(e.$1, e.$2))); } + +@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return Map.fromEntries(dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(raw).map((e) => MapEntry(e.$1, e.$2))); } + +@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return Map.fromEntries(dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(raw).map((e) => MapEntry(e.$1, e.$2))); } + +@protected AHashMapStringFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return AHashMapStringFacetImpl.frbInternalDcoDecode(raw as List); } + +@protected AcquireError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return AcquireErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected ArcIndex dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ArcIndexImpl.frbInternalDcoDecode(raw as List); } + +@protected Barrier dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return BarrierImpl.frbInternalDcoDecode(raw as List); } + +@protected BarrierWaitResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return BarrierWaitResultImpl.frbInternalDcoDecode(raw as List); } + +@protected Child dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ChildImpl.frbInternalDcoDecode(raw as List); } + +@protected ChildStderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ChildStderrImpl.frbInternalDcoDecode(raw as List); } + +@protected ChildStdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ChildStdinImpl.frbInternalDcoDecode(raw as List); } + +@protected ChildStdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ChildStdoutImpl.frbInternalDcoDecode(raw as List); } + +@protected Command dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return CommandImpl.frbInternalDcoDecode(raw as List); } + +@protected Context dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ContextImpl.frbInternalDcoDecode(raw as List); } + +@protected DocumentItem dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return DocumentItemImpl.frbInternalDcoDecode(raw as List); } + +@protected DuplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return DuplexStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected Empty dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return EmptyImpl.frbInternalDcoDecode(raw as List); } + +@protected EnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return EnterGuardImpl.frbInternalDcoDecode(raw as List); } + +@protected Error dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected ExitStatus dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ExitStatusImpl.frbInternalDcoDecode(raw as List); } + +@protected FacetField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FacetFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected FacetFilter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FacetFilterImpl.frbInternalDcoDecode(raw as List); } + +@protected FacetValue dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FacetValueImpl.frbInternalDcoDecode(raw as List); } + +@protected File dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FileImpl.frbInternalDcoDecode(raw as List); } + +@protected FileType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FileTypeImpl.frbInternalDcoDecode(raw as List); } + +@protected FillBufSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FillBufSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected FlushSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FlushSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected FrequentwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FrequentwordTypeImpl.frbInternalDcoDecode(raw as List); } + +@protected Handle dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return HandleImpl.frbInternalDcoDecode(raw as List); } + +@protected Highlighter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return HighlighterImpl.frbInternalDcoDecode(raw as List); } + +@protected Id dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IdImpl.frbInternalDcoDecode(raw as List); } + +@protected Index dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IndexImpl.frbInternalDcoDecode(raw as List); } + +@protected IndexMapStringVecStringUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IndexMapStringVecStringUsizeImpl.frbInternalDcoDecode(raw as List); } + +@protected IndexMetaObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IndexMetaObjectImpl.frbInternalDcoDecode(raw as List); } + +@protected Instant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return InstantImpl.frbInternalDcoDecode(raw as List); } + +@protected Interest dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return InterestImpl.frbInternalDcoDecode(raw as List); } + +@protected Interval dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IntervalImpl.frbInternalDcoDecode(raw as List); } + +@protected IoSliceMut dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IoSliceMutImpl.frbInternalDcoDecode(raw as List); } + +@protected IoSlice dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return IoSliceImpl.frbInternalDcoDecode(raw as List); } + +@protected Ipv4Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return Ipv4AddrImpl.frbInternalDcoDecode(raw as List); } + +@protected Ipv6Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return Ipv6AddrImpl.frbInternalDcoDecode(raw as List); } + +@protected LinesSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return LinesSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected LocalEnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return LocalEnterGuardImpl.frbInternalDcoDecode(raw as List); } + +@protected LocalSet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return LocalSetImpl.frbInternalDcoDecode(raw as List); } + +@protected MinMaxField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return MinMaxFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected MinMaxFieldJson dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return MinMaxFieldJsonImpl.frbInternalDcoDecode(raw as List); } + +@protected Notified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return NotifiedImpl.frbInternalDcoDecode(raw as List); } + +@protected Notify dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return NotifyImpl.frbInternalDcoDecode(raw as List); } + +@protected OpenOptions dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OpenOptionsImpl.frbInternalDcoDecode(raw as List); } + +@protected Ordering dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OrderingImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedFd dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedFdImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedNotified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedNotifiedImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedPermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedPermitTImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedReadHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedReadHalfImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedSemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedSemaphorePermitImpl.frbInternalDcoDecode(raw as List); } + +@protected OwnedWriteHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return OwnedWriteHalfImpl.frbInternalDcoDecode(raw as List); } + +@protected Path dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PathImpl.frbInternalDcoDecode(raw as List); } + +@protected PdfDocument dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PdfDocumentImpl.frbInternalDcoDecode(raw as List); } + +@protected PermitIteratorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PermitIteratorTImpl.frbInternalDcoDecode(raw as List); } + +@protected PermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PermitTImpl.frbInternalDcoDecode(raw as List); } + +@protected Poll dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollImpl.frbInternalDcoDecode(raw as List); } + +@protected PollInstant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollInstantImpl.frbInternalDcoDecode(raw as List); } + +@protected PollOption dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollOptionImpl.frbInternalDcoDecode(raw as List); } + +@protected PollOptionT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollOptionTImpl.frbInternalDcoDecode(raw as List); } + +@protected PollRestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollRestoreOnPendingImpl.frbInternalDcoDecode(raw as List); } + +@protected PollResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollResultImpl.frbInternalDcoDecode(raw as List); } + +@protected PollResultSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollResultSocketAddrImpl.frbInternalDcoDecode(raw as List); } + +@protected PollResultTcpStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollResultTcpStreamSocketAddrImpl.frbInternalDcoDecode(raw as List); } + +@protected PollResultUnixStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollResultUnixStreamSocketAddrImpl.frbInternalDcoDecode(raw as List); } + +@protected PollResultUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollResultUsizeImpl.frbInternalDcoDecode(raw as List); } + +@protected PollUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PollUsizeImpl.frbInternalDcoDecode(raw as List); } + +@protected QueryFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return QueryFacetImpl.frbInternalDcoDecode(raw as List); } + +@protected QueryRewriting dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return QueryRewritingImpl.frbInternalDcoDecode(raw as List); } + +@protected Ranges dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RangesImpl.frbInternalDcoDecode(raw as List); } + +@protected RangeU64 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RangeU64Impl.frbInternalDcoDecode(raw as List); } + +@protected ReadBuf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadBufImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadF32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadF32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadF64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadF64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadHalfSimplexStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI128MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI16MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadI8MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU128MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU16MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected ReadU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadU8MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected Ready dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReadyImpl.frbInternalDcoDecode(raw as List); } + +@protected Receiver dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReceiverImpl.frbInternalDcoDecode(raw as List); } + +@protected ReceiverT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReceiverTImpl.frbInternalDcoDecode(raw as List); } + +@protected RecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RecvErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected RefT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RefTImpl.frbInternalDcoDecode(raw as List); } + +@protected Repeat dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RepeatImpl.frbInternalDcoDecode(raw as List); } + +@protected RestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RestoreOnPendingImpl.frbInternalDcoDecode(raw as List); } + +@protected Result dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultImpl.frbInternalDcoDecode(raw as List); } + +@protected ResultObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultObjectImpl.frbInternalDcoDecode(raw as List); } + +@protected ResultSort dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultSortImpl.frbInternalDcoDecode(raw as List); } + +@protected ReuniteError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ReuniteErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected Runtime dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RuntimeImpl.frbInternalDcoDecode(raw as List); } + +@protected RuntimeMetrics dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RuntimeMetricsImpl.frbInternalDcoDecode(raw as List); } + +@protected SchemaField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SchemaFieldImpl.frbInternalDcoDecode(raw as List); } + +@protected SeekFrom dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SeekFromImpl.frbInternalDcoDecode(raw as List); } + +@protected SeekSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SeekSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected Semaphore dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SemaphoreImpl.frbInternalDcoDecode(raw as List); } + +@protected SemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SemaphorePermitImpl.frbInternalDcoDecode(raw as List); } + +@protected SendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SendErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected SendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SendErrorTImpl.frbInternalDcoDecode(raw as List); } + +@protected SendTimeoutErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SendTimeoutErrorTImpl.frbInternalDcoDecode(raw as List); } + +@protected Sender dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SenderImpl.frbInternalDcoDecode(raw as List); } + +@protected SenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SenderTImpl.frbInternalDcoDecode(raw as List); } + +@protected Shutdown dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ShutdownImpl.frbInternalDcoDecode(raw as List); } + +@protected ShutdownSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ShutdownSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected Signal dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SignalImpl.frbInternalDcoDecode(raw as List); } + +@protected SignalKind dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SignalKindImpl.frbInternalDcoDecode(raw as List); } + +@protected SimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SimplexStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected Sink dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SinkImpl.frbInternalDcoDecode(raw as List); } + +@protected Sleep dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SleepImpl.frbInternalDcoDecode(raw as List); } + +@protected SocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SocketAddrImpl.frbInternalDcoDecode(raw as List); } + +@protected SplitSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SplitSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected StdCommand dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StdCommandImpl.frbInternalDcoDecode(raw as List); } + +@protected Stderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StderrImpl.frbInternalDcoDecode(raw as List); } + +@protected Stdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StdinImpl.frbInternalDcoDecode(raw as List); } + +@protected Stdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StdoutImpl.frbInternalDcoDecode(raw as List); } + +@protected StopwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StopwordTypeImpl.frbInternalDcoDecode(raw as List); } + +@protected T dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TImpl.frbInternalDcoDecode(raw as List); } + +@protected TakeSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TakeSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected TcpListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TcpListenerImpl.frbInternalDcoDecode(raw as List); } + +@protected TcpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TcpSocketImpl.frbInternalDcoDecode(raw as List); } + +@protected TcpStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TcpStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected TryCurrentError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TryCurrentErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected TryRecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TryRecvErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected TrySendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TrySendErrorImpl.frbInternalDcoDecode(raw as List); } + +@protected TrySendErrorSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TrySendErrorSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected TrySendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TrySendErrorTImpl.frbInternalDcoDecode(raw as List); } + +@protected UCred dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UCredImpl.frbInternalDcoDecode(raw as List); } + +@protected UdpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UdpSocketImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixDatagram dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixDatagramImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixListenerImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixSocketImpl.frbInternalDcoDecode(raw as List); } + +@protected UnixStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UnixStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected Value dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ValueImpl.frbInternalDcoDecode(raw as List); } + +@protected ValueType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ValueTypeImpl.frbInternalDcoDecode(raw as List); } + +@protected VecT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return VecTImpl.frbInternalDcoDecode(raw as List); } + +@protected WeakSenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WeakSenderTImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteF32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteF32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteF64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteF64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteHalfSimplexStreamImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI128MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI16MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteI8MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU128MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU16MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU32MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU64MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected WriteU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return WriteU8MutSelfImpl.frbInternalDcoDecode(raw as List); } + +@protected CInt dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return CIntImpl.frbInternalDcoDecode(raw as List); } + +@protected GidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return GidTImpl.frbInternalDcoDecode(raw as List); } + +@protected PidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return PidTImpl.frbInternalDcoDecode(raw as List); } + +@protected U8 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return U8Impl.frbInternalDcoDecode(raw as List); } + +@protected UidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return UidTImpl.frbInternalDcoDecode(raw as List); } + +@protected Set dco_decode_Set_String_None(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return Set.from(dco_decode_list_String(raw)); } + +@protected String dco_decode_String(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as String; } + +@protected AsyncBufReadExt dco_decode_TraitDef_AsyncBufReadExt(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected AsyncReadExt dco_decode_TraitDef_AsyncReadExt(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected AsyncSeekExt dco_decode_TraitDef_AsyncSeekExt(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected AsyncWriteExt dco_decode_TraitDef_AsyncWriteExt(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected Close dco_decode_TraitDef_Close(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected Commit dco_decode_TraitDef_Commit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected DeleteDocument dco_decode_TraitDef_DeleteDocument(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected DeleteDocuments dco_decode_TraitDef_DeleteDocuments(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected DeleteDocumentsByQuery dco_decode_TraitDef_DeleteDocumentsByQuery(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected IndexDocument dco_decode_TraitDef_IndexDocument(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected IndexDocument2 dco_decode_TraitDef_IndexDocument2(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected IndexDocumentShard dco_decode_TraitDef_IndexDocumentShard(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected IndexDocuments dco_decode_TraitDef_IndexDocuments(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected IndexPdf dco_decode_TraitDef_IndexPdf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected IndexPdfBytes dco_decode_TraitDef_IndexPdfBytes(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected IndexPdfFile dco_decode_TraitDef_IndexPdfFile(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected IngestCsv dco_decode_TraitDef_IngestCsv(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected IngestJson dco_decode_TraitDef_IngestJson(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected IngestPdf dco_decode_TraitDef_IngestPdf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected InternalStream dco_decode_TraitDef_InternalStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected Search dco_decode_TraitDef_Search(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected SearchShard dco_decode_TraitDef_SearchShard(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected UpdateDocument dco_decode_TraitDef_UpdateDocument(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected UpdateDocuments dco_decode_TraitDef_UpdateDocuments(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +throw UnimplementedError(); } + +@protected BigInt dco_decode_U128(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return BigInt.parse(raw); } + +@protected AccessType dco_decode_access_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return AccessType.values[raw as int]; } + +@protected bool dco_decode_bool(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as bool; } + +@protected AHashMapStringFacet dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(raw); } + +@protected ChildStderr dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(raw); } + +@protected ChildStdin dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(raw); } + +@protected ChildStdout dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(raw); } + +@protected Error dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(raw); } + +@protected ExitStatus dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(raw); } + +@protected Highlighter dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(raw); } + +@protected Interest dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(raw); } + +@protected OwnedSemaphorePermit dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(raw); } + +@protected PidT dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(raw); } + +@protected Path dco_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(raw); } + +@protected Duration dco_decode_box_autoadd_Chrono_Duration(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_Chrono_Duration(raw); } + +@protected QueryCompletion dco_decode_box_autoadd_query_completion(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_query_completion(raw); } + +@protected (BigInt,Map) dco_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as (BigInt,Map); } + +@protected SearchFn dco_decode_box_autoadd_search_fn(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_search_fn(raw); } + +@protected SpellingCorrection dco_decode_box_autoadd_spelling_correction(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_spelling_correction(raw); } + +@protected int dco_decode_box_autoadd_u_32(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as int; } + +@protected void dco_decode_box_autoadd_unit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as void; } + +@protected BigInt dco_decode_box_autoadd_usize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dco_decode_usize(raw); } + +@protected CompressionType dco_decode_compression_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return CompressionType.values[raw as int]; } + +@protected DistanceField dco_decode_distance_field(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 4) throw Exception('unexpected arr length: expect 4 but see ${arr.length}'); + return DistanceField(field: dco_decode_String(arr[0]), +distance: dco_decode_String(arr[1]), +base: dco_decode_list_prim_f_64_strict(arr[2]), +unit: dco_decode_distance_unit(arr[3]),); } + +@protected DistanceUnit dco_decode_distance_unit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return DistanceUnit.values[raw as int]; } + +@protected double dco_decode_f_32(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as double; } + +@protected double dco_decode_f_64(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as double; } + +@protected FieldType dco_decode_field_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return FieldType.values[raw as int]; } + +@protected Highlight dco_decode_highlight(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 7) throw Exception('unexpected arr length: expect 7 but see ${arr.length}'); + return Highlight(field: dco_decode_String(arr[0]), +name: dco_decode_String(arr[1]), +fragmentNumber: dco_decode_usize(arr[2]), +fragmentSize: dco_decode_usize(arr[3]), +highlightMarkup: dco_decode_bool(arr[4]), +preTags: dco_decode_String(arr[5]), +postTags: dco_decode_String(arr[6]),); } + +@protected int dco_decode_i_16(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as int; } + +@protected int dco_decode_i_32(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as int; } + +@protected PlatformInt64 dco_decode_i_64(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dcoDecodeI64(raw); } + +@protected int dco_decode_i_8(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as int; } + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter).toList(); } + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic).toList(); } + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet).toList(); } + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult).toList(); } + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort).toList(); } + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField).toList(); } + +@protected List> dco_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None).toList(); } + +@protected List dco_decode_list_String(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_String).toList(); } + +@protected List dco_decode_list_distance_field(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_distance_field).toList(); } + +@protected List dco_decode_list_highlight(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_highlight).toList(); } + +@protected List dco_decode_list_prim_f_64_loose(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as List; } + +@protected Float64List dco_decode_list_prim_f_64_strict(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as Float64List; } + +@protected Uint64List dco_decode_list_prim_u_64_strict(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dcoDecodeUint64List(raw); } + +@protected List dco_decode_list_prim_u_8_loose(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as List; } + +@protected Uint8List dco_decode_list_prim_u_8_strict(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as Uint8List; } + +@protected Uint64List dco_decode_list_prim_usize_strict(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as Uint64List; } + +@protected List<(String,MinMaxFieldJson)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json).toList(); } + +@protected List<(String,SchemaField)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field).toList(); } + +@protected List<(String,Value)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value).toList(); } + +@protected List<(BigInt,Map)> dco_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none).toList(); } + +@protected List dco_decode_list_synonym(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return (raw as List).map(dco_decode_synonym).toList(); } + +@protected MissedTickBehavior dco_decode_missed_tick_behavior(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return MissedTickBehavior.values[raw as int]; } + +@protected NgramType dco_decode_ngram_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return NgramType.values[raw as int]; } + +@protected AHashMapStringFacet? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(raw); } + +@protected ChildStderr? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(raw); } + +@protected ChildStdin? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(raw); } + +@protected ChildStdout? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(raw); } + +@protected Error? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(raw); } + +@protected ExitStatus? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(raw); } + +@protected Highlighter? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(raw); } + +@protected Interest? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(raw); } + +@protected OwnedSemaphorePermit? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(raw); } + +@protected PidT? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(raw); } + +@protected Path? dco_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(raw); } + +@protected Duration? dco_decode_opt_box_autoadd_Chrono_Duration(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_Chrono_Duration(raw); } + +@protected QueryCompletion? dco_decode_opt_box_autoadd_query_completion(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_query_completion(raw); } + +@protected SpellingCorrection? dco_decode_opt_box_autoadd_spelling_correction(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_spelling_correction(raw); } + +@protected int? dco_decode_opt_box_autoadd_u_32(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_u_32(raw); } + +@protected void? dco_decode_opt_box_autoadd_unit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_unit(raw); } + +@protected BigInt? dco_decode_opt_box_autoadd_usize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_box_autoadd_usize(raw); } + +@protected Uint64List? dco_decode_opt_list_prim_usize_strict(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw == null ? null : dco_decode_list_prim_usize_strict(raw); } + +@protected QueryCompletion dco_decode_query_completion(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 1) throw Exception('unexpected arr length: expect 1 but see ${arr.length}'); + return QueryCompletion(maxCompletionEntries: dco_decode_usize(arr[0]),); } + +@protected QueryType dco_decode_query_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return QueryType.values[raw as int]; } + +@protected RangeType dco_decode_range_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RangeType.values[raw as int]; } + +@protected (DuplexStream,DuplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(arr[1]),); } + +@protected (OwnedReadHalf,OwnedWriteHalf) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(arr[1]),); } + +@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(arr[1]),); } + +@protected (Sender,Receiver) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(arr[1]),); } + +@protected (TcpStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(arr[1]),); } + +@protected (UnixDatagram,UnixDatagram) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(arr[1]),); } + +@protected (UnixStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(arr[1]),); } + +@protected (UnixStream,UnixStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(arr[1]),); } + +@protected (String,MinMaxFieldJson) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_String(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(arr[1]),); } + +@protected (String,SchemaField) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_String(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(arr[1]),); } + +@protected (String,Value) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_String(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(arr[1]),); } + +@protected (BigInt,Map) dco_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_u_64(arr[0]),dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(arr[1]),); } + +@protected (BigInt,SocketAddr) dco_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return (dco_decode_usize(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(arr[1]),); } + +@protected ResultType dco_decode_result_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return ResultType.values[raw as int]; } + +@protected RuntimeFlavor dco_decode_runtime_flavor(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return RuntimeFlavor.values[raw as int]; } + +@protected SearchFn dco_decode_search_fn(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 1) throw Exception('unexpected arr length: expect 1 but see ${arr.length}'); + return SearchFn(pathToIndex: dco_decode_String(arr[0]),); } + +@protected SimilarityType dco_decode_similarity_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SimilarityType.values[raw as int]; } + +@protected SortOrder dco_decode_sort_order(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return SortOrder.values[raw as int]; } + +@protected SpellingCorrection dco_decode_spelling_correction(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 4) throw Exception('unexpected arr length: expect 4 but see ${arr.length}'); + return SpellingCorrection(maxDictionaryEditDistance: dco_decode_usize(arr[0]), +termLengthThreshold: dco_decode_opt_list_prim_usize_strict(arr[1]), +countThreshold: dco_decode_usize(arr[2]), +maxDictionaryEntries: dco_decode_usize(arr[3]),); } + +@protected StemmerType dco_decode_stemmer_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return StemmerType.values[raw as int]; } + +@protected Synonym dco_decode_synonym(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +final arr = raw as List; + if (arr.length != 2) throw Exception('unexpected arr length: expect 2 but see ${arr.length}'); + return Synonym(terms: dco_decode_list_String(arr[0]), +multiway: dco_decode_bool(arr[1]),); } + +@protected TokenizerType dco_decode_tokenizer_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TokenizerType.values[raw as int]; } + +@protected TryAcquireError dco_decode_try_acquire_error(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return TryAcquireError.values[raw as int]; } + +@protected int dco_decode_u_16(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as int; } + +@protected int dco_decode_u_32(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as int; } + +@protected BigInt dco_decode_u_64(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dcoDecodeU64(raw); } + +@protected int dco_decode_u_8(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return raw as int; } + +@protected void dco_decode_unit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return; } + +@protected BigInt dco_decode_usize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs +return dcoDecodeU64(raw); } + +@protected AnyhowException sse_decode_AnyhowException(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_String(deserializer); + return AnyhowException(inner); } + +@protected AHashMapStringFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return AHashMapStringFacetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected AcquireError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return AcquireErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ArcIndex sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ArcIndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Barrier sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return BarrierImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected BarrierWaitResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return BarrierWaitResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Child sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ChildImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ChildStderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ChildStderrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ChildStdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ChildStdinImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ChildStdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ChildStdoutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Command sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return CommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected DocumentItem sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return DocumentItemImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected DuplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return DuplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Empty sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return EmptyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected EnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return EnterGuardImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Error sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ExitStatus sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ExitStatusImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FacetField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FacetFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FacetFilter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FacetFilterImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FacetValue sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FacetValueImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected File sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FileImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FileType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FileTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FillBufSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FillBufSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FlushSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FlushSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FrequentwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FrequentwordTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Handle sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return HandleImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Highlighter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return HighlighterImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Id sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IdImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Index sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected IndexMapStringVecStringUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IndexMapStringVecStringUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected IndexMetaObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IndexMetaObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Instant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return InstantImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Interest sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return InterestImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Interval sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IntervalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected IoSlice sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IoSliceImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Ipv4Addr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return Ipv4AddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected LinesSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return LinesSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected LocalEnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return LocalEnterGuardImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected LocalSet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return LocalSetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected MinMaxField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return MinMaxFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected MinMaxFieldJson sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return MinMaxFieldJsonImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Notified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return NotifiedImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Notify sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return NotifyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OpenOptions sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OpenOptionsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Ordering sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OrderingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedFd sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedFdImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedNotified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedNotifiedImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedPermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedPermitTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedReadHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedReadHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedSemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedSemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedWriteHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedWriteHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PdfDocument sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PdfDocumentImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PermitIteratorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PermitIteratorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PermitTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Poll sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollInstant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollInstantImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollOption sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollOptionImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollOptionT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollOptionTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollRestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollRestoreOnPendingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollResultSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollResultSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollResultTcpStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollResultTcpStreamSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollResultUnixStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollResultUnixStreamSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollResultUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollResultUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected QueryFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return QueryFacetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected QueryRewriting sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return QueryRewritingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Ranges sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RangesImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RangeU64 sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RangeU64Impl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadF32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadF32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadF64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadF64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadHalfSimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Ready sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Receiver sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReceiverImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReceiverT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReceiverTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RecvErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RefT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RefTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Repeat sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RepeatImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RestoreOnPendingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Result sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ResultObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ResultObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ResultSort sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ResultSortImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReuniteError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReuniteErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Runtime sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RuntimeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RuntimeMetrics sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RuntimeMetricsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SchemaField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SchemaFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SeekFrom sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SeekFromImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SeekSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SeekSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Semaphore sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SemaphoreImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SendErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SendErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SendTimeoutErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SendTimeoutErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Sender sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SenderImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Shutdown sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ShutdownImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ShutdownSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ShutdownSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Signal sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SignalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SignalKind sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SignalKindImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Sink sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SinkImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Sleep sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SleepImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SplitSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SplitSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected StdCommand sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return StdCommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Stderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return StderrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Stdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return StdinImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Stdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return StdoutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected StopwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return StopwordTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected T sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TakeSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TakeSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TcpListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TcpListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TcpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TcpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TcpStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TcpStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TryCurrentError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TryCurrentErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TryRecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TryRecvErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TrySendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TrySendErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TrySendErrorSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TrySendErrorSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TrySendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TrySendErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UCred sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UCredImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UdpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UdpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixDatagram sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixDatagramImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Value sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ValueImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ValueType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ValueTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WeakSenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WeakSenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteF32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteF32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteF64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteF64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteHalfSimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected CInt sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return CIntImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected GidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return GidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Child sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ChildImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Command sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return CommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Context sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ContextImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FacetField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FacetFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Index sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected IndexMetaObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IndexMetaObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Interval sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IntervalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected IoSliceMut sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IoSliceMutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected MinMaxField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return MinMaxFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected MinMaxFieldJson sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return MinMaxFieldJsonImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OpenOptions sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OpenOptionsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedReadHalf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedReadHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedSemaphorePermit sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedSemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadBuf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadBufImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReceiverT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReceiverTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ResultObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ResultObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ResultSort sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ResultSortImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReuniteError sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReuniteErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SchemaField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SchemaFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SenderT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Signal sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SignalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected VecT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return VecTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected U8 sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return U8Impl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ArcIndex sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ArcIndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Barrier sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return BarrierImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected BarrierWaitResult sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return BarrierWaitResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Child sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ChildImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Command sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return CommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Error sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FacetField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FacetFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Handle sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return HandleImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Index sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected IndexMetaObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IndexMetaObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Interval sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IntervalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Ipv6Addr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return Ipv6AddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected LocalSet sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return LocalSetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected MinMaxField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return MinMaxFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected MinMaxFieldJson sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return MinMaxFieldJsonImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Notify sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return NotifyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedReadHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedReadHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedSemaphorePermit sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedSemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedWriteHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedWriteHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Path sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PathImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Receiver sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReceiverImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReceiverT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReceiverTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RestoreOnPending sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RestoreOnPendingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ResultObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ResultObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ResultSort sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ResultSortImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReuniteError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReuniteErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Runtime sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RuntimeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RuntimeMetrics sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RuntimeMetricsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SchemaField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SchemaFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Semaphore sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SemaphoreImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Sender sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SenderImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SenderT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SignalKind sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SignalKindImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Sleep sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SleepImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SocketAddr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TcpListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TcpListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TcpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TcpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TcpStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TcpStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TryCurrentError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TryCurrentErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UCred sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UCredImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UdpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UdpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixDatagram sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixDatagramImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Duration sse_decode_Chrono_Duration(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_64(deserializer); + return Duration(microseconds: inner.toInt()); } + +@protected BigInt sse_decode_I128(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_String(deserializer); + return BigInt.parse(inner); } + +@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(deserializer); + return Map.fromEntries(inner.map((e) => MapEntry(e.$1, e.$2))); } + +@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(deserializer); + return Map.fromEntries(inner.map((e) => MapEntry(e.$1, e.$2))); } + +@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(deserializer); + return Map.fromEntries(inner.map((e) => MapEntry(e.$1, e.$2))); } + +@protected AHashMapStringFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return AHashMapStringFacetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected AcquireError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return AcquireErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ArcIndex sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ArcIndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Barrier sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return BarrierImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected BarrierWaitResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return BarrierWaitResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Child sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ChildImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ChildStderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ChildStderrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ChildStdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ChildStdinImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ChildStdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ChildStdoutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Command sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return CommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Context sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ContextImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected DocumentItem sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return DocumentItemImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected DuplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return DuplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Empty sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return EmptyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected EnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return EnterGuardImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Error sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ExitStatus sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ExitStatusImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FacetField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FacetFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FacetFilter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FacetFilterImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FacetValue sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FacetValueImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected File sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FileImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FileType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FileTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FillBufSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FillBufSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FlushSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FlushSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected FrequentwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return FrequentwordTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Handle sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return HandleImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Highlighter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return HighlighterImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Id sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IdImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Index sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected IndexMapStringVecStringUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IndexMapStringVecStringUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected IndexMetaObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IndexMetaObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Instant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return InstantImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Interest sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return InterestImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Interval sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IntervalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected IoSliceMut sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IoSliceMutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected IoSlice sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return IoSliceImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Ipv4Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return Ipv4AddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Ipv6Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return Ipv6AddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected LinesSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return LinesSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected LocalEnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return LocalEnterGuardImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected LocalSet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return LocalSetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected MinMaxField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return MinMaxFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected MinMaxFieldJson sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return MinMaxFieldJsonImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Notified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return NotifiedImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Notify sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return NotifyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OpenOptions sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OpenOptionsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Ordering sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OrderingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedFd sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedFdImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedNotified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedNotifiedImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedPermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedPermitTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedReadHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedReadHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedSemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedSemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected OwnedWriteHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return OwnedWriteHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Path sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PathImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PdfDocument sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PdfDocumentImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PermitIteratorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PermitIteratorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PermitTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Poll sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollInstant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollInstantImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollOption sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollOptionImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollOptionT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollOptionTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollRestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollRestoreOnPendingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollResultSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollResultSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollResultTcpStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollResultTcpStreamSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollResultUnixStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollResultUnixStreamSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollResultUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollResultUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PollUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PollUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected QueryFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return QueryFacetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected QueryRewriting sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return QueryRewritingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Ranges sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RangesImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RangeU64 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RangeU64Impl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadBuf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadBufImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadF32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadF32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadF64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadF64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadHalfSimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadI8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReadU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadU8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Ready sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReadyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Receiver sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReceiverImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReceiverT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReceiverTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RecvErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RefT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RefTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Repeat sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RepeatImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RestoreOnPendingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Result sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ResultObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ResultObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ResultSort sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ResultSortImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ReuniteError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ReuniteErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Runtime sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RuntimeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected RuntimeMetrics sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return RuntimeMetricsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SchemaField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SchemaFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SeekFrom sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SeekFromImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SeekSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SeekSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Semaphore sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SemaphoreImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SendErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SendErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SendTimeoutErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SendTimeoutErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Sender sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SenderImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Shutdown sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ShutdownImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ShutdownSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ShutdownSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Signal sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SignalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SignalKind sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SignalKindImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Sink sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SinkImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Sleep sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SleepImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected SplitSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return SplitSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected StdCommand sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return StdCommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Stderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return StderrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Stdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return StdinImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Stdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return StdoutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected StopwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return StopwordTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected T sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TakeSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TakeSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TcpListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TcpListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TcpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TcpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TcpStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TcpStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TryCurrentError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TryCurrentErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TryRecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TryRecvErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TrySendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TrySendErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TrySendErrorSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TrySendErrorSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected TrySendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return TrySendErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UCred sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UCredImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UdpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UdpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixDatagram sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixDatagramImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UnixStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UnixStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Value sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ValueImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected ValueType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return ValueTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected VecT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return VecTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WeakSenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WeakSenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteF32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteF32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteF64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteF64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteHalfSimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteI8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected WriteU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return WriteU8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected CInt sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return CIntImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected GidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return GidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected PidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return PidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected U8 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return U8Impl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected UidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return UidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } + +@protected Set sse_decode_Set_String_None(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_list_String(deserializer); + return Set.from(inner); } + +@protected String sse_decode_String(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_list_prim_u_8_strict(deserializer); + return utf8.decoder.convert(inner); } + +@protected BigInt sse_decode_U128(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_String(deserializer); + return BigInt.parse(inner); } + +@protected AccessType sse_decode_access_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return AccessType.values[inner]; } + +@protected bool sse_decode_bool(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getUint8() != 0; } + +@protected AHashMapStringFacet sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(deserializer)); } + +@protected ChildStderr sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(deserializer)); } + +@protected ChildStdin sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(deserializer)); } + +@protected ChildStdout sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(deserializer)); } + +@protected Error sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(deserializer)); } + +@protected ExitStatus sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(deserializer)); } + +@protected Highlighter sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(deserializer)); } + +@protected Interest sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(deserializer)); } + +@protected OwnedSemaphorePermit sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(deserializer)); } + +@protected PidT sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(deserializer)); } + +@protected Path sse_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(deserializer)); } + +@protected Duration sse_decode_box_autoadd_Chrono_Duration(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_Chrono_Duration(deserializer)); } + +@protected QueryCompletion sse_decode_box_autoadd_query_completion(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_query_completion(deserializer)); } + +@protected (BigInt,Map) sse_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(deserializer)); } + +@protected SearchFn sse_decode_box_autoadd_search_fn(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_search_fn(deserializer)); } + +@protected SpellingCorrection sse_decode_box_autoadd_spelling_correction(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_spelling_correction(deserializer)); } + +@protected int sse_decode_box_autoadd_u_32(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_u_32(deserializer)); } + +@protected void sse_decode_box_autoadd_unit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_unit(deserializer)); } + +@protected BigInt sse_decode_box_autoadd_usize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return (sse_decode_usize(deserializer)); } + +@protected CompressionType sse_decode_compression_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return CompressionType.values[inner]; } + +@protected DistanceField sse_decode_distance_field(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field = sse_decode_String(deserializer); +var var_distance = sse_decode_String(deserializer); +var var_base = sse_decode_list_prim_f_64_strict(deserializer); +var var_unit = sse_decode_distance_unit(deserializer); +return DistanceField(field: var_field, distance: var_distance, base: var_base, unit: var_unit); } + +@protected DistanceUnit sse_decode_distance_unit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return DistanceUnit.values[inner]; } + +@protected double sse_decode_f_32(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getFloat32(); } + +@protected double sse_decode_f_64(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getFloat64(); } + +@protected FieldType sse_decode_field_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return FieldType.values[inner]; } + +@protected Highlight sse_decode_highlight(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field = sse_decode_String(deserializer); +var var_name = sse_decode_String(deserializer); +var var_fragmentNumber = sse_decode_usize(deserializer); +var var_fragmentSize = sse_decode_usize(deserializer); +var var_highlightMarkup = sse_decode_bool(deserializer); +var var_preTags = sse_decode_String(deserializer); +var var_postTags = sse_decode_String(deserializer); +return Highlight(field: var_field, name: var_name, fragmentNumber: var_fragmentNumber, fragmentSize: var_fragmentSize, highlightMarkup: var_highlightMarkup, preTags: var_preTags, postTags: var_postTags); } + +@protected int sse_decode_i_16(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getInt16(); } + +@protected int sse_decode_i_32(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getInt32(); } + +@protected PlatformInt64 sse_decode_i_64(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getPlatformInt64(); } + +@protected int sse_decode_i_8(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getInt8(); } + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = []; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(deserializer)); } + return ans_; + } + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = []; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(deserializer)); } + return ans_; + } + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = []; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(deserializer)); } + return ans_; + } + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = []; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(deserializer)); } + return ans_; + } + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = []; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(deserializer)); } + return ans_; + } + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = []; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(deserializer)); } + return ans_; + } + +@protected List> sse_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = >[]; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(deserializer)); } + return ans_; + } + +@protected List sse_decode_list_String(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = []; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_String(deserializer)); } + return ans_; + } + +@protected List sse_decode_list_distance_field(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = []; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_distance_field(deserializer)); } + return ans_; + } + +@protected List sse_decode_list_highlight(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = []; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_highlight(deserializer)); } + return ans_; + } + +@protected List sse_decode_list_prim_f_64_loose(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var len_ = sse_decode_i_32(deserializer); + return deserializer.buffer.getFloat64List(len_); } + +@protected Float64List sse_decode_list_prim_f_64_strict(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var len_ = sse_decode_i_32(deserializer); + return deserializer.buffer.getFloat64List(len_); } + +@protected Uint64List sse_decode_list_prim_u_64_strict(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var len_ = sse_decode_i_32(deserializer); + return deserializer.buffer.getUint64List(len_); } + +@protected List sse_decode_list_prim_u_8_loose(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var len_ = sse_decode_i_32(deserializer); + return deserializer.buffer.getUint8List(len_); } + +@protected Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var len_ = sse_decode_i_32(deserializer); + return deserializer.buffer.getUint8List(len_); } + +@protected Uint64List sse_decode_list_prim_usize_strict(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var len_ = sse_decode_i_32(deserializer); + return deserializer.buffer.getUint64List(len_); } + +@protected List<(String,MinMaxFieldJson)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = <(String,MinMaxFieldJson)>[]; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(deserializer)); } + return ans_; + } + +@protected List<(String,SchemaField)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = <(String,SchemaField)>[]; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(deserializer)); } + return ans_; + } + +@protected List<(String,Value)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = <(String,Value)>[]; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(deserializer)); } + return ans_; + } + +@protected List<(BigInt,Map)> sse_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = <(BigInt,Map)>[]; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(deserializer)); } + return ans_; + } + +@protected List sse_decode_list_synonym(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + var len_ = sse_decode_i_32(deserializer); + var ans_ = []; + for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_synonym(deserializer)); } + return ans_; + } + +@protected MissedTickBehavior sse_decode_missed_tick_behavior(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return MissedTickBehavior.values[inner]; } + +@protected NgramType sse_decode_ngram_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return NgramType.values[inner]; } + +@protected AHashMapStringFacet? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(deserializer)); + } else { + return null; + } + } + +@protected ChildStderr? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(deserializer)); + } else { + return null; + } + } + +@protected ChildStdin? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(deserializer)); + } else { + return null; + } + } + +@protected ChildStdout? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(deserializer)); + } else { + return null; + } + } + +@protected Error? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(deserializer)); + } else { + return null; + } + } + +@protected ExitStatus? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(deserializer)); + } else { + return null; + } + } + +@protected Highlighter? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(deserializer)); + } else { + return null; + } + } + +@protected Interest? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(deserializer)); + } else { + return null; + } + } + +@protected OwnedSemaphorePermit? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(deserializer)); + } else { + return null; + } + } + +@protected PidT? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(deserializer)); + } else { + return null; + } + } + +@protected Path? sse_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(deserializer)); + } else { + return null; + } + } + +@protected Duration? sse_decode_opt_box_autoadd_Chrono_Duration(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_Chrono_Duration(deserializer)); + } else { + return null; + } + } + +@protected QueryCompletion? sse_decode_opt_box_autoadd_query_completion(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_query_completion(deserializer)); + } else { + return null; + } + } + +@protected SpellingCorrection? sse_decode_opt_box_autoadd_spelling_correction(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_spelling_correction(deserializer)); + } else { + return null; + } + } + +@protected int? sse_decode_opt_box_autoadd_u_32(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_u_32(deserializer)); + } else { + return null; + } + } + +@protected void? sse_decode_opt_box_autoadd_unit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_unit(deserializer)); + } else { + return null; + } + } + +@protected BigInt? sse_decode_opt_box_autoadd_usize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_usize(deserializer)); + } else { + return null; + } + } + +@protected Uint64List? sse_decode_opt_list_prim_usize_strict(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_list_prim_usize_strict(deserializer)); + } else { + return null; + } + } + +@protected QueryCompletion sse_decode_query_completion(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_maxCompletionEntries = sse_decode_usize(deserializer); +return QueryCompletion(maxCompletionEntries: var_maxCompletionEntries); } + +@protected QueryType sse_decode_query_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return QueryType.values[inner]; } + +@protected RangeType sse_decode_range_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return RangeType.values[inner]; } + +@protected (DuplexStream,DuplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(deserializer); +return (var_field0, var_field1); } + +@protected (OwnedReadHalf,OwnedWriteHalf) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(deserializer); +return (var_field0, var_field1); } + +@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(deserializer); +return (var_field0, var_field1); } + +@protected (Sender,Receiver) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(deserializer); +return (var_field0, var_field1); } + +@protected (TcpStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(deserializer); +return (var_field0, var_field1); } + +@protected (UnixDatagram,UnixDatagram) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(deserializer); +return (var_field0, var_field1); } + +@protected (UnixStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(deserializer); +return (var_field0, var_field1); } + +@protected (UnixStream,UnixStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(deserializer); +return (var_field0, var_field1); } + +@protected (String,MinMaxFieldJson) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_String(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(deserializer); +return (var_field0, var_field1); } + +@protected (String,SchemaField) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_String(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(deserializer); +return (var_field0, var_field1); } + +@protected (String,Value) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_String(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(deserializer); +return (var_field0, var_field1); } + +@protected (BigInt,Map) sse_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_u_64(deserializer); +var var_field1 = sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(deserializer); +return (var_field0, var_field1); } + +@protected (BigInt,SocketAddr) sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_field0 = sse_decode_usize(deserializer); +var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(deserializer); +return (var_field0, var_field1); } + +@protected ResultType sse_decode_result_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return ResultType.values[inner]; } + +@protected RuntimeFlavor sse_decode_runtime_flavor(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return RuntimeFlavor.values[inner]; } + +@protected SearchFn sse_decode_search_fn(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_pathToIndex = sse_decode_String(deserializer); +return SearchFn(pathToIndex: var_pathToIndex); } + +@protected SimilarityType sse_decode_similarity_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return SimilarityType.values[inner]; } + +@protected SortOrder sse_decode_sort_order(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return SortOrder.values[inner]; } + +@protected SpellingCorrection sse_decode_spelling_correction(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_maxDictionaryEditDistance = sse_decode_usize(deserializer); +var var_termLengthThreshold = sse_decode_opt_list_prim_usize_strict(deserializer); +var var_countThreshold = sse_decode_usize(deserializer); +var var_maxDictionaryEntries = sse_decode_usize(deserializer); +return SpellingCorrection(maxDictionaryEditDistance: var_maxDictionaryEditDistance, termLengthThreshold: var_termLengthThreshold, countThreshold: var_countThreshold, maxDictionaryEntries: var_maxDictionaryEntries); } + +@protected StemmerType sse_decode_stemmer_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return StemmerType.values[inner]; } + +@protected Synonym sse_decode_synonym(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var var_terms = sse_decode_list_String(deserializer); +var var_multiway = sse_decode_bool(deserializer); +return Synonym(terms: var_terms, multiway: var_multiway); } + +@protected TokenizerType sse_decode_tokenizer_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return TokenizerType.values[inner]; } + +@protected TryAcquireError sse_decode_try_acquire_error(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +var inner = sse_decode_i_32(deserializer); + return TryAcquireError.values[inner]; } + +@protected int sse_decode_u_16(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getUint16(); } + +@protected int sse_decode_u_32(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getUint32(); } + +@protected BigInt sse_decode_u_64(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getBigUint64(); } + +@protected int sse_decode_u_8(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getUint8(); } + +@protected void sse_decode_unit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs + } + +@protected BigInt sse_decode_usize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs +return deserializer.buffer.getBigUint64(); } + +@protected void sse_encode_AnyhowException(AnyhowException self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_String(self.message, serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as AHashMapStringFacetImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as AcquireErrorImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ArcIndexImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as BarrierImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as BarrierWaitResultImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ChildImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ChildStderrImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ChildStdinImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ChildStdoutImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as CommandImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as DocumentItemImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as DuplexStreamImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as EmptyImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as EnterGuardImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ErrorImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ExitStatusImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FacetFieldImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FacetFilterImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FacetValueImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FileImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FileTypeImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FillBufSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FlushSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FrequentwordTypeImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as HandleImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as HighlighterImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IdImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IndexImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IndexMapStringVecStringUsizeImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IndexMetaObjectImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as InstantImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as InterestImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IntervalImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IoSliceImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as Ipv4AddrImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as LinesSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as LocalEnterGuardImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as LocalSetImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as MinMaxFieldImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as MinMaxFieldJsonImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as NotifiedImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as NotifyImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OpenOptionsImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OrderingImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedFdImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedNotifiedImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedPermitTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedReadHalfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedSemaphorePermitImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedWriteHalfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PdfDocumentImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PermitIteratorTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PermitTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollInstantImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollOptionImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollOptionTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollRestoreOnPendingImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollResultImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollResultSocketAddrImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollResultTcpStreamSocketAddrImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollResultUnixStreamSocketAddrImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollResultUsizeImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollUsizeImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as QueryFacetImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as QueryRewritingImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RangesImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RangeU64Impl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadF32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadF32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadF64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadF64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadHalfSimplexStreamImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI128LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI128MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI16LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI16MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI8MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU128LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU128MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU16LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU16MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU8MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadyImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReceiverImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReceiverTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RecvErrorImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RefTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RepeatImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RestoreOnPendingImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ResultImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ResultObjectImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ResultSortImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReuniteErrorImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RuntimeImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RuntimeMetricsImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SchemaFieldImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SeekFromImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SeekSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SemaphoreImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SemaphorePermitImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SendErrorImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SendErrorTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SendTimeoutErrorTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SenderImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SenderTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ShutdownImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ShutdownSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SignalImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SignalKindImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SimplexStreamImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SinkImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SleepImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SocketAddrImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SplitSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as StdCommandImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as StderrImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as StdinImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as StdoutImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as StopwordTypeImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TakeSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TcpListenerImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TcpSocketImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TcpStreamImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TryCurrentErrorImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TryRecvErrorImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TrySendErrorImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TrySendErrorSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TrySendErrorTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UCredImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UdpSocketImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixDatagramImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixListenerImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixSocketImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixStreamImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ValueImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ValueTypeImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WeakSenderTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteF32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteF32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteF64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteF64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteHalfSimplexStreamImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI128LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI128MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI16LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI16MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI8MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU128LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU128MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU16LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU16MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU8MutSelfImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as CIntImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as GidTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PidTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UidTImpl).frbInternalSseEncode(move: true), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ChildImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as CommandImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ContextImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FacetFieldImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IndexImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IndexMetaObjectImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IntervalImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IoSliceMutImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as MinMaxFieldImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as MinMaxFieldJsonImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OpenOptionsImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedReadHalfImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedSemaphorePermitImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadBufImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReceiverTImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ResultObjectImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ResultSortImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReuniteErrorImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SchemaFieldImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SenderTImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SignalImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as VecTImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as U8Impl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ArcIndexImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as BarrierImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as BarrierWaitResultImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ChildImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as CommandImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ErrorImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FacetFieldImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as HandleImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IndexImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IndexMetaObjectImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IntervalImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as Ipv6AddrImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as LocalSetImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as MinMaxFieldImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as MinMaxFieldJsonImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as NotifyImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedReadHalfImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedSemaphorePermitImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedWriteHalfImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PathImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReceiverImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReceiverTImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RestoreOnPendingImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ResultObjectImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ResultSortImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReuniteErrorImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RuntimeImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RuntimeMetricsImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SchemaFieldImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SemaphoreImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SenderImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SenderTImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SignalKindImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SleepImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SocketAddrImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TcpListenerImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TcpSocketImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TcpStreamImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TryCurrentErrorImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UCredImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UdpSocketImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixDatagramImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixListenerImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixStreamImpl).frbInternalSseEncode(move: false), serializer); } + +@protected void sse_encode_Chrono_Duration(Duration self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_64(PlatformInt64Util.from(self.inMicroseconds), serializer); } + +@protected void sse_encode_I128(BigInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_String(self.toString(), serializer); } + +@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(Map self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(self.entries.map((e) => (e.key, e.value)).toList(), serializer); } + +@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(Map self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(self.entries.map((e) => (e.key, e.value)).toList(), serializer); } + +@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(Map self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(self.entries.map((e) => (e.key, e.value)).toList(), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as AHashMapStringFacetImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as AcquireErrorImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ArcIndexImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as BarrierImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as BarrierWaitResultImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ChildImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ChildStderrImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ChildStdinImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ChildStdoutImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as CommandImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ContextImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as DocumentItemImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as DuplexStreamImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as EmptyImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as EnterGuardImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ErrorImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ExitStatusImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FacetFieldImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FacetFilterImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FacetValueImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FileImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FileTypeImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FillBufSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FlushSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as FrequentwordTypeImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as HandleImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as HighlighterImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IdImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IndexImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IndexMapStringVecStringUsizeImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IndexMetaObjectImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as InstantImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as InterestImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IntervalImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IoSliceMutImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as IoSliceImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as Ipv4AddrImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as Ipv6AddrImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as LinesSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as LocalEnterGuardImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as LocalSetImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as MinMaxFieldImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as MinMaxFieldJsonImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as NotifiedImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as NotifyImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OpenOptionsImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OrderingImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedFdImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedNotifiedImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedPermitTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedReadHalfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedSemaphorePermitImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as OwnedWriteHalfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PathImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PdfDocumentImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PermitIteratorTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PermitTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollInstantImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollOptionImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollOptionTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollRestoreOnPendingImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollResultImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollResultSocketAddrImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollResultTcpStreamSocketAddrImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollResultUnixStreamSocketAddrImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollResultUsizeImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PollUsizeImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as QueryFacetImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as QueryRewritingImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RangesImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RangeU64Impl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadBufImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadF32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadF32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadF64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadF64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadHalfSimplexStreamImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI128LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI128MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI16LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI16MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadI8MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU128LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU128MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU16LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU16MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadU8MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReadyImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReceiverImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReceiverTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RecvErrorImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RefTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RepeatImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RestoreOnPendingImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ResultImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ResultObjectImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ResultSortImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ReuniteErrorImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RuntimeImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as RuntimeMetricsImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SchemaFieldImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SeekFromImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SeekSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SemaphoreImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SemaphorePermitImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SendErrorImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SendErrorTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SendTimeoutErrorTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SenderImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SenderTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ShutdownImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ShutdownSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SignalImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SignalKindImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SimplexStreamImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SinkImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SleepImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SocketAddrImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as SplitSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as StdCommandImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as StderrImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as StdinImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as StdoutImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as StopwordTypeImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TakeSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TcpListenerImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TcpSocketImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TcpStreamImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TryCurrentErrorImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TryRecvErrorImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TrySendErrorImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TrySendErrorSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as TrySendErrorTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UCredImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UdpSocketImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixDatagramImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixListenerImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixSocketImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UnixStreamImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ValueImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as ValueTypeImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as VecTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WeakSenderTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteF32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteF32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteF64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteF64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteHalfSimplexStreamImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI128LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI128MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI16LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI16MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteI8MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU128LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU128MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU16LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU16MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as WriteU8MutSelfImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as CIntImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as GidTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as PidTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as U8Impl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize((self as UidTImpl).frbInternalSseEncode(move: null), serializer); } + +@protected void sse_encode_Set_String_None(Set self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_list_String(self.toList(), serializer); } + +@protected void sse_encode_String(String self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_list_prim_u_8_strict(utf8.encoder.convert(self), serializer); } + +@protected void sse_encode_U128(BigInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_String(self.toString(), serializer); } + +@protected void sse_encode_access_type(AccessType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_bool(bool self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putUint8(self ? 1 : 0); } + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(self, serializer); } + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(self, serializer); } + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(self, serializer); } + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(self, serializer); } + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(self, serializer); } + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(self, serializer); } + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(self, serializer); } + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(self, serializer); } + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(self, serializer); } + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(self, serializer); } + +@protected void sse_encode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(self, serializer); } + +@protected void sse_encode_box_autoadd_Chrono_Duration(Duration self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Chrono_Duration(self, serializer); } + +@protected void sse_encode_box_autoadd_query_completion(QueryCompletion self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_query_completion(self, serializer); } + +@protected void sse_encode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(self, serializer); } + +@protected void sse_encode_box_autoadd_search_fn(SearchFn self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_search_fn(self, serializer); } + +@protected void sse_encode_box_autoadd_spelling_correction(SpellingCorrection self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_spelling_correction(self, serializer); } + +@protected void sse_encode_box_autoadd_u_32(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_u_32(self, serializer); } + +@protected void sse_encode_box_autoadd_unit(void self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_unit(self, serializer); } + +@protected void sse_encode_box_autoadd_usize(BigInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize(self, serializer); } + +@protected void sse_encode_compression_type(CompressionType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_distance_field(DistanceField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_String(self.field, serializer); +sse_encode_String(self.distance, serializer); +sse_encode_list_prim_f_64_strict(self.base, serializer); +sse_encode_distance_unit(self.unit, serializer); + } + +@protected void sse_encode_distance_unit(DistanceUnit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_f_32(double self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putFloat32(self); } + +@protected void sse_encode_f_64(double self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putFloat64(self); } + +@protected void sse_encode_field_type(FieldType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_highlight(Highlight self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_String(self.field, serializer); +sse_encode_String(self.name, serializer); +sse_encode_usize(self.fragmentNumber, serializer); +sse_encode_usize(self.fragmentSize, serializer); +sse_encode_bool(self.highlightMarkup, serializer); +sse_encode_String(self.preTags, serializer); +sse_encode_String(self.postTags, serializer); + } + +@protected void sse_encode_i_16(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putInt16(self); } + +@protected void sse_encode_i_32(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putInt32(self); } + +@protected void sse_encode_i_64(PlatformInt64 self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putPlatformInt64(self); } + +@protected void sse_encode_i_8(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putInt8(self); } + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(item, serializer); } } + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(item, serializer); } } + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(item, serializer); } } + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(item, serializer); } } + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(item, serializer); } } + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(item, serializer); } } + +@protected void sse_encode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(List> self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(item, serializer); } } + +@protected void sse_encode_list_String(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_String(item, serializer); } } + +@protected void sse_encode_list_distance_field(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_distance_field(item, serializer); } } + +@protected void sse_encode_list_highlight(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_highlight(item, serializer); } } + +@protected void sse_encode_list_prim_f_64_loose(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + serializer.buffer.putFloat64List(self is Float64List ? self : Float64List.fromList(self)); } + +@protected void sse_encode_list_prim_f_64_strict(Float64List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + serializer.buffer.putFloat64List(self); } + +@protected void sse_encode_list_prim_u_64_strict(Uint64List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + serializer.buffer.putUint64List(self); } + +@protected void sse_encode_list_prim_u_8_loose(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + serializer.buffer.putUint8List(self is Uint8List ? self : Uint8List.fromList(self)); } + +@protected void sse_encode_list_prim_u_8_strict(Uint8List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + serializer.buffer.putUint8List(self); } + +@protected void sse_encode_list_prim_usize_strict(Uint64List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + serializer.buffer.putUint64List(self); } + +@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(List<(String,MinMaxFieldJson)> self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(item, serializer); } } + +@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(List<(String,SchemaField)> self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(item, serializer); } } + +@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(List<(String,Value)> self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(item, serializer); } } + +@protected void sse_encode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(List<(BigInt,Map)> self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(item, serializer); } } + +@protected void sse_encode_list_synonym(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.length, serializer); + for (final item in self) { sse_encode_synonym(item, serializer); } } + +@protected void sse_encode_missed_tick_behavior(MissedTickBehavior self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_ngram_type(NgramType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_Chrono_Duration(Duration? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_Chrono_Duration(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_query_completion(QueryCompletion? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_query_completion(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_spelling_correction(SpellingCorrection? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_spelling_correction(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_u_32(int? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_u_32(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_unit(void? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_unit(self, serializer); + } + } + +@protected void sse_encode_opt_box_autoadd_usize(BigInt? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_usize(self, serializer); + } + } + +@protected void sse_encode_opt_list_prim_usize_strict(Uint64List? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_list_prim_usize_strict(self, serializer); + } + } + +@protected void sse_encode_query_completion(QueryCompletion self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize(self.maxCompletionEntries, serializer); + } + +@protected void sse_encode_query_type(QueryType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_range_type(RangeType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream((DuplexStream,DuplexStream) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(self.$2, serializer); + } + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half((OwnedReadHalf,OwnedWriteHalf) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(self.$2, serializer); + } + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream((ReadHalfSimplexStream,WriteHalfSimplexStream) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(self.$2, serializer); + } + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver((Sender,Receiver) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(self.$2, serializer); + } + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((TcpStream,SocketAddr) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(self.$2, serializer); + } + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram((UnixDatagram,UnixDatagram) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(self.$2, serializer); + } + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((UnixStream,SocketAddr) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(self.$2, serializer); + } + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream((UnixStream,UnixStream) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(self.$2, serializer); + } + +@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json((String,MinMaxFieldJson) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_String(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(self.$2, serializer); + } + +@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field((String,SchemaField) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_String(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(self.$2, serializer); + } + +@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value((String,Value) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_String(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(self.$2, serializer); + } + +@protected void sse_encode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_u_64(self.$1, serializer); +sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(self.$2, serializer); + } + +@protected void sse_encode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((BigInt,SocketAddr) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize(self.$1, serializer); +sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(self.$2, serializer); + } + +@protected void sse_encode_result_type(ResultType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_runtime_flavor(RuntimeFlavor self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_search_fn(SearchFn self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_String(self.pathToIndex, serializer); + } + +@protected void sse_encode_similarity_type(SimilarityType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_sort_order(SortOrder self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_spelling_correction(SpellingCorrection self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_usize(self.maxDictionaryEditDistance, serializer); +sse_encode_opt_list_prim_usize_strict(self.termLengthThreshold, serializer); +sse_encode_usize(self.countThreshold, serializer); +sse_encode_usize(self.maxDictionaryEntries, serializer); + } + +@protected void sse_encode_stemmer_type(StemmerType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_synonym(Synonym self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_list_String(self.terms, serializer); +sse_encode_bool(self.multiway, serializer); + } + +@protected void sse_encode_tokenizer_type(TokenizerType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_try_acquire_error(TryAcquireError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +sse_encode_i_32(self.index, serializer); } + +@protected void sse_encode_u_16(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putUint16(self); } + +@protected void sse_encode_u_32(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putUint32(self); } + +@protected void sse_encode_u_64(BigInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putBigUint64(self); } + +@protected void sse_encode_u_8(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putUint8(self); } + +@protected void sse_encode_unit(void self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs + } + +@protected void sse_encode_usize(BigInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs +serializer.buffer.putBigUint64(self); } + } + + + @sealed class AHashMapStringFacetImpl extends RustOpaque implements AHashMapStringFacet { + // Not to be used by end users + AHashMapStringFacetImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + AHashMapStringFacetImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_AHashMapStringFacet, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_AHashMapStringFacet, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_AHashMapStringFacetPtr, + ); + + + } + @sealed class AcquireErrorImpl extends RustOpaque implements AcquireError { + // Not to be used by end users + AcquireErrorImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + AcquireErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_AcquireError, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_AcquireError, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_AcquireErrorPtr, + ); + + + } + @sealed class ArcIndexImpl extends RustOpaque implements ArcIndex { + // Not to be used by end users + ArcIndexImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ArcIndexImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ArcIndex, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ArcIndex, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ArcIndexPtr, + ); + + + } + @sealed class BarrierImpl extends RustOpaque implements Barrier { + // Not to be used by end users + BarrierImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + BarrierImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Barrier, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Barrier, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_BarrierPtr, + ); + + /// Does not resolve until all tasks have rendezvoused here. +/// +/// Barriers are re-usable after all tasks have rendezvoused once, and can +/// be used continuously. +/// +/// A single (arbitrary) future will receive a [`BarrierWaitResult`] that returns `true` from +/// [`BarrierWaitResult::is_leader`] when returning from this function, and all other tasks +/// will receive a result that will return `false` from `is_leader`. +/// +/// # Cancel safety +/// +/// This method is not cancel safe. + Future wait()=>RustLib.instance.api.tokioSyncBarrierWait(that: this, ); + + + } + @sealed class BarrierWaitResultImpl extends RustOpaque implements BarrierWaitResult { + // Not to be used by end users + BarrierWaitResultImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + BarrierWaitResultImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_BarrierWaitResult, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_BarrierWaitResult, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_BarrierWaitResultPtr, + ); + + /// Returns `true` if this task from wait is the "leader task". +/// +/// Only one task will have `true` returned from their result, all other tasks will have +/// `false` returned. + Future isLeader()=>RustLib.instance.api.tokioSyncBarrierWaitResultIsLeader(that: this, ); + + + } + @sealed class CIntImpl extends RustOpaque implements CInt { + // Not to be used by end users + CIntImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + CIntImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_CInt, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_CInt, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_CIntPtr, + ); + + + } + @sealed class ChildImpl extends RustOpaque implements Child { + // Not to be used by end users + ChildImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ChildImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Child, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Child, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ChildPtr, + ); + + ChildStderr? get stderr=>RustLib.instance.api.tokioProcessChildAutoAccessorGetStderr(that: this, ); + + + ChildStdin? get stdin=>RustLib.instance.api.tokioProcessChildAutoAccessorGetStdin(that: this, ); + + + ChildStdout? get stdout=>RustLib.instance.api.tokioProcessChildAutoAccessorGetStdout(that: this, ); + + + set stderr(ChildStderr? stderr)=>RustLib.instance.api.tokioProcessChildAutoAccessorSetStderr(that: this, stderr: stderr); + + + set stdin(ChildStdin? stdin)=>RustLib.instance.api.tokioProcessChildAutoAccessorSetStdin(that: this, stdin: stdin); + + + set stdout(ChildStdout? stdout)=>RustLib.instance.api.tokioProcessChildAutoAccessorSetStdout(that: this, stdout: stdout); + + +/// Returns the OS-assigned process identifier associated with this child +/// while it is still running. +/// +/// Once the child has been polled to completion this will return `None`. +/// This is done to avoid confusion on platforms like Unix where the OS +/// identifier could be reused once the process has completed. + Future id()=>RustLib.instance.api.tokioProcessChildId(that: this, ); + + +/// Forces the child to exit. +/// +/// This is equivalent to sending a `SIGKILL` on unix platforms +/// followed by [`wait`](Child::wait). +/// +/// Note: std version of [`Child::kill`](std::process::Child::kill) does not `wait`. +/// For an equivalent of `Child::kill` in the standard library, +/// use [`start_kill`](Child::start_kill). +/// +/// # Examples +/// +/// If the child has to be killed remotely, it is possible to do it using +/// a combination of the select! macro and a `oneshot` channel. In the following +/// example, the child will run until completion unless a message is sent on +/// the `oneshot` channel. If that happens, the child is killed immediately +/// using the `.kill()` method. +/// +/// ```no_run +/// use tokio::process::Command; +/// use tokio::sync::oneshot::channel; +/// +/// #[tokio::main] +/// async fn main() { +/// let (send, recv) = channel::<()>(); +/// let mut child = Command::new("sleep").arg("1").spawn().unwrap(); +/// tokio::spawn(async move { send.send(()) }); +/// tokio::select! { +/// _ = child.wait() => {} +/// _ = recv => child.kill().await.expect("kill failed"), +/// } +/// } +/// ``` +/// +/// You can also interact with the child's standard I/O. For example, you can +/// read its stdout while waiting for it to exit. +/// +/// ```no_run +/// # use std::process::Stdio; +/// # +/// # use tokio::io::AsyncReadExt; +/// # use tokio::process::Command; +/// # use tokio::sync::oneshot::channel; +/// +/// #[tokio::main] +/// async fn main() { +/// let (_tx, rx) = channel::<()>(); +/// +/// let mut child = Command::new("echo") +/// .arg("Hello World!") +/// .stdout(Stdio::piped()) +/// .spawn() +/// .unwrap(); +/// +/// let mut stdout = child.stdout.take().expect("stdout is not captured"); +/// +/// let read_stdout = tokio::spawn(async move { +/// let mut buff = Vec::new(); +/// let _ = stdout.read_to_end(&mut buff).await; +/// +/// buff +/// }); +/// +/// tokio::select! { +/// _ = child.wait() => {} +/// _ = rx => { child.kill().await.expect("kill failed") }, +/// } +/// +/// let buff = read_stdout.await.unwrap(); +/// +/// assert_eq!(buff, b"Hello World!\n"); +/// } +/// ``` + Future kill()=>RustLib.instance.api.tokioProcessChildKill(that: this, ); + + +/// Attempts to force the child to exit, but does not wait for the request +/// to take effect. +/// +/// On Unix platforms, this is the equivalent to sending a `SIGKILL`. Note +/// that on Unix platforms it is possible for a zombie process to remain +/// after a kill is sent; to avoid this, the caller should ensure that either +/// `child.wait().await` or `child.try_wait()` is invoked successfully. + Future startKill()=>RustLib.instance.api.tokioProcessChildStartKill(that: this, ); + + +/// Attempts to collect the exit status of the child if it has already +/// exited. +/// +/// This function will not block the calling thread and will only +/// check to see if the child process has exited or not. If the child has +/// exited then on Unix the process ID is reaped. This function is +/// guaranteed to repeatedly return a successful exit status so long as the +/// child has already exited. +/// +/// If the child has exited, then `Ok(Some(status))` is returned. If the +/// exit status is not available at this time then `Ok(None)` is returned. +/// If an error occurs, then that error is returned. +/// +/// Note that unlike `wait`, this function will not attempt to drop stdin, +/// nor will it wake the current task if the child exits. + Future tryWait()=>RustLib.instance.api.tokioProcessChildTryWait(that: this, ); + + +/// Waits for the child to exit completely, returning the status that it +/// exited with. This function will continue to have the same return value +/// after it has been called at least once. +/// +/// The stdin handle to the child process, if any, will be closed +/// before waiting. This helps avoid deadlock: it ensures that the +/// child does not block waiting for input from the parent, while +/// the parent waits for the child to exit. +/// +/// If the caller wishes to explicitly control when the child's stdin +/// handle is closed, they may `.take()` it before calling `.wait()`: +/// +/// # Cancel safety +/// +/// This function is cancel safe. +/// +/// ``` +/// # #[cfg(not(unix))]fn main(){} +/// # #[cfg(unix)] +/// use tokio::io::AsyncWriteExt; +/// # #[cfg(unix)] +/// use tokio::process::Command; +/// # #[cfg(unix)] +/// use std::process::Stdio; +/// +/// # #[cfg(unix)] +/// #[tokio::main] +/// async fn main() { +/// # if cfg!(miri) { return; } // No `pidfd_spawnp` in miri. +/// let mut child = Command::new("cat") +/// .stdin(Stdio::piped()) +/// .spawn() +/// .unwrap(); +/// +/// let mut stdin = child.stdin.take().unwrap(); +/// tokio::spawn(async move { +/// // do something with stdin here... +/// stdin.write_all(b"hello world\n").await.unwrap(); +/// +/// // then drop when finished +/// drop(stdin); +/// }); +/// +/// // wait for the process to complete +/// let _ = child.wait().await; +/// } +/// ``` + Future wait()=>RustLib.instance.api.tokioProcessChildWait(that: this, ); + + + } + @sealed class ChildStderrImpl extends RustOpaque implements ChildStderr { + // Not to be used by end users + ChildStderrImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ChildStderrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ChildStderr, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStderr, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStderrPtr, + ); + + /// Convert into [`OwnedFd`]. + Future intoOwnedFd()=>RustLib.instance.api.tokioProcessChildStderrIntoOwnedFd(that: this, ); + + + } + @sealed class ChildStdinImpl extends RustOpaque implements ChildStdin { + // Not to be used by end users + ChildStdinImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ChildStdinImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ChildStdin, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStdin, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStdinPtr, + ); + + /// Convert into [`OwnedFd`]. + Future intoOwnedFd()=>RustLib.instance.api.tokioProcessChildStdinIntoOwnedFd(that: this, ); + + + } + @sealed class ChildStdoutImpl extends RustOpaque implements ChildStdout { + // Not to be used by end users + ChildStdoutImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ChildStdoutImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ChildStdout, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStdout, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStdoutPtr, + ); + + /// Convert into [`OwnedFd`]. + Future intoOwnedFd()=>RustLib.instance.api.tokioProcessChildStdoutIntoOwnedFd(that: this, ); + + + } + @sealed class CommandImpl extends RustOpaque implements Command { + // Not to be used by end users + CommandImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + CommandImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Command, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Command, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_CommandPtr, + ); + + /// Cheaply convert to a `&std::process::Command` for places where the type from the standard +/// library is expected. + Future asStd()=>RustLib.instance.api.tokioProcessCommandAsStd(that: this, ); + + +/// Cheaply convert to a `&mut std::process::Command` for places where the type from the +/// standard library is expected. + Future asStdMut()=>RustLib.instance.api.tokioProcessCommandAsStdMut(that: this, ); + + +/// Clears the entire environment map for the child process. +/// +/// # Examples +/// +/// Basic usage: +/// +/// ```no_run +/// # async fn test() { // allow using await +/// use tokio::process::Command; +/// +/// let output = Command::new("ls") +/// .env_clear() +/// .output().await.unwrap(); +/// # } +/// ``` + Future envClear()=>RustLib.instance.api.tokioProcessCommandEnvClear(that: this, ); + + +/// Returns the boolean value that was previously set by [`Command::kill_on_drop`]. +/// +/// Note that if you have not previously called [`Command::kill_on_drop`], the +/// default value of `false` will be returned here. +/// +/// # Examples +/// +/// ``` +/// use tokio::process::Command; +/// +/// let mut cmd = Command::new("echo"); +/// assert!(!cmd.get_kill_on_drop()); +/// +/// cmd.kill_on_drop(true); +/// assert!(cmd.get_kill_on_drop()); +/// ``` + Future getKillOnDrop()=>RustLib.instance.api.tokioProcessCommandGetKillOnDrop(that: this, ); + + +/// Similar to `uid` but sets the group ID of the child process. This has +/// the same semantics as the `uid` field. + Future gid({required int id })=>RustLib.instance.api.tokioProcessCommandGid(that: this, id: id); + + +/// Cheaply convert into a `std::process::Command`. +/// +/// Note that Tokio specific options will be lost. Currently, this only applies to [`kill_on_drop`]. +/// +/// [`kill_on_drop`]: Command::kill_on_drop + Future intoStd()=>RustLib.instance.api.tokioProcessCommandIntoStd(that: this, ); + + +/// Controls whether a `kill` operation should be invoked on a spawned child +/// process when its corresponding `Child` handle is dropped. +/// +/// By default, this value is assumed to be `false`, meaning the next spawned +/// process will not be killed on drop, similar to the behavior of the standard +/// library. +/// +/// # Caveats +/// +/// On Unix platforms processes must be "reaped" by their parent process after +/// they have exited in order to release all OS resources. A child process which +/// has exited, but has not yet been reaped by its parent is considered a "zombie" +/// process. Such processes continue to count against limits imposed by the system, +/// and having too many zombie processes present can prevent additional processes +/// from being spawned. +/// +/// Although issuing a `kill` signal to the child process is a synchronous +/// operation, the resulting zombie process cannot be `.await`ed inside of the +/// destructor to avoid blocking other tasks. The tokio runtime will, on a +/// best-effort basis, attempt to reap and clean up such processes in the +/// background, but no additional guarantees are made with regard to +/// how quickly or how often this procedure will take place. +/// +/// If stronger guarantees are required, it is recommended to avoid dropping +/// a [`Child`] handle where possible, and instead utilize `child.wait().await` +/// or `child.kill().await` where possible. + Future killOnDrop({required bool killOnDrop })=>RustLib.instance.api.tokioProcessCommandKillOnDrop(that: this, killOnDrop: killOnDrop); + + +/// Sets the process group ID (PGID) of the child process. Equivalent to a +/// `setpgid` call in the child process, but may be more efficient. +/// +/// Process groups determine which processes receive signals. +/// +/// # Examples +/// +/// Pressing Ctrl-C in a terminal will send `SIGINT` to all processes +/// in the current foreground process group. By spawning the `sleep` +/// subprocess in a new process group, it will not receive `SIGINT` +/// from the terminal. +/// +/// The parent process could install a [signal handler] and manage the +/// process on its own terms. +/// +/// A process group ID of 0 will use the process ID as the PGID. +/// +/// ```no_run +/// # async fn test() { // allow using await +/// use tokio::process::Command; +/// +/// let output = Command::new("sleep") +/// .arg("10") +/// .process_group(0) +/// .output() +/// .await +/// .unwrap(); +/// # } +/// ``` +/// +/// [signal handler]: crate::signal + Future processGroup({required int pgroup })=>RustLib.instance.api.tokioProcessCommandProcessGroup(that: this, pgroup: pgroup); + + +/// Executes the command as a child process, returning a handle to it. +/// +/// By default, stdin, stdout and stderr are inherited from the parent. +/// +/// This method will spawn the child process synchronously and return a +/// handle to a future-aware child process. The `Child` returned implements +/// `Future` itself to acquire the `ExitStatus` of the child, and otherwise +/// the `Child` has methods to acquire handles to the stdin, stdout, and +/// stderr streams. +/// +/// All I/O this child does will be associated with the current default +/// event loop. +/// +/// # Examples +/// +/// Basic usage: +/// +/// ```no_run +/// use tokio::process::Command; +/// +/// async fn run_ls() -> std::process::ExitStatus { +/// Command::new("ls") +/// .spawn() +/// .expect("ls command failed to start") +/// .wait() +/// .await +/// .expect("ls command failed to run") +/// } +/// ``` +/// +/// # Caveats +/// +/// ## Dropping/Cancellation +/// +/// Similar to the behavior to the standard library, and unlike the futures +/// paradigm of dropping-implies-cancellation, a spawned process will, by +/// default, continue to execute even after the `Child` handle has been dropped. +/// +/// The [`Command::kill_on_drop`] method can be used to modify this behavior +/// and kill the child process if the `Child` wrapper is dropped before it +/// has exited. +/// +/// ## Unix Processes +/// +/// On Unix platforms processes must be "reaped" by their parent process after +/// they have exited in order to release all OS resources. A child process which +/// has exited, but has not yet been reaped by its parent is considered a "zombie" +/// process. Such processes continue to count against limits imposed by the system, +/// and having too many zombie processes present can prevent additional processes +/// from being spawned. +/// +/// The tokio runtime will, on a best-effort basis, attempt to reap and clean up +/// any process which it has spawned. No additional guarantees are made with regard to +/// how quickly or how often this procedure will take place. +/// +/// It is recommended to avoid dropping a [`Child`] process handle before it has been +/// fully `await`ed if stricter cleanup guarantees are required. +/// +/// [`Command`]: crate::process::Command +/// [`Command::kill_on_drop`]: crate::process::Command::kill_on_drop +/// [`Child`]: crate::process::Child +/// +/// # Errors +/// +/// On Unix platforms this method will fail with `std::io::ErrorKind::WouldBlock` +/// if the system process limit is reached (which includes other applications +/// running on the system). + Future spawn()=>RustLib.instance.api.tokioProcessCommandSpawn(that: this, ); + + +/// Sets the child process's user ID. This translates to a +/// `setuid` call in the child process. Failure in the `setuid` +/// call will cause the spawn to fail. + Future uid({required int id })=>RustLib.instance.api.tokioProcessCommandUid(that: this, id: id); + + + } + @sealed class ContextImpl extends RustOpaque implements Context { + // Not to be used by end users + ContextImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ContextImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Context, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Context, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ContextPtr, + ); + + + } + @sealed class DocumentItemImpl extends RustOpaque implements DocumentItem { + // Not to be used by end users + DocumentItemImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + DocumentItemImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_DocumentItem, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_DocumentItem, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_DocumentItemPtr, + ); + + + } + @sealed class DuplexStreamImpl extends RustOpaque implements DuplexStream { + // Not to be used by end users + DuplexStreamImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + DuplexStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_DuplexStream, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_DuplexStream, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_DuplexStreamPtr, + ); + + + } + @sealed class EmptyImpl extends RustOpaque implements Empty { + // Not to be used by end users + EmptyImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + EmptyImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Empty, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Empty, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_EmptyPtr, + ); + + + } + @sealed class EnterGuardImpl extends RustOpaque implements EnterGuard { + // Not to be used by end users + EnterGuardImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + EnterGuardImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_EnterGuard, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_EnterGuard, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_EnterGuardPtr, + ); + + + } + @sealed class ErrorImpl extends RustOpaque implements Error { + // Not to be used by end users + ErrorImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Error, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Error, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ErrorPtr, + ); + + /// Returns `true` if the error was caused by the timer being at capacity. + Future isAtCapacity()=>RustLib.instance.api.tokioTimeErrorErrorIsAtCapacity(that: this, ); + + +/// Returns `true` if the error was caused by the timer being misconfigured. + Future isInvalid()=>RustLib.instance.api.tokioTimeErrorErrorIsInvalid(that: this, ); + + +/// Returns `true` if the error was caused by the timer being shutdown. + Future isShutdown()=>RustLib.instance.api.tokioTimeErrorErrorIsShutdown(that: this, ); + + + } + @sealed class ExitStatusImpl extends RustOpaque implements ExitStatus { + // Not to be used by end users + ExitStatusImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ExitStatusImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ExitStatus, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ExitStatus, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ExitStatusPtr, + ); + + + } + @sealed class FacetFieldImpl extends RustOpaque implements FacetField { + // Not to be used by end users + FacetFieldImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + FacetFieldImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FacetField, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FacetField, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FacetFieldPtr, + ); + + ValueType get max=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorGetMax(that: this, ); + + + ValueType get min=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorGetMin(that: this, ); + + + String get name=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorGetName(that: this, ); + + + IndexMapStringVecStringUsize get values=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorGetValues(that: this, ); + + + set max(ValueType max)=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorSetMax(that: this, max: max); + + + set min(ValueType min)=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorSetMin(that: this, min: min); + + + set name(String name)=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorSetName(that: this, name: name); + + + set values(IndexMapStringVecStringUsize values)=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorSetValues(that: this, values: values); + + + } + @sealed class FacetFilterImpl extends RustOpaque implements FacetFilter { + // Not to be used by end users + FacetFilterImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + FacetFilterImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FacetFilter, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FacetFilter, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FacetFilterPtr, + ); + + + } + @sealed class FacetValueImpl extends RustOpaque implements FacetValue { + // Not to be used by end users + FacetValueImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + FacetValueImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FacetValue, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FacetValue, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FacetValuePtr, + ); + + + } + @sealed class FileImpl extends RustOpaque implements File { + // Not to be used by end users + FileImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + FileImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_File, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_File, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FilePtr, + ); + + + } + @sealed class FileTypeImpl extends RustOpaque implements FileType { + // Not to be used by end users + FileTypeImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + FileTypeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FileType, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FileType, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FileTypePtr, + ); + + + } + @sealed class FillBufSelfImpl extends RustOpaque implements FillBufSelf { + // Not to be used by end users + FillBufSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + FillBufSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FillBufSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FillBufSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FillBufSelfPtr, + ); + + + } + @sealed class FlushSelfImpl extends RustOpaque implements FlushSelf { + // Not to be used by end users + FlushSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + FlushSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FlushSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FlushSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FlushSelfPtr, + ); + + + } + @sealed class FrequentwordTypeImpl extends RustOpaque implements FrequentwordType { + // Not to be used by end users + FrequentwordTypeImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + FrequentwordTypeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FrequentwordType, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FrequentwordType, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FrequentwordTypePtr, + ); + + + } + @sealed class GidTImpl extends RustOpaque implements GidT { + // Not to be used by end users + GidTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + GidTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_GidT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_GidT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_GidTPtr, + ); + + + } + @sealed class HandleImpl extends RustOpaque implements Handle { + // Not to be used by end users + HandleImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + HandleImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Handle, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Handle, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_HandlePtr, + ); + + /// Enters the runtime context. This allows you to construct types that must +/// have an executor available on creation such as [`Sleep`] or +/// [`TcpStream`]. It will also allow you to call methods such as +/// [`tokio::spawn`] and [`Handle::current`] without panicking. +/// +/// # Panics +/// +/// When calling `Handle::enter` multiple times, the returned guards +/// **must** be dropped in the reverse order that they were acquired. +/// Failure to do so will result in a panic and possible memory leaks. +/// +/// # Examples +/// +/// ``` +/// # #[cfg(not(target_family = "wasm"))] +/// # { +/// use tokio::runtime::Runtime; +/// +/// let rt = Runtime::new().unwrap(); +/// +/// let _guard = rt.enter(); +/// tokio::spawn(async { +/// println!("Hello world!"); +/// }); +/// # } +/// ``` +/// +/// Do **not** do the following, this shows a scenario that will result in a +/// panic and possible memory leak. +/// +/// ```should_panic,ignore-wasm +/// use tokio::runtime::Runtime; +/// +/// let rt1 = Runtime::new().unwrap(); +/// let rt2 = Runtime::new().unwrap(); +/// +/// let enter1 = rt1.enter(); +/// let enter2 = rt2.enter(); +/// +/// drop(enter1); +/// drop(enter2); +/// ``` +/// +/// [`Sleep`]: struct@crate::time::Sleep +/// [`TcpStream`]: struct@crate::net::TcpStream +/// [`tokio::spawn`]: fn@crate::spawn + Future enter()=>RustLib.instance.api.tokioRuntimeHandleEnter(that: this, ); + + +/// Returns the [`Id`] of the current `Runtime`. +/// +/// # Examples +/// +/// ``` +/// use tokio::runtime::Handle; +/// +/// #[tokio::main(flavor = "current_thread")] +/// async fn main() { +/// println!("Current runtime id: {}", Handle::current().id()); +/// } +/// ``` +/// +/// [`Id`]: struct@crate::runtime::Id + Future id()=>RustLib.instance.api.tokioRuntimeHandleId(that: this, ); + + +/// Returns a view that lets you get information about how the runtime +/// is performing. + Future metrics()=>RustLib.instance.api.tokioRuntimeHandleMetrics(that: this, ); + + +/// Returns the flavor of the current `Runtime`. +/// +/// # Examples +/// +/// ``` +/// use tokio::runtime::{Handle, RuntimeFlavor}; +/// +/// #[tokio::main(flavor = "current_thread")] +/// async fn main() { +/// assert_eq!(RuntimeFlavor::CurrentThread, Handle::current().runtime_flavor()); +/// } +/// ``` +/// +/// ``` +/// # #[cfg(not(target_family = "wasm"))] +/// # { +/// use tokio::runtime::{Handle, RuntimeFlavor}; +/// +/// #[tokio::main(flavor = "multi_thread", worker_threads = 4)] +/// async fn main() { +/// assert_eq!(RuntimeFlavor::MultiThread, Handle::current().runtime_flavor()); +/// } +/// # } +/// ``` + Future runtimeFlavor()=>RustLib.instance.api.tokioRuntimeHandleRuntimeFlavor(that: this, ); + + + } + @sealed class HighlighterImpl extends RustOpaque implements Highlighter { + // Not to be used by end users + HighlighterImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + HighlighterImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Highlighter, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Highlighter, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_HighlighterPtr, + ); + + + } + @sealed class IdImpl extends RustOpaque implements Id { + // Not to be used by end users + IdImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + IdImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Id, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Id, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IdPtr, + ); + + + } + @sealed class IndexImpl extends RustOpaque implements Index { + // Not to be used by end users + IndexImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + IndexImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Index, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Index, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IndexPtr, + ); + + /// Add/append/update/merge synonyms in index +/// Affects only subsequently indexed documents + Future addSynonyms({required List synonyms })=>RustLib.instance.api.seekstormIndexIndexAddSynonyms(that: this, synonyms: synonyms); + + + int get indexFormatVersionMajor=>RustLib.instance.api.seekstormIndexIndexAutoAccessorGetIndexFormatVersionMajor(that: this, ); + + + int get indexFormatVersionMinor=>RustLib.instance.api.seekstormIndexIndexAutoAccessorGetIndexFormatVersionMinor(that: this, ); + + + IndexMetaObject get meta=>RustLib.instance.api.seekstormIndexIndexAutoAccessorGetMeta(that: this, ); + + + Map get schemaMap=>RustLib.instance.api.seekstormIndexIndexAutoAccessorGetSchemaMap(that: this, ); + + + List get storedFieldNames=>RustLib.instance.api.seekstormIndexIndexAutoAccessorGetStoredFieldNames(that: this, ); + + + set indexFormatVersionMajor(int indexFormatVersionMajor)=>RustLib.instance.api.seekstormIndexIndexAutoAccessorSetIndexFormatVersionMajor(that: this, indexFormatVersionMajor: indexFormatVersionMajor); + + + set indexFormatVersionMinor(int indexFormatVersionMinor)=>RustLib.instance.api.seekstormIndexIndexAutoAccessorSetIndexFormatVersionMinor(that: this, indexFormatVersionMinor: indexFormatVersionMinor); + + + set meta(IndexMetaObject meta)=>RustLib.instance.api.seekstormIndexIndexAutoAccessorSetMeta(that: this, meta: meta); + + + set schemaMap(Map schemaMap)=>RustLib.instance.api.seekstormIndexIndexAutoAccessorSetSchemaMap(that: this, schemaMap: schemaMap); + + + set storedFieldNames(List storedFieldNames)=>RustLib.instance.api.seekstormIndexIndexAutoAccessorSetStoredFieldNames(that: this, storedFieldNames: storedFieldNames); + + +/// Reset index to empty, while maintaining schema + Future clearIndex()=>RustLib.instance.api.seekstormIndexIndexClearIndex(that: this, ); + + +/// Get number of indexed documents. + Future committedDocCount()=>RustLib.instance.api.seekstormIndexIndexCommittedDocCount(that: this, ); + + +/// Current document count: indexed document count - deleted document count + Future currentDocCount()=>RustLib.instance.api.seekstormIndexIndexCurrentDocCount(that: this, ); + + +/// Delete index from disc and ram + Future deleteIndex()=>RustLib.instance.api.seekstormIndexIndexDeleteIndex(that: this, ); + + +/// Get number of facets defined in the index schema. + Future facetsCount()=>RustLib.instance.api.seekstormIndexIndexFacetsCount(that: this, ); + + +/// Get document for document id +/// Arguments: +/// * `doc_id`: Specifies which document to load from the document store of the index. +/// * `include_uncommited`: Return also documents which have not yet been committed. +/// * `highlighter_option`: Specifies the extraction of keyword-in-context (KWIC) fragments from fields in documents, and the highlighting of the query terms within. +/// * `fields`: Specifies which of the stored fields to return with each document. Default: If empty return all stored fields +/// * `distance_fields`: insert distance fields into result documents, calculating the distance between a specified facet field of type Point and a base Point, in kilometers or miles. +/// using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. + Future> getDocument({required BigInt docId , required bool includeUncommited , Highlighter? highlighterOption , required Set fields , required List distanceFields })=>RustLib.instance.api.seekstormIndexIndexGetDocument(that: this, docId: docId, includeUncommited: includeUncommited, highlighterOption: highlighterOption, fields: fields, distanceFields: distanceFields); + + +/// get_facet_value: Returns value from facet field for a doc_id even if schema stored=false (field not stored in document JSON). +/// Facet fields are more compact than fields stored in document JSON. +/// Strings are stored more compact as indices to a unique term dictionary. Numbers are stored binary, not as strings. +/// Facet fields are faster because no document loading, decompression and JSON decoding is required. +/// Facet fields are always memory mapped, internally always stored with fixed byte length layout, regardless of string size. + Future getFacetValue({required String field , required BigInt docId })=>RustLib.instance.api.seekstormIndexIndexGetFacetValue(that: this, field: field, docId: docId); + + +/// Get file for document id +/// Arguments: +/// * `doc_id`: Specifies which document to load from the document store of the index. +/// +/// Returns: +/// * `Vec`: The file content as a byte vector. +/// + Future getFile({required BigInt docId })=>RustLib.instance.api.seekstormIndexIndexGetFile(that: this, docId: docId); + + +/// get_index_string_facets: list of string facet fields, each with field name and a map of unique values and their count (number of times the specific value appears in the whole index). +/// values are sorted by their occurrence count within all indexed documents in descending order +/// * `query_facets`: Must be set if facet fields should be returned in get_index_facets. If set to Vec::new() then no facet fields are returned. +/// The prefix property of a QueryFacet allows to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. +/// The length property of a QueryFacet allows limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. +/// If the length property of a QueryFacet is set to 0 then no facet values for that facet are returned. +/// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. +/// Example: query_facets = vec![QueryFacet::String16 {field: "language".to_string(),prefix: "ger".to_string(),length: 5},QueryFacet::String16 {field: "brand".to_string(),prefix: "a".to_string(),length: 5}]; + Future getIndexStringFacets({required List queryFacets })=>RustLib.instance.api.seekstormIndexIndexGetIndexStringFacets(that: this, queryFacets: queryFacets); + + +/// Get synonyms from index + Future> getSynonyms()=>RustLib.instance.api.seekstormIndexIndexGetSynonyms(that: this, ); + + +/// get_index_facets_minmax: return map of numeric facet fields, each with field name and min/max values. + Future> indexFacetsMinmax()=>RustLib.instance.api.seekstormIndexIndexIndexFacetsMinmax(that: this, ); + + +/// Get number of indexed documents. + Future indexedDocCount()=>RustLib.instance.api.seekstormIndexIndexIndexedDocCount(that: this, ); + + +/// Get number of index levels. One index level comprises 64K documents. + Future levelCount()=>RustLib.instance.api.seekstormIndexIndexLevelCount(that: this, ); + + +/// Set/replace/overwrite synonyms in index +/// Affects only subsequently indexed documents + Future setSynonyms({required List synonyms })=>RustLib.instance.api.seekstormIndexIndexSetSynonyms(that: this, synonyms: synonyms); + + +/// Get number of index shards. + Future shardCount()=>RustLib.instance.api.seekstormIndexIndexShardCount(that: this, ); + + +/// are there uncommited documents? + Future uncommittedDocCount()=>RustLib.instance.api.seekstormIndexIndexUncommittedDocCount(that: this, ); + + + } + @sealed class IndexMapStringVecStringUsizeImpl extends RustOpaque implements IndexMapStringVecStringUsize { + // Not to be used by end users + IndexMapStringVecStringUsizeImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + IndexMapStringVecStringUsizeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_IndexMapStringVecStringUsize, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_IndexMapStringVecStringUsize, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IndexMapStringVecStringUsizePtr, + ); + + + } + @sealed class IndexMetaObjectImpl extends RustOpaque implements IndexMetaObject { + // Not to be used by end users + IndexMetaObjectImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + IndexMetaObjectImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_IndexMetaObject, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_IndexMetaObject, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IndexMetaObjectPtr, + ); + + AccessType get accessType=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetAccessType(that: this, ); + + + FrequentwordType get frequentWords=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetFrequentWords(that: this, ); + + + BigInt get id=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetId(that: this, ); + + + String get name=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetName(that: this, ); + + + int get ngramIndexing=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetNgramIndexing(that: this, ); + + + QueryCompletion? get queryCompletion=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetQueryCompletion(that: this, ); + + + SimilarityType get similarity=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetSimilarity(that: this, ); + + + SpellingCorrection? get spellingCorrection=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetSpellingCorrection(that: this, ); + + + StemmerType get stemmer=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetStemmer(that: this, ); + + + StopwordType get stopWords=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetStopWords(that: this, ); + + + TokenizerType get tokenizer=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetTokenizer(that: this, ); + + + set accessType(AccessType accessType)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetAccessType(that: this, accessType: accessType); + + + set frequentWords(FrequentwordType frequentWords)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetFrequentWords(that: this, frequentWords: frequentWords); + + + set id(BigInt id)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetId(that: this, id: id); + + + set name(String name)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetName(that: this, name: name); + + + set ngramIndexing(int ngramIndexing)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetNgramIndexing(that: this, ngramIndexing: ngramIndexing); + + + set queryCompletion(QueryCompletion? queryCompletion)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetQueryCompletion(that: this, queryCompletion: queryCompletion); + + + set similarity(SimilarityType similarity)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetSimilarity(that: this, similarity: similarity); + + + set spellingCorrection(SpellingCorrection? spellingCorrection)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetSpellingCorrection(that: this, spellingCorrection: spellingCorrection); + + + set stemmer(StemmerType stemmer)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetStemmer(that: this, stemmer: stemmer); + + + set stopWords(StopwordType stopWords)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetStopWords(that: this, stopWords: stopWords); + + + set tokenizer(TokenizerType tokenizer)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetTokenizer(that: this, tokenizer: tokenizer); + + + } + @sealed class InstantImpl extends RustOpaque implements Instant { + // Not to be used by end users + InstantImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + InstantImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Instant, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Instant, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_InstantPtr, + ); + + + } + @sealed class InterestImpl extends RustOpaque implements Interest { + // Not to be used by end users + InterestImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + InterestImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Interest, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Interest, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_InterestPtr, + ); + + /// Add together two `Interest` values. +/// +/// This function works from a `const` context. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Interest; +/// +/// const BOTH: Interest = Interest::READABLE.add(Interest::WRITABLE); +/// +/// assert!(BOTH.is_readable()); +/// assert!(BOTH.is_writable()); + Future add({required Interest other })=>RustLib.instance.api.tokioIoInterestAdd(that: this, other: other); + + +/// Returns true if the value includes error interest. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Interest; +/// +/// assert!(Interest::ERROR.is_error()); +/// assert!(!Interest::WRITABLE.is_error()); +/// +/// let combined = Interest::READABLE | Interest::ERROR; +/// assert!(combined.is_error()); +/// ``` + Future isError()=>RustLib.instance.api.tokioIoInterestIsError(that: this, ); + + +/// Returns true if the value includes readable interest. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Interest; +/// +/// assert!(Interest::READABLE.is_readable()); +/// assert!(!Interest::WRITABLE.is_readable()); +/// +/// let both = Interest::READABLE | Interest::WRITABLE; +/// assert!(both.is_readable()); +/// ``` + Future isReadable()=>RustLib.instance.api.tokioIoInterestIsReadable(that: this, ); + + +/// Returns true if the value includes writable interest. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Interest; +/// +/// assert!(!Interest::READABLE.is_writable()); +/// assert!(Interest::WRITABLE.is_writable()); +/// +/// let both = Interest::READABLE | Interest::WRITABLE; +/// assert!(both.is_writable()); +/// ``` + Future isWritable()=>RustLib.instance.api.tokioIoInterestIsWritable(that: this, ); + + +/// Remove `Interest` from `self`. +/// +/// Interests present in `other` but *not* in `self` are ignored. +/// +/// Returns `None` if the set would be empty after removing `Interest`. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Interest; +/// +/// const RW_INTEREST: Interest = Interest::READABLE.add(Interest::WRITABLE); +/// +/// let w_interest = RW_INTEREST.remove(Interest::READABLE).unwrap(); +/// assert!(!w_interest.is_readable()); +/// assert!(w_interest.is_writable()); +/// +/// // Removing all interests from the set returns `None`. +/// assert_eq!(w_interest.remove(Interest::WRITABLE), None); +/// +/// // Remove all interests at once. +/// assert_eq!(RW_INTEREST.remove(RW_INTEREST), None); +/// ``` + Future remove({required Interest other })=>RustLib.instance.api.tokioIoInterestRemove(that: this, other: other); + + + } + @sealed class IntervalImpl extends RustOpaque implements Interval { + // Not to be used by end users + IntervalImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + IntervalImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Interval, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Interval, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IntervalPtr, + ); + + /// Returns the [`MissedTickBehavior`] strategy currently being used. + Future missedTickBehavior()=>RustLib.instance.api.tokioTimeIntervalMissedTickBehavior(that: this, ); + + +/// Returns the period of the interval. + Future period()=>RustLib.instance.api.tokioTimeIntervalPeriod(that: this, ); + + +/// Polls for the next instant in the interval to be reached. +/// +/// This method can return the following values: +/// +/// * `Poll::Pending` if the next instant has not yet been reached. +/// * `Poll::Ready(instant)` if the next instant has been reached. +/// +/// When this method returns `Poll::Pending`, the current task is scheduled +/// to receive a wakeup when the instant has elapsed. Note that on multiple +/// calls to `poll_tick`, only the [`Waker`](std::task::Waker) from the +/// [`Context`] passed to the most recent call is scheduled to receive a +/// wakeup. + Future pollTick({required Context cx })=>RustLib.instance.api.tokioTimeIntervalPollTick(that: this, cx: cx); + + +/// Resets the interval to complete one period after the current time. +/// +/// This method ignores [`MissedTickBehavior`] strategy. +/// +/// This is equivalent to calling `reset_at(Instant::now() + period)`. +/// +/// # Examples +/// +/// ``` +/// use tokio::time; +/// +/// use std::time::Duration; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut interval = time::interval(Duration::from_millis(100)); +/// +/// interval.tick().await; +/// +/// time::sleep(Duration::from_millis(50)).await; +/// interval.reset(); +/// +/// interval.tick().await; +/// interval.tick().await; +/// +/// // approximately 250ms have elapsed. +/// # } +/// ``` + Future reset()=>RustLib.instance.api.tokioTimeIntervalReset(that: this, ); + + +/// Resets the interval after the specified [`std::time::Duration`]. +/// +/// This method ignores [`MissedTickBehavior`] strategy. +/// +/// This is equivalent to calling `reset_at(Instant::now() + after)`. +/// +/// # Examples +/// +/// ``` +/// use tokio::time; +/// +/// use std::time::Duration; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut interval = time::interval(Duration::from_millis(100)); +/// interval.tick().await; +/// +/// time::sleep(Duration::from_millis(50)).await; +/// +/// let after = Duration::from_millis(20); +/// interval.reset_after(after); +/// +/// interval.tick().await; +/// interval.tick().await; +/// +/// // approximately 170ms have elapsed. +/// # } +/// ``` + Future resetAfter({required Duration after })=>RustLib.instance.api.tokioTimeIntervalResetAfter(that: this, after: after); + + +/// Resets the interval to a [`crate::time::Instant`] deadline. +/// +/// Sets the next tick to expire at the given instant. If the instant is in +/// the past, then the [`MissedTickBehavior`] strategy will be used to +/// catch up. If the instant is in the future, then the next tick will +/// complete at the given instant, even if that means that it will sleep for +/// longer than the duration of this [`Interval`]. If the [`Interval`] had +/// any missed ticks before calling this method, then those are discarded. +/// +/// # Examples +/// +/// ``` +/// use tokio::time::{self, Instant}; +/// +/// use std::time::Duration; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut interval = time::interval(Duration::from_millis(100)); +/// interval.tick().await; +/// +/// time::sleep(Duration::from_millis(50)).await; +/// +/// let deadline = Instant::now() + Duration::from_millis(30); +/// interval.reset_at(deadline); +/// +/// interval.tick().await; +/// interval.tick().await; +/// +/// // approximately 180ms have elapsed. +/// # } +/// ``` + Future resetAt({required Instant deadline })=>RustLib.instance.api.tokioTimeIntervalResetAt(that: this, deadline: deadline); + + +/// Resets the interval immediately. +/// +/// This method ignores [`MissedTickBehavior`] strategy. +/// +/// This is equivalent to calling `reset_at(Instant::now())`. +/// +/// # Examples +/// +/// ``` +/// use tokio::time; +/// +/// use std::time::Duration; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut interval = time::interval(Duration::from_millis(100)); +/// +/// interval.tick().await; +/// +/// time::sleep(Duration::from_millis(50)).await; +/// interval.reset_immediately(); +/// +/// interval.tick().await; +/// interval.tick().await; +/// +/// // approximately 150ms have elapsed. +/// # } +/// ``` + Future resetImmediately()=>RustLib.instance.api.tokioTimeIntervalResetImmediately(that: this, ); + + +/// Sets the [`MissedTickBehavior`] strategy that should be used. + Future setMissedTickBehavior({required MissedTickBehavior behavior })=>RustLib.instance.api.tokioTimeIntervalSetMissedTickBehavior(that: this, behavior: behavior); + + +/// Completes when the next instant in the interval has been reached. +/// +/// # Cancel safety +/// +/// This method is cancellation safe. If `tick` is used as the branch in a `tokio::select!` and +/// another branch completes first, then no tick has been consumed. +/// +/// # Examples +/// +/// ``` +/// use tokio::time; +/// +/// use std::time::Duration; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut interval = time::interval(Duration::from_millis(10)); +/// +/// interval.tick().await; +/// // approximately 0ms have elapsed. The first tick completes immediately. +/// interval.tick().await; +/// interval.tick().await; +/// +/// // approximately 20ms have elapsed. +/// # } +/// ``` + Future tick()=>RustLib.instance.api.tokioTimeIntervalTick(that: this, ); + + + } + @sealed class IoSliceImpl extends RustOpaque implements IoSlice { + // Not to be used by end users + IoSliceImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + IoSliceImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_IoSlice, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_IoSlice, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IoSlicePtr, + ); + + + } + @sealed class IoSliceMutImpl extends RustOpaque implements IoSliceMut { + // Not to be used by end users + IoSliceMutImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + IoSliceMutImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_IoSliceMut, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_IoSliceMut, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IoSliceMutPtr, + ); + + + } + @sealed class Ipv4AddrImpl extends RustOpaque implements Ipv4Addr { + // Not to be used by end users + Ipv4AddrImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + Ipv4AddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Ipv4Addr, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Ipv4Addr, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_Ipv4AddrPtr, + ); + + + } + @sealed class Ipv6AddrImpl extends RustOpaque implements Ipv6Addr { + // Not to be used by end users + Ipv6AddrImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + Ipv6AddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Ipv6Addr, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Ipv6Addr, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_Ipv6AddrPtr, + ); + + + } + @sealed class LinesSelfImpl extends RustOpaque implements LinesSelf { + // Not to be used by end users + LinesSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + LinesSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_LinesSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_LinesSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_LinesSelfPtr, + ); + + + } + @sealed class LocalEnterGuardImpl extends RustOpaque implements LocalEnterGuard { + // Not to be used by end users + LocalEnterGuardImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + LocalEnterGuardImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_LocalEnterGuard, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_LocalEnterGuard, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_LocalEnterGuardPtr, + ); + + + } + @sealed class LocalSetImpl extends RustOpaque implements LocalSet { + // Not to be used by end users + LocalSetImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + LocalSetImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_LocalSet, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_LocalSet, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_LocalSetPtr, + ); + + /// Enters the context of this `LocalSet`. +/// +/// The [`spawn_local`] method will spawn tasks on the `LocalSet` whose +/// context you are inside. +/// +/// [`spawn_local`]: fn@crate::task::spawn_local + Future enter()=>RustLib.instance.api.tokioTaskLocalSetEnter(that: this, ); + + +/// Returns the [`Id`] of the current [`LocalSet`] runtime. +/// +/// # Examples +/// +/// ```rust +/// use tokio::task; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let local_set = task::LocalSet::new(); +/// println!("Local set id: {}", local_set.id()); +/// # } +/// ``` +/// +/// [`Id`]: struct@crate::runtime::Id + Future id()=>RustLib.instance.api.tokioTaskLocalSetId(that: this, ); + + + } + @sealed class MinMaxFieldImpl extends RustOpaque implements MinMaxField { + // Not to be used by end users + MinMaxFieldImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + MinMaxFieldImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_MinMaxField, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_MinMaxField, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_MinMaxFieldPtr, + ); + + ValueType get max=>RustLib.instance.api.seekstormIndexMinMaxFieldAutoAccessorGetMax(that: this, ); + + + ValueType get min=>RustLib.instance.api.seekstormIndexMinMaxFieldAutoAccessorGetMin(that: this, ); + + + set max(ValueType max)=>RustLib.instance.api.seekstormIndexMinMaxFieldAutoAccessorSetMax(that: this, max: max); + + + set min(ValueType min)=>RustLib.instance.api.seekstormIndexMinMaxFieldAutoAccessorSetMin(that: this, min: min); + + + } + @sealed class MinMaxFieldJsonImpl extends RustOpaque implements MinMaxFieldJson { + // Not to be used by end users + MinMaxFieldJsonImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + MinMaxFieldJsonImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_MinMaxFieldJson, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_MinMaxFieldJson, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_MinMaxFieldJsonPtr, + ); + + Value get max=>RustLib.instance.api.seekstormIndexMinMaxFieldJsonAutoAccessorGetMax(that: this, ); + + + Value get min=>RustLib.instance.api.seekstormIndexMinMaxFieldJsonAutoAccessorGetMin(that: this, ); + + + set max(Value max)=>RustLib.instance.api.seekstormIndexMinMaxFieldJsonAutoAccessorSetMax(that: this, max: max); + + + set min(Value min)=>RustLib.instance.api.seekstormIndexMinMaxFieldJsonAutoAccessorSetMin(that: this, min: min); + + + } + @sealed class NotifiedImpl extends RustOpaque implements Notified { + // Not to be used by end users + NotifiedImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + NotifiedImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Notified, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Notified, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_NotifiedPtr, + ); + + + } + @sealed class NotifyImpl extends RustOpaque implements Notify { + // Not to be used by end users + NotifyImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + NotifyImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Notify, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Notify, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_NotifyPtr, + ); + + /// Wait for a notification. +/// +/// Equivalent to: +/// +/// ```ignore +/// async fn notified(&self); +/// ``` +/// +/// Each `Notify` value holds a single permit. If a permit is available from +/// an earlier call to [`notify_one()`], then `notified().await` will complete +/// immediately, consuming that permit. Otherwise, `notified().await` waits +/// for a permit to be made available by the next call to `notify_one()`. +/// +/// The `Notified` future is not guaranteed to receive wakeups from calls to +/// `notify_one()` if it has not yet been polled. See the documentation for +/// [`Notified::enable()`] for more details. +/// +/// The `Notified` future is guaranteed to receive wakeups from +/// `notify_waiters()` as soon as it has been created, even if it has not +/// yet been polled. +/// +/// [`notify_one()`]: Notify::notify_one +/// [`Notified::enable()`]: Notified::enable +/// +/// # Cancel safety +/// +/// This method uses a queue to fairly distribute notifications in the order +/// they were requested. Cancelling a call to `notified` makes you lose your +/// place in the queue. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::Notify; +/// use std::sync::Arc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let notify = Arc::new(Notify::new()); +/// let notify2 = notify.clone(); +/// +/// tokio::spawn(async move { +/// notify2.notified().await; +/// println!("received notification"); +/// }); +/// +/// println!("sending notification"); +/// notify.notify_one(); +/// # } +/// ``` + Future notified()=>RustLib.instance.api.tokioSyncNotifyNotified(that: this, ); + + +/// Wait for a notification with an owned `Future`. +/// +/// Unlike [`Self::notified`] which returns a future tied to the `Notify`'s +/// lifetime, `notified_owned` creates a self-contained future that owns its +/// notification state, making it safe to move between threads. +/// +/// See [`Self::notified`] for more details. +/// +/// # Cancel safety +/// +/// This method uses a queue to fairly distribute notifications in the order +/// they were requested. Cancelling a call to `notified_owned` makes you lose your +/// place in the queue. +/// +/// # Examples +/// +/// ``` +/// use std::sync::Arc; +/// use tokio::sync::Notify; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let notify = Arc::new(Notify::new()); +/// +/// for _ in 0..10 { +/// let notified = notify.clone().notified_owned(); +/// tokio::spawn(async move { +/// notified.await; +/// println!("received notification"); +/// }); +/// } +/// +/// println!("sending notification"); +/// notify.notify_waiters(); +/// # } +/// ``` + Future notifiedOwned()=>RustLib.instance.api.tokioSyncNotifyNotifiedOwned(that: this, ); + + +/// Notifies the last waiting task. +/// +/// This function behaves similar to `notify_one`. The only difference is that it wakes +/// the most recently added waiter instead of the oldest waiter. +/// +/// Check the [`notify_one()`] documentation for more info and +/// examples. +/// +/// [`notify_one()`]: Notify::notify_one + Future notifyLast()=>RustLib.instance.api.tokioSyncNotifyNotifyLast(that: this, ); + + +/// Notifies the first waiting task. +/// +/// If a task is currently waiting, that task is notified. Otherwise, a +/// permit is stored in this `Notify` value and the **next** call to +/// [`notified().await`] will complete immediately consuming the permit made +/// available by this call to `notify_one()`. +/// +/// At most one permit may be stored by `Notify`. Many sequential calls to +/// `notify_one` will result in a single permit being stored. The next call to +/// `notified().await` will complete immediately, but the one after that +/// will wait. +/// +/// [`notified().await`]: Notify::notified() +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::Notify; +/// use std::sync::Arc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let notify = Arc::new(Notify::new()); +/// let notify2 = notify.clone(); +/// +/// tokio::spawn(async move { +/// notify2.notified().await; +/// println!("received notification"); +/// }); +/// +/// println!("sending notification"); +/// notify.notify_one(); +/// # } +/// ``` + Future notifyOne()=>RustLib.instance.api.tokioSyncNotifyNotifyOne(that: this, ); + + +/// Notifies all waiting tasks. +/// +/// If a task is currently waiting, that task is notified. Unlike with +/// `notify_one()`, no permit is stored to be used by the next call to +/// `notified().await`. The purpose of this method is to notify all +/// already registered waiters. Registering for notification is done by +/// acquiring an instance of the `Notified` future via calling `notified()`. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::Notify; +/// use std::sync::Arc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let notify = Arc::new(Notify::new()); +/// let notify2 = notify.clone(); +/// +/// let notified1 = notify.notified(); +/// let notified2 = notify.notified(); +/// +/// let handle = tokio::spawn(async move { +/// println!("sending notifications"); +/// notify2.notify_waiters(); +/// }); +/// +/// notified1.await; +/// notified2.await; +/// println!("received notifications"); +/// # } +/// ``` + Future notifyWaiters()=>RustLib.instance.api.tokioSyncNotifyNotifyWaiters(that: this, ); + + + } + @sealed class OpenOptionsImpl extends RustOpaque implements OpenOptions { + // Not to be used by end users + OpenOptionsImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + OpenOptionsImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OpenOptions, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OpenOptions, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OpenOptionsPtr, + ); + + /// Sets the option for the append mode. +/// +/// This option, when true, means that writes will append to a file instead +/// of overwriting previous contents. Note that setting +/// `.write(true).append(true)` has the same effect as setting only +/// `.append(true)`. +/// +/// For most filesystems, the operating system guarantees that all writes are +/// atomic: no writes get mangled because another process writes at the same +/// time. +/// +/// One maybe obvious note when using append-mode: make sure that all data +/// that belongs together is written to the file in one operation. This +/// can be done by concatenating strings before passing them to [`write()`], +/// or using a buffered writer (with a buffer of adequate size), +/// and calling [`flush()`] when the message is complete. +/// +/// If a file is opened with both read and append access, beware that after +/// opening, and after every write, the position for reading may be set at the +/// end of the file. So, before writing, save the current position (using +/// [`seek`]`(`[`SeekFrom`]`::`[`Current`]`(0))`), and restore it before the next read. +/// +/// This is an async version of [`std::fs::OpenOptions::append`][std] +/// +/// [std]: std::fs::OpenOptions::append +/// +/// ## Note +/// +/// This function doesn't create the file if it doesn't exist. Use the [`create`] +/// method to do so. +/// +/// [`write()`]: crate::io::AsyncWriteExt::write +/// [`flush()`]: crate::io::AsyncWriteExt::flush +/// [`seek`]: crate::io::AsyncSeekExt::seek +/// [`SeekFrom`]: std::io::SeekFrom +/// [`Current`]: std::io::SeekFrom::Current +/// [`create`]: OpenOptions::create +/// +/// # Examples +/// +/// ```no_run +/// use tokio::fs::OpenOptions; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let file = OpenOptions::new() +/// .append(true) +/// .open("foo.txt") +/// .await?; +/// +/// Ok(()) +/// } +/// ``` + Future append({required bool append })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsAppend(that: this, append: append); + + +/// Sets the option for creating a new file. +/// +/// This option indicates whether a new file will be created if the file +/// does not yet already exist. +/// +/// In order for the file to be created, [`write`] or [`append`] access must +/// be used. +/// +/// This is an async version of [`std::fs::OpenOptions::create`][std] +/// +/// [std]: std::fs::OpenOptions::create +/// [`write`]: OpenOptions::write +/// [`append`]: OpenOptions::append +/// +/// # Examples +/// +/// ```no_run +/// use tokio::fs::OpenOptions; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let file = OpenOptions::new() +/// .write(true) +/// .create(true) +/// .open("foo.txt") +/// .await?; +/// +/// Ok(()) +/// } +/// ``` + Future create({required bool create })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsCreate(that: this, create: create); + + +/// Sets the option to always create a new file. +/// +/// This option indicates whether a new file will be created. No file is +/// allowed to exist at the target location, also no (dangling) symlink. +/// +/// This option is useful because it is atomic. Otherwise between checking +/// whether a file exists and creating a new one, the file may have been +/// created by another process (a TOCTOU race condition / attack). +/// +/// If `.create_new(true)` is set, [`.create()`] and [`.truncate()`] are +/// ignored. +/// +/// The file must be opened with write or append access in order to create a +/// new file. +/// +/// This is an async version of [`std::fs::OpenOptions::create_new`][std] +/// +/// [std]: std::fs::OpenOptions::create_new +/// [`.create()`]: OpenOptions::create +/// [`.truncate()`]: OpenOptions::truncate +/// +/// # Examples +/// +/// ```no_run +/// use tokio::fs::OpenOptions; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let file = OpenOptions::new() +/// .write(true) +/// .create_new(true) +/// .open("foo.txt") +/// .await?; +/// +/// Ok(()) +/// } +/// ``` + Future createNew({required bool createNew })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsCreateNew(that: this, createNew: createNew); + + +/// Passes custom flags to the `flags` argument of `open`. +/// +/// The bits that define the access mode are masked out with `O_ACCMODE`, to +/// ensure they do not interfere with the access mode set by Rusts options. +/// +/// Custom flags can only set flags, not remove flags set by Rusts options. +/// This options overwrites any previously set custom flags. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::fs::OpenOptions; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let mut options = OpenOptions::new(); +/// options.write(true); +/// if cfg!(unix) { +/// options.custom_flags(libc::O_NOFOLLOW); +/// } +/// let file = options.open("foo.txt").await?; +/// +/// Ok(()) +/// } +/// ``` + Future customFlags({required int flags })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsCustomFlags(that: this, flags: flags); + + +/// Sets the mode bits that a new file will be created with. +/// +/// If a new file is created as part of an `OpenOptions::open` call then this +/// specified `mode` will be used as the permission bits for the new file. +/// If no `mode` is set, the default of `0o666` will be used. +/// The operating system masks out bits with the system's `umask`, to produce +/// the final permissions. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::fs::OpenOptions; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let mut options = OpenOptions::new(); +/// options.mode(0o644); // Give read/write for owner and read for others. +/// let file = options.open("foo.txt").await?; +/// +/// Ok(()) +/// } +/// ``` + Future mode({required int mode })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsMode(that: this, mode: mode); + + +/// Sets the option for read access. +/// +/// This option, when true, will indicate that the file should be +/// `read`-able if opened. +/// +/// This is an async version of [`std::fs::OpenOptions::read`][std] +/// +/// [std]: std::fs::OpenOptions::read +/// +/// # Examples +/// +/// ```no_run +/// use tokio::fs::OpenOptions; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let file = OpenOptions::new() +/// .read(true) +/// .open("foo.txt") +/// .await?; +/// +/// Ok(()) +/// } +/// ``` + Future read({required bool read })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsRead(that: this, read: read); + + +/// Sets the option for truncating a previous file. +/// +/// If a file is successfully opened with this option set it will truncate +/// the file to 0 length if it already exists. +/// +/// The file must be opened with write access for truncate to work. +/// +/// This is an async version of [`std::fs::OpenOptions::truncate`][std] +/// +/// [std]: std::fs::OpenOptions::truncate +/// +/// # Examples +/// +/// ```no_run +/// use tokio::fs::OpenOptions; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let file = OpenOptions::new() +/// .write(true) +/// .truncate(true) +/// .open("foo.txt") +/// .await?; +/// +/// Ok(()) +/// } +/// ``` + Future truncate({required bool truncate })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsTruncate(that: this, truncate: truncate); + + +/// Sets the option to skip the check for FIFO file type. +/// +/// By default, [`open_receiver`] and [`open_sender`] functions will check +/// if the opened file is a FIFO file. Set this option to `true` if you are +/// sure the file is a FIFO file. +/// +/// [`open_receiver`]: OpenOptions::open_receiver +/// [`open_sender`]: OpenOptions::open_sender +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::unix::pipe; +/// use nix::{unistd::mkfifo, sys::stat::Mode}; +/// # use std::error::Error; +/// +/// // Our program has exclusive access to this path. +/// const FIFO_NAME: &str = "path/to/a/new/fifo"; +/// +/// # async fn dox() -> Result<(), Box> { +/// mkfifo(FIFO_NAME, Mode::S_IRWXU)?; +/// let rx = pipe::OpenOptions::new() +/// .unchecked(true) +/// .open_receiver(FIFO_NAME)?; +/// # Ok(()) +/// # } +/// ``` + Future unchecked({required bool value })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsUnchecked(that: this, value: value); + + +/// Sets the option for write access. +/// +/// This option, when true, will indicate that the file should be +/// `write`-able if opened. +/// +/// This is an async version of [`std::fs::OpenOptions::write`][std] +/// +/// [std]: std::fs::OpenOptions::write +/// +/// # Examples +/// +/// ```no_run +/// use tokio::fs::OpenOptions; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let file = OpenOptions::new() +/// .write(true) +/// .open("foo.txt") +/// .await?; +/// +/// Ok(()) +/// } +/// ``` + Future write({required bool write })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsWrite(that: this, write: write); + + + } + @sealed class OrderingImpl extends RustOpaque implements Ordering { + // Not to be used by end users + OrderingImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + OrderingImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Ordering, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Ordering, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OrderingPtr, + ); + + + } + @sealed class OwnedFdImpl extends RustOpaque implements OwnedFd { + // Not to be used by end users + OwnedFdImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + OwnedFdImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedFd, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedFd, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedFdPtr, + ); + + + } + @sealed class OwnedNotifiedImpl extends RustOpaque implements OwnedNotified { + // Not to be used by end users + OwnedNotifiedImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + OwnedNotifiedImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedNotified, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedNotified, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedNotifiedPtr, + ); + + + } + @sealed class OwnedPermitTImpl extends RustOpaque implements OwnedPermitT { + // Not to be used by end users + OwnedPermitTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + OwnedPermitTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedPermitT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedPermitT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedPermitTPtr, + ); + + + } + @sealed class OwnedReadHalfImpl extends RustOpaque implements OwnedReadHalf { + // Not to be used by end users + OwnedReadHalfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + OwnedReadHalfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedReadHalf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedReadHalf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedReadHalfPtr, + ); + + /// Returns the local address that this stream is bound to. + Future localAddr()=>RustLib.instance.api.tokioNetTcpOwnedReadHalfLocalAddr(that: this, ); + + +/// Receives data on the socket from the remote address to which it is +/// connected, without removing that data from the queue. On success, +/// returns the number of bytes peeked. +/// +/// See the [`TcpStream::peek`] level documentation for more details. +/// +/// [`TcpStream::peek`]: TcpStream::peek +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// use tokio::io::AsyncReadExt; +/// use std::error::Error; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// let (mut read_half, _) = stream.into_split(); +/// +/// let mut b1 = [0; 10]; +/// let mut b2 = [0; 10]; +/// +/// // Peek at the data +/// let n = read_half.peek(&mut b1).await?; +/// +/// // Read the data +/// assert_eq!(n, read_half.read(&mut b2[..n]).await?); +/// assert_eq!(&b1[..n], &b2[..n]); +/// +/// Ok(()) +/// } +/// ``` +/// +/// The [`read`] method is defined on the [`AsyncReadExt`] trait. +/// +/// [`read`]: fn@crate::io::AsyncReadExt::read +/// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt + Future peek({required U8 buf })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfPeek(that: this, buf: buf); + + +/// Returns the remote address that this stream is connected to. + Future peerAddr()=>RustLib.instance.api.tokioNetTcpOwnedReadHalfPeerAddr(that: this, ); + + +/// Attempt to receive data on the socket, without removing that data from +/// the queue, registering the current task for wakeup if data is not yet +/// available. +/// +/// Note that on multiple calls to `poll_peek` or `poll_read`, only the +/// `Waker` from the `Context` passed to the most recent call is scheduled +/// to receive a wakeup. +/// +/// See the [`TcpStream::poll_peek`] level documentation for more details. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::io::{self, ReadBuf}; +/// use tokio::net::TcpStream; +/// +/// use std::future::poll_fn; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let stream = TcpStream::connect("127.0.0.1:8000").await?; +/// let (mut read_half, _) = stream.into_split(); +/// let mut buf = [0; 10]; +/// let mut buf = ReadBuf::new(&mut buf); +/// +/// poll_fn(|cx| { +/// read_half.poll_peek(cx, &mut buf) +/// }).await?; +/// +/// Ok(()) +/// } +/// ``` +/// +/// [`TcpStream::poll_peek`]: TcpStream::poll_peek + Future pollPeek({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfPollPeek(that: this, cx: cx, buf: buf); + + +/// Waits for the socket to become readable. +/// +/// This function is equivalent to `ready(Interest::READABLE)` and is usually +/// paired with `try_read()`. +/// +/// This function is also equivalent to [`TcpStream::ready`]. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read that fails with `WouldBlock` or +/// `Poll::Pending`. + Future readable()=>RustLib.instance.api.tokioNetTcpOwnedReadHalfReadable(that: this, ); + + +/// Waits for any of the requested ready states. +/// +/// This function is usually paired with [`try_read()`]. It can be used instead +/// of [`readable()`] to check the returned ready set for [`Ready::READABLE`] +/// and [`Ready::READ_CLOSED`] events. +/// +/// The function may complete without the socket being ready. This is a +/// false-positive and attempting an operation will return with +/// `io::ErrorKind::WouldBlock`. The function can also return with an empty +/// [`Ready`] set, so you should always check the returned value and possibly +/// wait again if the requested states are not set. +/// +/// This function is equivalent to [`TcpStream::ready`]. +/// +/// [`try_read()`]: Self::try_read +/// [`readable()`]: Self::readable +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read or write that fails with `WouldBlock` or +/// `Poll::Pending`. + Future ready({required Interest interest })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfReady(that: this, interest: interest); + + +/// Attempts to put the two halves of a `TcpStream` back together and +/// recover the original socket. Succeeds only if the two halves +/// originated from the same call to [`into_split`]. +/// +/// [`into_split`]: TcpStream::into_split() + Future reunite({required OwnedWriteHalf other })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfReunite(that: this, other: other); + + +/// Tries to read data from the stream into the provided buffer, returning how +/// many bytes were read. +/// +/// Receives any pending data from the socket but does not wait for new data +/// to arrive. On success, returns the number of bytes read. Because +/// `try_read()` is non-blocking, the buffer does not have to be stored by +/// the async task and can exist entirely on the stack. +/// +/// Usually, [`readable()`] or [`ready()`] is used with this function. +/// +/// [`readable()`]: Self::readable() +/// [`ready()`]: Self::ready() +/// +/// # Return +/// +/// If data is successfully read, `Ok(n)` is returned, where `n` is the +/// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: +/// +/// 1. The stream's read half is closed and will no longer yield data. +/// 2. The specified buffer was 0 bytes in length. +/// +/// If the stream is not ready to read data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryRead({required U8 buf })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfTryRead(that: this, buf: buf); + + +/// Tries to read data from the stream into the provided buffers, returning +/// how many bytes were read. +/// +/// Data is copied to fill each buffer in order, with the final buffer +/// written to possibly being only partially filled. This method behaves +/// equivalently to a single call to [`try_read()`] with concatenated +/// buffers. +/// +/// Receives any pending data from the socket but does not wait for new data +/// to arrive. On success, returns the number of bytes read. Because +/// `try_read_vectored()` is non-blocking, the buffer does not have to be +/// stored by the async task and can exist entirely on the stack. +/// +/// Usually, [`readable()`] or [`ready()`] is used with this function. +/// +/// [`try_read()`]: Self::try_read() +/// [`readable()`]: Self::readable() +/// [`ready()`]: Self::ready() +/// +/// # Return +/// +/// If data is successfully read, `Ok(n)` is returned, where `n` is the +/// number of bytes read. `Ok(0)` indicates the stream's read half is closed +/// and will no longer yield data. If the stream is not ready to read data +/// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryReadVectored({required IoSliceMut bufs })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfTryReadVectored(that: this, bufs: bufs); + + + } + @sealed class OwnedSemaphorePermitImpl extends RustOpaque implements OwnedSemaphorePermit { + // Not to be used by end users + OwnedSemaphorePermitImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + OwnedSemaphorePermitImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedSemaphorePermit, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedSemaphorePermit, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedSemaphorePermitPtr, + ); + + /// Merge two [`OwnedSemaphorePermit`] instances together, consuming `other` +/// without releasing the permits it holds. +/// +/// Permits held by both `self` and `other` are released when `self` drops. +/// +/// # Panics +/// +/// This function panics if permits from different [`Semaphore`] instances +/// are merged. +/// +/// # Examples +/// +/// ``` +/// use std::sync::Arc; +/// use tokio::sync::Semaphore; +/// +/// let sem = Arc::new(Semaphore::new(10)); +/// let mut permit = sem.clone().try_acquire_owned().unwrap(); +/// +/// for _ in 0..9 { +/// let _permit = sem.clone().try_acquire_owned().unwrap(); +/// // Merge individual permits into a single one. +/// permit.merge(_permit) +/// } +/// +/// assert_eq!(sem.available_permits(), 0); +/// +/// // Release all permits in a single batch. +/// drop(permit); +/// +/// assert_eq!(sem.available_permits(), 10); +/// ``` + Future merge({required OwnedSemaphorePermit other })=>RustLib.instance.api.tokioSyncOwnedSemaphorePermitMerge(that: this, other: other); + + +/// Returns the number of permits held by `self`. + Future numPermits()=>RustLib.instance.api.tokioSyncOwnedSemaphorePermitNumPermits(that: this, ); + + +/// Returns the [`Semaphore`] from which this permit was acquired. + Future semaphore()=>RustLib.instance.api.tokioSyncOwnedSemaphorePermitSemaphore(that: this, ); + + +/// Splits `n` permits from `self` and returns a new [`OwnedSemaphorePermit`] instance that holds `n` permits. +/// +/// If there are insufficient permits and it's not possible to reduce by `n`, returns `None`. +/// +/// # Note +/// +/// It will clone the owned `Arc` to construct the new instance. +/// +/// # Examples +/// +/// ``` +/// use std::sync::Arc; +/// use tokio::sync::Semaphore; +/// +/// let sem = Arc::new(Semaphore::new(3)); +/// +/// let mut p1 = sem.try_acquire_many_owned(3).unwrap(); +/// let p2 = p1.split(1).unwrap(); +/// +/// assert_eq!(p1.num_permits(), 2); +/// assert_eq!(p2.num_permits(), 1); +/// ``` + Future split({required BigInt n })=>RustLib.instance.api.tokioSyncOwnedSemaphorePermitSplit(that: this, n: n); + + + } + @sealed class OwnedWriteHalfImpl extends RustOpaque implements OwnedWriteHalf { + // Not to be used by end users + OwnedWriteHalfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + OwnedWriteHalfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedWriteHalf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedWriteHalf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedWriteHalfPtr, + ); + + /// Returns the local address that this stream is bound to. + Future localAddr()=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfLocalAddr(that: this, ); + + +/// Returns the remote address that this stream is connected to. + Future peerAddr()=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfPeerAddr(that: this, ); + + +/// Waits for any of the requested ready states. +/// +/// This function is usually paired with [`try_write()`]. It can be used instead +/// of [`writable()`] to check the returned ready set for [`Ready::WRITABLE`] +/// and [`Ready::WRITE_CLOSED`] events. +/// +/// The function may complete without the socket being ready. This is a +/// false-positive and attempting an operation will return with +/// `io::ErrorKind::WouldBlock`. The function can also return with an empty +/// [`Ready`] set, so you should always check the returned value and possibly +/// wait again if the requested states are not set. +/// +/// This function is equivalent to [`TcpStream::ready`]. +/// +/// [`try_write()`]: Self::try_write +/// [`writable()`]: Self::writable +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read or write that fails with `WouldBlock` or +/// `Poll::Pending`. + Future ready({required Interest interest })=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfReady(that: this, interest: interest); + + +/// Attempts to put the two halves of a `TcpStream` back together and +/// recover the original socket. Succeeds only if the two halves +/// originated from the same call to [`into_split`]. +/// +/// [`into_split`]: TcpStream::into_split() + Future reunite({required OwnedReadHalf other })=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfReunite(that: this, other: other); + + +/// Tries to write a buffer to the stream, returning how many bytes were +/// written. +/// +/// The function will attempt to write the entire contents of `buf`, but +/// only part of the buffer may be written. +/// +/// This function is usually paired with `writable()`. +/// +/// # Return +/// +/// If data is successfully written, `Ok(n)` is returned, where `n` is the +/// number of bytes written. If the stream is not ready to write data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryWrite({required List buf })=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfTryWrite(that: this, buf: buf); + + +/// Tries to write several buffers to the stream, returning how many bytes +/// were written. +/// +/// Data is written from each buffer in order, with the final buffer read +/// from possible being only partially consumed. This method behaves +/// equivalently to a single call to [`try_write()`] with concatenated +/// buffers. +/// +/// This function is usually paired with `writable()`. +/// +/// [`try_write()`]: Self::try_write() +/// +/// # Return +/// +/// If data is successfully written, `Ok(n)` is returned, where `n` is the +/// number of bytes written. If the stream is not ready to write data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryWriteVectored({required List bufs })=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfTryWriteVectored(that: this, bufs: bufs); + + +/// Waits for the socket to become writable. +/// +/// This function is equivalent to `ready(Interest::WRITABLE)` and is usually +/// paired with `try_write()`. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to write that fails with `WouldBlock` or +/// `Poll::Pending`. + Future writable()=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfWritable(that: this, ); + + + } + @sealed class PathImpl extends RustOpaque implements Path { + // Not to be used by end users + PathImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PathImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Path, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Path, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PathPtr, + ); + + + } + @sealed class PdfDocumentImpl extends RustOpaque implements PdfDocument { + // Not to be used by end users + PdfDocumentImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PdfDocumentImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PdfDocument, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PdfDocument, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PdfDocumentPtr, + ); + + + } + @sealed class PermitIteratorTImpl extends RustOpaque implements PermitIteratorT { + // Not to be used by end users + PermitIteratorTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PermitIteratorTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PermitIteratorT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PermitIteratorT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PermitIteratorTPtr, + ); + + + } + @sealed class PermitTImpl extends RustOpaque implements PermitT { + // Not to be used by end users + PermitTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PermitTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PermitT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PermitT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PermitTPtr, + ); + + + } + @sealed class PidTImpl extends RustOpaque implements PidT { + // Not to be used by end users + PidTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PidTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PidT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PidT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PidTPtr, + ); + + + } + @sealed class PollImpl extends RustOpaque implements Poll { + // Not to be used by end users + PollImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Poll, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Poll, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollPtr, + ); + + + } + @sealed class PollInstantImpl extends RustOpaque implements PollInstant { + // Not to be used by end users + PollInstantImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollInstantImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollInstant, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollInstant, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollInstantPtr, + ); + + + } + @sealed class PollOptionImpl extends RustOpaque implements PollOption { + // Not to be used by end users + PollOptionImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollOptionImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollOption, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollOption, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollOptionPtr, + ); + + + } + @sealed class PollOptionTImpl extends RustOpaque implements PollOptionT { + // Not to be used by end users + PollOptionTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollOptionTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollOptionT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollOptionT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollOptionTPtr, + ); + + + } + @sealed class PollRestoreOnPendingImpl extends RustOpaque implements PollRestoreOnPending { + // Not to be used by end users + PollRestoreOnPendingImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollRestoreOnPendingImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollRestoreOnPending, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollRestoreOnPending, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollRestoreOnPendingPtr, + ); + + + } + @sealed class PollResultImpl extends RustOpaque implements PollResult { + // Not to be used by end users + PollResultImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollResultImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollResult, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollResult, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultPtr, + ); + + + } + @sealed class PollResultSocketAddrImpl extends RustOpaque implements PollResultSocketAddr { + // Not to be used by end users + PollResultSocketAddrImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollResultSocketAddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollResultSocketAddr, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultSocketAddr, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultSocketAddrPtr, + ); + + + } + @sealed class PollResultTcpStreamSocketAddrImpl extends RustOpaque implements PollResultTcpStreamSocketAddr { + // Not to be used by end users + PollResultTcpStreamSocketAddrImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollResultTcpStreamSocketAddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollResultTcpStreamSocketAddr, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddr, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddrPtr, + ); + + + } + @sealed class PollResultUnixStreamSocketAddrImpl extends RustOpaque implements PollResultUnixStreamSocketAddr { + // Not to be used by end users + PollResultUnixStreamSocketAddrImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollResultUnixStreamSocketAddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollResultUnixStreamSocketAddr, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddr, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddrPtr, + ); + + + } + @sealed class PollResultUsizeImpl extends RustOpaque implements PollResultUsize { + // Not to be used by end users + PollResultUsizeImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollResultUsizeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollResultUsize, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultUsize, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultUsizePtr, + ); + + + } + @sealed class PollUsizeImpl extends RustOpaque implements PollUsize { + // Not to be used by end users + PollUsizeImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + PollUsizeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollUsize, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollUsize, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollUsizePtr, + ); + + + } + @sealed class QueryFacetImpl extends RustOpaque implements QueryFacet { + // Not to be used by end users + QueryFacetImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + QueryFacetImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_QueryFacet, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_QueryFacet, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_QueryFacetPtr, + ); + + + } + @sealed class QueryRewritingImpl extends RustOpaque implements QueryRewriting { + // Not to be used by end users + QueryRewritingImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + QueryRewritingImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_QueryRewriting, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_QueryRewriting, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_QueryRewritingPtr, + ); + + + } + @sealed class RangeU64Impl extends RustOpaque implements RangeU64 { + // Not to be used by end users + RangeU64Impl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + RangeU64Impl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_RangeU64, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_RangeU64, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RangeU64Ptr, + ); + + + } + @sealed class RangesImpl extends RustOpaque implements Ranges { + // Not to be used by end users + RangesImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + RangesImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Ranges, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Ranges, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RangesPtr, + ); + + + } + @sealed class ReadBufImpl extends RustOpaque implements ReadBuf { + // Not to be used by end users + ReadBufImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadBufImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadBuf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadBuf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadBufPtr, + ); + + + } + @sealed class ReadF32LeMutSelfImpl extends RustOpaque implements ReadF32LeMutSelf { + // Not to be used by end users + ReadF32LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadF32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadF32LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF32LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF32LeMutSelfPtr, + ); + + + } + @sealed class ReadF32MutSelfImpl extends RustOpaque implements ReadF32MutSelf { + // Not to be used by end users + ReadF32MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadF32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadF32MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF32MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF32MutSelfPtr, + ); + + + } + @sealed class ReadF64LeMutSelfImpl extends RustOpaque implements ReadF64LeMutSelf { + // Not to be used by end users + ReadF64LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadF64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadF64LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF64LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF64LeMutSelfPtr, + ); + + + } + @sealed class ReadF64MutSelfImpl extends RustOpaque implements ReadF64MutSelf { + // Not to be used by end users + ReadF64MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadF64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadF64MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF64MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF64MutSelfPtr, + ); + + + } + @sealed class ReadHalfSimplexStreamImpl extends RustOpaque implements ReadHalfSimplexStream { + // Not to be used by end users + ReadHalfSimplexStreamImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadHalfSimplexStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadHalfSimplexStream, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadHalfSimplexStream, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadHalfSimplexStreamPtr, + ); + + + } + @sealed class ReadI128LeMutSelfImpl extends RustOpaque implements ReadI128LeMutSelf { + // Not to be used by end users + ReadI128LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadI128LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI128LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI128LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI128LeMutSelfPtr, + ); + + + } + @sealed class ReadI128MutSelfImpl extends RustOpaque implements ReadI128MutSelf { + // Not to be used by end users + ReadI128MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadI128MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI128MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI128MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI128MutSelfPtr, + ); + + + } + @sealed class ReadI16LeMutSelfImpl extends RustOpaque implements ReadI16LeMutSelf { + // Not to be used by end users + ReadI16LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadI16LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI16LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI16LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI16LeMutSelfPtr, + ); + + + } + @sealed class ReadI16MutSelfImpl extends RustOpaque implements ReadI16MutSelf { + // Not to be used by end users + ReadI16MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadI16MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI16MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI16MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI16MutSelfPtr, + ); + + + } + @sealed class ReadI32LeMutSelfImpl extends RustOpaque implements ReadI32LeMutSelf { + // Not to be used by end users + ReadI32LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadI32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI32LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI32LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI32LeMutSelfPtr, + ); + + + } + @sealed class ReadI32MutSelfImpl extends RustOpaque implements ReadI32MutSelf { + // Not to be used by end users + ReadI32MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadI32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI32MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI32MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI32MutSelfPtr, + ); + + + } + @sealed class ReadI64LeMutSelfImpl extends RustOpaque implements ReadI64LeMutSelf { + // Not to be used by end users + ReadI64LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadI64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI64LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI64LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI64LeMutSelfPtr, + ); + + + } + @sealed class ReadI64MutSelfImpl extends RustOpaque implements ReadI64MutSelf { + // Not to be used by end users + ReadI64MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadI64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI64MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI64MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI64MutSelfPtr, + ); + + + } + @sealed class ReadI8MutSelfImpl extends RustOpaque implements ReadI8MutSelf { + // Not to be used by end users + ReadI8MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadI8MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI8MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI8MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI8MutSelfPtr, + ); + + + } + @sealed class ReadU128LeMutSelfImpl extends RustOpaque implements ReadU128LeMutSelf { + // Not to be used by end users + ReadU128LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadU128LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU128LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU128LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU128LeMutSelfPtr, + ); + + + } + @sealed class ReadU128MutSelfImpl extends RustOpaque implements ReadU128MutSelf { + // Not to be used by end users + ReadU128MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadU128MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU128MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU128MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU128MutSelfPtr, + ); + + + } + @sealed class ReadU16LeMutSelfImpl extends RustOpaque implements ReadU16LeMutSelf { + // Not to be used by end users + ReadU16LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadU16LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU16LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU16LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU16LeMutSelfPtr, + ); + + + } + @sealed class ReadU16MutSelfImpl extends RustOpaque implements ReadU16MutSelf { + // Not to be used by end users + ReadU16MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadU16MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU16MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU16MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU16MutSelfPtr, + ); + + + } + @sealed class ReadU32LeMutSelfImpl extends RustOpaque implements ReadU32LeMutSelf { + // Not to be used by end users + ReadU32LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadU32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU32LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU32LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU32LeMutSelfPtr, + ); + + + } + @sealed class ReadU32MutSelfImpl extends RustOpaque implements ReadU32MutSelf { + // Not to be used by end users + ReadU32MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadU32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU32MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU32MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU32MutSelfPtr, + ); + + + } + @sealed class ReadU64LeMutSelfImpl extends RustOpaque implements ReadU64LeMutSelf { + // Not to be used by end users + ReadU64LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadU64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU64LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU64LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU64LeMutSelfPtr, + ); + + + } + @sealed class ReadU64MutSelfImpl extends RustOpaque implements ReadU64MutSelf { + // Not to be used by end users + ReadU64MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadU64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU64MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU64MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU64MutSelfPtr, + ); + + + } + @sealed class ReadU8MutSelfImpl extends RustOpaque implements ReadU8MutSelf { + // Not to be used by end users + ReadU8MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadU8MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU8MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU8MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU8MutSelfPtr, + ); + + + } + @sealed class ReadyImpl extends RustOpaque implements Ready { + // Not to be used by end users + ReadyImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReadyImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Ready, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Ready, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadyPtr, + ); + + /// Returns true if `Ready` is the empty set. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Ready; +/// +/// assert!(Ready::EMPTY.is_empty()); +/// assert!(!Ready::READABLE.is_empty()); +/// ``` + Future isEmpty()=>RustLib.instance.api.tokioIoReadyIsEmpty(that: this, ); + + +/// Returns `true` if the value includes error `readiness`. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Ready; +/// +/// assert!(!Ready::EMPTY.is_error()); +/// assert!(!Ready::WRITABLE.is_error()); +/// assert!(Ready::ERROR.is_error()); +/// ``` + Future isError()=>RustLib.instance.api.tokioIoReadyIsError(that: this, ); + + +/// Returns `true` if the value includes read-closed `readiness`. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Ready; +/// +/// assert!(!Ready::EMPTY.is_read_closed()); +/// assert!(!Ready::READABLE.is_read_closed()); +/// assert!(Ready::READ_CLOSED.is_read_closed()); +/// ``` + Future isReadClosed()=>RustLib.instance.api.tokioIoReadyIsReadClosed(that: this, ); + + +/// Returns `true` if the value includes `readable`. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Ready; +/// +/// assert!(!Ready::EMPTY.is_readable()); +/// assert!(Ready::READABLE.is_readable()); +/// assert!(Ready::READ_CLOSED.is_readable()); +/// assert!(!Ready::WRITABLE.is_readable()); +/// ``` + Future isReadable()=>RustLib.instance.api.tokioIoReadyIsReadable(that: this, ); + + +/// Returns `true` if the value includes writable `readiness`. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Ready; +/// +/// assert!(!Ready::EMPTY.is_writable()); +/// assert!(!Ready::READABLE.is_writable()); +/// assert!(Ready::WRITABLE.is_writable()); +/// assert!(Ready::WRITE_CLOSED.is_writable()); +/// ``` + Future isWritable()=>RustLib.instance.api.tokioIoReadyIsWritable(that: this, ); + + +/// Returns `true` if the value includes write-closed `readiness`. +/// +/// # Examples +/// +/// ``` +/// use tokio::io::Ready; +/// +/// assert!(!Ready::EMPTY.is_write_closed()); +/// assert!(!Ready::WRITABLE.is_write_closed()); +/// assert!(Ready::WRITE_CLOSED.is_write_closed()); +/// ``` + Future isWriteClosed()=>RustLib.instance.api.tokioIoReadyIsWriteClosed(that: this, ); + + + } + @sealed class ReceiverImpl extends RustOpaque implements Receiver { + // Not to be used by end users + ReceiverImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReceiverImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Receiver, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Receiver, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReceiverPtr, + ); + + /// Converts the pipe into an [`OwnedFd`] in blocking mode. +/// +/// This function will deregister this pipe end from the event loop, set +/// it in blocking mode and perform the conversion. + Future intoBlockingFd()=>RustLib.instance.api.tokioNetUnixPipeReceiverIntoBlockingFd(that: this, ); + + +/// Converts the pipe into an [`OwnedFd`] in nonblocking mode. +/// +/// This function will deregister this pipe end from the event loop and +/// perform the conversion. Returned file descriptor will be in nonblocking +/// mode. + Future intoNonblockingFd()=>RustLib.instance.api.tokioNetUnixPipeReceiverIntoNonblockingFd(that: this, ); + + +/// Polls for read readiness. +/// +/// If the pipe is not currently ready for reading, this method will +/// store a clone of the `Waker` from the provided `Context`. When the pipe +/// becomes ready for reading, `Waker::wake` will be called on the waker. +/// +/// Note that on multiple calls to `poll_read_ready` or `poll_read`, only +/// the `Waker` from the `Context` passed to the most recent call is +/// scheduled to receive a wakeup. +/// +/// This function is intended for cases where creating and pinning a future +/// via [`readable`] is not feasible. Where possible, using [`readable`] is +/// preferred, as this supports polling from multiple tasks at once. +/// +/// [`readable`]: Self::readable +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the pipe is not ready for reading. +/// * `Poll::Ready(Ok(()))` if the pipe is ready for reading. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. + Future pollReadReady({required Context cx })=>RustLib.instance.api.tokioNetUnixPipeReceiverPollReadReady(that: this, cx: cx); + + +/// Waits for the pipe to become readable. +/// +/// This function is equivalent to `ready(Interest::READABLE)` and is usually +/// paired with [`try_read()`]. +/// +/// [`try_read()`]: Self::try_read() +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::unix::pipe; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Open a reading end of a fifo +/// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; +/// +/// let mut msg = vec![0; 1024]; +/// +/// loop { +/// // Wait for the pipe to be readable +/// rx.readable().await?; +/// +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match rx.try_read(&mut msg) { +/// Ok(n) => { +/// msg.truncate(n); +/// break; +/// } +/// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// println!("GOT = {:?}", msg); +/// Ok(()) +/// } +/// ``` + Future readable()=>RustLib.instance.api.tokioNetUnixPipeReceiverReadable(that: this, ); + + +/// Waits for any of the requested ready states. +/// +/// This function can be used instead of [`readable()`] to check the returned +/// ready set for [`Ready::READABLE`] and [`Ready::READ_CLOSED`] events. +/// +/// The function may complete without the pipe being ready. This is a +/// false-positive and attempting an operation will return with +/// `io::ErrorKind::WouldBlock`. The function can also return with an empty +/// [`Ready`] set, so you should always check the returned value and possibly +/// wait again if the requested states are not set. +/// +/// [`readable()`]: Self::readable +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read that fails with `WouldBlock` or +/// `Poll::Pending`. + Future ready({required Interest interest })=>RustLib.instance.api.tokioNetUnixPipeReceiverReady(that: this, interest: interest); + + +/// Tries to read data from the pipe into the provided buffer, returning how +/// many bytes were read. +/// +/// Reads any pending data from the pipe but does not wait for new data +/// to arrive. On success, returns the number of bytes read. Because +/// `try_read()` is non-blocking, the buffer does not have to be stored by +/// the async task and can exist entirely on the stack. +/// +/// Usually [`readable()`] is used with this function. +/// +/// [`readable()`]: Self::readable() +/// +/// # Return +/// +/// If data is successfully read, `Ok(n)` is returned, where `n` is the +/// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: +/// +/// 1. The pipe's writing end is closed and will no longer write data. +/// 2. The specified buffer was 0 bytes in length. +/// +/// If the pipe is not ready to read data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::unix::pipe; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Open a reading end of a fifo +/// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; +/// +/// let mut msg = vec![0; 1024]; +/// +/// loop { +/// // Wait for the pipe to be readable +/// rx.readable().await?; +/// +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match rx.try_read(&mut msg) { +/// Ok(n) => { +/// msg.truncate(n); +/// break; +/// } +/// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// println!("GOT = {:?}", msg); +/// Ok(()) +/// } +/// ``` + Future tryRead({required U8 buf })=>RustLib.instance.api.tokioNetUnixPipeReceiverTryRead(that: this, buf: buf); + + +/// Tries to read data from the pipe into the provided buffers, returning +/// how many bytes were read. +/// +/// Data is copied to fill each buffer in order, with the final buffer +/// written to possibly being only partially filled. This method behaves +/// equivalently to a single call to [`try_read()`] with concatenated +/// buffers. +/// +/// Reads any pending data from the pipe but does not wait for new data +/// to arrive. On success, returns the number of bytes read. Because +/// `try_read_vectored()` is non-blocking, the buffer does not have to be +/// stored by the async task and can exist entirely on the stack. +/// +/// Usually, [`readable()`] is used with this function. +/// +/// [`try_read()`]: Self::try_read() +/// [`readable()`]: Self::readable() +/// +/// # Return +/// +/// If data is successfully read, `Ok(n)` is returned, where `n` is the +/// number of bytes read. `Ok(0)` indicates the pipe's writing end is +/// closed and will no longer write data. If the pipe is not ready to read +/// data `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::unix::pipe; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Open a reading end of a fifo +/// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; +/// +/// loop { +/// // Wait for the pipe to be readable +/// rx.readable().await?; +/// +/// // Creating the buffer **after** the `await` prevents it from +/// // being stored in the async task. +/// let mut buf_a = [0; 512]; +/// let mut buf_b = [0; 1024]; +/// let mut bufs = [ +/// io::IoSliceMut::new(&mut buf_a), +/// io::IoSliceMut::new(&mut buf_b), +/// ]; +/// +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match rx.try_read_vectored(&mut bufs) { +/// Ok(0) => break, +/// Ok(n) => { +/// println!("read {} bytes", n); +/// } +/// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryReadVectored({required IoSliceMut bufs })=>RustLib.instance.api.tokioNetUnixPipeReceiverTryReadVectored(that: this, bufs: bufs); + + + } + @sealed class ReceiverTImpl extends RustOpaque implements ReceiverT { + // Not to be used by end users + ReceiverTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReceiverTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReceiverT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReceiverT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReceiverTPtr, + ); + + /// Blocking receive to call outside of asynchronous contexts. +/// +/// # Panics +/// +/// This function panics if called within an asynchronous execution +/// context. +/// +/// # Examples +/// ``` +/// # #[cfg(not(target_family = "wasm"))] +/// # { +/// use std::thread; +/// use tokio::sync::broadcast; +/// +/// #[tokio::main] +/// async fn main() { +/// let (tx, mut rx) = broadcast::channel(16); +/// +/// let sync_code = thread::spawn(move || { +/// assert_eq!(rx.blocking_recv(), Ok(10)); +/// }); +/// +/// let _ = tx.send(10); +/// sync_code.join().unwrap(); +/// } +/// # } +/// ``` + Future blockingRecv()=>RustLib.instance.api.tokioNetUnixPipeReceiverTBlockingRecv(that: this, ); + + +/// Variant of [`Self::recv_many`] for blocking contexts. +/// +/// The same conditions as in [`Self::blocking_recv`] apply. + Future blockingRecvMany({required VecT buffer , required BigInt limit })=>RustLib.instance.api.tokioNetUnixPipeReceiverTBlockingRecvMany(that: this, buffer: buffer, limit: limit); + + +/// Returns a reference to the most recently sent value. +/// +/// This method does not mark the returned value as seen, so future calls to +/// [`changed`] may return immediately even if you have already seen the +/// value with a call to `borrow`. +/// +/// Outstanding borrows hold a read lock on the inner value. This means that +/// long-lived borrows could cause the producer half to block. It is recommended +/// to keep the borrow as short-lived as possible. Additionally, if you are +/// running in an environment that allows `!Send` futures, you must ensure that +/// the returned `Ref` type is never held alive across an `.await` point, +/// otherwise, it can lead to a deadlock. +/// +/// The priority policy of the lock is dependent on the underlying lock +/// implementation, and this type does not guarantee that any particular policy +/// will be used. In particular, a producer which is waiting to acquire the lock +/// in `send` might or might not block concurrent calls to `borrow`, e.g.: +/// +///
Potential deadlock example +/// +/// ```text +/// // Task 1 (on thread A) | // Task 2 (on thread B) +/// let _ref1 = rx.borrow(); | +/// | // will block +/// | let _ = tx.send(()); +/// // may deadlock | +/// let _ref2 = rx.borrow(); | +/// ``` +///
+/// +/// For more information on when to use this method versus +/// [`borrow_and_update`], see [here](self#borrow_and_update-versus-borrow). +/// +/// [`changed`]: Receiver::changed +/// [`borrow_and_update`]: Receiver::borrow_and_update +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::watch; +/// +/// let (_, rx) = watch::channel("hello"); +/// assert_eq!(*rx.borrow(), "hello"); +/// ``` + Future borrow()=>RustLib.instance.api.tokioNetUnixPipeReceiverTBorrow(that: this, ); + + +/// Returns a reference to the most recently sent value and marks that value +/// as seen. +/// +/// This method marks the current value as seen. Subsequent calls to [`changed`] +/// will not return immediately until the [`Sender`] has modified the shared +/// value again. +/// +/// Outstanding borrows hold a read lock on the inner value. This means that +/// long-lived borrows could cause the producer half to block. It is recommended +/// to keep the borrow as short-lived as possible. Additionally, if you are +/// running in an environment that allows `!Send` futures, you must ensure that +/// the returned `Ref` type is never held alive across an `.await` point, +/// otherwise, it can lead to a deadlock. +/// +/// The priority policy of the lock is dependent on the underlying lock +/// implementation, and this type does not guarantee that any particular policy +/// will be used. In particular, a producer which is waiting to acquire the lock +/// in `send` might or might not block concurrent calls to `borrow`, e.g.: +/// +///
Potential deadlock example +/// +/// ```text +/// // Task 1 (on thread A) | // Task 2 (on thread B) +/// let _ref1 = rx1.borrow_and_update(); | +/// | // will block +/// | let _ = tx.send(()); +/// // may deadlock | +/// let _ref2 = rx2.borrow_and_update(); | +/// ``` +///
+/// +/// For more information on when to use this method versus [`borrow`], see +/// [here](self#borrow_and_update-versus-borrow). +/// +/// [`changed`]: Receiver::changed +/// [`borrow`]: Receiver::borrow + Future borrowAndUpdate()=>RustLib.instance.api.tokioNetUnixPipeReceiverTBorrowAndUpdate(that: this, ); + + +/// Returns the current capacity of the channel. +/// +/// The capacity goes down when the sender sends a value by calling [`Sender::send`] or by reserving +/// capacity with [`Sender::reserve`]. The capacity goes up when values are received. +/// This is distinct from [`max_capacity`], which always returns buffer capacity initially +/// specified when calling [`channel`]. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel::<()>(5); +/// +/// assert_eq!(rx.capacity(), 5); +/// +/// // Making a reservation drops the capacity by one. +/// let permit = tx.reserve().await.unwrap(); +/// assert_eq!(rx.capacity(), 4); +/// assert_eq!(rx.len(), 0); +/// +/// // Sending and receiving a value increases the capacity by one. +/// permit.send(()); +/// assert_eq!(rx.len(), 1); +/// rx.recv().await.unwrap(); +/// assert_eq!(rx.capacity(), 5); +/// +/// // Directly sending a message drops the capacity by one. +/// tx.send(()).await.unwrap(); +/// assert_eq!(rx.capacity(), 4); +/// assert_eq!(rx.len(), 1); +/// +/// // Receiving the message increases the capacity by one. +/// rx.recv().await.unwrap(); +/// assert_eq!(rx.capacity(), 5); +/// assert_eq!(rx.len(), 0); +/// # } +/// ``` +/// [`capacity`]: Receiver::capacity +/// [`max_capacity`]: Receiver::max_capacity + Future capacity()=>RustLib.instance.api.tokioNetUnixPipeReceiverTCapacity(that: this, ); + + +/// Waits for a change notification, then marks the current value as seen. +/// +/// If the current value in the channel has not yet been marked seen when +/// this method is called, the method marks that value seen and returns +/// immediately. If the newest value has already been marked seen, then the +/// method sleeps until a new message is sent by a [`Sender`] connected to +/// this `Receiver`, or until all [`Sender`]s are dropped. +/// +/// For more information, see +/// [*Change notifications*](self#change-notifications) in the module-level documentation. +/// +/// # Errors +/// +/// Returns a [`RecvError`](error::RecvError) if the channel has been closed __AND__ +/// the current value is seen. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If you use it as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, then it is guaranteed that no values have been marked +/// seen by this call to `changed`. +/// +/// [`Sender`]: struct@Sender +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::watch; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = watch::channel("hello"); +/// +/// tokio::spawn(async move { +/// tx.send("goodbye").unwrap(); +/// }); +/// +/// assert!(rx.changed().await.is_ok()); +/// assert_eq!(*rx.borrow_and_update(), "goodbye"); +/// +/// // The `tx` handle has been dropped +/// assert!(rx.changed().await.is_err()); +/// # } +/// ``` + Future changed()=>RustLib.instance.api.tokioNetUnixPipeReceiverTChanged(that: this, ); + + +/// Closes the receiving half of a channel without dropping it. +/// +/// This prevents any further messages from being sent on the channel while +/// still enabling the receiver to drain messages that are buffered. Any +/// outstanding [`Permit`] values will still be able to send messages. +/// +/// To guarantee that no messages are dropped, after calling `close()`, +/// `recv()` must be called until `None` is returned. If there are +/// outstanding [`Permit`] or [`OwnedPermit`] values, the `recv` method will +/// not return `None` until those are released. +/// +/// [`Permit`]: Permit +/// [`OwnedPermit`]: OwnedPermit +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel(20); +/// +/// tokio::spawn(async move { +/// let mut i = 0; +/// while let Ok(permit) = tx.reserve().await { +/// permit.send(i); +/// i += 1; +/// } +/// }); +/// +/// rx.close(); +/// +/// while let Some(msg) = rx.recv().await { +/// println!("got {}", msg); +/// } +/// +/// // Channel closed and no messages are lost. +/// # } +/// ``` + Future close()=>RustLib.instance.api.tokioNetUnixPipeReceiverTClose(that: this, ); + + +/// Checks if this channel contains a message that this receiver has not yet +/// seen. The current value will not be marked as seen. +/// +/// Although this method is called `has_changed`, it does not check +/// messages for equality, so this call will return true even if the current +/// message is equal to the previous message. +/// +/// # Errors +/// +/// Returns a [`RecvError`](error::RecvError) if and only if the channel has been closed. +/// +/// # Examples +/// +/// ## Basic usage +/// +/// ``` +/// use tokio::sync::watch; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = watch::channel("hello"); +/// +/// tx.send("goodbye").unwrap(); +/// +/// assert!(rx.has_changed().unwrap()); +/// assert_eq!(*rx.borrow_and_update(), "goodbye"); +/// +/// // The value has been marked as seen +/// assert!(!rx.has_changed().unwrap()); +/// # } +/// ``` +/// +/// ## Closed channel example +/// +/// ``` +/// use tokio::sync::watch; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, rx) = watch::channel("hello"); +/// tx.send("goodbye").unwrap(); +/// +/// drop(tx); +/// +/// // The channel is closed +/// assert!(rx.has_changed().is_err()); +/// # } +/// ``` + Future hasChanged()=>RustLib.instance.api.tokioNetUnixPipeReceiverTHasChanged(that: this, ); + + +/// Checks if a channel is closed. +/// +/// This method returns `true` if the channel has been closed. The channel is closed +/// when all [`Sender`] have been dropped. +/// +/// [`Sender`]: crate::sync::broadcast::Sender +/// +/// # Examples +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, rx) = broadcast::channel::<()>(10); +/// assert!(!rx.is_closed()); +/// +/// drop(tx); +/// +/// assert!(rx.is_closed()); +/// # } +/// ``` + Future isClosed()=>RustLib.instance.api.tokioNetUnixPipeReceiverTIsClosed(that: this, ); + + +/// Returns true if there aren't any messages in the channel that the [`Receiver`] +/// has yet to receive. +/// +/// [`Receiver`]: crate::sync::broadcast::Receiver +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx1) = broadcast::channel(16); +/// +/// assert!(rx1.is_empty()); +/// +/// tx.send(10).unwrap(); +/// tx.send(20).unwrap(); +/// +/// assert!(!rx1.is_empty()); +/// assert_eq!(rx1.recv().await.unwrap(), 10); +/// assert_eq!(rx1.recv().await.unwrap(), 20); +/// assert!(rx1.is_empty()); +/// # } +/// ``` + Future isEmpty()=>RustLib.instance.api.tokioNetUnixPipeReceiverTIsEmpty(that: this, ); + + +/// Checks if this receiver is terminated. +/// +/// This function returns true if this receiver has already yielded a [`Poll::Ready`] result. +/// If so, this receiver should no longer be polled. +/// +/// # Examples +/// +/// Sending a value and polling it. +/// +/// ``` +/// use tokio::sync::oneshot; +/// +/// use std::task::Poll; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = oneshot::channel(); +/// +/// // A receiver is not terminated when it is initialized. +/// assert!(!rx.is_terminated()); +/// +/// // A receiver is not terminated it is polled and is still pending. +/// let poll = futures::poll!(&mut rx); +/// assert_eq!(poll, Poll::Pending); +/// assert!(!rx.is_terminated()); +/// +/// // A receiver is not terminated if a value has been sent, but not yet read. +/// tx.send(0).unwrap(); +/// assert!(!rx.is_terminated()); +/// +/// // A receiver *is* terminated after it has been polled and yielded a value. +/// assert_eq!((&mut rx).await, Ok(0)); +/// assert!(rx.is_terminated()); +/// # } +/// ``` +/// +/// Dropping the sender. +/// +/// ``` +/// use tokio::sync::oneshot; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = oneshot::channel::<()>(); +/// +/// // A receiver is not immediately terminated when the sender is dropped. +/// drop(tx); +/// assert!(!rx.is_terminated()); +/// +/// // A receiver *is* terminated after it has been polled and yielded an error. +/// let _ = (&mut rx).await.unwrap_err(); +/// assert!(rx.is_terminated()); +/// # } +/// ``` + Future isTerminated()=>RustLib.instance.api.tokioNetUnixPipeReceiverTIsTerminated(that: this, ); + + +/// Returns the number of messages that were sent into the channel and that +/// this [`Receiver`] has yet to receive. +/// +/// If the returned value from `len` is larger than the next largest power of 2 +/// of the capacity of the channel any call to [`recv`] will return an +/// `Err(RecvError::Lagged)` and any call to [`try_recv`] will return an +/// `Err(TryRecvError::Lagged)`, e.g. if the capacity of the channel is 10, +/// [`recv`] will start to return `Err(RecvError::Lagged)` once `len` returns +/// values larger than 16. +/// +/// [`Receiver`]: crate::sync::broadcast::Receiver +/// [`recv`]: crate::sync::broadcast::Receiver::recv +/// [`try_recv`]: crate::sync::broadcast::Receiver::try_recv +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx1) = broadcast::channel(16); +/// +/// tx.send(10).unwrap(); +/// tx.send(20).unwrap(); +/// +/// assert_eq!(rx1.len(), 2); +/// assert_eq!(rx1.recv().await.unwrap(), 10); +/// assert_eq!(rx1.len(), 1); +/// assert_eq!(rx1.recv().await.unwrap(), 20); +/// assert_eq!(rx1.len(), 0); +/// # } +/// ``` + Future len()=>RustLib.instance.api.tokioNetUnixPipeReceiverTLen(that: this, ); + + +/// Marks the state as changed. +/// +/// After invoking this method [`has_changed()`](Self::has_changed) +/// returns `true` and [`changed()`](Self::changed) returns +/// immediately, regardless of whether a new value has been sent. +/// +/// This is useful for triggering an initial change notification after +/// subscribing to synchronize new receivers. + Future markChanged()=>RustLib.instance.api.tokioNetUnixPipeReceiverTMarkChanged(that: this, ); + + +/// Marks the state as unchanged. +/// +/// The current value will be considered seen by the receiver. +/// +/// This is useful if you are not interested in the current value +/// visible in the receiver. + Future markUnchanged()=>RustLib.instance.api.tokioNetUnixPipeReceiverTMarkUnchanged(that: this, ); + + +/// Returns the maximum buffer capacity of the channel. +/// +/// The maximum capacity is the buffer capacity initially specified when calling +/// [`channel`]. This is distinct from [`capacity`], which returns the *current* +/// available buffer capacity: as messages are sent and received, the value +/// returned by [`capacity`] will go up or down, whereas the value +/// returned by [`max_capacity`] will remain constant. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, rx) = mpsc::channel::<()>(5); +/// +/// // both max capacity and capacity are the same at first +/// assert_eq!(rx.max_capacity(), 5); +/// assert_eq!(rx.capacity(), 5); +/// +/// // Making a reservation doesn't change the max capacity. +/// let permit = tx.reserve().await.unwrap(); +/// assert_eq!(rx.max_capacity(), 5); +/// // but drops the capacity by one +/// assert_eq!(rx.capacity(), 4); +/// # } +/// ``` +/// [`capacity`]: Receiver::capacity +/// [`max_capacity`]: Receiver::max_capacity + Future maxCapacity()=>RustLib.instance.api.tokioNetUnixPipeReceiverTMaxCapacity(that: this, ); + + +/// Polls to receive the next message on this channel. +/// +/// This method returns: +/// +/// * `Poll::Pending` if no messages are available but the channel is not +/// closed, or if a spurious failure happens. +/// * `Poll::Ready(Some(message))` if a message is available. +/// * `Poll::Ready(None)` if the channel has been closed and all messages +/// sent before it was closed have been received. +/// +/// When the method returns `Poll::Pending`, the `Waker` in the provided +/// `Context` is scheduled to receive a wakeup when a message is sent on any +/// receiver, or when the channel is closed. Note that on multiple calls to +/// `poll_recv` or `poll_recv_many`, only the `Waker` from the `Context` +/// passed to the most recent call is scheduled to receive a wakeup. +/// +/// If this method returns `Poll::Pending` due to a spurious failure, then +/// the `Waker` will be notified when the situation causing the spurious +/// failure has been resolved. Note that receiving such a wakeup does not +/// guarantee that the next call will succeed — it could fail with another +/// spurious failure. + Future pollRecv({required Context cx })=>RustLib.instance.api.tokioNetUnixPipeReceiverTPollRecv(that: this, cx: cx); + + +/// Polls to receive multiple messages on this channel, extending the provided buffer. +/// +/// This method returns: +/// * `Poll::Pending` if no messages are available but the channel is not closed, or if a +/// spurious failure happens. +/// * `Poll::Ready(count)` where `count` is the number of messages successfully received and +/// stored in `buffer`. This can be less than, or equal to, `limit`. +/// * `Poll::Ready(0)` if `limit` is set to zero or when the channel is closed. +/// +/// When the method returns `Poll::Pending`, the `Waker` in the provided +/// `Context` is scheduled to receive a wakeup when a message is sent on any +/// receiver, or when the channel is closed. Note that on multiple calls to +/// `poll_recv` or `poll_recv_many`, only the `Waker` from the `Context` +/// passed to the most recent call is scheduled to receive a wakeup. +/// +/// Note that this method does not guarantee that exactly `limit` messages +/// are received. Rather, if at least one message is available, it returns +/// as many messages as it can up to the given limit. This method returns +/// zero only if the channel is closed (or if `limit` is zero). +/// +/// # Examples +/// +/// ``` +/// use std::task::{Context, Poll}; +/// use std::pin::Pin; +/// use tokio::sync::mpsc; +/// use futures::Future; +/// +/// struct MyReceiverFuture<'a> { +/// receiver: mpsc::Receiver, +/// buffer: &'a mut Vec, +/// limit: usize, +/// } +/// +/// impl<'a> Future for MyReceiverFuture<'a> { +/// type Output = usize; // Number of messages received +/// +/// fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { +/// let MyReceiverFuture { receiver, buffer, limit } = &mut *self; +/// +/// // Now `receiver` and `buffer` are mutable references, and `limit` is copied +/// match receiver.poll_recv_many(cx, *buffer, *limit) { +/// Poll::Pending => Poll::Pending, +/// Poll::Ready(count) => Poll::Ready(count), +/// } +/// } +/// } +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, rx) = mpsc::channel(32); +/// let mut buffer = Vec::new(); +/// +/// let my_receiver_future = MyReceiverFuture { +/// receiver: rx, +/// buffer: &mut buffer, +/// limit: 3, +/// }; +/// +/// for i in 0..10 { +/// tx.send(i).await.unwrap(); +/// } +/// +/// let count = my_receiver_future.await; +/// assert_eq!(count, 3); +/// assert_eq!(buffer, vec![0,1,2]) +/// # } +/// ``` + Future pollRecvMany({required Context cx , required VecT buffer , required BigInt limit })=>RustLib.instance.api.tokioNetUnixPipeReceiverTPollRecvMany(that: this, cx: cx, buffer: buffer, limit: limit); + + +/// Receives the next value for this receiver. +/// +/// Each [`Receiver`] handle will receive a clone of all values sent +/// **after** it has subscribed. +/// +/// `Err(RecvError::Closed)` is returned when all `Sender` halves have +/// dropped, indicating that no further values can be sent on the channel. +/// +/// If the [`Receiver`] handle falls behind, once the channel is full, newly +/// sent values will overwrite old values. At this point, a call to [`recv`] +/// will return with `Err(RecvError::Lagged)` and the [`Receiver`]'s +/// internal cursor is updated to point to the oldest value still held by +/// the channel. A subsequent call to [`recv`] will return this value +/// **unless** it has been since overwritten. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If `recv` is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, it is guaranteed that no messages were received on this +/// channel. +/// +/// [`Receiver`]: crate::sync::broadcast::Receiver +/// [`recv`]: crate::sync::broadcast::Receiver::recv +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx1) = broadcast::channel(16); +/// let mut rx2 = tx.subscribe(); +/// +/// tokio::spawn(async move { +/// assert_eq!(rx1.recv().await.unwrap(), 10); +/// assert_eq!(rx1.recv().await.unwrap(), 20); +/// }); +/// +/// tokio::spawn(async move { +/// assert_eq!(rx2.recv().await.unwrap(), 10); +/// assert_eq!(rx2.recv().await.unwrap(), 20); +/// }); +/// +/// tx.send(10).unwrap(); +/// tx.send(20).unwrap(); +/// # } +/// ``` +/// +/// Handling lag +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = broadcast::channel(2); +/// +/// tx.send(10).unwrap(); +/// tx.send(20).unwrap(); +/// tx.send(30).unwrap(); +/// +/// // The receiver lagged behind +/// assert!(rx.recv().await.is_err()); +/// +/// // At this point, we can abort or continue with lost messages +/// +/// assert_eq!(20, rx.recv().await.unwrap()); +/// assert_eq!(30, rx.recv().await.unwrap()); +/// # } +/// ``` + Future recv()=>RustLib.instance.api.tokioNetUnixPipeReceiverTRecv(that: this, ); + + +/// Receives the next values for this receiver and extends `buffer`. +/// +/// This method extends `buffer` by no more than a fixed number of values +/// as specified by `limit`. If `limit` is zero, the function immediately +/// returns `0`. The return value is the number of values added to `buffer`. +/// +/// For `limit > 0`, if there are no messages in the channel's queue, but +/// the channel has not yet been closed, this method will sleep until a +/// message is sent or the channel is closed. Note that if [`close`] is +/// called, but there are still outstanding [`Permits`] from before it was +/// closed, the channel is not considered closed by `recv_many` until the +/// permits are released. +/// +/// For non-zero values of `limit`, this method will never return `0` unless +/// the channel has been closed and there are no remaining messages in the +/// channel's queue. This indicates that no further values can ever be +/// received from this `Receiver`. The channel is closed when all senders +/// have been dropped, or when [`close`] is called. +/// +/// The capacity of `buffer` is increased as needed. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If `recv_many` is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, it is guaranteed that no messages were received on this +/// channel. +/// +/// [`close`]: Self::close +/// [`Permits`]: struct@crate::sync::mpsc::Permit +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut buffer: Vec<&str> = Vec::with_capacity(2); +/// let limit = 2; +/// let (tx, mut rx) = mpsc::channel(100); +/// let tx2 = tx.clone(); +/// tx2.send("first").await.unwrap(); +/// tx2.send("second").await.unwrap(); +/// tx2.send("third").await.unwrap(); +/// +/// // Call `recv_many` to receive up to `limit` (2) values. +/// assert_eq!(2, rx.recv_many(&mut buffer, limit).await); +/// assert_eq!(vec!["first", "second"], buffer); +/// +/// // If the buffer is full, the next call to `recv_many` +/// // reserves additional capacity. +/// assert_eq!(1, rx.recv_many(&mut buffer, 1).await); +/// +/// tokio::spawn(async move { +/// tx.send("fourth").await.unwrap(); +/// }); +/// +/// // 'tx' is dropped, but `recv_many` +/// // is guaranteed not to return 0 as the channel +/// // is not yet closed. +/// assert_eq!(1, rx.recv_many(&mut buffer, 1).await); +/// assert_eq!(vec!["first", "second", "third", "fourth"], buffer); +/// +/// // Once the last sender is dropped, the channel is +/// // closed and `recv_many` returns 0, capacity unchanged. +/// drop(tx2); +/// assert_eq!(0, rx.recv_many(&mut buffer, limit).await); +/// assert_eq!(vec!["first", "second", "third", "fourth"], buffer); +/// # } +/// ``` + Future recvMany({required VecT buffer , required BigInt limit })=>RustLib.instance.api.tokioNetUnixPipeReceiverTRecvMany(that: this, buffer: buffer, limit: limit); + + +/// Re-subscribes to the channel starting from the current tail element. +/// +/// This [`Receiver`] handle will receive a clone of all values sent +/// **after** it has resubscribed. This will not include elements that are +/// in the queue of the current receiver. Consider the following example. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = broadcast::channel(2); +/// +/// tx.send(1).unwrap(); +/// let mut rx2 = rx.resubscribe(); +/// tx.send(2).unwrap(); +/// +/// assert_eq!(rx2.recv().await.unwrap(), 2); +/// assert_eq!(rx.recv().await.unwrap(), 1); +/// # } +/// ``` + Future resubscribe()=>RustLib.instance.api.tokioNetUnixPipeReceiverTResubscribe(that: this, ); + + +/// Returns `true` if receivers belong to the same channel. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, rx) = broadcast::channel::<()>(16); +/// let rx2 = tx.subscribe(); +/// +/// assert!(rx.same_channel(&rx2)); +/// +/// let (_tx3, rx3) = broadcast::channel::<()>(16); +/// +/// assert!(!rx3.same_channel(&rx2)); +/// # } +/// ``` + Future sameChannel({required ReceiverT other })=>RustLib.instance.api.tokioNetUnixPipeReceiverTSameChannel(that: this, other: other); + + +/// Returns the number of [`Sender`] handles. + Future senderStrongCount()=>RustLib.instance.api.tokioNetUnixPipeReceiverTSenderStrongCount(that: this, ); + + +/// Returns the number of [`WeakSender`] handles. + Future senderWeakCount()=>RustLib.instance.api.tokioNetUnixPipeReceiverTSenderWeakCount(that: this, ); + + +/// Attempts to return a pending value on this receiver without awaiting. +/// +/// This is useful for a flavor of "optimistic check" before deciding to +/// await on a receiver. +/// +/// Compared with [`recv`], this function has three failure cases instead of two +/// (one for closed, one for an empty buffer, one for a lagging receiver). +/// +/// `Err(TryRecvError::Closed)` is returned when all `Sender` halves have +/// dropped, indicating that no further values can be sent on the channel. +/// +/// If the [`Receiver`] handle falls behind, once the channel is full, newly +/// sent values will overwrite old values. At this point, a call to [`recv`] +/// will return with `Err(TryRecvError::Lagged)` and the [`Receiver`]'s +/// internal cursor is updated to point to the oldest value still held by +/// the channel. A subsequent call to [`try_recv`] will return this value +/// **unless** it has been since overwritten. If there are no values to +/// receive, `Err(TryRecvError::Empty)` is returned. +/// +/// [`recv`]: crate::sync::broadcast::Receiver::recv +/// [`try_recv`]: crate::sync::broadcast::Receiver::try_recv +/// [`Receiver`]: crate::sync::broadcast::Receiver +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = broadcast::channel(16); +/// +/// assert!(rx.try_recv().is_err()); +/// +/// tx.send(10).unwrap(); +/// +/// let value = rx.try_recv().unwrap(); +/// assert_eq!(10, value); +/// # } +/// ``` + Future tryRecv()=>RustLib.instance.api.tokioNetUnixPipeReceiverTTryRecv(that: this, ); + + + } + @sealed class RecvErrorImpl extends RustOpaque implements RecvError { + // Not to be used by end users + RecvErrorImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + RecvErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_RecvError, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_RecvError, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RecvErrorPtr, + ); + + + } + @sealed class RefTImpl extends RustOpaque implements RefT { + // Not to be used by end users + RefTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + RefTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_RefT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_RefT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RefTPtr, + ); + + + } + @sealed class RepeatImpl extends RustOpaque implements Repeat { + // Not to be used by end users + RepeatImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + RepeatImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Repeat, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Repeat, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RepeatPtr, + ); + + + } + @sealed class RestoreOnPendingImpl extends RustOpaque implements RestoreOnPending { + // Not to be used by end users + RestoreOnPendingImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + RestoreOnPendingImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_RestoreOnPending, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_RestoreOnPending, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RestoreOnPendingPtr, + ); + + /// Signals that the task that obtained this `RestoreOnPending` was able to make +/// progress. This prevents the task budget from being restored to the value +/// it had prior to obtaining this instance when it is dropped. + Future madeProgress()=>RustLib.instance.api.tokioTaskCoopRestoreOnPendingMadeProgress(that: this, ); + + + } + @sealed class ResultImpl extends RustOpaque implements Result { + // Not to be used by end users + ResultImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ResultImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Result, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Result, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ResultPtr, + ); + + + } + @sealed class ResultObjectImpl extends RustOpaque implements ResultObject { + // Not to be used by end users + ResultObjectImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ResultObjectImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ResultObject, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ResultObject, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ResultObjectPtr, + ); + + AHashMapStringFacet get facets=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetFacets(that: this, ); + + + String get originalQuery=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetOriginalQuery(that: this, ); + + + String get query=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetQuery(that: this, ); + + + List get queryTerms=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetQueryTerms(that: this, ); + + + BigInt get resultCount=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetResultCount(that: this, ); + + + BigInt get resultCountTotal=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetResultCountTotal(that: this, ); + + + List get results=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetResults(that: this, ); + + + List get suggestions=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetSuggestions(that: this, ); + + + set facets(AHashMapStringFacet facets)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetFacets(that: this, facets: facets); + + + set originalQuery(String originalQuery)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetOriginalQuery(that: this, originalQuery: originalQuery); + + + set query(String query)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetQuery(that: this, query: query); + + + set queryTerms(List queryTerms)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetQueryTerms(that: this, queryTerms: queryTerms); + + + set resultCount(BigInt resultCount)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetResultCount(that: this, resultCount: resultCount); + + + set resultCountTotal(BigInt resultCountTotal)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetResultCountTotal(that: this, resultCountTotal: resultCountTotal); + + + set results(List results)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetResults(that: this, results: results); + + + set suggestions(List suggestions)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetSuggestions(that: this, suggestions: suggestions); + + + } + @sealed class ResultSortImpl extends RustOpaque implements ResultSort { + // Not to be used by end users + ResultSortImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ResultSortImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ResultSort, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ResultSort, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ResultSortPtr, + ); + + FacetValue get base=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorGetBase(that: this, ); + + + String get field=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorGetField(that: this, ); + + + SortOrder get order=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorGetOrder(that: this, ); + + + set base(FacetValue base)=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorSetBase(that: this, base: base); + + + set field(String field)=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorSetField(that: this, field: field); + + + set order(SortOrder order)=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorSetOrder(that: this, order: order); + + + } + @sealed class ReuniteErrorImpl extends RustOpaque implements ReuniteError { + // Not to be used by end users + ReuniteErrorImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ReuniteErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReuniteError, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReuniteError, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReuniteErrorPtr, + ); + + OwnedReadHalf get field0=>RustLib.instance.api.tokioNetTcpReuniteErrorAutoAccessorGetField0(that: this, ); + + + OwnedWriteHalf get field1=>RustLib.instance.api.tokioNetTcpReuniteErrorAutoAccessorGetField1(that: this, ); + + + set field0(OwnedReadHalf field0)=>RustLib.instance.api.tokioNetTcpReuniteErrorAutoAccessorSetField0(that: this, field0: field0); + + + set field1(OwnedWriteHalf field1)=>RustLib.instance.api.tokioNetTcpReuniteErrorAutoAccessorSetField1(that: this, field1: field1); + + + } + @sealed class RuntimeImpl extends RustOpaque implements Runtime { + // Not to be used by end users + RuntimeImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + RuntimeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Runtime, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Runtime, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RuntimePtr, + ); + + /// Enters the runtime context. +/// +/// This allows you to construct types that must have an executor +/// available on creation such as [`Sleep`] or [`TcpStream`]. It will +/// also allow you to call methods such as [`tokio::spawn`]. +/// +/// [`Sleep`]: struct@crate::time::Sleep +/// [`TcpStream`]: struct@crate::net::TcpStream +/// [`tokio::spawn`]: fn@crate::spawn +/// +/// # Example +/// +/// ``` +/// # #[cfg(not(target_family = "wasm"))] +/// # { +/// use tokio::runtime::Runtime; +/// use tokio::task::JoinHandle; +/// +/// fn function_that_spawns(msg: String) -> JoinHandle<()> { +/// // Had we not used `rt.enter` below, this would panic. +/// tokio::spawn(async move { +/// println!("{}", msg); +/// }) +/// } +/// +/// fn main() { +/// let rt = Runtime::new().unwrap(); +/// +/// let s = "Hello World!".to_string(); +/// +/// // By entering the context, we tie `tokio::spawn` to this executor. +/// let _guard = rt.enter(); +/// let handle = function_that_spawns(s); +/// +/// // Wait for the task before we end the test. +/// rt.block_on(handle).unwrap(); +/// } +/// # } +/// ``` + Future enter()=>RustLib.instance.api.tokioRuntimeRuntimeEnter(that: this, ); + + +/// Returns a handle to the runtime's spawner. +/// +/// The returned handle can be used to spawn tasks that run on this runtime, and can +/// be cloned to allow moving the `Handle` to other threads. +/// +/// Calling [`Handle::block_on`] on a handle to a `current_thread` runtime is error-prone. +/// Refer to the documentation of [`Handle::block_on`] for more. +/// +/// # Examples +/// +/// ``` +/// # #[cfg(not(target_family = "wasm"))] +/// # { +/// use tokio::runtime::Runtime; +/// +/// let rt = Runtime::new() +/// .unwrap(); +/// +/// let handle = rt.handle(); +/// +/// // Use the handle... +/// # } +/// ``` + Future handle()=>RustLib.instance.api.tokioRuntimeRuntimeHandle(that: this, ); + + +/// Returns a view that lets you get information about how the runtime +/// is performing. + Future metrics()=>RustLib.instance.api.tokioRuntimeRuntimeMetrics(that: this, ); + + +/// Shuts down the runtime, without waiting for any spawned work to stop. +/// +/// This can be useful if you want to drop a runtime from within another runtime. +/// Normally, dropping a runtime will block indefinitely for spawned blocking tasks +/// to complete, which would normally not be permitted within an asynchronous context. +/// By calling `shutdown_background()`, you can drop the runtime from such a context. +/// +/// Note however, that because we do not wait for any blocking tasks to complete, this +/// may result in a resource leak (in that any blocking tasks are still running until they +/// return. +/// +/// See the [struct level documentation](Runtime#shutdown) for more details. +/// +/// This function is equivalent to calling `shutdown_timeout(Duration::from_nanos(0))`. +/// +/// ``` +/// # #[cfg(not(target_family = "wasm"))] +/// # { +/// use tokio::runtime::Runtime; +/// +/// fn main() { +/// let runtime = Runtime::new().unwrap(); +/// +/// runtime.block_on(async move { +/// let inner_runtime = Runtime::new().unwrap(); +/// // ... +/// inner_runtime.shutdown_background(); +/// }); +/// } +/// # } +/// ``` + Future shutdownBackground()=>RustLib.instance.api.tokioRuntimeRuntimeShutdownBackground(that: this, ); + + + } + @sealed class RuntimeMetricsImpl extends RustOpaque implements RuntimeMetrics { + // Not to be used by end users + RuntimeMetricsImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + RuntimeMetricsImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_RuntimeMetrics, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_RuntimeMetrics, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RuntimeMetricsPtr, + ); + + /// Returns the number of tasks currently scheduled in the runtime's +/// global queue. +/// +/// Tasks that are spawned or notified from a non-runtime thread are +/// scheduled using the runtime's global queue. This metric returns the +/// **current** number of tasks pending in the global queue. As such, the +/// returned value may increase or decrease as new tasks are scheduled and +/// processed. +/// +/// # Examples +/// +/// ``` +/// use tokio::runtime::Handle; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let metrics = Handle::current().metrics(); +/// +/// let n = metrics.global_queue_depth(); +/// println!("{} tasks currently pending in the runtime's global queue", n); +/// # } +/// ``` + Future globalQueueDepth()=>RustLib.instance.api.tokioRuntimeRuntimeMetricsGlobalQueueDepth(that: this, ); + + +/// Returns the current number of alive tasks in the runtime. +/// +/// This counter increases when a task is spawned and decreases when a +/// task exits. +/// +/// Note: When using the multi-threaded runtime this number may not +/// not have strong consistency i.e. no tasks may be running but the metric +/// reports otherwise. +/// +/// # Examples +/// +/// ``` +/// use tokio::runtime::Handle; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let metrics = Handle::current().metrics(); +/// +/// let n = metrics.num_alive_tasks(); +/// println!("Runtime has {} alive tasks", n); +/// # } +/// ``` + Future numAliveTasks()=>RustLib.instance.api.tokioRuntimeRuntimeMetricsNumAliveTasks(that: this, ); + + +/// Returns the number of worker threads used by the runtime. +/// +/// The number of workers is set by configuring `worker_threads` on +/// `runtime::Builder`. When using the `current_thread` runtime, the return +/// value is always `1`. +/// +/// # Examples +/// +/// ``` +/// use tokio::runtime::Handle; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let metrics = Handle::current().metrics(); +/// +/// let n = metrics.num_workers(); +/// println!("Runtime is using {} workers", n); +/// # } +/// ``` + Future numWorkers()=>RustLib.instance.api.tokioRuntimeRuntimeMetricsNumWorkers(that: this, ); + + +/// Returns the total number of times the given worker thread has parked. +/// +/// The worker park count starts at zero when the runtime is created and +/// increases by one each time the worker parks the thread waiting for new +/// inbound events to process. This usually means the worker has processed +/// all pending work and is currently idle. +/// +/// The counter is monotonically increasing. It is never decremented or +/// reset to zero. +/// +/// # Arguments +/// +/// `worker` is the index of the worker being queried. The given value must +/// be between 0 and `num_workers()`. The index uniquely identifies a single +/// worker and will continue to identify the worker throughout the lifetime +/// of the runtime instance. +/// +/// # Panics +/// +/// The method panics when `worker` represents an invalid worker, i.e. is +/// greater than or equal to `num_workers()`. +/// +/// # Examples +/// +/// ``` +/// use tokio::runtime::Handle; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let metrics = Handle::current().metrics(); +/// +/// let n = metrics.worker_park_count(0); +/// println!("worker 0 parked {} times", n); +/// # } +/// ``` + Future workerParkCount({required BigInt worker })=>RustLib.instance.api.tokioRuntimeRuntimeMetricsWorkerParkCount(that: this, worker: worker); + + +/// Returns the total number of times the given worker thread has parked +/// and unparked. +/// +/// The worker park/unpark count starts at zero when the runtime is created +/// and increases by one each time the worker parks the thread waiting for +/// new inbound events to process. This usually means the worker has processed +/// all pending work and is currently idle. When new work becomes available, +/// the worker is unparked and the park/unpark count is again increased by one. +/// +/// An odd count means that the worker is currently parked. +/// An even count means that the worker is currently active. +/// +/// The counter is monotonically increasing. It is never decremented or +/// reset to zero. +/// +/// # Arguments +/// +/// `worker` is the index of the worker being queried. The given value must +/// be between 0 and `num_workers()`. The index uniquely identifies a single +/// worker and will continue to identify the worker throughout the lifetime +/// of the runtime instance. +/// +/// # Panics +/// +/// The method panics when `worker` represents an invalid worker, i.e. is +/// greater than or equal to `num_workers()`. +/// +/// # Examples +/// +/// ``` +/// use tokio::runtime::Handle; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let metrics = Handle::current().metrics(); +/// let n = metrics.worker_park_unpark_count(0); +/// +/// println!("worker 0 parked and unparked {} times", n); +/// +/// if n % 2 == 0 { +/// println!("worker 0 is active"); +/// } else { +/// println!("worker 0 is parked"); +/// } +/// # } +/// ``` + Future workerParkUnparkCount({required BigInt worker })=>RustLib.instance.api.tokioRuntimeRuntimeMetricsWorkerParkUnparkCount(that: this, worker: worker); + + +/// Returns the amount of time the given worker thread has been busy. +/// +/// The worker busy duration starts at zero when the runtime is created and +/// increases whenever the worker is spending time processing work. Using +/// this value can indicate the load of the given worker. If a lot of time +/// is spent busy, then the worker is under load and will check for inbound +/// events less often. +/// +/// The timer is monotonically increasing. It is never decremented or reset +/// to zero. +/// +/// # Arguments +/// +/// `worker` is the index of the worker being queried. The given value must +/// be between 0 and `num_workers()`. The index uniquely identifies a single +/// worker and will continue to identify the worker throughout the lifetime +/// of the runtime instance. +/// +/// # Panics +/// +/// The method panics when `worker` represents an invalid worker, i.e. is +/// greater than or equal to `num_workers()`. +/// +/// # Examples +/// +/// ``` +/// use tokio::runtime::Handle; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let metrics = Handle::current().metrics(); +/// +/// let n = metrics.worker_total_busy_duration(0); +/// println!("worker 0 was busy for a total of {:?}", n); +/// # } +/// ``` + Future workerTotalBusyDuration({required BigInt worker })=>RustLib.instance.api.tokioRuntimeRuntimeMetricsWorkerTotalBusyDuration(that: this, worker: worker); + + + } + @sealed class SchemaFieldImpl extends RustOpaque implements SchemaField { + // Not to be used by end users + SchemaFieldImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SchemaFieldImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SchemaField, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SchemaField, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SchemaFieldPtr, + ); + + double get boost=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetBoost(that: this, ); + + + bool get completionSource=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetCompletionSource(that: this, ); + + + bool get dictionarySource=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetDictionarySource(that: this, ); + + + bool get facet=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetFacet(that: this, ); + + + String get field=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetField(that: this, ); + + + FieldType get fieldType=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetFieldType(that: this, ); + + + bool get indexed=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetIndexed(that: this, ); + + + bool get longest=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetLongest(that: this, ); + + + bool get stored=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetStored(that: this, ); + + + set boost(double boost)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetBoost(that: this, boost: boost); + + + set completionSource(bool completionSource)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetCompletionSource(that: this, completionSource: completionSource); + + + set dictionarySource(bool dictionarySource)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetDictionarySource(that: this, dictionarySource: dictionarySource); + + + set facet(bool facet)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetFacet(that: this, facet: facet); + + + set field(String field)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetField(that: this, field: field); + + + set fieldType(FieldType fieldType)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetFieldType(that: this, fieldType: fieldType); + + + set indexed(bool indexed)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetIndexed(that: this, indexed: indexed); + + + set longest(bool longest)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetLongest(that: this, longest: longest); + + + set stored(bool stored)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetStored(that: this, stored: stored); + + + } + @sealed class SeekFromImpl extends RustOpaque implements SeekFrom { + // Not to be used by end users + SeekFromImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SeekFromImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SeekFrom, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SeekFrom, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SeekFromPtr, + ); + + + } + @sealed class SeekSelfImpl extends RustOpaque implements SeekSelf { + // Not to be used by end users + SeekSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SeekSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SeekSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SeekSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SeekSelfPtr, + ); + + + } + @sealed class SemaphoreImpl extends RustOpaque implements Semaphore { + // Not to be used by end users + SemaphoreImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SemaphoreImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Semaphore, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Semaphore, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SemaphorePtr, + ); + + /// Acquires a permit from the semaphore. +/// +/// If the semaphore has been closed, this returns an [`AcquireError`]. +/// Otherwise, this returns a [`SemaphorePermit`] representing the +/// acquired permit. +/// +/// # Cancel safety +/// +/// This method uses a queue to fairly distribute permits in the order they +/// were requested. Cancelling a call to `acquire` makes you lose your place +/// in the queue. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::Semaphore; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let semaphore = Semaphore::new(2); +/// +/// let permit_1 = semaphore.acquire().await.unwrap(); +/// assert_eq!(semaphore.available_permits(), 1); +/// +/// let permit_2 = semaphore.acquire().await.unwrap(); +/// assert_eq!(semaphore.available_permits(), 0); +/// +/// drop(permit_1); +/// assert_eq!(semaphore.available_permits(), 1); +/// # } +/// ``` +/// +/// [`AcquireError`]: crate::sync::AcquireError +/// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future acquire()=>RustLib.instance.api.tokioSyncSemaphoreAcquire(that: this, ); + + +/// Acquires `n` permits from the semaphore. +/// +/// If the semaphore has been closed, this returns an [`AcquireError`]. +/// Otherwise, this returns a [`SemaphorePermit`] representing the +/// acquired permits. +/// +/// # Cancel safety +/// +/// This method uses a queue to fairly distribute permits in the order they +/// were requested. Cancelling a call to `acquire_many` makes you lose your +/// place in the queue. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::Semaphore; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let semaphore = Semaphore::new(5); +/// +/// let permit = semaphore.acquire_many(3).await.unwrap(); +/// assert_eq!(semaphore.available_permits(), 2); +/// # } +/// ``` +/// +/// [`AcquireError`]: crate::sync::AcquireError +/// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future acquireMany({required int n })=>RustLib.instance.api.tokioSyncSemaphoreAcquireMany(that: this, n: n); + + +/// Acquires `n` permits from the semaphore. +/// +/// The semaphore must be wrapped in an [`Arc`] to call this method. +/// If the semaphore has been closed, this returns an [`AcquireError`]. +/// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the +/// acquired permit. +/// +/// # Cancel safety +/// +/// This method uses a queue to fairly distribute permits in the order they +/// were requested. Cancelling a call to `acquire_many_owned` makes you lose +/// your place in the queue. +/// +/// # Examples +/// +/// ``` +/// use std::sync::Arc; +/// use tokio::sync::Semaphore; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let semaphore = Arc::new(Semaphore::new(10)); +/// let mut join_handles = Vec::new(); +/// +/// for _ in 0..5 { +/// let permit = semaphore.clone().acquire_many_owned(2).await.unwrap(); +/// join_handles.push(tokio::spawn(async move { +/// // perform task... +/// // explicitly own `permit` in the task +/// drop(permit); +/// })); +/// } +/// +/// for handle in join_handles { +/// handle.await.unwrap(); +/// } +/// # } +/// ``` +/// +/// [`Arc`]: std::sync::Arc +/// [`AcquireError`]: crate::sync::AcquireError +/// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future acquireManyOwned({required int n })=>RustLib.instance.api.tokioSyncSemaphoreAcquireManyOwned(that: this, n: n); + + +/// Acquires a permit from the semaphore. +/// +/// The semaphore must be wrapped in an [`Arc`] to call this method. +/// If the semaphore has been closed, this returns an [`AcquireError`]. +/// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the +/// acquired permit. +/// +/// # Cancel safety +/// +/// This method uses a queue to fairly distribute permits in the order they +/// were requested. Cancelling a call to `acquire_owned` makes you lose your +/// place in the queue. +/// +/// # Examples +/// +/// ``` +/// use std::sync::Arc; +/// use tokio::sync::Semaphore; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let semaphore = Arc::new(Semaphore::new(3)); +/// let mut join_handles = Vec::new(); +/// +/// for _ in 0..5 { +/// let permit = semaphore.clone().acquire_owned().await.unwrap(); +/// join_handles.push(tokio::spawn(async move { +/// // perform task... +/// // explicitly own `permit` in the task +/// drop(permit); +/// })); +/// } +/// +/// for handle in join_handles { +/// handle.await.unwrap(); +/// } +/// # } +/// ``` +/// +/// [`Arc`]: std::sync::Arc +/// [`AcquireError`]: crate::sync::AcquireError +/// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future acquireOwned()=>RustLib.instance.api.tokioSyncSemaphoreAcquireOwned(that: this, ); + + +/// Adds `n` new permits to the semaphore. +/// +/// The maximum number of permits is [`Semaphore::MAX_PERMITS`], and this function will panic if the limit is exceeded. + Future addPermits({required BigInt n })=>RustLib.instance.api.tokioSyncSemaphoreAddPermits(that: this, n: n); + + +/// Returns the current number of available permits. + Future availablePermits()=>RustLib.instance.api.tokioSyncSemaphoreAvailablePermits(that: this, ); + + +/// Closes the semaphore. +/// +/// This prevents the semaphore from issuing new permits and notifies all pending waiters. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::Semaphore; +/// use std::sync::Arc; +/// use tokio::sync::TryAcquireError; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let semaphore = Arc::new(Semaphore::new(1)); +/// let semaphore2 = semaphore.clone(); +/// +/// tokio::spawn(async move { +/// let permit = semaphore.acquire_many(2).await; +/// assert!(permit.is_err()); +/// println!("waiter received error"); +/// }); +/// +/// println!("closing semaphore"); +/// semaphore2.close(); +/// +/// // Cannot obtain more permits +/// assert_eq!(semaphore2.try_acquire().err(), Some(TryAcquireError::Closed)) +/// # } +/// ``` + Future close()=>RustLib.instance.api.tokioSyncSemaphoreClose(that: this, ); + + +/// Decrease a semaphore's permits by a maximum of `n`. +/// +/// If there are insufficient permits and it's not possible to reduce by `n`, +/// return the number of permits that were actually reduced. + Future forgetPermits({required BigInt n })=>RustLib.instance.api.tokioSyncSemaphoreForgetPermits(that: this, n: n); + + +/// Returns true if the semaphore is closed + Future isClosed()=>RustLib.instance.api.tokioSyncSemaphoreIsClosed(that: this, ); + + +/// Tries to acquire a permit from the semaphore. +/// +/// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`] +/// and a [`TryAcquireError::NoPermits`] if there are no permits left. Otherwise, +/// this returns a [`SemaphorePermit`] representing the acquired permits. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::{Semaphore, TryAcquireError}; +/// +/// # fn main() { +/// let semaphore = Semaphore::new(2); +/// +/// let permit_1 = semaphore.try_acquire().unwrap(); +/// assert_eq!(semaphore.available_permits(), 1); +/// +/// let permit_2 = semaphore.try_acquire().unwrap(); +/// assert_eq!(semaphore.available_permits(), 0); +/// +/// let permit_3 = semaphore.try_acquire(); +/// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits)); +/// # } +/// ``` +/// +/// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed +/// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits +/// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future tryAcquire()=>RustLib.instance.api.tokioSyncSemaphoreTryAcquire(that: this, ); + + +/// Tries to acquire `n` permits from the semaphore. +/// +/// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`] +/// and a [`TryAcquireError::NoPermits`] if there are not enough permits left. +/// Otherwise, this returns a [`SemaphorePermit`] representing the acquired permits. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::{Semaphore, TryAcquireError}; +/// +/// # fn main() { +/// let semaphore = Semaphore::new(4); +/// +/// let permit_1 = semaphore.try_acquire_many(3).unwrap(); +/// assert_eq!(semaphore.available_permits(), 1); +/// +/// let permit_2 = semaphore.try_acquire_many(2); +/// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits)); +/// # } +/// ``` +/// +/// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed +/// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits +/// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future tryAcquireMany({required int n })=>RustLib.instance.api.tokioSyncSemaphoreTryAcquireMany(that: this, n: n); + + +/// Tries to acquire `n` permits from the semaphore. +/// +/// The semaphore must be wrapped in an [`Arc`] to call this method. If +/// the semaphore has been closed, this returns a [`TryAcquireError::Closed`] +/// and a [`TryAcquireError::NoPermits`] if there are no permits left. +/// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the +/// acquired permit. +/// +/// # Examples +/// +/// ``` +/// use std::sync::Arc; +/// use tokio::sync::{Semaphore, TryAcquireError}; +/// +/// # fn main() { +/// let semaphore = Arc::new(Semaphore::new(4)); +/// +/// let permit_1 = Arc::clone(&semaphore).try_acquire_many_owned(3).unwrap(); +/// assert_eq!(semaphore.available_permits(), 1); +/// +/// let permit_2 = semaphore.try_acquire_many_owned(2); +/// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits)); +/// # } +/// ``` +/// +/// [`Arc`]: std::sync::Arc +/// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed +/// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits +/// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future tryAcquireManyOwned({required int n })=>RustLib.instance.api.tokioSyncSemaphoreTryAcquireManyOwned(that: this, n: n); + + +/// Tries to acquire a permit from the semaphore. +/// +/// The semaphore must be wrapped in an [`Arc`] to call this method. If +/// the semaphore has been closed, this returns a [`TryAcquireError::Closed`] +/// and a [`TryAcquireError::NoPermits`] if there are no permits left. +/// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the +/// acquired permit. +/// +/// # Examples +/// +/// ``` +/// use std::sync::Arc; +/// use tokio::sync::{Semaphore, TryAcquireError}; +/// +/// # fn main() { +/// let semaphore = Arc::new(Semaphore::new(2)); +/// +/// let permit_1 = Arc::clone(&semaphore).try_acquire_owned().unwrap(); +/// assert_eq!(semaphore.available_permits(), 1); +/// +/// let permit_2 = Arc::clone(&semaphore).try_acquire_owned().unwrap(); +/// assert_eq!(semaphore.available_permits(), 0); +/// +/// let permit_3 = semaphore.try_acquire_owned(); +/// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits)); +/// # } +/// ``` +/// +/// [`Arc`]: std::sync::Arc +/// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed +/// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits +/// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future tryAcquireOwned()=>RustLib.instance.api.tokioSyncSemaphoreTryAcquireOwned(that: this, ); + + + } + @sealed class SemaphorePermitImpl extends RustOpaque implements SemaphorePermit { + // Not to be used by end users + SemaphorePermitImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SemaphorePermitImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SemaphorePermit, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SemaphorePermit, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SemaphorePermitPtr, + ); + + + } + @sealed class SendErrorImpl extends RustOpaque implements SendError { + // Not to be used by end users + SendErrorImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SendErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SendError, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SendError, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SendErrorPtr, + ); + + + } + @sealed class SendErrorTImpl extends RustOpaque implements SendErrorT { + // Not to be used by end users + SendErrorTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SendErrorTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SendErrorT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SendErrorT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SendErrorTPtr, + ); + + + } + @sealed class SendTimeoutErrorTImpl extends RustOpaque implements SendTimeoutErrorT { + // Not to be used by end users + SendTimeoutErrorTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SendTimeoutErrorTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SendTimeoutErrorT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SendTimeoutErrorT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SendTimeoutErrorTPtr, + ); + + + } + @sealed class SenderImpl extends RustOpaque implements Sender { + // Not to be used by end users + SenderImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SenderImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Sender, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Sender, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SenderPtr, + ); + + /// Converts the pipe into an [`OwnedFd`] in blocking mode. +/// +/// This function will deregister this pipe end from the event loop, set +/// it in blocking mode and perform the conversion. + Future intoBlockingFd()=>RustLib.instance.api.tokioNetUnixPipeSenderIntoBlockingFd(that: this, ); + + +/// Converts the pipe into an [`OwnedFd`] in nonblocking mode. +/// +/// This function will deregister this pipe end from the event loop and +/// perform the conversion. The returned file descriptor will be in nonblocking +/// mode. + Future intoNonblockingFd()=>RustLib.instance.api.tokioNetUnixPipeSenderIntoNonblockingFd(that: this, ); + + +/// Polls for write readiness. +/// +/// If the pipe is not currently ready for writing, this method will +/// store a clone of the `Waker` from the provided `Context`. When the pipe +/// becomes ready for writing, `Waker::wake` will be called on the waker. +/// +/// Note that on multiple calls to `poll_write_ready` or `poll_write`, only +/// the `Waker` from the `Context` passed to the most recent call is +/// scheduled to receive a wakeup. +/// +/// This function is intended for cases where creating and pinning a future +/// via [`writable`] is not feasible. Where possible, using [`writable`] is +/// preferred, as this supports polling from multiple tasks at once. +/// +/// [`writable`]: Self::writable +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the pipe is not ready for writing. +/// * `Poll::Ready(Ok(()))` if the pipe is ready for writing. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. + Future pollWriteReady({required Context cx })=>RustLib.instance.api.tokioNetUnixPipeSenderPollWriteReady(that: this, cx: cx); + + +/// Waits for any of the requested ready states. +/// +/// This function can be used instead of [`writable()`] to check the returned +/// ready set for [`Ready::WRITABLE`] and [`Ready::WRITE_CLOSED`] events. +/// +/// The function may complete without the pipe being ready. This is a +/// false-positive and attempting an operation will return with +/// `io::ErrorKind::WouldBlock`. The function can also return with an empty +/// [`Ready`] set, so you should always check the returned value and possibly +/// wait again if the requested states are not set. +/// +/// [`writable()`]: Self::writable +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to write that fails with `WouldBlock` or +/// `Poll::Pending`. + Future ready({required Interest interest })=>RustLib.instance.api.tokioNetUnixPipeSenderReady(that: this, interest: interest); + + +/// Tries to write a buffer to the pipe, returning how many bytes were +/// written. +/// +/// The function will attempt to write the entire contents of `buf`, but +/// only part of the buffer may be written. If the length of `buf` is not +/// greater than `PIPE_BUF` (an OS constant, 4096 under Linux), then the +/// write is guaranteed to be atomic, i.e. either the entire content of +/// `buf` will be written or this method will fail with `WouldBlock`. There +/// is no such guarantee if `buf` is larger than `PIPE_BUF`. +/// +/// This function is usually paired with [`writable`]. +/// +/// [`writable`]: Self::writable +/// +/// # Return +/// +/// If data is successfully written, `Ok(n)` is returned, where `n` is the +/// number of bytes written. If the pipe is not ready to write data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::unix::pipe; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Open a writing end of a fifo +/// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; +/// +/// loop { +/// // Wait for the pipe to be writable +/// tx.writable().await?; +/// +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match tx.try_write(b"hello world") { +/// Ok(n) => { +/// break; +/// } +/// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryWrite({required List buf })=>RustLib.instance.api.tokioNetUnixPipeSenderTryWrite(that: this, buf: buf); + + +/// Tries to write several buffers to the pipe, returning how many bytes +/// were written. +/// +/// Data is written from each buffer in order, with the final buffer read +/// from possible being only partially consumed. This method behaves +/// equivalently to a single call to [`try_write()`] with concatenated +/// buffers. +/// +/// If the total length of buffers is not greater than `PIPE_BUF` (an OS +/// constant, 4096 under Linux), then the write is guaranteed to be atomic, +/// i.e. either the entire contents of buffers will be written or this +/// method will fail with `WouldBlock`. There is no such guarantee if the +/// total length of buffers is greater than `PIPE_BUF`. +/// +/// This function is usually paired with [`writable`]. +/// +/// [`try_write()`]: Self::try_write() +/// [`writable`]: Self::writable +/// +/// # Return +/// +/// If data is successfully written, `Ok(n)` is returned, where `n` is the +/// number of bytes written. If the pipe is not ready to write data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::unix::pipe; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Open a writing end of a fifo +/// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; +/// +/// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; +/// +/// loop { +/// // Wait for the pipe to be writable +/// tx.writable().await?; +/// +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match tx.try_write_vectored(&bufs) { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryWriteVectored({required List buf })=>RustLib.instance.api.tokioNetUnixPipeSenderTryWriteVectored(that: this, buf: buf); + + +/// Waits for the pipe to become writable. +/// +/// This function is equivalent to `ready(Interest::WRITABLE)` and is usually +/// paired with [`try_write()`]. +/// +/// [`try_write()`]: Self::try_write +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::unix::pipe; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Open a writing end of a fifo +/// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; +/// +/// loop { +/// // Wait for the pipe to be writable +/// tx.writable().await?; +/// +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match tx.try_write(b"hello world") { +/// Ok(n) => { +/// break; +/// } +/// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future writable()=>RustLib.instance.api.tokioNetUnixPipeSenderWritable(that: this, ); + + + } + @sealed class SenderTImpl extends RustOpaque implements SenderT { + // Not to be used by end users + SenderTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SenderTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SenderT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SenderT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SenderTPtr, + ); + + /// Blocking send to call outside of asynchronous contexts. +/// +/// This method is intended for use cases where you are sending from +/// synchronous code to asynchronous code, and will work even if the +/// receiver is not using [`blocking_recv`] to receive the message. +/// +/// [`blocking_recv`]: fn@crate::sync::mpsc::Receiver::blocking_recv +/// +/// # Panics +/// +/// This function panics if called within an asynchronous execution +/// context. +/// +/// # Examples +/// +/// ``` +/// # #[cfg(not(target_family = "wasm"))] +/// # { +/// use std::thread; +/// use tokio::runtime::Runtime; +/// use tokio::sync::mpsc; +/// +/// fn main() { +/// let (tx, mut rx) = mpsc::channel::(1); +/// +/// let sync_code = thread::spawn(move || { +/// tx.blocking_send(10).unwrap(); +/// }); +/// +/// Runtime::new().unwrap().block_on(async move { +/// assert_eq!(Some(10), rx.recv().await); +/// }); +/// sync_code.join().unwrap() +/// } +/// # } +/// ``` + Future blockingSend({required T value })=>RustLib.instance.api.tokioNetUnixPipeSenderTBlockingSend(that: this, value: value); + + +/// Returns a reference to the most recently sent value +/// +/// Outstanding borrows hold a read lock on the inner value. This means that +/// long-lived borrows could cause the producer half to block. It is recommended +/// to keep the borrow as short-lived as possible. Additionally, if you are +/// running in an environment that allows `!Send` futures, you must ensure that +/// the returned `Ref` type is never held alive across an `.await` point, +/// otherwise, it can lead to a deadlock. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::watch; +/// +/// let (tx, _) = watch::channel("hello"); +/// assert_eq!(*tx.borrow(), "hello"); +/// ``` + Future borrow()=>RustLib.instance.api.tokioNetUnixPipeSenderTBorrow(that: this, ); + + +/// Returns the current capacity of the channel. +/// +/// The capacity goes down when sending a value by calling [`send`] or by reserving capacity +/// with [`reserve`]. The capacity goes up when values are received by the [`Receiver`]. +/// This is distinct from [`max_capacity`], which always returns buffer capacity initially +/// specified when calling [`channel`] +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel::<()>(5); +/// +/// assert_eq!(tx.capacity(), 5); +/// +/// // Making a reservation drops the capacity by one. +/// let permit = tx.reserve().await.unwrap(); +/// assert_eq!(tx.capacity(), 4); +/// +/// // Sending and receiving a value increases the capacity by one. +/// permit.send(()); +/// rx.recv().await.unwrap(); +/// assert_eq!(tx.capacity(), 5); +/// # } +/// ``` +/// +/// [`send`]: Sender::send +/// [`reserve`]: Sender::reserve +/// [`channel`]: channel +/// [`max_capacity`]: Sender::max_capacity + Future capacity()=>RustLib.instance.api.tokioNetUnixPipeSenderTCapacity(that: this, ); + + +/// A future which completes when the number of [Receiver]s subscribed to this `Sender` reaches +/// zero. +/// +/// # Examples +/// +/// ``` +/// use futures::FutureExt; +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx1) = broadcast::channel::(16); +/// let mut rx2 = tx.subscribe(); +/// +/// let _ = tx.send(10); +/// +/// assert_eq!(rx1.recv().await.unwrap(), 10); +/// drop(rx1); +/// assert!(tx.closed().now_or_never().is_none()); +/// +/// assert_eq!(rx2.recv().await.unwrap(), 10); +/// drop(rx2); +/// assert!(tx.closed().now_or_never().is_some()); +/// # } +/// ``` + Future closed()=>RustLib.instance.api.tokioNetUnixPipeSenderTClosed(that: this, ); + + +/// Converts the `Sender` to a [`WeakSender`] that does not count +/// towards RAII semantics, i.e. if all `Sender` instances of the +/// channel were dropped and only `WeakSender` instances remain, +/// the channel is closed. + Future downgrade()=>RustLib.instance.api.tokioNetUnixPipeSenderTDowngrade(that: this, ); + + +/// Checks if the channel has been closed. This happens when the +/// [`Receiver`] is dropped, or when the [`Receiver::close`] method is +/// called. +/// +/// [`Receiver`]: crate::sync::mpsc::Receiver +/// [`Receiver::close`]: crate::sync::mpsc::Receiver::close +/// +/// ``` +/// let (tx, rx) = tokio::sync::mpsc::channel::<()>(42); +/// assert!(!tx.is_closed()); +/// +/// let tx2 = tx.clone(); +/// assert!(!tx2.is_closed()); +/// +/// drop(rx); +/// assert!(tx.is_closed()); +/// assert!(tx2.is_closed()); +/// ``` + Future isClosed()=>RustLib.instance.api.tokioNetUnixPipeSenderTIsClosed(that: this, ); + + +/// Returns true if there are no queued values. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx1) = broadcast::channel(16); +/// let mut rx2 = tx.subscribe(); +/// +/// assert!(tx.is_empty()); +/// +/// tx.send(10).unwrap(); +/// +/// assert!(!tx.is_empty()); +/// +/// rx1.recv().await.unwrap(); +/// +/// // The queue is still not empty since rx2 hasn't seen the value. +/// assert!(!tx.is_empty()); +/// +/// rx2.recv().await.unwrap(); +/// +/// assert!(tx.is_empty()); +/// # } +/// ``` + Future isEmpty()=>RustLib.instance.api.tokioNetUnixPipeSenderTIsEmpty(that: this, ); + + +/// Returns the number of queued values. +/// +/// A value is queued until it has either been seen by all receivers that were alive at the time +/// it was sent, or has been evicted from the queue by subsequent sends that exceeded the +/// queue's capacity. +/// +/// # Note +/// +/// In contrast to [`Receiver::len`], this method only reports queued values and not values that +/// have been evicted from the queue before being seen by all receivers. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx1) = broadcast::channel(16); +/// let mut rx2 = tx.subscribe(); +/// +/// tx.send(10).unwrap(); +/// tx.send(20).unwrap(); +/// tx.send(30).unwrap(); +/// +/// assert_eq!(tx.len(), 3); +/// +/// rx1.recv().await.unwrap(); +/// +/// // The len is still 3 since rx2 hasn't seen the first value yet. +/// assert_eq!(tx.len(), 3); +/// +/// rx2.recv().await.unwrap(); +/// +/// assert_eq!(tx.len(), 2); +/// # } +/// ``` + Future len()=>RustLib.instance.api.tokioNetUnixPipeSenderTLen(that: this, ); + + +/// Returns the maximum buffer capacity of the channel. +/// +/// The maximum capacity is the buffer capacity initially specified when calling +/// [`channel`]. This is distinct from [`capacity`], which returns the *current* +/// available buffer capacity: as messages are sent and received, the +/// value returned by [`capacity`] will go up or down, whereas the value +/// returned by [`max_capacity`] will remain constant. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, _rx) = mpsc::channel::<()>(5); +/// +/// // both max capacity and capacity are the same at first +/// assert_eq!(tx.max_capacity(), 5); +/// assert_eq!(tx.capacity(), 5); +/// +/// // Making a reservation doesn't change the max capacity. +/// let permit = tx.reserve().await.unwrap(); +/// assert_eq!(tx.max_capacity(), 5); +/// // but drops the capacity by one +/// assert_eq!(tx.capacity(), 4); +/// # } +/// ``` +/// +/// [`channel`]: channel +/// [`max_capacity`]: Sender::max_capacity +/// [`capacity`]: Sender::capacity + Future maxCapacity()=>RustLib.instance.api.tokioNetUnixPipeSenderTMaxCapacity(that: this, ); + + +/// Checks whether the `oneshot` channel has been closed, and if not, schedules the +/// `Waker` in the provided `Context` to receive a notification when the channel is +/// closed. +/// +/// A [`Receiver`] is closed by either calling [`close`] explicitly, or when the +/// [`Receiver`] value is dropped. +/// +/// Note that on multiple calls to poll, only the `Waker` from the `Context` passed +/// to the most recent call will be scheduled to receive a wakeup. +/// +/// [`Receiver`]: struct@crate::sync::oneshot::Receiver +/// [`close`]: fn@crate::sync::oneshot::Receiver::close +/// +/// # Return value +/// +/// This function returns: +/// +/// * `Poll::Pending` if the channel is still open. +/// * `Poll::Ready(())` if the channel is closed. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::oneshot; +/// +/// use std::future::poll_fn; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (mut tx, mut rx) = oneshot::channel::<()>(); +/// +/// tokio::spawn(async move { +/// rx.close(); +/// }); +/// +/// poll_fn(|cx| tx.poll_closed(cx)).await; +/// +/// println!("the receiver dropped"); +/// # } +/// ``` + Future pollClosed({required Context cx })=>RustLib.instance.api.tokioNetUnixPipeSenderTPollClosed(that: this, cx: cx); + + +/// Returns the number of active receivers. +/// +/// An active receiver is a [`Receiver`] handle returned from [`channel`] or +/// [`subscribe`]. These are the handles that will receive values sent on +/// this [`Sender`]. +/// +/// # Note +/// +/// It is not guaranteed that a sent message will reach this number of +/// receivers. Active receivers may never call [`recv`] again before +/// dropping. +/// +/// [`recv`]: crate::sync::broadcast::Receiver::recv +/// [`Receiver`]: crate::sync::broadcast::Receiver +/// [`Sender`]: crate::sync::broadcast::Sender +/// [`subscribe`]: crate::sync::broadcast::Sender::subscribe +/// [`channel`]: crate::sync::broadcast::channel +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, _rx1) = broadcast::channel(16); +/// +/// assert_eq!(1, tx.receiver_count()); +/// +/// let mut _rx2 = tx.subscribe(); +/// +/// assert_eq!(2, tx.receiver_count()); +/// +/// tx.send(10).unwrap(); +/// # } +/// ``` + Future receiverCount()=>RustLib.instance.api.tokioNetUnixPipeSenderTReceiverCount(that: this, ); + + +/// Waits for channel capacity. Once capacity to send one message is +/// available, it is reserved for the caller. +/// +/// If the channel is full, the function waits for the number of unreceived +/// messages to become less than the channel capacity. Capacity to send one +/// message is reserved for the caller. A [`Permit`] is returned to track +/// the reserved capacity. The [`send`] function on [`Permit`] consumes the +/// reserved capacity. +/// +/// Dropping [`Permit`] without sending a message releases the capacity back +/// to the channel. +/// +/// [`Permit`]: Permit +/// [`send`]: Permit::send +/// +/// # Cancel safety +/// +/// This channel uses a queue to ensure that calls to `send` and `reserve` +/// complete in the order they were requested. Cancelling a call to +/// `reserve` makes you lose your place in the queue. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel(1); +/// +/// // Reserve capacity +/// let permit = tx.reserve().await.unwrap(); +/// +/// // Trying to send directly on the `tx` will fail due to no +/// // available capacity. +/// assert!(tx.try_send(123).is_err()); +/// +/// // Sending on the permit succeeds +/// permit.send(456); +/// +/// // The value sent on the permit is received +/// assert_eq!(rx.recv().await.unwrap(), 456); +/// # } +/// ``` + Future reserve()=>RustLib.instance.api.tokioNetUnixPipeSenderTReserve(that: this, ); + + +/// Waits for channel capacity. Once capacity to send `n` messages is +/// available, it is reserved for the caller. +/// +/// If the channel is full or if there are fewer than `n` permits available, the function waits +/// for the number of unreceived messages to become `n` less than the channel capacity. +/// Capacity to send `n` message is then reserved for the caller. +/// +/// A [`PermitIterator`] is returned to track the reserved capacity. +/// You can call this [`Iterator`] until it is exhausted to +/// get a [`Permit`] and then call [`Permit::send`]. This function is similar to +/// [`try_reserve_many`] except it waits for the slots to become available. +/// +/// If the channel is closed, the function returns a [`SendError`]. +/// +/// Dropping [`PermitIterator`] without consuming it entirely releases the remaining +/// permits back to the channel. +/// +/// [`PermitIterator`]: PermitIterator +/// [`Permit`]: Permit +/// [`send`]: Permit::send +/// [`try_reserve_many`]: Sender::try_reserve_many +/// +/// # Cancel safety +/// +/// This channel uses a queue to ensure that calls to `send` and `reserve_many` +/// complete in the order they were requested. Cancelling a call to +/// `reserve_many` makes you lose your place in the queue. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel(2); +/// +/// // Reserve capacity +/// let mut permit = tx.reserve_many(2).await.unwrap(); +/// +/// // Trying to send directly on the `tx` will fail due to no +/// // available capacity. +/// assert!(tx.try_send(123).is_err()); +/// +/// // Sending with the permit iterator succeeds +/// permit.next().unwrap().send(456); +/// permit.next().unwrap().send(457); +/// +/// // The iterator should now be exhausted +/// assert!(permit.next().is_none()); +/// +/// // The value sent on the permit is received +/// assert_eq!(rx.recv().await.unwrap(), 456); +/// assert_eq!(rx.recv().await.unwrap(), 457); +/// # } +/// ``` + Future reserveMany({required BigInt n })=>RustLib.instance.api.tokioNetUnixPipeSenderTReserveMany(that: this, n: n); + + +/// Waits for channel capacity, moving the `Sender` and returning an owned +/// permit. Once capacity to send one message is available, it is reserved +/// for the caller. +/// +/// This moves the sender _by value_, and returns an owned permit that can +/// be used to send a message into the channel. Unlike [`Sender::reserve`], +/// this method may be used in cases where the permit must be valid for the +/// `'static` lifetime. `Sender`s may be cloned cheaply (`Sender::clone` is +/// essentially a reference count increment, comparable to [`Arc::clone`]), +/// so when multiple [`OwnedPermit`]s are needed or the `Sender` cannot be +/// moved, it can be cloned prior to calling `reserve_owned`. +/// +/// If the channel is full, the function waits for the number of unreceived +/// messages to become less than the channel capacity. Capacity to send one +/// message is reserved for the caller. An [`OwnedPermit`] is returned to +/// track the reserved capacity. The [`send`] function on [`OwnedPermit`] +/// consumes the reserved capacity. +/// +/// Dropping the [`OwnedPermit`] without sending a message releases the +/// capacity back to the channel. +/// +/// # Cancel safety +/// +/// This channel uses a queue to ensure that calls to `send` and `reserve` +/// complete in the order they were requested. Cancelling a call to +/// `reserve_owned` makes you lose your place in the queue. +/// +/// # Examples +/// Sending a message using an [`OwnedPermit`]: +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel(1); +/// +/// // Reserve capacity, moving the sender. +/// let permit = tx.reserve_owned().await.unwrap(); +/// +/// // Send a message, consuming the permit and returning +/// // the moved sender. +/// let tx = permit.send(123); +/// +/// // The value sent on the permit is received. +/// assert_eq!(rx.recv().await.unwrap(), 123); +/// +/// // The sender can now be used again. +/// tx.send(456).await.unwrap(); +/// # } +/// ``` +/// +/// When multiple [`OwnedPermit`]s are needed, or the sender cannot be moved +/// by value, it can be inexpensively cloned before calling `reserve_owned`: +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel(1); +/// +/// // Clone the sender and reserve capacity. +/// let permit = tx.clone().reserve_owned().await.unwrap(); +/// +/// // Trying to send directly on the `tx` will fail due to no +/// // available capacity. +/// assert!(tx.try_send(123).is_err()); +/// +/// // Sending on the permit succeeds. +/// permit.send(456); +/// +/// // The value sent on the permit is received +/// assert_eq!(rx.recv().await.unwrap(), 456); +/// # } +/// ``` +/// +/// [`Sender::reserve`]: Sender::reserve +/// [`OwnedPermit`]: OwnedPermit +/// [`send`]: OwnedPermit::send +/// [`Arc::clone`]: std::sync::Arc::clone + Future reserveOwned()=>RustLib.instance.api.tokioNetUnixPipeSenderTReserveOwned(that: this, ); + + +/// Returns `true` if senders belong to the same channel. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, _rx) = broadcast::channel::<()>(16); +/// let tx2 = tx.clone(); +/// +/// assert!(tx.same_channel(&tx2)); +/// +/// let (tx3, _rx3) = broadcast::channel::<()>(16); +/// +/// assert!(!tx3.same_channel(&tx2)); +/// # } +/// ``` + Future sameChannel({required SenderT other })=>RustLib.instance.api.tokioNetUnixPipeSenderTSameChannel(that: this, other: other); + + +/// Attempts to send a value to all active [`Receiver`] handles, returning +/// it back if it could not be sent. +/// +/// A successful send occurs when there is at least one active [`Receiver`] +/// handle. An unsuccessful send would be one where all associated +/// [`Receiver`] handles have already been dropped. +/// +/// # Return +/// +/// On success, the number of subscribed [`Receiver`] handles is returned. +/// This does not mean that this number of receivers will see the message as +/// a receiver may drop or lag ([see lagging](self#lagging)) before receiving +/// the message. +/// +/// # Note +/// +/// A return value of `Ok` **does not** mean that the sent value will be +/// observed by all or any of the active [`Receiver`] handles. [`Receiver`] +/// handles may be dropped before receiving the sent message. +/// +/// A return value of `Err` **does not** mean that future calls to `send` +/// will fail. New [`Receiver`] handles may be created by calling +/// [`subscribe`]. +/// +/// [`Receiver`]: crate::sync::broadcast::Receiver +/// [`subscribe`]: crate::sync::broadcast::Sender::subscribe +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx1) = broadcast::channel(16); +/// let mut rx2 = tx.subscribe(); +/// +/// tokio::spawn(async move { +/// assert_eq!(rx1.recv().await.unwrap(), 10); +/// assert_eq!(rx1.recv().await.unwrap(), 20); +/// }); +/// +/// tokio::spawn(async move { +/// assert_eq!(rx2.recv().await.unwrap(), 10); +/// assert_eq!(rx2.recv().await.unwrap(), 20); +/// }); +/// +/// tx.send(10).unwrap(); +/// tx.send(20).unwrap(); +/// # } +/// ``` + Future send({required T value })=>RustLib.instance.api.tokioNetUnixPipeSenderTSend(that: this, value: value); + + +/// Sends a new value via the channel, notifying all receivers and returning +/// the previous value in the channel. +/// +/// This can be useful for reusing the buffers inside a watched value. +/// Additionally, this method permits sending values even when there are no +/// receivers. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::watch; +/// +/// let (tx, _rx) = watch::channel(1); +/// assert_eq!(tx.send_replace(2), 1); +/// assert_eq!(tx.send_replace(3), 2); +/// ``` + Future sendReplace({required T value })=>RustLib.instance.api.tokioNetUnixPipeSenderTSendReplace(that: this, value: value); + + +/// Sends a value, waiting until there is capacity, but only for a limited time. +/// +/// Shares the same success and error conditions as [`send`], adding one more +/// condition for an unsuccessful send, which is when the provided timeout has +/// elapsed, and there is no capacity available. +/// +/// [`send`]: Sender::send +/// +/// # Errors +/// +/// If the receive half of the channel is closed, either due to [`close`] +/// being called or the [`Receiver`] having been dropped, +/// the function returns an error. The error includes the value passed to `send`. +/// +/// [`close`]: Receiver::close +/// [`Receiver`]: Receiver +/// +/// # Panics +/// +/// This function panics if it is called outside the context of a Tokio +/// runtime [with time enabled](crate::runtime::Builder::enable_time). +/// +/// # Examples +/// +/// In the following example, each call to `send_timeout` will block until the +/// previously sent value was received, unless the timeout has elapsed. +/// +/// ```rust +/// use tokio::sync::mpsc; +/// use tokio::time::{sleep, Duration}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel(1); +/// +/// tokio::spawn(async move { +/// for i in 0..10 { +/// if let Err(e) = tx.send_timeout(i, Duration::from_millis(100)).await { +/// println!("send error: #{:?}", e); +/// return; +/// } +/// } +/// }); +/// +/// while let Some(i) = rx.recv().await { +/// println!("got = {}", i); +/// sleep(Duration::from_millis(200)).await; +/// } +/// # } +/// ``` + Future sendTimeout({required T value , required Duration timeout })=>RustLib.instance.api.tokioNetUnixPipeSenderTSendTimeout(that: this, value: value, timeout: timeout); + + +/// Returns the number of senders that currently exist. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::watch; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx1, rx) = watch::channel("hello"); +/// +/// assert_eq!(1, tx1.sender_count()); +/// +/// let tx2 = tx1.clone(); +/// +/// assert_eq!(2, tx1.sender_count()); +/// assert_eq!(2, tx2.sender_count()); +/// # } +/// ``` + Future senderCount()=>RustLib.instance.api.tokioNetUnixPipeSenderTSenderCount(that: this, ); + + +/// Returns the number of [`Sender`] handles. + Future strongCount()=>RustLib.instance.api.tokioNetUnixPipeSenderTStrongCount(that: this, ); + + +/// Creates a new [`Receiver`] handle that will receive values sent **after** +/// this call to `subscribe`. +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::broadcast; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, _rx) = broadcast::channel(16); +/// +/// // Will not be seen +/// tx.send(10).unwrap(); +/// +/// let mut rx = tx.subscribe(); +/// +/// tx.send(20).unwrap(); +/// +/// let value = rx.recv().await.unwrap(); +/// assert_eq!(20, value); +/// # } +/// ``` + Future subscribe()=>RustLib.instance.api.tokioNetUnixPipeSenderTSubscribe(that: this, ); + + +/// Tries to acquire a slot in the channel without waiting for the slot to become +/// available. +/// +/// If the channel is full this function will return [`TrySendError`], otherwise +/// if there is a slot available it will return a [`Permit`] that will then allow you +/// to [`send`] on the channel with a guaranteed slot. This function is similar to +/// [`reserve`] except it does not await for the slot to become available. +/// +/// Dropping [`Permit`] without sending a message releases the capacity back +/// to the channel. +/// +/// [`Permit`]: Permit +/// [`send`]: Permit::send +/// [`reserve`]: Sender::reserve +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel(1); +/// +/// // Reserve capacity +/// let permit = tx.try_reserve().unwrap(); +/// +/// // Trying to send directly on the `tx` will fail due to no +/// // available capacity. +/// assert!(tx.try_send(123).is_err()); +/// +/// // Trying to reserve an additional slot on the `tx` will +/// // fail because there is no capacity. +/// assert!(tx.try_reserve().is_err()); +/// +/// // Sending on the permit succeeds +/// permit.send(456); +/// +/// // The value sent on the permit is received +/// assert_eq!(rx.recv().await.unwrap(), 456); +/// +/// # } +/// ``` + Future tryReserve()=>RustLib.instance.api.tokioNetUnixPipeSenderTTryReserve(that: this, ); + + +/// Tries to acquire `n` slots in the channel without waiting for the slot to become +/// available. +/// +/// A [`PermitIterator`] is returned to track the reserved capacity. +/// You can call this [`Iterator`] until it is exhausted to +/// get a [`Permit`] and then call [`Permit::send`]. This function is similar to +/// [`reserve_many`] except it does not await for the slots to become available. +/// +/// If there are fewer than `n` permits available on the channel, then +/// this function will return a [`TrySendError::Full`]. If the channel is closed +/// this function will return a [`TrySendError::Closed`]. +/// +/// Dropping [`PermitIterator`] without consuming it entirely releases the remaining +/// permits back to the channel. +/// +/// [`PermitIterator`]: PermitIterator +/// [`send`]: Permit::send +/// [`reserve_many`]: Sender::reserve_many +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel(2); +/// +/// // Reserve capacity +/// let mut permit = tx.try_reserve_many(2).unwrap(); +/// +/// // Trying to send directly on the `tx` will fail due to no +/// // available capacity. +/// assert!(tx.try_send(123).is_err()); +/// +/// // Trying to reserve an additional slot on the `tx` will +/// // fail because there is no capacity. +/// assert!(tx.try_reserve().is_err()); +/// +/// // Sending with the permit iterator succeeds +/// permit.next().unwrap().send(456); +/// permit.next().unwrap().send(457); +/// +/// // The iterator should now be exhausted +/// assert!(permit.next().is_none()); +/// +/// // The value sent on the permit is received +/// assert_eq!(rx.recv().await.unwrap(), 456); +/// assert_eq!(rx.recv().await.unwrap(), 457); +/// +/// // Trying to call try_reserve_many with 0 will return an empty iterator +/// let mut permit = tx.try_reserve_many(0).unwrap(); +/// assert!(permit.next().is_none()); +/// +/// // Trying to call try_reserve_many with a number greater than the channel +/// // capacity will return an error +/// let permit = tx.try_reserve_many(3); +/// assert!(permit.is_err()); +/// +/// // Trying to call try_reserve_many on a closed channel will return an error +/// drop(rx); +/// let permit = tx.try_reserve_many(1); +/// assert!(permit.is_err()); +/// +/// let permit = tx.try_reserve_many(0); +/// assert!(permit.is_err()); +/// # } +/// ``` + Future tryReserveMany({required BigInt n })=>RustLib.instance.api.tokioNetUnixPipeSenderTTryReserveMany(that: this, n: n); + + +/// Tries to acquire a slot in the channel without waiting for the slot to become +/// available, returning an owned permit. +/// +/// This moves the sender _by value_, and returns an owned permit that can +/// be used to send a message into the channel. Unlike [`Sender::try_reserve`], +/// this method may be used in cases where the permit must be valid for the +/// `'static` lifetime. `Sender`s may be cloned cheaply (`Sender::clone` is +/// essentially a reference count increment, comparable to [`Arc::clone`]), +/// so when multiple [`OwnedPermit`]s are needed or the `Sender` cannot be +/// moved, it can be cloned prior to calling `try_reserve_owned`. +/// +/// If the channel is full this function will return a [`TrySendError`]. +/// Since the sender is taken by value, the `TrySendError` returned in this +/// case contains the sender, so that it may be used again. Otherwise, if +/// there is a slot available, this method will return an [`OwnedPermit`] +/// that can then be used to [`send`] on the channel with a guaranteed slot. +/// This function is similar to [`reserve_owned`] except it does not await +/// for the slot to become available. +/// +/// Dropping the [`OwnedPermit`] without sending a message releases the capacity back +/// to the channel. +/// +/// [`OwnedPermit`]: OwnedPermit +/// [`send`]: OwnedPermit::send +/// [`reserve_owned`]: Sender::reserve_owned +/// [`Arc::clone`]: std::sync::Arc::clone +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let (tx, mut rx) = mpsc::channel(1); +/// +/// // Reserve capacity +/// let permit = tx.clone().try_reserve_owned().unwrap(); +/// +/// // Trying to send directly on the `tx` will fail due to no +/// // available capacity. +/// assert!(tx.try_send(123).is_err()); +/// +/// // Trying to reserve an additional slot on the `tx` will +/// // fail because there is no capacity. +/// assert!(tx.try_reserve().is_err()); +/// +/// // Sending on the permit succeeds +/// permit.send(456); +/// +/// // The value sent on the permit is received +/// assert_eq!(rx.recv().await.unwrap(), 456); +/// +/// # } +/// ``` + Future tryReserveOwned()=>RustLib.instance.api.tokioNetUnixPipeSenderTTryReserveOwned(that: this, ); + + +/// Attempts to immediately send a message on this `Sender`. +/// +/// This method differs from [`send`] by returning immediately if the channel's +/// buffer is full or no receiver is waiting to acquire some data. Compared +/// with [`send`], this function has two failure cases instead of one (one for +/// disconnection, one for a full buffer). +/// +/// # Errors +/// +/// If the channel capacity has been reached, i.e., the channel has `n` +/// buffered values where `n` is the argument passed to [`channel`], then an +/// error is returned. +/// +/// If the receive half of the channel is closed, either due to [`close`] +/// being called or the [`Receiver`] handle dropping, the function returns +/// an error. The error includes the value passed to `send`. +/// +/// [`send`]: Sender::send +/// [`channel`]: channel +/// [`close`]: Receiver::close +/// +/// # Examples +/// +/// ``` +/// use tokio::sync::mpsc; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// // Create a channel with buffer size 1 +/// let (tx1, mut rx) = mpsc::channel(1); +/// let tx2 = tx1.clone(); +/// +/// tokio::spawn(async move { +/// tx1.send(1).await.unwrap(); +/// tx1.send(2).await.unwrap(); +/// // task waits until the receiver receives a value. +/// }); +/// +/// tokio::spawn(async move { +/// // This will return an error and send +/// // no message if the buffer is full +/// let _ = tx2.try_send(3); +/// }); +/// +/// let mut msg; +/// msg = rx.recv().await.unwrap(); +/// println!("message {} received", msg); +/// +/// msg = rx.recv().await.unwrap(); +/// println!("message {} received", msg); +/// +/// // Third message may have never been sent +/// match rx.recv().await { +/// Some(msg) => println!("message {} received", msg), +/// None => println!("the third message was never sent"), +/// } +/// # } +/// ``` + Future trySend({required T message })=>RustLib.instance.api.tokioNetUnixPipeSenderTTrySend(that: this, message: message); + + +/// Returns the number of [`WeakSender`] handles. + Future weakCount()=>RustLib.instance.api.tokioNetUnixPipeSenderTWeakCount(that: this, ); + + + } + @sealed class ShutdownImpl extends RustOpaque implements Shutdown { + // Not to be used by end users + ShutdownImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ShutdownImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Shutdown, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Shutdown, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ShutdownPtr, + ); + + + } + @sealed class ShutdownSelfImpl extends RustOpaque implements ShutdownSelf { + // Not to be used by end users + ShutdownSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ShutdownSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ShutdownSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ShutdownSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ShutdownSelfPtr, + ); + + + } + @sealed class SignalImpl extends RustOpaque implements Signal { + // Not to be used by end users + SignalImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SignalImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Signal, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Signal, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SignalPtr, + ); + + Future pollRecv({required Context cx })=>RustLib.instance.api.tokioSignalUnixSignalPollRecv(that: this, cx: cx); + + +/// Receives the next signal notification event. +/// +/// `None` is returned if no more events can be received by this stream. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If you use it as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, then it is guaranteed that no signal is lost. +/// +/// # Examples +/// +/// Wait for `SIGHUP` +/// +/// ```rust,no_run +/// use tokio::signal::unix::{signal, SignalKind}; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // An infinite stream of hangup signals. +/// let mut stream = signal(SignalKind::hangup())?; +/// +/// // Print whenever a HUP signal is received +/// loop { +/// stream.recv().await; +/// println!("got signal HUP"); +/// } +/// } +/// ``` + Future recv()=>RustLib.instance.api.tokioSignalUnixSignalRecv(that: this, ); + + + } + @sealed class SignalKindImpl extends RustOpaque implements SignalKind { + // Not to be used by end users + SignalKindImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SignalKindImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SignalKind, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SignalKind, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SignalKindPtr, + ); + + /// Get the signal's numeric value. +/// +/// ```rust +/// # use tokio::signal::unix::SignalKind; +/// let kind = SignalKind::interrupt(); +/// assert_eq!(kind.as_raw_value(), libc::SIGINT); +/// ``` + Future asRawValue()=>RustLib.instance.api.tokioSignalUnixSignalKindAsRawValue(that: this, ); + + + } + @sealed class SimplexStreamImpl extends RustOpaque implements SimplexStream { + // Not to be used by end users + SimplexStreamImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SimplexStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SimplexStream, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SimplexStream, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SimplexStreamPtr, + ); + + + } + @sealed class SinkImpl extends RustOpaque implements Sink { + // Not to be used by end users + SinkImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SinkImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Sink, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Sink, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SinkPtr, + ); + + + } + @sealed class SleepImpl extends RustOpaque implements Sleep { + // Not to be used by end users + SleepImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SleepImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Sleep, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Sleep, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SleepPtr, + ); + + /// Returns the instant at which the future will complete. + Future deadline()=>RustLib.instance.api.tokioTimeSleepDeadline(that: this, ); + + +/// Returns `true` if `Sleep` has elapsed. +/// +/// A `Sleep` instance is elapsed when the requested duration has elapsed. + Future isElapsed()=>RustLib.instance.api.tokioTimeSleepIsElapsed(that: this, ); + + +/// Resets the `Sleep` instance to a new deadline. +/// +/// Calling this function allows changing the instant at which the `Sleep` +/// future completes without having to create new associated state. +/// +/// This function can be called both before and after the future has +/// completed. +/// +/// To call this method, you will usually combine the call with +/// [`Pin::as_mut`], which lets you call the method without consuming the +/// `Sleep` itself. +/// +/// # Example +/// +/// ``` +/// use tokio::time::{Duration, Instant}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let sleep = tokio::time::sleep(Duration::from_millis(10)); +/// tokio::pin!(sleep); +/// +/// sleep.as_mut().reset(Instant::now() + Duration::from_millis(20)); +/// # } +/// ``` +/// +/// See also the top-level examples. +/// +/// [`Pin::as_mut`]: fn@std::pin::Pin::as_mut + Future reset({required Instant deadline })=>RustLib.instance.api.tokioTimeSleepReset(that: this, deadline: deadline); + + + } + @sealed class SocketAddrImpl extends RustOpaque implements SocketAddr { + // Not to be used by end users + SocketAddrImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SocketAddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SocketAddr, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SocketAddr, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SocketAddrPtr, + ); + + /// Returns the contents of this address if it is a `pathname` address. +/// +/// Documentation reflected in [`SocketAddr`]. +/// +/// [`SocketAddr`]: std::os::unix::net::SocketAddr + Future asPathname()=>RustLib.instance.api.tokioNetUnixSocketAddrAsPathname(that: this, ); + + +/// Returns `true` if the address is unnamed. +/// +/// Documentation reflected in [`SocketAddr`]. +/// +/// [`SocketAddr`]: std::os::unix::net::SocketAddr + Future isUnnamed()=>RustLib.instance.api.tokioNetUnixSocketAddrIsUnnamed(that: this, ); + + + } + @sealed class SplitSelfImpl extends RustOpaque implements SplitSelf { + // Not to be used by end users + SplitSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + SplitSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SplitSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SplitSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SplitSelfPtr, + ); + + + } + @sealed class StdCommandImpl extends RustOpaque implements StdCommand { + // Not to be used by end users + StdCommandImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + StdCommandImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_StdCommand, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_StdCommand, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_StdCommandPtr, + ); + + + } + @sealed class StderrImpl extends RustOpaque implements Stderr { + // Not to be used by end users + StderrImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + StderrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Stderr, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Stderr, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_StderrPtr, + ); + + + } + @sealed class StdinImpl extends RustOpaque implements Stdin { + // Not to be used by end users + StdinImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + StdinImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Stdin, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Stdin, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_StdinPtr, + ); + + + } + @sealed class StdoutImpl extends RustOpaque implements Stdout { + // Not to be used by end users + StdoutImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + StdoutImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Stdout, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Stdout, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_StdoutPtr, + ); + + + } + @sealed class StopwordTypeImpl extends RustOpaque implements StopwordType { + // Not to be used by end users + StopwordTypeImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + StopwordTypeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_StopwordType, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_StopwordType, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_StopwordTypePtr, + ); + + + } + @sealed class TImpl extends RustOpaque implements T { + // Not to be used by end users + TImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + TImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_T, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_T, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TPtr, + ); + + + } + @sealed class TakeSelfImpl extends RustOpaque implements TakeSelf { + // Not to be used by end users + TakeSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + TakeSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TakeSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TakeSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TakeSelfPtr, + ); + + + } + @sealed class TcpListenerImpl extends RustOpaque implements TcpListener { + // Not to be used by end users + TcpListenerImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + TcpListenerImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TcpListener, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TcpListener, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TcpListenerPtr, + ); + + /// Accepts a new incoming connection from this listener. +/// +/// This function will yield once a new TCP connection is established. When +/// established, the corresponding [`TcpStream`] and the remote peer's +/// address will be returned. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If the method is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, then it is guaranteed that no new connections were +/// accepted by this method. +/// +/// [`TcpStream`]: struct@crate::net::TcpStream +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpListener; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let listener = TcpListener::bind("127.0.0.1:8080").await?; +/// +/// match listener.accept().await { +/// Ok((_socket, addr)) => println!("new client: {:?}", addr), +/// Err(e) => println!("couldn't get client: {:?}", e), +/// } +/// +/// Ok(()) +/// } +/// ``` + Future<(TcpStream,SocketAddr)> accept()=>RustLib.instance.api.tokioNetTcpListenerAccept(that: this, ); + + +/// Turns a [`tokio::net::TcpListener`] into a [`std::net::TcpListener`]. +/// +/// The returned [`std::net::TcpListener`] will have nonblocking mode set as +/// `true`. Use [`set_nonblocking`] to change the blocking mode if needed. +/// +/// # Examples +/// +/// ```rust,no_run +/// use std::error::Error; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// let tokio_listener = tokio::net::TcpListener::bind("127.0.0.1:0").await?; +/// let std_listener = tokio_listener.into_std()?; +/// std_listener.set_nonblocking(false)?; +/// Ok(()) +/// } +/// ``` +/// +/// [`tokio::net::TcpListener`]: TcpListener +/// [`std::net::TcpListener`]: std::net::TcpListener +/// [`set_nonblocking`]: fn@std::net::TcpListener::set_nonblocking + Future intoStd()=>RustLib.instance.api.tokioNetTcpListenerIntoStd(that: this, ); + + +/// Returns the local address that this listener is bound to. +/// +/// This can be useful, for example, when binding to port 0 to figure out +/// which port was actually bound. +/// +/// # Examples +/// +/// ```rust,no_run +/// use tokio::net::TcpListener; +/// +/// use std::io; +/// use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4}; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let listener = TcpListener::bind("127.0.0.1:8080").await?; +/// +/// assert_eq!(listener.local_addr()?, +/// SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080))); +/// +/// Ok(()) +/// } +/// ``` + Future localAddr()=>RustLib.instance.api.tokioNetTcpListenerLocalAddr(that: this, ); + + +/// Polls to accept a new incoming connection to this listener. +/// +/// If there is no connection to accept, `Poll::Pending` is returned and the +/// current task will be notified by a waker. Note that on multiple calls +/// to `poll_accept`, only the `Waker` from the `Context` passed to the most +/// recent call is scheduled to receive a wakeup. + Future pollAccept({required Context cx })=>RustLib.instance.api.tokioNetTcpListenerPollAccept(that: this, cx: cx); + + +/// Sets the value for the `IP_TTL` option on this socket. +/// +/// This value sets the time-to-live field that is used in every packet sent +/// from this socket. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpListener; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let listener = TcpListener::bind("127.0.0.1:0").await?; +/// +/// listener.set_ttl(100).expect("could not set TTL"); +/// +/// Ok(()) +/// } +/// ``` + Future setTtl({required int ttl })=>RustLib.instance.api.tokioNetTcpListenerSetTtl(that: this, ttl: ttl); + + +/// Gets the value of the `IP_TTL` option for this socket. +/// +/// For more information about this option, see [`set_ttl`]. +/// +/// [`set_ttl`]: method@Self::set_ttl +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpListener; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let listener = TcpListener::bind("127.0.0.1:0").await?; +/// +/// listener.set_ttl(100).expect("could not set TTL"); +/// assert_eq!(listener.ttl()?, 100); +/// +/// Ok(()) +/// } +/// ``` + Future ttl()=>RustLib.instance.api.tokioNetTcpListenerTtl(that: this, ); + + + } + @sealed class TcpSocketImpl extends RustOpaque implements TcpSocket { + // Not to be used by end users + TcpSocketImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + TcpSocketImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TcpSocket, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TcpSocket, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TcpSocketPtr, + ); + + /// Binds the socket to the given address. +/// +/// This calls the `bind(2)` operating-system function. Behavior is +/// platform specific. Refer to the target platform's documentation for more +/// details. +/// +/// # Examples +/// +/// Bind a socket before listening. +/// +/// ```no_run +/// use tokio::net::TcpSocket; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let addr = "127.0.0.1:8080".parse().unwrap(); +/// +/// let socket = TcpSocket::new_v4()?; +/// socket.bind(addr)?; +/// +/// let listener = socket.listen(1024)?; +/// # drop(listener); +/// +/// Ok(()) +/// } +/// ``` + Future bind({required SocketAddr addr })=>RustLib.instance.api.tokioNetTcpSocketBind(that: this, addr: addr); + + +/// Establishes a TCP connection with a peer at the specified socket address. +/// +/// The `TcpSocket` is consumed. Once the connection is established, a +/// connected [`TcpStream`] is returned. If the connection fails, the +/// encountered error is returned. +/// +/// [`TcpStream`]: TcpStream +/// +/// This calls the `connect(2)` operating-system function. Behavior is +/// platform specific. Refer to the target platform's documentation for more +/// details. +/// +/// # Examples +/// +/// Connecting to a peer. +/// +/// ```no_run +/// use tokio::net::TcpSocket; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let addr = "127.0.0.1:8080".parse().unwrap(); +/// +/// let socket = TcpSocket::new_v4()?; +/// let stream = socket.connect(addr).await?; +/// # drop(stream); +/// +/// Ok(()) +/// } +/// ``` + Future connect({required SocketAddr addr })=>RustLib.instance.api.tokioNetTcpSocketConnect(that: this, addr: addr); + + +/// Gets the value of the `SO_KEEPALIVE` option on this socket. + Future keepalive()=>RustLib.instance.api.tokioNetTcpSocketKeepalive(that: this, ); + + +/// Reads the linger duration for this socket by getting the `SO_LINGER` +/// option. +/// +/// For more information about this option, see [`set_linger`]. +/// +/// [`set_linger`]: TcpSocket::set_linger + Future linger()=>RustLib.instance.api.tokioNetTcpSocketLinger(that: this, ); + + +/// Converts the socket into a `TcpListener`. +/// +/// `backlog` defines the maximum number of pending connections are queued +/// by the operating system at any given time. Connection are removed from +/// the queue with [`TcpListener::accept`]. When the queue is full, the +/// operating-system will start rejecting connections. +/// +/// [`TcpListener::accept`]: TcpListener::accept +/// +/// This calls the `listen(2)` operating-system function, marking the socket +/// as a passive socket. Behavior is platform specific. Refer to the target +/// platform's documentation for more details. +/// +/// # Examples +/// +/// Create a `TcpListener`. +/// +/// ```no_run +/// use tokio::net::TcpSocket; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let addr = "127.0.0.1:8080".parse().unwrap(); +/// +/// let socket = TcpSocket::new_v4()?; +/// socket.bind(addr)?; +/// +/// let listener = socket.listen(1024)?; +/// # drop(listener); +/// +/// Ok(()) +/// } +/// ``` + Future listen({required int backlog })=>RustLib.instance.api.tokioNetTcpSocketListen(that: this, backlog: backlog); + + +/// Gets the local address of this socket. +/// +/// Will fail on windows if called before `bind`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpSocket; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let addr = "127.0.0.1:8080".parse().unwrap(); +/// +/// let socket = TcpSocket::new_v4()?; +/// socket.bind(addr)?; +/// assert_eq!(socket.local_addr().unwrap().to_string(), "127.0.0.1:8080"); +/// let listener = socket.listen(1024)?; +/// Ok(()) +/// } +/// ``` + Future localAddr()=>RustLib.instance.api.tokioNetTcpSocketLocalAddr(that: this, ); + + +/// Gets the value of the `TCP_NODELAY` option on this socket. +/// +/// For more information about this option, see [`set_nodelay`]. +/// +/// [`set_nodelay`]: TcpSocket::set_nodelay +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpSocket; +/// +/// # async fn dox() -> Result<(), Box> { +/// let socket = TcpSocket::new_v4()?; +/// +/// println!("{:?}", socket.nodelay()?); +/// # Ok(()) +/// # } +/// ``` + Future nodelay()=>RustLib.instance.api.tokioNetTcpSocketNodelay(that: this, ); + + +/// Returns the size of the TCP receive buffer for this socket. +/// +/// On most operating systems, this is the value of the `SO_RCVBUF` socket +/// option. +/// +/// Note that if [`set_recv_buffer_size`] has been called on this socket +/// previously, the value returned by this function may not be the same as +/// the argument provided to `set_recv_buffer_size`. This is for the +/// following reasons: +/// +/// * Most operating systems have minimum and maximum allowed sizes for the +/// receive buffer, and will clamp the provided value if it is below the +/// minimum or above the maximum. The minimum and maximum buffer sizes are +/// OS-dependent. +/// * Linux will double the buffer size to account for internal bookkeeping +/// data, and returns the doubled value from `getsockopt(2)`. As per `man +/// 7 socket`: +/// > Sets or gets the maximum socket send buffer in bytes. The +/// > kernel doubles this value (to allow space for bookkeeping +/// > overhead) when it is set using `setsockopt(2)`, and this doubled +/// > value is returned by `getsockopt(2)`. +/// +/// [`set_recv_buffer_size`]: #method.set_recv_buffer_size + Future recvBufferSize()=>RustLib.instance.api.tokioNetTcpSocketRecvBufferSize(that: this, ); + + +/// Retrieves the value set for `SO_REUSEADDR` on this socket. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpSocket; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let addr = "127.0.0.1:8080".parse().unwrap(); +/// +/// let socket = TcpSocket::new_v4()?; +/// socket.set_reuseaddr(true)?; +/// assert!(socket.reuseaddr().unwrap()); +/// socket.bind(addr)?; +/// +/// let listener = socket.listen(1024)?; +/// Ok(()) +/// } +/// ``` + Future reuseaddr()=>RustLib.instance.api.tokioNetTcpSocketReuseaddr(that: this, ); + + +/// Allows the socket to bind to an in-use port. Only available for unix systems +/// (excluding Solaris, Illumos, and Cygwin). +/// +/// Behavior is platform specific. Refer to the target platform's +/// documentation for more details. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpSocket; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let addr = "127.0.0.1:8080".parse().unwrap(); +/// +/// let socket = TcpSocket::new_v4()?; +/// socket.set_reuseport(true)?; +/// assert!(socket.reuseport().unwrap()); +/// socket.bind(addr)?; +/// +/// let listener = socket.listen(1024)?; +/// Ok(()) +/// } +/// ``` + Future reuseport()=>RustLib.instance.api.tokioNetTcpSocketReuseport(that: this, ); + + +/// Returns the size of the TCP send buffer for this socket. +/// +/// On most operating systems, this is the value of the `SO_SNDBUF` socket +/// option. +/// +/// Note that if [`set_send_buffer_size`] has been called on this socket +/// previously, the value returned by this function may not be the same as +/// the argument provided to `set_send_buffer_size`. This is for the +/// following reasons: +/// +/// * Most operating systems have minimum and maximum allowed sizes for the +/// send buffer, and will clamp the provided value if it is below the +/// minimum or above the maximum. The minimum and maximum buffer sizes are +/// OS-dependent. +/// * Linux will double the buffer size to account for internal bookkeeping +/// data, and returns the doubled value from `getsockopt(2)`. As per `man +/// 7 socket`: +/// > Sets or gets the maximum socket send buffer in bytes. The +/// > kernel doubles this value (to allow space for bookkeeping +/// > overhead) when it is set using `setsockopt(2)`, and this doubled +/// > value is returned by `getsockopt(2)`. +/// +/// [`set_send_buffer_size`]: #method.set_send_buffer_size + Future sendBufferSize()=>RustLib.instance.api.tokioNetTcpSocketSendBufferSize(that: this, ); + + +/// Sets value for the `SO_KEEPALIVE` option on this socket. + Future setKeepalive({required bool keepalive })=>RustLib.instance.api.tokioNetTcpSocketSetKeepalive(that: this, keepalive: keepalive); + + +/// Sets the linger duration of this socket by setting the `SO_LINGER` option. +/// +/// This option controls the action taken when a stream has unsent messages and the stream is +/// closed. If `SO_LINGER` is set, the system shall block the process until it can transmit the +/// data or until the time expires. +/// +/// If `SO_LINGER` is not specified, and the socket is closed, the system handles the call in a +/// way that allows the process to continue as quickly as possible. +/// +/// This option is deprecated because setting `SO_LINGER` on a socket used with Tokio is always +/// incorrect as it leads to blocking the thread when the socket is closed. For more details, +/// please see: +/// +/// > Volumes of communications have been devoted to the intricacies of `SO_LINGER` versus +/// > non-blocking (`O_NONBLOCK`) sockets. From what I can tell, the final word is: don't do +/// > it. Rely on the `shutdown()`-followed-by-`read()`-eof technique instead. +/// > +/// > From [The ultimate `SO_LINGER` page, or: why is my tcp not reliable](https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable) + Future setLinger({Duration? dur })=>RustLib.instance.api.tokioNetTcpSocketSetLinger(that: this, dur: dur); + + +/// Sets the value of the `TCP_NODELAY` option on this socket. +/// +/// If set, this option disables the Nagle algorithm. This means that segments are always +/// sent as soon as possible, even if there is only a small amount of data. When not set, +/// data is buffered until there is a sufficient amount to send out, thereby avoiding +/// the frequent sending of small packets. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpSocket; +/// +/// # async fn dox() -> Result<(), Box> { +/// let socket = TcpSocket::new_v4()?; +/// +/// socket.set_nodelay(true)?; +/// # Ok(()) +/// # } +/// ``` + Future setNodelay({required bool nodelay })=>RustLib.instance.api.tokioNetTcpSocketSetNodelay(that: this, nodelay: nodelay); + + +/// Sets the size of the TCP receive buffer on this socket. +/// +/// On most operating systems, this sets the `SO_RCVBUF` socket option. + Future setRecvBufferSize({required int size })=>RustLib.instance.api.tokioNetTcpSocketSetRecvBufferSize(that: this, size: size); + + +/// Allows the socket to bind to an in-use address. +/// +/// Behavior is platform specific. Refer to the target platform's +/// documentation for more details. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpSocket; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let addr = "127.0.0.1:8080".parse().unwrap(); +/// +/// let socket = TcpSocket::new_v4()?; +/// socket.set_reuseaddr(true)?; +/// socket.bind(addr)?; +/// +/// let listener = socket.listen(1024)?; +/// # drop(listener); +/// +/// Ok(()) +/// } +/// ``` + Future setReuseaddr({required bool reuseaddr })=>RustLib.instance.api.tokioNetTcpSocketSetReuseaddr(that: this, reuseaddr: reuseaddr); + + +/// Allows the socket to bind to an in-use port. Only available for unix systems +/// (excluding Solaris, Illumos, and Cygwin). +/// +/// Behavior is platform specific. Refer to the target platform's +/// documentation for more details. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpSocket; +/// +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let addr = "127.0.0.1:8080".parse().unwrap(); +/// +/// let socket = TcpSocket::new_v4()?; +/// socket.set_reuseport(true)?; +/// socket.bind(addr)?; +/// +/// let listener = socket.listen(1024)?; +/// Ok(()) +/// } +/// ``` + Future setReuseport({required bool reuseport })=>RustLib.instance.api.tokioNetTcpSocketSetReuseport(that: this, reuseport: reuseport); + + +/// Sets the size of the TCP send buffer on this socket. +/// +/// On most operating systems, this sets the `SO_SNDBUF` socket option. + Future setSendBufferSize({required int size })=>RustLib.instance.api.tokioNetTcpSocketSetSendBufferSize(that: this, size: size); + + +/// Sets the value for the `IPV6_TCLASS` option on this socket. +/// +/// Specifies the traffic class field that is used in every packet +/// sent from this socket. +/// +/// # Note +/// +/// This may not have any effect on IPv4 sockets. + Future setTclassV6({required int tclass })=>RustLib.instance.api.tokioNetTcpSocketSetTclassV6(that: this, tclass: tclass); + + +/// Deprecated. Use [`set_tos_v4()`] instead. +/// +/// [`set_tos_v4()`]: Self::set_tos_v4 + Future setTos({required int tos })=>RustLib.instance.api.tokioNetTcpSocketSetTos(that: this, tos: tos); + + +/// Sets the value for the `IP_TOS` option on this socket. +/// +/// This value sets the type-of-service field that is used in every packet +/// sent from this socket. +/// +/// # Note +/// +/// - This may not have any effect on IPv6 sockets. +/// - On Windows, `IP_TOS` is only supported on [Windows 8+ or +/// Windows Server 2012+.](https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options) + Future setTosV4({required int tos })=>RustLib.instance.api.tokioNetTcpSocketSetTosV4(that: this, tos: tos); + + +/// Returns the value of the `SO_ERROR` option. + Future takeError()=>RustLib.instance.api.tokioNetTcpSocketTakeError(that: this, ); + + +/// Gets the value of the `IPV6_TCLASS` option for this socket. +/// +/// For more information about this option, see [`set_tclass_v6`]. +/// +/// [`set_tclass_v6`]: Self::set_tclass_v6 + Future tclassV6()=>RustLib.instance.api.tokioNetTcpSocketTclassV6(that: this, ); + + +/// Deprecated. Use [`tos_v4()`] instead. +/// +/// [`tos_v4()`]: Self::tos_v4 + Future tos()=>RustLib.instance.api.tokioNetTcpSocketTos(that: this, ); + + +/// Gets the value of the `IP_TOS` option for this socket. +/// +/// For more information about this option, see [`set_tos_v4`]. +/// +/// [`set_tos_v4`]: Self::set_tos_v4 + Future tosV4()=>RustLib.instance.api.tokioNetTcpSocketTosV4(that: this, ); + + + } + @sealed class TcpStreamImpl extends RustOpaque implements TcpStream { + // Not to be used by end users + TcpStreamImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + TcpStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TcpStream, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TcpStream, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TcpStreamPtr, + ); + + /// Splits a `TcpStream` into a read half and a write half, which can be used +/// to read and write the stream concurrently. +/// +/// Unlike [`split`], the owned halves can be moved to separate tasks, however +/// this comes at the cost of a heap allocation. +/// +/// **Note:** Dropping the write half will shut down the write half of the TCP +/// stream. This is equivalent to calling [`shutdown()`] on the `TcpStream`. +/// +/// [`split`]: TcpStream::split() +/// [`shutdown()`]: fn@crate::io::AsyncWriteExt::shutdown + Future<(OwnedReadHalf,OwnedWriteHalf)> intoSplit()=>RustLib.instance.api.tokioNetTcpStreamIntoSplit(that: this, ); + + +/// Turns a [`tokio::net::TcpStream`] into a [`std::net::TcpStream`]. +/// +/// The returned [`std::net::TcpStream`] will have nonblocking mode set as `true`. +/// Use [`set_nonblocking`] to change the blocking mode if needed. +/// +/// # Examples +/// +/// ``` +/// use std::error::Error; +/// use std::io::Read; +/// use tokio::net::TcpListener; +/// # use tokio::net::TcpStream; +/// # use tokio::io::AsyncWriteExt; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. +/// let mut data = [0u8; 12]; +/// # if false { +/// let listener = TcpListener::bind("127.0.0.1:34254").await?; +/// # } +/// # let listener = TcpListener::bind("127.0.0.1:0").await?; +/// # let addr = listener.local_addr().unwrap(); +/// # let handle = tokio::spawn(async move { +/// # let mut stream: TcpStream = TcpStream::connect(addr).await.unwrap(); +/// # stream.write_all(b"Hello world!").await.unwrap(); +/// # }); +/// let (tokio_tcp_stream, _) = listener.accept().await?; +/// let mut std_tcp_stream = tokio_tcp_stream.into_std()?; +/// # handle.await.expect("The task being joined has panicked"); +/// std_tcp_stream.set_nonblocking(false)?; +/// std_tcp_stream.read_exact(&mut data)?; +/// # assert_eq!(b"Hello world!", &data); +/// Ok(()) +/// } +/// ``` +/// [`tokio::net::TcpStream`]: TcpStream +/// [`std::net::TcpStream`]: std::net::TcpStream +/// [`set_nonblocking`]: fn@std::net::TcpStream::set_nonblocking + Future intoStd()=>RustLib.instance.api.tokioNetTcpStreamIntoStd(that: this, ); + + +/// Reads the linger duration for this socket by getting the `SO_LINGER` +/// option. +/// +/// For more information about this option, see [`set_linger`]. +/// +/// [`set_linger`]: TcpStream::set_linger +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// +/// # async fn dox() -> Result<(), Box> { +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// println!("{:?}", stream.linger()?); +/// # Ok(()) +/// # } +/// ``` + Future linger()=>RustLib.instance.api.tokioNetTcpStreamLinger(that: this, ); + + +/// Returns the local address that this stream is bound to. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// +/// # async fn dox() -> Result<(), Box> { +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// println!("{:?}", stream.local_addr()?); +/// # Ok(()) +/// # } +/// ``` + Future localAddr()=>RustLib.instance.api.tokioNetTcpStreamLocalAddr(that: this, ); + + +/// Gets the value of the `TCP_NODELAY` option on this socket. +/// +/// For more information about this option, see [`set_nodelay`]. +/// +/// [`set_nodelay`]: TcpStream::set_nodelay +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// +/// # async fn dox() -> Result<(), Box> { +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// println!("{:?}", stream.nodelay()?); +/// # Ok(()) +/// # } +/// ``` + Future nodelay()=>RustLib.instance.api.tokioNetTcpStreamNodelay(that: this, ); + + +/// Receives data on the socket from the remote address to which it is +/// connected, without removing that data from the queue. On success, +/// returns the number of bytes peeked. +/// +/// Successive calls return the same data. This is accomplished by passing +/// `MSG_PEEK` as a flag to the underlying `recv` system call. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If the method is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, then it is guaranteed that no peek was performed, and +/// that `buf` has not been modified. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// use tokio::io::AsyncReadExt; +/// use std::error::Error; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let mut stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// let mut b1 = [0; 10]; +/// let mut b2 = [0; 10]; +/// +/// // Peek at the data +/// let n = stream.peek(&mut b1).await?; +/// +/// // Read the data +/// assert_eq!(n, stream.read(&mut b2[..n]).await?); +/// assert_eq!(&b1[..n], &b2[..n]); +/// +/// Ok(()) +/// } +/// ``` +/// +/// The [`read`] method is defined on the [`AsyncReadExt`] trait. +/// +/// [`read`]: fn@crate::io::AsyncReadExt::read +/// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt + Future peek({required U8 buf })=>RustLib.instance.api.tokioNetTcpStreamPeek(that: this, buf: buf); + + +/// Returns the remote address that this stream is connected to. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// +/// # async fn dox() -> Result<(), Box> { +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// println!("{:?}", stream.peer_addr()?); +/// # Ok(()) +/// # } +/// ``` + Future peerAddr()=>RustLib.instance.api.tokioNetTcpStreamPeerAddr(that: this, ); + + +/// Attempts to receive data on the socket, without removing that data from +/// the queue, registering the current task for wakeup if data is not yet +/// available. +/// +/// Note that on multiple calls to `poll_peek`, `poll_read` or +/// `poll_read_ready`, only the `Waker` from the `Context` passed to the +/// most recent call is scheduled to receive a wakeup. (However, +/// `poll_write` retains a second, independent waker.) +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if data is not yet available. +/// * `Poll::Ready(Ok(n))` if data is available. `n` is the number of bytes peeked. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::io::{self, ReadBuf}; +/// use tokio::net::TcpStream; +/// +/// use std::future::poll_fn; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let stream = TcpStream::connect("127.0.0.1:8000").await?; +/// let mut buf = [0; 10]; +/// let mut buf = ReadBuf::new(&mut buf); +/// +/// poll_fn(|cx| { +/// stream.poll_peek(cx, &mut buf) +/// }).await?; +/// +/// Ok(()) +/// } +/// ``` + Future pollPeek({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetTcpStreamPollPeek(that: this, cx: cx, buf: buf); + + +/// Polls for read readiness. +/// +/// If the tcp stream is not currently ready for reading, this method will +/// store a clone of the `Waker` from the provided `Context`. When the tcp +/// stream becomes ready for reading, `Waker::wake` will be called on the +/// waker. +/// +/// Note that on multiple calls to `poll_read_ready`, `poll_read` or +/// `poll_peek`, only the `Waker` from the `Context` passed to the most +/// recent call is scheduled to receive a wakeup. (However, +/// `poll_write_ready` retains a second, independent waker.) +/// +/// This function is intended for cases where creating and pinning a future +/// via [`readable`] is not feasible. Where possible, using [`readable`] is +/// preferred, as this supports polling from multiple tasks at once. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the tcp stream is not ready for reading. +/// * `Poll::Ready(Ok(()))` if the tcp stream is ready for reading. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`readable`]: method@Self::readable + Future pollReadReady({required Context cx })=>RustLib.instance.api.tokioNetTcpStreamPollReadReady(that: this, cx: cx); + + +/// Polls for write readiness. +/// +/// If the tcp stream is not currently ready for writing, this method will +/// store a clone of the `Waker` from the provided `Context`. When the tcp +/// stream becomes ready for writing, `Waker::wake` will be called on the +/// waker. +/// +/// Note that on multiple calls to `poll_write_ready` or `poll_write`, only +/// the `Waker` from the `Context` passed to the most recent call is +/// scheduled to receive a wakeup. (However, `poll_read_ready` retains a +/// second, independent waker.) +/// +/// This function is intended for cases where creating and pinning a future +/// via [`writable`] is not feasible. Where possible, using [`writable`] is +/// preferred, as this supports polling from multiple tasks at once. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the tcp stream is not ready for writing. +/// * `Poll::Ready(Ok(()))` if the tcp stream is ready for writing. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`writable`]: method@Self::writable + Future pollWriteReady({required Context cx })=>RustLib.instance.api.tokioNetTcpStreamPollWriteReady(that: this, cx: cx); + + +/// Waits for the socket to become readable. +/// +/// This function is equivalent to `ready(Interest::READABLE)` and is usually +/// paired with `try_read()`. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// let mut msg = vec![0; 1024]; +/// +/// loop { +/// // Wait for the socket to be readable +/// stream.readable().await?; +/// +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_read(&mut msg) { +/// Ok(n) => { +/// msg.truncate(n); +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// println!("GOT = {:?}", msg); +/// Ok(()) +/// } +/// ``` + Future readable()=>RustLib.instance.api.tokioNetTcpStreamReadable(that: this, ); + + +/// Waits for any of the requested ready states. +/// +/// This function is usually paired with `try_read()` or `try_write()`. It +/// can be used to concurrently read / write to the same socket on a single +/// task without splitting the socket. +/// +/// The function may complete without the socket being ready. This is a +/// false-positive and attempting an operation will return with +/// `io::ErrorKind::WouldBlock`. The function can also return with an empty +/// [`Ready`] set, so you should always check the returned value and possibly +/// wait again if the requested states are not set. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read or write that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// Concurrently read and write to the stream on the same task without +/// splitting. +/// +/// ```no_run +/// use tokio::io::Interest; +/// use tokio::net::TcpStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// loop { +/// let ready = stream.ready(Interest::READABLE | Interest::WRITABLE).await?; +/// +/// if ready.is_readable() { +/// let mut data = vec![0; 1024]; +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_read(&mut data) { +/// Ok(n) => { +/// println!("read {} bytes", n); +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// +/// } +/// +/// if ready.is_writable() { +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_write(b"hello world") { +/// Ok(n) => { +/// println!("write {} bytes", n); +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// } +/// } +/// ``` + Future ready({required Interest interest })=>RustLib.instance.api.tokioNetTcpStreamReady(that: this, interest: interest); + + +/// Sets the linger duration of this socket by setting the `SO_LINGER` option. +/// +/// This option controls the action taken when a stream has unsent messages and the stream is +/// closed. If `SO_LINGER` is set, the system shall block the process until it can transmit the +/// data or until the time expires. +/// +/// If `SO_LINGER` is not specified, and the stream is closed, the system handles the call in a +/// way that allows the process to continue as quickly as possible. +/// +/// This option is deprecated because setting `SO_LINGER` on a socket used with Tokio is +/// always incorrect as it leads to blocking the thread when the socket is closed. For more +/// details, please see: +/// +/// > Volumes of communications have been devoted to the intricacies of `SO_LINGER` versus +/// > non-blocking (`O_NONBLOCK`) sockets. From what I can tell, the final word is: don't +/// > do it. Rely on the `shutdown()`-followed-by-`read()`-eof technique instead. +/// > +/// > From [The ultimate `SO_LINGER` page, or: why is my tcp not reliable](https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable) +/// +/// # Examples +/// +/// ```no_run +/// # #![allow(deprecated)] +/// use tokio::net::TcpStream; +/// +/// # async fn dox() -> Result<(), Box> { +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// stream.set_linger(None)?; +/// # Ok(()) +/// # } +/// ``` + Future setLinger({Duration? dur })=>RustLib.instance.api.tokioNetTcpStreamSetLinger(that: this, dur: dur); + + +/// Sets the value of the `TCP_NODELAY` option on this socket. +/// +/// If set, this option disables the Nagle algorithm. This means that +/// segments are always sent as soon as possible, even if there is only a +/// small amount of data. When not set, data is buffered until there is a +/// sufficient amount to send out, thereby avoiding the frequent sending of +/// small packets. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// +/// # async fn dox() -> Result<(), Box> { +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// stream.set_nodelay(true)?; +/// # Ok(()) +/// # } +/// ``` + Future setNodelay({required bool nodelay })=>RustLib.instance.api.tokioNetTcpStreamSetNodelay(that: this, nodelay: nodelay); + + +/// Sets the value for the `IP_TTL` option on this socket. +/// +/// This value sets the time-to-live field that is used in every packet sent +/// from this socket. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// +/// # async fn dox() -> Result<(), Box> { +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// stream.set_ttl(123)?; +/// # Ok(()) +/// # } +/// ``` + Future setTtl({required int ttl })=>RustLib.instance.api.tokioNetTcpStreamSetTtl(that: this, ttl: ttl); + + +/// Returns the value of the `SO_ERROR` option. + Future takeError()=>RustLib.instance.api.tokioNetTcpStreamTakeError(that: this, ); + + +/// Tries to read data from the stream into the provided buffer, returning how +/// many bytes were read. +/// +/// Receives any pending data from the socket but does not wait for new data +/// to arrive. On success, returns the number of bytes read. Because +/// `try_read()` is non-blocking, the buffer does not have to be stored by +/// the async task and can exist entirely on the stack. +/// +/// Usually, [`readable()`] or [`ready()`] is used with this function. +/// +/// [`readable()`]: TcpStream::readable() +/// [`ready()`]: TcpStream::ready() +/// +/// # Return +/// +/// If data is successfully read, `Ok(n)` is returned, where `n` is the +/// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: +/// +/// 1. The stream's read half is closed and will no longer yield data. +/// 2. The specified buffer was 0 bytes in length. +/// +/// If the stream is not ready to read data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// loop { +/// // Wait for the socket to be readable +/// stream.readable().await?; +/// +/// // Creating the buffer **after** the `await` prevents it from +/// // being stored in the async task. +/// let mut buf = [0; 4096]; +/// +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_read(&mut buf) { +/// Ok(0) => break, +/// Ok(n) => { +/// println!("read {} bytes", n); +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryRead({required U8 buf })=>RustLib.instance.api.tokioNetTcpStreamTryRead(that: this, buf: buf); + + +/// Tries to read data from the stream into the provided buffers, returning +/// how many bytes were read. +/// +/// Data is copied to fill each buffer in order, with the final buffer +/// written to possibly being only partially filled. This method behaves +/// equivalently to a single call to [`try_read()`] with concatenated +/// buffers. +/// +/// Receives any pending data from the socket but does not wait for new data +/// to arrive. On success, returns the number of bytes read. Because +/// `try_read_vectored()` is non-blocking, the buffer does not have to be +/// stored by the async task and can exist entirely on the stack. +/// +/// Usually, [`readable()`] or [`ready()`] is used with this function. +/// +/// [`try_read()`]: TcpStream::try_read() +/// [`readable()`]: TcpStream::readable() +/// [`ready()`]: TcpStream::ready() +/// +/// # Return +/// +/// If data is successfully read, `Ok(n)` is returned, where `n` is the +/// number of bytes read. `Ok(0)` indicates the stream's read half is closed +/// and will no longer yield data. If the stream is not ready to read data +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// use std::error::Error; +/// use std::io::{self, IoSliceMut}; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// loop { +/// // Wait for the socket to be readable +/// stream.readable().await?; +/// +/// // Creating the buffer **after** the `await` prevents it from +/// // being stored in the async task. +/// let mut buf_a = [0; 512]; +/// let mut buf_b = [0; 1024]; +/// let mut bufs = [ +/// IoSliceMut::new(&mut buf_a), +/// IoSliceMut::new(&mut buf_b), +/// ]; +/// +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_read_vectored(&mut bufs) { +/// Ok(0) => break, +/// Ok(n) => { +/// println!("read {} bytes", n); +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryReadVectored({required IoSliceMut bufs })=>RustLib.instance.api.tokioNetTcpStreamTryReadVectored(that: this, bufs: bufs); + + +/// Try to write a buffer to the stream, returning how many bytes were +/// written. +/// +/// The function will attempt to write the entire contents of `buf`, but +/// only part of the buffer may be written. +/// +/// This function is usually paired with `writable()`. +/// +/// # Return +/// +/// If data is successfully written, `Ok(n)` is returned, where `n` is the +/// number of bytes written. If the stream is not ready to write data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// loop { +/// // Wait for the socket to be writable +/// stream.writable().await?; +/// +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_write(b"hello world") { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryWrite({required List buf })=>RustLib.instance.api.tokioNetTcpStreamTryWrite(that: this, buf: buf); + + +/// Tries to write several buffers to the stream, returning how many bytes +/// were written. +/// +/// Data is written from each buffer in order, with the final buffer read +/// from possibly being only partially consumed. This method behaves +/// equivalently to a single call to [`try_write()`] with concatenated +/// buffers. +/// +/// This function is usually paired with `writable()`. +/// +/// [`try_write()`]: TcpStream::try_write() +/// +/// # Return +/// +/// If data is successfully written, `Ok(n)` is returned, where `n` is the +/// number of bytes written. If the stream is not ready to write data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; +/// +/// loop { +/// // Wait for the socket to be writable +/// stream.writable().await?; +/// +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_write_vectored(&bufs) { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryWriteVectored({required List bufs })=>RustLib.instance.api.tokioNetTcpStreamTryWriteVectored(that: this, bufs: bufs); + + +/// Gets the value of the `IP_TTL` option for this socket. +/// +/// For more information about this option, see [`set_ttl`]. +/// +/// [`set_ttl`]: TcpStream::set_ttl +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// +/// # async fn dox() -> Result<(), Box> { +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// println!("{:?}", stream.ttl()?); +/// # Ok(()) +/// # } +/// ``` + Future ttl()=>RustLib.instance.api.tokioNetTcpStreamTtl(that: this, ); + + +/// Waits for the socket to become writable. +/// +/// This function is equivalent to `ready(Interest::WRITABLE)` and is usually +/// paired with `try_write()`. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to write that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::TcpStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let stream = TcpStream::connect("127.0.0.1:8080").await?; +/// +/// loop { +/// // Wait for the socket to be writable +/// stream.writable().await?; +/// +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_write(b"hello world") { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future writable()=>RustLib.instance.api.tokioNetTcpStreamWritable(that: this, ); + + + } + @sealed class TryCurrentErrorImpl extends RustOpaque implements TryCurrentError { + // Not to be used by end users + TryCurrentErrorImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + TryCurrentErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TryCurrentError, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TryCurrentError, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TryCurrentErrorPtr, + ); + + /// Returns true if the call failed because there is currently no runtime in +/// the Tokio context. + Future isMissingContext()=>RustLib.instance.api.tokioRuntimeTryCurrentErrorIsMissingContext(that: this, ); + + +/// Returns true if the call failed because the Tokio context thread-local +/// had been destroyed. This can usually only happen if in the destructor of +/// other thread-locals. + Future isThreadLocalDestroyed()=>RustLib.instance.api.tokioRuntimeTryCurrentErrorIsThreadLocalDestroyed(that: this, ); + + + } + @sealed class TryRecvErrorImpl extends RustOpaque implements TryRecvError { + // Not to be used by end users + TryRecvErrorImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + TryRecvErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TryRecvError, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TryRecvError, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TryRecvErrorPtr, + ); + + + } + @sealed class TrySendErrorImpl extends RustOpaque implements TrySendError { + // Not to be used by end users + TrySendErrorImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + TrySendErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TrySendError, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendError, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendErrorPtr, + ); + + + } + @sealed class TrySendErrorSelfImpl extends RustOpaque implements TrySendErrorSelf { + // Not to be used by end users + TrySendErrorSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + TrySendErrorSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TrySendErrorSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendErrorSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendErrorSelfPtr, + ); + + + } + @sealed class TrySendErrorTImpl extends RustOpaque implements TrySendErrorT { + // Not to be used by end users + TrySendErrorTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + TrySendErrorTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TrySendErrorT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendErrorT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendErrorTPtr, + ); + + + } + @sealed class U8Impl extends RustOpaque implements U8 { + // Not to be used by end users + U8Impl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + U8Impl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_U8, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_U8, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_U8Ptr, + ); + + + } + @sealed class UCredImpl extends RustOpaque implements UCred { + // Not to be used by end users + UCredImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + UCredImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UCred, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UCred, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UCredPtr, + ); + + /// Gets GID (group ID) of the process. + Future gid()=>RustLib.instance.api.tokioNetUnixUCredGid(that: this, ); + + +/// Gets PID (process ID) of the process. +/// +/// This is only implemented under Linux, Android, iOS, macOS, Solaris, +/// Illumos and Cygwin. On other platforms this will always return `None`. + Future pid()=>RustLib.instance.api.tokioNetUnixUCredPid(that: this, ); + + +/// Gets UID (user ID) of the process. + Future uid()=>RustLib.instance.api.tokioNetUnixUCredUid(that: this, ); + + + } + @sealed class UdpSocketImpl extends RustOpaque implements UdpSocket { + // Not to be used by end users + UdpSocketImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + UdpSocketImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UdpSocket, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UdpSocket, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UdpSocketPtr, + ); + + /// Gets the value of the `SO_BROADCAST` option for this socket. +/// +/// For more information about this option, see [`set_broadcast`]. +/// +/// [`set_broadcast`]: method@Self::set_broadcast + Future broadcast()=>RustLib.instance.api.tokioNetUdpSocketBroadcast(that: this, ); + + +/// Turns a [`tokio::net::UdpSocket`] into a [`std::net::UdpSocket`]. +/// +/// The returned [`std::net::UdpSocket`] will have nonblocking mode set as +/// `true`. Use [`set_nonblocking`] to change the blocking mode if needed. +/// +/// # Examples +/// +/// ```rust,no_run +/// use std::error::Error; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// let tokio_socket = tokio::net::UdpSocket::bind("127.0.0.1:0").await?; +/// let std_socket = tokio_socket.into_std()?; +/// std_socket.set_nonblocking(false)?; +/// Ok(()) +/// } +/// ``` +/// +/// [`tokio::net::UdpSocket`]: UdpSocket +/// [`std::net::UdpSocket`]: std::net::UdpSocket +/// [`set_nonblocking`]: fn@std::net::UdpSocket::set_nonblocking + Future intoStd()=>RustLib.instance.api.tokioNetUdpSocketIntoStd(that: this, ); + + +/// Executes an operation of the `IP_ADD_MEMBERSHIP` type. +/// +/// This function specifies a new multicast group for this socket to join. +/// The address must be a valid multicast address, and `interface` is the +/// address of the local interface with which the system should join the +/// multicast group. If it's equal to `INADDR_ANY` then an appropriate +/// interface is chosen by the system. + Future joinMulticastV4({required Ipv4Addr multiaddr , required Ipv4Addr interface_ })=>RustLib.instance.api.tokioNetUdpSocketJoinMulticastV4(that: this, multiaddr: multiaddr, interface_: interface_); + + +/// Executes an operation of the `IPV6_ADD_MEMBERSHIP` type. +/// +/// This function specifies a new multicast group for this socket to join. +/// The address must be a valid multicast address, and `interface` is the +/// index of the interface to join/leave (or 0 to indicate any interface). + Future joinMulticastV6({required Ipv6Addr multiaddr , required int interface_ })=>RustLib.instance.api.tokioNetUdpSocketJoinMulticastV6(that: this, multiaddr: multiaddr, interface_: interface_); + + +/// Executes an operation of the `IP_DROP_MEMBERSHIP` type. +/// +/// For more information about this option, see [`join_multicast_v4`]. +/// +/// [`join_multicast_v4`]: method@Self::join_multicast_v4 + Future leaveMulticastV4({required Ipv4Addr multiaddr , required Ipv4Addr interface_ })=>RustLib.instance.api.tokioNetUdpSocketLeaveMulticastV4(that: this, multiaddr: multiaddr, interface_: interface_); + + +/// Executes an operation of the `IPV6_DROP_MEMBERSHIP` type. +/// +/// For more information about this option, see [`join_multicast_v6`]. +/// +/// [`join_multicast_v6`]: method@Self::join_multicast_v6 + Future leaveMulticastV6({required Ipv6Addr multiaddr , required int interface_ })=>RustLib.instance.api.tokioNetUdpSocketLeaveMulticastV6(that: this, multiaddr: multiaddr, interface_: interface_); + + +/// Returns the local address that this socket is bound to. +/// +/// # Example +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// # use std::{io, net::SocketAddr}; +/// +/// # #[tokio::main] +/// # async fn main() -> io::Result<()> { +/// let addr = "0.0.0.0:8080".parse::().unwrap(); +/// let sock = UdpSocket::bind(addr).await?; +/// // the address the socket is bound to +/// let local_addr = sock.local_addr()?; +/// # Ok(()) +/// # } +/// ``` + Future localAddr()=>RustLib.instance.api.tokioNetUdpSocketLocalAddr(that: this, ); + + +/// Gets the value of the `IP_MULTICAST_LOOP` option for this socket. +/// +/// For more information about this option, see [`set_multicast_loop_v4`]. +/// +/// [`set_multicast_loop_v4`]: method@Self::set_multicast_loop_v4 + Future multicastLoopV4()=>RustLib.instance.api.tokioNetUdpSocketMulticastLoopV4(that: this, ); + + +/// Gets the value of the `IPV6_MULTICAST_LOOP` option for this socket. +/// +/// For more information about this option, see [`set_multicast_loop_v6`]. +/// +/// [`set_multicast_loop_v6`]: method@Self::set_multicast_loop_v6 + Future multicastLoopV6()=>RustLib.instance.api.tokioNetUdpSocketMulticastLoopV6(that: this, ); + + +/// Gets the value of the `IP_MULTICAST_TTL` option for this socket. +/// +/// For more information about this option, see [`set_multicast_ttl_v4`]. +/// +/// [`set_multicast_ttl_v4`]: method@Self::set_multicast_ttl_v4 + Future multicastTtlV4()=>RustLib.instance.api.tokioNetUdpSocketMulticastTtlV4(that: this, ); + + +/// Receives a single datagram from the connected address without removing it from the queue. +/// On success, returns the number of bytes read from whence the data came. +/// +/// # Notes +/// +/// On Windows, if the data is larger than the buffer specified, the buffer +/// is filled with the first part of the data, and peek returns the error +/// `WSAEMSGSIZE(10040)`. The excess data is lost. +/// Make sure to always use a sufficiently large buffer to hold the +/// maximum UDP packet size, which can be up to 65536 bytes in size. +/// +/// MacOS will return an error if you pass a zero-sized buffer. +/// +/// If you're merely interested in learning the sender of the data at the head of the queue, +/// try [`peek_sender`]. +/// +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// +/// let mut buf = vec![0u8; 32]; +/// let len = socket.peek(&mut buf).await?; +/// +/// println!("peeked {:?} bytes", len); +/// +/// Ok(()) +/// } +/// ``` +/// +/// [`peek_sender`]: method@Self::peek_sender +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future peek({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketPeek(that: this, buf: buf); + + +/// Receives data from the socket, without removing it from the input queue. +/// On success, returns the number of bytes read and the address from whence +/// the data came. +/// +/// # Notes +/// +/// On Windows, if the data is larger than the buffer specified, the buffer +/// is filled with the first part of the data, and `peek_from` returns the error +/// `WSAEMSGSIZE(10040)`. The excess data is lost. +/// Make sure to always use a sufficiently large buffer to hold the +/// maximum UDP packet size, which can be up to 65536 bytes in size. +/// +/// MacOS will return an error if you pass a zero-sized buffer. +/// +/// If you're merely interested in learning the sender of the data at the head of the queue, +/// try [`peek_sender`]. +/// +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// +/// let mut buf = vec![0u8; 32]; +/// let (len, addr) = socket.peek_from(&mut buf).await?; +/// +/// println!("peeked {:?} bytes from {:?}", len, addr); +/// +/// Ok(()) +/// } +/// ``` +/// +/// [`peek_sender`]: method@Self::peek_sender +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future<(BigInt,SocketAddr)> peekFrom({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketPeekFrom(that: this, buf: buf); + + +/// Retrieve the sender of the data at the head of the input queue, waiting if empty. +/// +/// This is equivalent to calling [`peek_from`] with a zero-sized buffer, +/// but suppresses the `WSAEMSGSIZE` error on Windows and the "invalid argument" error on macOS. +/// +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// [`peek_from`]: method@Self::peek_from +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future peekSender()=>RustLib.instance.api.tokioNetUdpSocketPeekSender(that: this, ); + + +/// Returns the socket address of the remote peer this socket was connected to. +/// +/// # Example +/// +/// ``` +/// use tokio::net::UdpSocket; +/// +/// # use std::{io, net::SocketAddr}; +/// # #[tokio::main] +/// # async fn main() -> io::Result<()> { +/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. +/// let addr = "0.0.0.0:8080".parse::().unwrap(); +/// let peer = "127.0.0.1:11100".parse::().unwrap(); +/// let sock = UdpSocket::bind(addr).await?; +/// sock.connect(peer).await?; +/// assert_eq!(peer, sock.peer_addr()?); +/// # Ok(()) +/// # } +/// ``` + Future peerAddr()=>RustLib.instance.api.tokioNetUdpSocketPeerAddr(that: this, ); + + +/// Receives data from the connected address, without removing it from the input queue. +/// +/// # Notes +/// +/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the +/// `Waker` from the `Context` passed to the most recent call will be scheduled to +/// receive a wakeup +/// +/// On Windows, if the data is larger than the buffer specified, the buffer +/// is filled with the first part of the data, and peek returns the error +/// `WSAEMSGSIZE(10040)`. The excess data is lost. +/// Make sure to always use a sufficiently large buffer to hold the +/// maximum UDP packet size, which can be up to 65536 bytes in size. +/// +/// MacOS will return an error if you pass a zero-sized buffer. +/// +/// If you're merely interested in learning the sender of the data at the head of the queue, +/// try [`poll_peek_sender`]. +/// +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not ready to read +/// * `Poll::Ready(Ok(()))` reads data into `ReadBuf` if the socket is ready +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`poll_peek_sender`]: method@Self::poll_peek_sender +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollPeek({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUdpSocketPollPeek(that: this, cx: cx, buf: buf); + + +/// Receives data from the socket, without removing it from the input queue. +/// On success, returns the sending address of the datagram. +/// +/// # Notes +/// +/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the +/// `Waker` from the `Context` passed to the most recent call will be scheduled to +/// receive a wakeup +/// +/// On Windows, if the data is larger than the buffer specified, the buffer +/// is filled with the first part of the data, and peek returns the error +/// `WSAEMSGSIZE(10040)`. The excess data is lost. +/// Make sure to always use a sufficiently large buffer to hold the +/// maximum UDP packet size, which can be up to 65536 bytes in size. +/// +/// MacOS will return an error if you pass a zero-sized buffer. +/// +/// If you're merely interested in learning the sender of the data at the head of the queue, +/// try [`poll_peek_sender`]. +/// +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not ready to read +/// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`poll_peek_sender`]: method@Self::poll_peek_sender +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollPeekFrom({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUdpSocketPollPeekFrom(that: this, cx: cx, buf: buf); + + +/// Retrieve the sender of the data at the head of the input queue, +/// scheduling a wakeup if empty. +/// +/// This is equivalent to calling [`poll_peek_from`] with a zero-sized buffer, +/// but suppresses the `WSAEMSGSIZE` error on Windows and the "invalid argument" error on macOS. +/// +/// # Notes +/// +/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the +/// `Waker` from the `Context` passed to the most recent call will be scheduled to +/// receive a wakeup. +/// +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// [`poll_peek_from`]: method@Self::poll_peek_from +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollPeekSender({required Context cx })=>RustLib.instance.api.tokioNetUdpSocketPollPeekSender(that: this, cx: cx); + + +/// Attempts to receive a single datagram message on the socket from the remote +/// address to which it is `connect`ed. +/// +/// The [`connect`] method will connect this socket to a remote address. This method +/// resolves to an error if the socket is not connected. +/// +/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the +/// `Waker` from the `Context` passed to the most recent call will be scheduled to +/// receive a wakeup. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not ready to read +/// * `Poll::Ready(Ok(()))` reads data `ReadBuf` if the socket is ready +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`connect`]: method@Self::connect + Future pollRecv({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUdpSocketPollRecv(that: this, cx: cx, buf: buf); + + +/// Attempts to receive a single datagram on the socket. +/// +/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the +/// `Waker` from the `Context` passed to the most recent call will be scheduled to +/// receive a wakeup. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not ready to read +/// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// # Notes +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollRecvFrom({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUdpSocketPollRecvFrom(that: this, cx: cx, buf: buf); + + +/// Polls for read/receive readiness. +/// +/// If the udp stream is not currently ready for receiving, this method will +/// store a clone of the `Waker` from the provided `Context`. When the udp +/// socket becomes ready for reading, `Waker::wake` will be called on the +/// waker. +/// +/// Note that on multiple calls to `poll_recv_ready`, `poll_recv` or +/// `poll_peek`, only the `Waker` from the `Context` passed to the most +/// recent call is scheduled to receive a wakeup. (However, +/// `poll_send_ready` retains a second, independent waker.) +/// +/// This function is intended for cases where creating and pinning a future +/// via [`readable`] is not feasible. Where possible, using [`readable`] is +/// preferred, as this supports polling from multiple tasks at once. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the udp stream is not ready for reading. +/// * `Poll::Ready(Ok(()))` if the udp stream is ready for reading. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`readable`]: method@Self::readable + Future pollRecvReady({required Context cx })=>RustLib.instance.api.tokioNetUdpSocketPollRecvReady(that: this, cx: cx); + + +/// Attempts to send data on the socket to the remote address to which it +/// was previously `connect`ed. +/// +/// The [`connect`] method will connect this socket to a remote address. +/// This method will fail if the socket is not connected. +/// +/// Note that on multiple calls to a `poll_*` method in the send direction, +/// only the `Waker` from the `Context` passed to the most recent call will +/// be scheduled to receive a wakeup. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not available to write +/// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`connect`]: method@Self::connect + Future pollSend({required Context cx , required List buf })=>RustLib.instance.api.tokioNetUdpSocketPollSend(that: this, cx: cx, buf: buf); + + +/// Polls for write/send readiness. +/// +/// If the udp stream is not currently ready for sending, this method will +/// store a clone of the `Waker` from the provided `Context`. When the udp +/// stream becomes ready for sending, `Waker::wake` will be called on the +/// waker. +/// +/// Note that on multiple calls to `poll_send_ready` or `poll_send`, only +/// the `Waker` from the `Context` passed to the most recent call is +/// scheduled to receive a wakeup. (However, `poll_recv_ready` retains a +/// second, independent waker.) +/// +/// This function is intended for cases where creating and pinning a future +/// via [`writable`] is not feasible. Where possible, using [`writable`] is +/// preferred, as this supports polling from multiple tasks at once. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the udp stream is not ready for writing. +/// * `Poll::Ready(Ok(()))` if the udp stream is ready for writing. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`writable`]: method@Self::writable + Future pollSendReady({required Context cx })=>RustLib.instance.api.tokioNetUdpSocketPollSendReady(that: this, cx: cx); + + +/// Attempts to send data on the socket to a given address. +/// +/// Note that on multiple calls to a `poll_*` method in the send direction, only the +/// `Waker` from the `Context` passed to the most recent call will be scheduled to +/// receive a wakeup. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not ready to write +/// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. + Future pollSendTo({required Context cx , required List buf , required SocketAddr target })=>RustLib.instance.api.tokioNetUdpSocketPollSendTo(that: this, cx: cx, buf: buf, target: target); + + +/// Waits for the socket to become readable. +/// +/// This function is equivalent to `ready(Interest::READABLE)` and is usually +/// paired with `try_recv()`. +/// +/// The function may complete without the socket being readable. This is a +/// false-positive and attempting a `try_recv()` will return with +/// `io::ErrorKind::WouldBlock`. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Connect to a peer +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// socket.connect("127.0.0.1:8081").await?; +/// +/// loop { +/// // Wait for the socket to be readable +/// socket.readable().await?; +/// +/// // The buffer is **not** included in the async task and will +/// // only exist on the stack. +/// let mut buf = [0; 1024]; +/// +/// // Try to recv data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match socket.try_recv(&mut buf) { +/// Ok(n) => { +/// println!("GOT {:?}", &buf[..n]); +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future readable()=>RustLib.instance.api.tokioNetUdpSocketReadable(that: this, ); + + +/// Waits for any of the requested ready states. +/// +/// This function is usually paired with `try_recv()` or `try_send()`. It +/// can be used to concurrently `recv` / `send` to the same socket on a single +/// task without splitting the socket. +/// +/// The function may complete without the socket being ready. This is a +/// false-positive and attempting an operation will return with +/// `io::ErrorKind::WouldBlock`. The function can also return with an empty +/// [`Ready`] set, so you should always check the returned value and possibly +/// wait again if the requested states are not set. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read or write that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// Concurrently receive from and send to the socket on the same task +/// without splitting. +/// +/// ```no_run +/// use tokio::io::{self, Interest}; +/// use tokio::net::UdpSocket; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// socket.connect("127.0.0.1:8081").await?; +/// +/// loop { +/// let ready = socket.ready(Interest::READABLE | Interest::WRITABLE).await?; +/// +/// if ready.is_readable() { +/// // The buffer is **not** included in the async task and will only exist +/// // on the stack. +/// let mut data = [0; 1024]; +/// match socket.try_recv(&mut data[..]) { +/// Ok(n) => { +/// println!("received {:?}", &data[..n]); +/// } +/// // False-positive, continue +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// if ready.is_writable() { +/// // Write some data +/// match socket.try_send(b"hello world") { +/// Ok(n) => { +/// println!("sent {} bytes", n); +/// } +/// // False-positive, continue +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// } +/// } +/// ``` + Future ready({required Interest interest })=>RustLib.instance.api.tokioNetUdpSocketReady(that: this, interest: interest); + + +/// Receives a single datagram message on the socket from the remote address +/// to which it is connected. On success, returns the number of bytes read. +/// +/// The function must be called with valid byte array `buf` of sufficient +/// size to hold the message bytes. If a message is too long to fit in the +/// supplied buffer, excess bytes may be discarded. +/// +/// The [`connect`] method will connect this socket to a remote address. +/// This method will fail if the socket is not connected. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If `recv` is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, it is guaranteed that no messages were received on this +/// socket. +/// +/// [`connect`]: method@Self::connect +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Bind socket +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// socket.connect("127.0.0.1:8081").await?; +/// +/// let mut buf = vec![0; 10]; +/// let n = socket.recv(&mut buf).await?; +/// +/// println!("received {} bytes {:?}", n, &buf[..n]); +/// +/// Ok(()) +/// } +/// ``` + Future recv({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketRecv(that: this, buf: buf); + + +/// Receives a single datagram message on the socket. On success, returns +/// the number of bytes read and the origin. +/// +/// The function must be called with valid byte array `buf` of sufficient +/// size to hold the message bytes. If a message is too long to fit in the +/// supplied buffer, excess bytes may be discarded. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If `recv_from` is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, it is guaranteed that no messages were received on this +/// socket. +/// +/// # Example +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// +/// let mut buf = vec![0u8; 32]; +/// let (len, addr) = socket.recv_from(&mut buf).await?; +/// +/// println!("received {:?} bytes from {:?}", len, addr); +/// +/// Ok(()) +/// } +/// ``` +/// +/// # Notes +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future<(BigInt,SocketAddr)> recvFrom({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketRecvFrom(that: this, buf: buf); + + +/// Sends data on the socket to the remote address that the socket is +/// connected to. +/// +/// The [`connect`] method will connect this socket to a remote address. +/// This method will fail if the socket is not connected. +/// +/// [`connect`]: method@Self::connect +/// +/// # Return +/// +/// On success, the number of bytes sent is returned, otherwise, the +/// encountered error is returned. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If `send` is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, then it is guaranteed that the message was not sent. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::io; +/// use tokio::net::UdpSocket; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Bind socket +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// socket.connect("127.0.0.1:8081").await?; +/// +/// // Send a message +/// socket.send(b"hello world").await?; +/// +/// Ok(()) +/// } +/// ``` + Future send({required List buf })=>RustLib.instance.api.tokioNetUdpSocketSend(that: this, buf: buf); + + +/// Sets the value of the `SO_BROADCAST` option for this socket. +/// +/// When enabled, this socket is allowed to send packets to a broadcast +/// address. + Future setBroadcast({required bool on_ })=>RustLib.instance.api.tokioNetUdpSocketSetBroadcast(that: this, on_: on_); + + +/// Sets the value of the `IP_MULTICAST_LOOP` option for this socket. +/// +/// If enabled, multicast packets will be looped back to the local socket. +/// +/// # Note +/// +/// This may not have any effect on IPv6 sockets. + Future setMulticastLoopV4({required bool on_ })=>RustLib.instance.api.tokioNetUdpSocketSetMulticastLoopV4(that: this, on_: on_); + + +/// Sets the value of the `IPV6_MULTICAST_LOOP` option for this socket. +/// +/// Controls whether this socket sees the multicast packets it sends itself. +/// +/// # Note +/// +/// This may not have any effect on IPv4 sockets. + Future setMulticastLoopV6({required bool on_ })=>RustLib.instance.api.tokioNetUdpSocketSetMulticastLoopV6(that: this, on_: on_); + + +/// Sets the value of the `IP_MULTICAST_TTL` option for this socket. +/// +/// Indicates the time-to-live value of outgoing multicast packets for +/// this socket. The default value is 1 which means that multicast packets +/// don't leave the local network unless explicitly requested. +/// +/// # Note +/// +/// This may not have any effect on IPv6 sockets. + Future setMulticastTtlV4({required int ttl })=>RustLib.instance.api.tokioNetUdpSocketSetMulticastTtlV4(that: this, ttl: ttl); + + +/// Sets the value for the `IPV6_TCLASS` option on this socket. +/// +/// Specifies the traffic class field that is used in every packet +/// sent from this socket. +/// +/// # Note +/// +/// This may not have any effect on IPv4 sockets. + Future setTclassV6({required int tclass })=>RustLib.instance.api.tokioNetUdpSocketSetTclassV6(that: this, tclass: tclass); + + +/// Deprecated. Use [`set_tos_v4()`] instead. +/// +/// [`set_tos_v4()`]: Self::set_tos_v4 + Future setTos({required int tos })=>RustLib.instance.api.tokioNetUdpSocketSetTos(that: this, tos: tos); + + +/// Sets the value for the `IP_TOS` option on this socket. +/// +/// This value sets the type-of-service field that is used in every packet +/// sent from this socket. +/// +/// # Note +/// +/// - This may not have any effect on IPv6 sockets. +/// - On Windows, `IP_TOS` is only supported on [Windows 8+ or +/// Windows Server 2012+.](https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options) + Future setTosV4({required int tos })=>RustLib.instance.api.tokioNetUdpSocketSetTosV4(that: this, tos: tos); + + +/// Sets the value for the `IP_TTL` option on this socket. +/// +/// This value sets the time-to-live field that is used in every packet sent +/// from this socket. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// # use std::io; +/// +/// # async fn dox() -> io::Result<()> { +/// let sock = UdpSocket::bind("127.0.0.1:8080").await?; +/// sock.set_ttl(60)?; +/// +/// # Ok(()) +/// # } +/// ``` + Future setTtl({required int ttl })=>RustLib.instance.api.tokioNetUdpSocketSetTtl(that: this, ttl: ttl); + + +/// Returns the value of the `SO_ERROR` option. +/// +/// # Examples +/// ``` +/// use tokio::net::UdpSocket; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. +/// // Create a socket +/// let socket = UdpSocket::bind("0.0.0.0:8080").await?; +/// +/// if let Ok(Some(err)) = socket.take_error() { +/// println!("Got error: {:?}", err); +/// } +/// +/// Ok(()) +/// } +/// ``` + Future takeError()=>RustLib.instance.api.tokioNetUdpSocketTakeError(that: this, ); + + +/// Gets the value of the `IPV6_TCLASS` option for this socket. +/// +/// For more information about this option, see [`set_tclass_v6`]. +/// +/// [`set_tclass_v6`]: Self::set_tclass_v6 + Future tclassV6()=>RustLib.instance.api.tokioNetUdpSocketTclassV6(that: this, ); + + +/// Deprecated. Use [`tos_v4()`] instead. +/// +/// [`tos_v4()`]: Self::tos_v4 + Future tos()=>RustLib.instance.api.tokioNetUdpSocketTos(that: this, ); + + +/// Gets the value of the `IP_TOS` option for this socket. +/// +/// For more information about this option, see [`set_tos_v4`]. +/// +/// [`set_tos_v4`]: Self::set_tos_v4 + Future tosV4()=>RustLib.instance.api.tokioNetUdpSocketTosV4(that: this, ); + + +/// Tries to receive data on the connected address without removing it from the input queue. +/// On success, returns the number of bytes read. +/// +/// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is +/// returned. This function is usually paired with `readable()`. +/// +/// # Notes +/// +/// On Windows, if the data is larger than the buffer specified, the buffer +/// is filled with the first part of the data, and peek returns the error +/// `WSAEMSGSIZE(10040)`. The excess data is lost. +/// Make sure to always use a sufficiently large buffer to hold the +/// maximum UDP packet size, which can be up to 65536 bytes in size. +/// +/// MacOS will return an error if you pass a zero-sized buffer. +/// +/// If you're merely interested in learning the sender of the data at the head of the queue, +/// try [`try_peek_sender`]. +/// +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// [`try_peek_sender`]: method@Self::try_peek_sender +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future tryPeek({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketTryPeek(that: this, buf: buf); + + +/// Tries to receive data on the socket without removing it from the input queue. +/// On success, returns the number of bytes read and the sending address of the +/// datagram. +/// +/// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is +/// returned. This function is usually paired with `readable()`. +/// +/// # Notes +/// +/// On Windows, if the data is larger than the buffer specified, the buffer +/// is filled with the first part of the data, and peek returns the error +/// `WSAEMSGSIZE(10040)`. The excess data is lost. +/// Make sure to always use a sufficiently large buffer to hold the +/// maximum UDP packet size, which can be up to 65536 bytes in size. +/// +/// MacOS will return an error if you pass a zero-sized buffer. +/// +/// If you're merely interested in learning the sender of the data at the head of the queue, +/// try [`try_peek_sender`]. +/// +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// [`try_peek_sender`]: method@Self::try_peek_sender +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future<(BigInt,SocketAddr)> tryPeekFrom({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketTryPeekFrom(that: this, buf: buf); + + +/// Try to retrieve the sender of the data at the head of the input queue. +/// +/// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is +/// returned. This function is usually paired with `readable()`. +/// +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future tryPeekSender()=>RustLib.instance.api.tokioNetUdpSocketTryPeekSender(that: this, ); + + +/// Tries to receive a single datagram message on the socket from the remote +/// address to which it is connected. On success, returns the number of +/// bytes read. +/// +/// This method must be called with valid byte array `buf` of sufficient size +/// to hold the message bytes. If a message is too long to fit in the +/// supplied buffer, excess bytes may be discarded. +/// +/// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is +/// returned. This function is usually paired with `readable()`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Connect to a peer +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// socket.connect("127.0.0.1:8081").await?; +/// +/// loop { +/// // Wait for the socket to be readable +/// socket.readable().await?; +/// +/// // The buffer is **not** included in the async task and will +/// // only exist on the stack. +/// let mut buf = [0; 1024]; +/// +/// // Try to recv data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match socket.try_recv(&mut buf) { +/// Ok(n) => { +/// println!("GOT {:?}", &buf[..n]); +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryRecv({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketTryRecv(that: this, buf: buf); + + +/// Tries to receive a single datagram message on the socket. On success, +/// returns the number of bytes read and the origin. +/// +/// This method must be called with valid byte array `buf` of sufficient size +/// to hold the message bytes. If a message is too long to fit in the +/// supplied buffer, excess bytes may be discarded. +/// +/// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is +/// returned. This function is usually paired with `readable()`. +/// +/// # Notes +/// +/// Note that the socket address **cannot** be implicitly trusted, because it is relatively +/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. +/// Because UDP is stateless and does not validate the origin of a packet, +/// the attacker does not need to be able to intercept traffic in order to interfere. +/// It is important to be aware of this when designing your application-level protocol. +/// +/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Connect to a peer +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// +/// loop { +/// // Wait for the socket to be readable +/// socket.readable().await?; +/// +/// // The buffer is **not** included in the async task and will +/// // only exist on the stack. +/// let mut buf = [0; 1024]; +/// +/// // Try to recv data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match socket.try_recv_from(&mut buf) { +/// Ok((n, _addr)) => { +/// println!("GOT {:?}", &buf[..n]); +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future<(BigInt,SocketAddr)> tryRecvFrom({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketTryRecvFrom(that: this, buf: buf); + + +/// Tries to send data on the socket to the remote address to which it is +/// connected. +/// +/// When the socket buffer is full, `Err(io::ErrorKind::WouldBlock)` is +/// returned. This function is usually paired with `writable()`. +/// +/// # Returns +/// +/// If successful, `Ok(n)` is returned, where `n` is the number of bytes +/// sent. If the socket is not ready to send data, +/// `Err(ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Bind a UDP socket +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// +/// // Connect to a peer +/// socket.connect("127.0.0.1:8081").await?; +/// +/// loop { +/// // Wait for the socket to be writable +/// socket.writable().await?; +/// +/// // Try to send data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match socket.try_send(b"hello world") { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future trySend({required List buf })=>RustLib.instance.api.tokioNetUdpSocketTrySend(that: this, buf: buf); + + +/// Tries to send data on the socket to the given address, but if the send is +/// blocked this will return right away. +/// +/// This function is usually paired with `writable()`. +/// +/// # Returns +/// +/// If successful, returns the number of bytes sent +/// +/// Users should ensure that when the remote cannot receive, the +/// [`ErrorKind::WouldBlock`] is properly handled. An error can also occur +/// if the IP version of the socket does not match that of `target`. +/// +/// [`ErrorKind::WouldBlock`]: std::io::ErrorKind::WouldBlock +/// +/// # Example +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// +/// let dst = "127.0.0.1:8081".parse()?; +/// +/// loop { +/// socket.writable().await?; +/// +/// match socket.try_send_to(&b"hello world"[..], dst) { +/// Ok(sent) => { +/// println!("sent {} bytes", sent); +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// // Writable false positive. +/// continue; +/// } +/// Err(e) => return Err(e.into()), +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future trySendTo({required List buf , required SocketAddr target })=>RustLib.instance.api.tokioNetUdpSocketTrySendTo(that: this, buf: buf, target: target); + + +/// Gets the value of the `IP_TTL` option for this socket. +/// +/// For more information about this option, see [`set_ttl`]. +/// +/// [`set_ttl`]: method@Self::set_ttl +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// # use std::io; +/// +/// # async fn dox() -> io::Result<()> { +/// let sock = UdpSocket::bind("127.0.0.1:8080").await?; +/// +/// println!("{:?}", sock.ttl()?); +/// # Ok(()) +/// # } +/// ``` + Future ttl()=>RustLib.instance.api.tokioNetUdpSocketTtl(that: this, ); + + +/// Waits for the socket to become writable. +/// +/// This function is equivalent to `ready(Interest::WRITABLE)` and is +/// usually paired with `try_send()` or `try_send_to()`. +/// +/// The function may complete without the socket being writable. This is a +/// false-positive and attempting a `try_send()` will return with +/// `io::ErrorKind::WouldBlock`. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to write that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UdpSocket; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Bind socket +/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; +/// socket.connect("127.0.0.1:8081").await?; +/// +/// loop { +/// // Wait for the socket to be writable +/// socket.writable().await?; +/// +/// // Try to send data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match socket.try_send(b"hello world") { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future writable()=>RustLib.instance.api.tokioNetUdpSocketWritable(that: this, ); + + + } + @sealed class UidTImpl extends RustOpaque implements UidT { + // Not to be used by end users + UidTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + UidTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UidT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UidT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UidTPtr, + ); + + + } + @sealed class UnixDatagramImpl extends RustOpaque implements UnixDatagram { + // Not to be used by end users + UnixDatagramImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + UnixDatagramImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UnixDatagram, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UnixDatagram, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UnixDatagramPtr, + ); + + /// Turns a [`tokio::net::UnixDatagram`] into a [`std::os::unix::net::UnixDatagram`]. +/// +/// The returned [`std::os::unix::net::UnixDatagram`] will have nonblocking +/// mode set as `true`. Use [`set_nonblocking`] to change the blocking mode +/// if needed. +/// +/// # Examples +/// +/// ```rust,no_run +/// # use std::error::Error; +/// # async fn dox() -> Result<(), Box> { +/// let tokio_socket = tokio::net::UnixDatagram::bind("/path/to/the/socket")?; +/// let std_socket = tokio_socket.into_std()?; +/// std_socket.set_nonblocking(false)?; +/// # Ok(()) +/// # } +/// ``` +/// +/// [`tokio::net::UnixDatagram`]: UnixDatagram +/// [`std::os::unix::net::UnixDatagram`]: std::os::unix::net::UnixDatagram +/// [`set_nonblocking`]: fn@std::os::unix::net::UnixDatagram::set_nonblocking + Future intoStd()=>RustLib.instance.api.tokioNetUnixDatagramIntoStd(that: this, ); + + +/// Returns the local address that this socket is bound to. +/// +/// # Examples +/// For a socket bound to a local path +/// ``` +/// # use std::error::Error; +/// # #[tokio::main] +/// # async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. +/// use tokio::net::UnixDatagram; +/// use tempfile::tempdir; +/// +/// // We use a temporary directory so that the socket +/// // files left by the bound sockets will get cleaned up. +/// let tmp = tempdir()?; +/// +/// // Bind socket to a filesystem path +/// let socket_path = tmp.path().join("socket"); +/// let socket = UnixDatagram::bind(&socket_path)?; +/// +/// assert_eq!(socket.local_addr()?.as_pathname().unwrap(), &socket_path); +/// +/// # Ok(()) +/// # } +/// ``` +/// +/// For an unbound socket +/// ``` +/// # use std::error::Error; +/// # #[tokio::main] +/// # async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. +/// use tokio::net::UnixDatagram; +/// +/// // Create an unbound socket +/// let socket = UnixDatagram::unbound()?; +/// +/// assert!(socket.local_addr()?.is_unnamed()); +/// +/// # Ok(()) +/// # } +/// ``` + Future localAddr()=>RustLib.instance.api.tokioNetUnixDatagramLocalAddr(that: this, ); + + +/// Returns the address of this socket's peer. +/// +/// The `connect` method will connect the socket to a peer. +/// +/// # Examples +/// For a peer with a local path +/// ``` +/// # use std::error::Error; +/// # #[tokio::main] +/// # async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. +/// use tokio::net::UnixDatagram; +/// use tempfile::tempdir; +/// +/// // Create an unbound socket +/// let tx = UnixDatagram::unbound()?; +/// +/// // Create another, bound socket +/// let tmp = tempdir()?; +/// let rx_path = tmp.path().join("rx"); +/// let rx = UnixDatagram::bind(&rx_path)?; +/// +/// // Connect to the bound socket +/// tx.connect(&rx_path)?; +/// +/// assert_eq!(tx.peer_addr()?.as_pathname().unwrap(), &rx_path); +/// +/// # Ok(()) +/// # } +/// ``` +/// +/// For an unbound peer +/// ``` +/// # use std::error::Error; +/// # #[tokio::main] +/// # async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. +/// use tokio::net::UnixDatagram; +/// +/// // Create the pair of sockets +/// let (sock1, sock2) = UnixDatagram::pair()?; +/// +/// assert!(sock1.peer_addr()?.is_unnamed()); +/// +/// # Ok(()) +/// # } +/// ``` + Future peerAddr()=>RustLib.instance.api.tokioNetUnixDatagramPeerAddr(that: this, ); + + +/// Attempts to receive a single datagram message on the socket from the remote +/// address to which it is `connect`ed. +/// +/// The [`connect`] method will connect this socket to a remote address. This method +/// resolves to an error if the socket is not connected. +/// +/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the +/// `Waker` from the `Context` passed to the most recent call will be scheduled to +/// receive a wakeup. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not ready to read +/// * `Poll::Ready(Ok(()))` reads data `ReadBuf` if the socket is ready +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`connect`]: method@Self::connect + Future pollRecv({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUnixDatagramPollRecv(that: this, cx: cx, buf: buf); + + +/// Attempts to receive a single datagram on the specified address. +/// +/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the +/// `Waker` from the `Context` passed to the most recent call will be scheduled to +/// receive a wakeup. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not ready to read +/// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. + Future pollRecvFrom({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUnixDatagramPollRecvFrom(that: this, cx: cx, buf: buf); + + +/// Polls for read/receive readiness. +/// +/// If the socket is not currently ready for receiving, this method will +/// store a clone of the `Waker` from the provided `Context`. When the +/// socket becomes ready for reading, `Waker::wake` will be called on the +/// waker. +/// +/// Note that on multiple calls to `poll_recv_ready`, `poll_recv` or +/// `poll_peek`, only the `Waker` from the `Context` passed to the most +/// recent call is scheduled to receive a wakeup. (However, +/// `poll_send_ready` retains a second, independent waker.) +/// +/// This function is intended for cases where creating and pinning a future +/// via [`readable`] is not feasible. Where possible, using [`readable`] is +/// preferred, as this supports polling from multiple tasks at once. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not ready for reading. +/// * `Poll::Ready(Ok(()))` if the socket is ready for reading. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`readable`]: method@Self::readable + Future pollRecvReady({required Context cx })=>RustLib.instance.api.tokioNetUnixDatagramPollRecvReady(that: this, cx: cx); + + +/// Attempts to send data on the socket to the remote address to which it +/// was previously `connect`ed. +/// +/// The [`connect`] method will connect this socket to a remote address. +/// This method will fail if the socket is not connected. +/// +/// Note that on multiple calls to a `poll_*` method in the send direction, +/// only the `Waker` from the `Context` passed to the most recent call will +/// be scheduled to receive a wakeup. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not available to write +/// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`connect`]: method@Self::connect + Future pollSend({required Context cx , required List buf })=>RustLib.instance.api.tokioNetUnixDatagramPollSend(that: this, cx: cx, buf: buf); + + +/// Polls for write/send readiness. +/// +/// If the socket is not currently ready for sending, this method will +/// store a clone of the `Waker` from the provided `Context`. When the socket +/// becomes ready for sending, `Waker::wake` will be called on the +/// waker. +/// +/// Note that on multiple calls to `poll_send_ready` or `poll_send`, only +/// the `Waker` from the `Context` passed to the most recent call is +/// scheduled to receive a wakeup. (However, `poll_recv_ready` retains a +/// second, independent waker.) +/// +/// This function is intended for cases where creating and pinning a future +/// via [`writable`] is not feasible. Where possible, using [`writable`] is +/// preferred, as this supports polling from multiple tasks at once. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the socket is not ready for writing. +/// * `Poll::Ready(Ok(()))` if the socket is ready for writing. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`writable`]: method@Self::writable + Future pollSendReady({required Context cx })=>RustLib.instance.api.tokioNetUnixDatagramPollSendReady(that: this, cx: cx); + + +/// Waits for the socket to become readable. +/// +/// This function is equivalent to `ready(Interest::READABLE)` and is usually +/// paired with `try_recv()`. +/// +/// The function may complete without the socket being readable. This is a +/// false-positive and attempting a `try_recv()` will return with +/// `io::ErrorKind::WouldBlock`. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixDatagram; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Connect to a peer +/// let dir = tempfile::tempdir().unwrap(); +/// let client_path = dir.path().join("client.sock"); +/// let server_path = dir.path().join("server.sock"); +/// let socket = UnixDatagram::bind(&client_path)?; +/// socket.connect(&server_path)?; +/// +/// loop { +/// // Wait for the socket to be readable +/// socket.readable().await?; +/// +/// // The buffer is **not** included in the async task and will +/// // only exist on the stack. +/// let mut buf = [0; 1024]; +/// +/// // Try to recv data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match socket.try_recv(&mut buf) { +/// Ok(n) => { +/// println!("GOT {:?}", &buf[..n]); +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future readable()=>RustLib.instance.api.tokioNetUnixDatagramReadable(that: this, ); + + +/// Waits for any of the requested ready states. +/// +/// This function is usually paired with `try_recv()` or `try_send()`. It +/// can be used to concurrently `recv` / `send` to the same socket on a single +/// task without splitting the socket. +/// +/// The function may complete without the socket being ready. This is a +/// false-positive and attempting an operation will return with +/// `io::ErrorKind::WouldBlock`. The function can also return with an empty +/// [`Ready`] set, so you should always check the returned value and possibly +/// wait again if the requested states are not set. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read or write that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// Concurrently receive from and send to the socket on the same task +/// without splitting. +/// +/// ```no_run +/// use tokio::io::Interest; +/// use tokio::net::UnixDatagram; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let dir = tempfile::tempdir().unwrap(); +/// let client_path = dir.path().join("client.sock"); +/// let server_path = dir.path().join("server.sock"); +/// let socket = UnixDatagram::bind(&client_path)?; +/// socket.connect(&server_path)?; +/// +/// loop { +/// let ready = socket.ready(Interest::READABLE | Interest::WRITABLE).await?; +/// +/// if ready.is_readable() { +/// let mut data = [0; 1024]; +/// match socket.try_recv(&mut data[..]) { +/// Ok(n) => { +/// println!("received {:?}", &data[..n]); +/// } +/// // False-positive, continue +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// if ready.is_writable() { +/// // Write some data +/// match socket.try_send(b"hello world") { +/// Ok(n) => { +/// println!("sent {} bytes", n); +/// } +/// // False-positive, continue +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// } +/// } +/// ``` + Future ready({required Interest interest })=>RustLib.instance.api.tokioNetUnixDatagramReady(that: this, interest: interest); + + +/// Receives data from the socket. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If `recv` is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, it is guaranteed that no messages were received on this +/// socket. +/// +/// # Examples +/// ``` +/// # use std::error::Error; +/// # #[tokio::main] +/// # async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. +/// use tokio::net::UnixDatagram; +/// +/// // Create the pair of sockets +/// let (sock1, sock2) = UnixDatagram::pair()?; +/// +/// // Since the sockets are paired, the paired send/recv +/// // functions can be used +/// let bytes = b"hello world"; +/// sock1.send(bytes).await?; +/// +/// let mut buff = vec![0u8; 24]; +/// let size = sock2.recv(&mut buff).await?; +/// +/// let dgram = &buff[..size]; +/// assert_eq!(dgram, bytes); +/// +/// # Ok(()) +/// # } +/// ``` + Future recv({required U8 buf })=>RustLib.instance.api.tokioNetUnixDatagramRecv(that: this, buf: buf); + + +/// Receives data from the socket. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If `recv_from` is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, it is guaranteed that no messages were received on this +/// socket. +/// +/// # Examples +/// ``` +/// # use std::error::Error; +/// # #[tokio::main] +/// # async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. +/// use tokio::net::UnixDatagram; +/// use tempfile::tempdir; +/// +/// // We use a temporary directory so that the socket +/// // files left by the bound sockets will get cleaned up. +/// let tmp = tempdir()?; +/// +/// // Bind each socket to a filesystem path +/// let tx_path = tmp.path().join("tx"); +/// let tx = UnixDatagram::bind(&tx_path)?; +/// let rx_path = tmp.path().join("rx"); +/// let rx = UnixDatagram::bind(&rx_path)?; +/// +/// let bytes = b"hello world"; +/// tx.send_to(bytes, &rx_path).await?; +/// +/// let mut buf = vec![0u8; 24]; +/// let (size, addr) = rx.recv_from(&mut buf).await?; +/// +/// let dgram = &buf[..size]; +/// assert_eq!(dgram, bytes); +/// assert_eq!(addr.as_pathname().unwrap(), &tx_path); +/// +/// # Ok(()) +/// # } +/// ``` + Future<(BigInt,SocketAddr)> recvFrom({required U8 buf })=>RustLib.instance.api.tokioNetUnixDatagramRecvFrom(that: this, buf: buf); + + +/// Sends data on the socket to the socket's peer. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If `send` is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, then it is guaranteed that the message was not sent. +/// +/// # Examples +/// ``` +/// # use std::error::Error; +/// # #[tokio::main] +/// # async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. +/// use tokio::net::UnixDatagram; +/// +/// // Create the pair of sockets +/// let (sock1, sock2) = UnixDatagram::pair()?; +/// +/// // Since the sockets are paired, the paired send/recv +/// // functions can be used +/// let bytes = b"hello world"; +/// sock1.send(bytes).await?; +/// +/// let mut buff = vec![0u8; 24]; +/// let size = sock2.recv(&mut buff).await?; +/// +/// let dgram = &buff[..size]; +/// assert_eq!(dgram, bytes); +/// +/// # Ok(()) +/// # } +/// ``` + Future send({required List buf })=>RustLib.instance.api.tokioNetUnixDatagramSend(that: this, buf: buf); + + +/// Shuts down the read, write, or both halves of this connection. +/// +/// This function will cause all pending and future I/O calls on the +/// specified portions to immediately return with an appropriate value +/// (see the documentation of `Shutdown`). +/// +/// # Examples +/// ``` +/// # use std::error::Error; +/// # #[tokio::main] +/// # async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. +/// use tokio::net::UnixDatagram; +/// use std::net::Shutdown; +/// +/// // Create an unbound socket +/// let (socket, other) = UnixDatagram::pair()?; +/// +/// socket.shutdown(Shutdown::Both)?; +/// +/// // NOTE: the following commented out code does NOT work as expected. +/// // Due to an underlying issue, the recv call will block indefinitely. +/// // See: https://github.com/tokio-rs/tokio/issues/1679 +/// //let mut buff = vec![0u8; 24]; +/// //let size = socket.recv(&mut buff).await?; +/// //assert_eq!(size, 0); +/// +/// let send_result = socket.send(b"hello world").await; +/// assert!(send_result.is_err()); +/// +/// # Ok(()) +/// # } +/// ``` + Future shutdown({required Shutdown how })=>RustLib.instance.api.tokioNetUnixDatagramShutdown(that: this, how: how); + + +/// Returns the value of the `SO_ERROR` option. +/// +/// # Examples +/// ``` +/// # use std::error::Error; +/// # #[tokio::main] +/// # async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. +/// use tokio::net::UnixDatagram; +/// +/// // Create an unbound socket +/// let socket = UnixDatagram::unbound()?; +/// +/// if let Ok(Some(err)) = socket.take_error() { +/// println!("Got error: {:?}", err); +/// } +/// +/// # Ok(()) +/// # } +/// ``` + Future takeError()=>RustLib.instance.api.tokioNetUnixDatagramTakeError(that: this, ); + + +/// Tries to receive a datagram from the peer without waiting. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixDatagram; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Connect to a peer +/// let dir = tempfile::tempdir().unwrap(); +/// let client_path = dir.path().join("client.sock"); +/// let server_path = dir.path().join("server.sock"); +/// let socket = UnixDatagram::bind(&client_path)?; +/// socket.connect(&server_path)?; +/// +/// loop { +/// // Wait for the socket to be readable +/// socket.readable().await?; +/// +/// // The buffer is **not** included in the async task and will +/// // only exist on the stack. +/// let mut buf = [0; 1024]; +/// +/// // Try to recv data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match socket.try_recv(&mut buf) { +/// Ok(n) => { +/// println!("GOT {:?}", &buf[..n]); +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryRecv({required U8 buf })=>RustLib.instance.api.tokioNetUnixDatagramTryRecv(that: this, buf: buf); + + +/// Tries to receive data from the socket without waiting. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixDatagram; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// // Connect to a peer +/// let dir = tempfile::tempdir().unwrap(); +/// let client_path = dir.path().join("client.sock"); +/// let server_path = dir.path().join("server.sock"); +/// let socket = UnixDatagram::bind(&client_path)?; +/// +/// loop { +/// // Wait for the socket to be readable +/// socket.readable().await?; +/// +/// // The buffer is **not** included in the async task and will +/// // only exist on the stack. +/// let mut buf = [0; 1024]; +/// +/// // Try to recv data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match socket.try_recv_from(&mut buf) { +/// Ok((n, _addr)) => { +/// println!("GOT {:?}", &buf[..n]); +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future<(BigInt,SocketAddr)> tryRecvFrom({required U8 buf })=>RustLib.instance.api.tokioNetUnixDatagramTryRecvFrom(that: this, buf: buf); + + +/// Tries to send a datagram to the peer without waiting. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixDatagram; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let dir = tempfile::tempdir().unwrap(); +/// let client_path = dir.path().join("client.sock"); +/// let server_path = dir.path().join("server.sock"); +/// let socket = UnixDatagram::bind(&client_path)?; +/// socket.connect(&server_path)?; +/// +/// loop { +/// // Wait for the socket to be writable +/// socket.writable().await?; +/// +/// // Try to send data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match socket.try_send(b"hello world") { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future trySend({required List buf })=>RustLib.instance.api.tokioNetUnixDatagramTrySend(that: this, buf: buf); + + +/// Waits for the socket to become writable. +/// +/// This function is equivalent to `ready(Interest::WRITABLE)` and is +/// usually paired with `try_send()` or `try_send_to()`. +/// +/// The function may complete without the socket being writable. This is a +/// false-positive and attempting a `try_send()` will return with +/// `io::ErrorKind::WouldBlock`. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to write that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixDatagram; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let dir = tempfile::tempdir().unwrap(); +/// let client_path = dir.path().join("client.sock"); +/// let server_path = dir.path().join("server.sock"); +/// let socket = UnixDatagram::bind(&client_path)?; +/// socket.connect(&server_path)?; +/// +/// loop { +/// // Wait for the socket to be writable +/// socket.writable().await?; +/// +/// // Try to send data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match socket.try_send(b"hello world") { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future writable()=>RustLib.instance.api.tokioNetUnixDatagramWritable(that: this, ); + + + } + @sealed class UnixListenerImpl extends RustOpaque implements UnixListener { + // Not to be used by end users + UnixListenerImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + UnixListenerImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UnixListener, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UnixListener, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UnixListenerPtr, + ); + + /// Accepts a new incoming connection to this listener. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If the method is used as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, then it is guaranteed that no new connections were +/// accepted by this method. + Future<(UnixStream,SocketAddr)> accept()=>RustLib.instance.api.tokioNetUnixListenerAccept(that: this, ); + + +/// Turns a [`tokio::net::UnixListener`] into a [`std::os::unix::net::UnixListener`]. +/// +/// The returned [`std::os::unix::net::UnixListener`] will have nonblocking mode +/// set as `true`. Use [`set_nonblocking`] to change the blocking mode if needed. +/// +/// # Examples +/// +/// ```rust,no_run +/// # use std::error::Error; +/// # async fn dox() -> Result<(), Box> { +/// let tokio_listener = tokio::net::UnixListener::bind("/path/to/the/socket")?; +/// let std_listener = tokio_listener.into_std()?; +/// std_listener.set_nonblocking(false)?; +/// # Ok(()) +/// # } +/// ``` +/// +/// [`tokio::net::UnixListener`]: UnixListener +/// [`std::os::unix::net::UnixListener`]: std::os::unix::net::UnixListener +/// [`set_nonblocking`]: fn@std::os::unix::net::UnixListener::set_nonblocking + Future intoStd()=>RustLib.instance.api.tokioNetUnixListenerIntoStd(that: this, ); + + +/// Returns the local socket address of this listener. + Future localAddr()=>RustLib.instance.api.tokioNetUnixListenerLocalAddr(that: this, ); + + +/// Polls to accept a new incoming connection to this listener. +/// +/// If there is no connection to accept, `Poll::Pending` is returned and the +/// current task will be notified by a waker. Note that on multiple calls +/// to `poll_accept`, only the `Waker` from the `Context` passed to the most +/// recent call is scheduled to receive a wakeup. + Future pollAccept({required Context cx })=>RustLib.instance.api.tokioNetUnixListenerPollAccept(that: this, cx: cx); + + +/// Returns the value of the `SO_ERROR` option. + Future takeError()=>RustLib.instance.api.tokioNetUnixListenerTakeError(that: this, ); + + + } + @sealed class UnixSocketImpl extends RustOpaque implements UnixSocket { + // Not to be used by end users + UnixSocketImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + UnixSocketImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UnixSocket, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UnixSocket, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UnixSocketPtr, + ); + + /// Converts the socket into a [`UnixDatagram`]. +/// +/// Calling this function on a socket created by [`new_stream`] will return an error. +/// +/// [`new_stream`]: `UnixSocket::new_stream` + Future datagram()=>RustLib.instance.api.tokioNetUnixSocketDatagram(that: this, ); + + +/// Converts the socket into a `UnixListener`. +/// +/// `backlog` defines the maximum number of pending connections are queued +/// by the operating system at any given time. Connection are removed from +/// the queue with [`UnixListener::accept`]. When the queue is full, the +/// operating-system will start rejecting connections. +/// +/// Calling this function on a socket created by [`new_datagram`] will return an error. +/// +/// This calls the `listen(2)` operating-system function, marking the socket +/// as a passive socket. +/// +/// [`new_datagram`]: `UnixSocket::new_datagram` + Future listen({required int backlog })=>RustLib.instance.api.tokioNetUnixSocketListen(that: this, backlog: backlog); + + + } + @sealed class UnixStreamImpl extends RustOpaque implements UnixStream { + // Not to be used by end users + UnixStreamImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + UnixStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UnixStream, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UnixStream, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UnixStreamPtr, + ); + + /// Splits a `UnixStream` into a read half and a write half, which can be used +/// to read and write the stream concurrently. +/// +/// Unlike [`split`], the owned halves can be moved to separate tasks, however +/// this comes at the cost of a heap allocation. +/// +/// **Note:** Dropping the write half will only shut down the write half of the +/// stream. This is equivalent to calling [`shutdown()`] on the `UnixStream`. +/// +/// [`split`]: Self::split() +/// [`shutdown()`]: fn@crate::io::AsyncWriteExt::shutdown + Future<(OwnedReadHalf,OwnedWriteHalf)> intoSplit()=>RustLib.instance.api.tokioNetUnixStreamIntoSplit(that: this, ); + + +/// Turns a [`tokio::net::UnixStream`] into a [`std::os::unix::net::UnixStream`]. +/// +/// The returned [`std::os::unix::net::UnixStream`] will have nonblocking +/// mode set as `true`. Use [`set_nonblocking`] to change the blocking +/// mode if needed. +/// +/// # Examples +/// +/// ``` +/// use std::error::Error; +/// use std::io::Read; +/// use tokio::net::UnixListener; +/// # use tokio::net::UnixStream; +/// # use tokio::io::AsyncWriteExt; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. +/// let dir = tempfile::tempdir().unwrap(); +/// let bind_path = dir.path().join("bind_path"); +/// +/// let mut data = [0u8; 12]; +/// let listener = UnixListener::bind(&bind_path)?; +/// # let handle = tokio::spawn(async { +/// # let mut stream = UnixStream::connect(bind_path).await.unwrap(); +/// # stream.write(b"Hello world!").await.unwrap(); +/// # }); +/// let (tokio_unix_stream, _) = listener.accept().await?; +/// let mut std_unix_stream = tokio_unix_stream.into_std()?; +/// # handle.await.expect("The task being joined has panicked"); +/// std_unix_stream.set_nonblocking(false)?; +/// std_unix_stream.read_exact(&mut data)?; +/// # assert_eq!(b"Hello world!", &data); +/// Ok(()) +/// } +/// ``` +/// [`tokio::net::UnixStream`]: UnixStream +/// [`std::os::unix::net::UnixStream`]: std::os::unix::net::UnixStream +/// [`set_nonblocking`]: fn@std::os::unix::net::UnixStream::set_nonblocking + Future intoStd()=>RustLib.instance.api.tokioNetUnixStreamIntoStd(that: this, ); + + +/// Returns the socket address of the local half of this connection. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixStream; +/// +/// # async fn dox() -> Result<(), Box> { +/// let dir = tempfile::tempdir().unwrap(); +/// let bind_path = dir.path().join("bind_path"); +/// let stream = UnixStream::connect(bind_path).await?; +/// +/// println!("{:?}", stream.local_addr()?); +/// # Ok(()) +/// # } +/// ``` + Future localAddr()=>RustLib.instance.api.tokioNetUnixStreamLocalAddr(that: this, ); + + +/// Returns the socket address of the remote half of this connection. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixStream; +/// +/// # async fn dox() -> Result<(), Box> { +/// let dir = tempfile::tempdir().unwrap(); +/// let bind_path = dir.path().join("bind_path"); +/// let stream = UnixStream::connect(bind_path).await?; +/// +/// println!("{:?}", stream.peer_addr()?); +/// # Ok(()) +/// # } +/// ``` + Future peerAddr()=>RustLib.instance.api.tokioNetUnixStreamPeerAddr(that: this, ); + + +/// Returns effective credentials of the process which called `connect` or `pair`. + Future peerCred()=>RustLib.instance.api.tokioNetUnixStreamPeerCred(that: this, ); + + +/// Polls for read readiness. +/// +/// If the unix stream is not currently ready for reading, this method will +/// store a clone of the `Waker` from the provided `Context`. When the unix +/// stream becomes ready for reading, `Waker::wake` will be called on the +/// waker. +/// +/// Note that on multiple calls to `poll_read_ready` or `poll_read`, only +/// the `Waker` from the `Context` passed to the most recent call is +/// scheduled to receive a wakeup. (However, `poll_write_ready` retains a +/// second, independent waker.) +/// +/// This function is intended for cases where creating and pinning a future +/// via [`readable`] is not feasible. Where possible, using [`readable`] is +/// preferred, as this supports polling from multiple tasks at once. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the unix stream is not ready for reading. +/// * `Poll::Ready(Ok(()))` if the unix stream is ready for reading. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`readable`]: method@Self::readable + Future pollReadReady({required Context cx })=>RustLib.instance.api.tokioNetUnixStreamPollReadReady(that: this, cx: cx); + + +/// Polls for write readiness. +/// +/// If the unix stream is not currently ready for writing, this method will +/// store a clone of the `Waker` from the provided `Context`. When the unix +/// stream becomes ready for writing, `Waker::wake` will be called on the +/// waker. +/// +/// Note that on multiple calls to `poll_write_ready` or `poll_write`, only +/// the `Waker` from the `Context` passed to the most recent call is +/// scheduled to receive a wakeup. (However, `poll_read_ready` retains a +/// second, independent waker.) +/// +/// This function is intended for cases where creating and pinning a future +/// via [`writable`] is not feasible. Where possible, using [`writable`] is +/// preferred, as this supports polling from multiple tasks at once. +/// +/// # Return value +/// +/// The function returns: +/// +/// * `Poll::Pending` if the unix stream is not ready for writing. +/// * `Poll::Ready(Ok(()))` if the unix stream is ready for writing. +/// * `Poll::Ready(Err(e))` if an error is encountered. +/// +/// # Errors +/// +/// This function may encounter any standard I/O error except `WouldBlock`. +/// +/// [`writable`]: method@Self::writable + Future pollWriteReady({required Context cx })=>RustLib.instance.api.tokioNetUnixStreamPollWriteReady(that: this, cx: cx); + + +/// Waits for the socket to become readable. +/// +/// This function is equivalent to `ready(Interest::READABLE)` and is usually +/// paired with `try_read()`. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let dir = tempfile::tempdir().unwrap(); +/// let bind_path = dir.path().join("bind_path"); +/// let stream = UnixStream::connect(bind_path).await?; +/// +/// let mut msg = vec![0; 1024]; +/// +/// loop { +/// // Wait for the socket to be readable +/// stream.readable().await?; +/// +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_read(&mut msg) { +/// Ok(n) => { +/// msg.truncate(n); +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// println!("GOT = {:?}", msg); +/// Ok(()) +/// } +/// ``` + Future readable()=>RustLib.instance.api.tokioNetUnixStreamReadable(that: this, ); + + +/// Waits for any of the requested ready states. +/// +/// This function is usually paired with `try_read()` or `try_write()`. It +/// can be used to concurrently read / write to the same socket on a single +/// task without splitting the socket. +/// +/// The function may complete without the socket being ready. This is a +/// false-positive and attempting an operation will return with +/// `io::ErrorKind::WouldBlock`. The function can also return with an empty +/// [`Ready`] set, so you should always check the returned value and possibly +/// wait again if the requested states are not set. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to read or write that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// Concurrently read and write to the stream on the same task without +/// splitting. +/// +/// ```no_run +/// use tokio::io::Interest; +/// use tokio::net::UnixStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// let dir = tempfile::tempdir().unwrap(); +/// let bind_path = dir.path().join("bind_path"); +/// let stream = UnixStream::connect(bind_path).await?; +/// +/// loop { +/// let ready = stream.ready(Interest::READABLE | Interest::WRITABLE).await?; +/// +/// if ready.is_readable() { +/// let mut data = vec![0; 1024]; +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_read(&mut data) { +/// Ok(n) => { +/// println!("read {} bytes", n); +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// +/// } +/// +/// if ready.is_writable() { +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_write(b"hello world") { +/// Ok(n) => { +/// println!("write {} bytes", n); +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// } +/// } +/// ``` + Future ready({required Interest interest })=>RustLib.instance.api.tokioNetUnixStreamReady(that: this, interest: interest); + + +/// Returns the value of the `SO_ERROR` option. + Future takeError()=>RustLib.instance.api.tokioNetUnixStreamTakeError(that: this, ); + + +/// Try to read data from the stream into the provided buffer, returning how +/// many bytes were read. +/// +/// Receives any pending data from the socket but does not wait for new data +/// to arrive. On success, returns the number of bytes read. Because +/// `try_read()` is non-blocking, the buffer does not have to be stored by +/// the async task and can exist entirely on the stack. +/// +/// Usually, [`readable()`] or [`ready()`] is used with this function. +/// +/// [`readable()`]: UnixStream::readable() +/// [`ready()`]: UnixStream::ready() +/// +/// # Return +/// +/// If data is successfully read, `Ok(n)` is returned, where `n` is the +/// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: +/// +/// 1. The stream's read half is closed and will no longer yield data. +/// 2. The specified buffer was 0 bytes in length. +/// +/// If the stream is not ready to read data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let dir = tempfile::tempdir().unwrap(); +/// let bind_path = dir.path().join("bind_path"); +/// let stream = UnixStream::connect(bind_path).await?; +/// +/// loop { +/// // Wait for the socket to be readable +/// stream.readable().await?; +/// +/// // Creating the buffer **after** the `await` prevents it from +/// // being stored in the async task. +/// let mut buf = [0; 4096]; +/// +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_read(&mut buf) { +/// Ok(0) => break, +/// Ok(n) => { +/// println!("read {} bytes", n); +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryRead({required U8 buf })=>RustLib.instance.api.tokioNetUnixStreamTryRead(that: this, buf: buf); + + +/// Tries to read data from the stream into the provided buffers, returning +/// how many bytes were read. +/// +/// Data is copied to fill each buffer in order, with the final buffer +/// written to possibly being only partially filled. This method behaves +/// equivalently to a single call to [`try_read()`] with concatenated +/// buffers. +/// +/// Receives any pending data from the socket but does not wait for new data +/// to arrive. On success, returns the number of bytes read. Because +/// `try_read_vectored()` is non-blocking, the buffer does not have to be +/// stored by the async task and can exist entirely on the stack. +/// +/// Usually, [`readable()`] or [`ready()`] is used with this function. +/// +/// [`try_read()`]: UnixStream::try_read() +/// [`readable()`]: UnixStream::readable() +/// [`ready()`]: UnixStream::ready() +/// +/// # Return +/// +/// If data is successfully read, `Ok(n)` is returned, where `n` is the +/// number of bytes read. `Ok(0)` indicates the stream's read half is closed +/// and will no longer yield data. If the stream is not ready to read data +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixStream; +/// use std::error::Error; +/// use std::io::{self, IoSliceMut}; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let dir = tempfile::tempdir().unwrap(); +/// let bind_path = dir.path().join("bind_path"); +/// let stream = UnixStream::connect(bind_path).await?; +/// +/// loop { +/// // Wait for the socket to be readable +/// stream.readable().await?; +/// +/// // Creating the buffer **after** the `await` prevents it from +/// // being stored in the async task. +/// let mut buf_a = [0; 512]; +/// let mut buf_b = [0; 1024]; +/// let mut bufs = [ +/// IoSliceMut::new(&mut buf_a), +/// IoSliceMut::new(&mut buf_b), +/// ]; +/// +/// // Try to read data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_read_vectored(&mut bufs) { +/// Ok(0) => break, +/// Ok(n) => { +/// println!("read {} bytes", n); +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryReadVectored({required IoSliceMut bufs })=>RustLib.instance.api.tokioNetUnixStreamTryReadVectored(that: this, bufs: bufs); + + +/// Tries to write a buffer to the stream, returning how many bytes were +/// written. +/// +/// The function will attempt to write the entire contents of `buf`, but +/// only part of the buffer may be written. +/// +/// This function is usually paired with `writable()`. +/// +/// # Return +/// +/// If data is successfully written, `Ok(n)` is returned, where `n` is the +/// number of bytes written. If the stream is not ready to write data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let dir = tempfile::tempdir().unwrap(); +/// let bind_path = dir.path().join("bind_path"); +/// let stream = UnixStream::connect(bind_path).await?; +/// +/// loop { +/// // Wait for the socket to be writable +/// stream.writable().await?; +/// +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_write(b"hello world") { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryWrite({required List buf })=>RustLib.instance.api.tokioNetUnixStreamTryWrite(that: this, buf: buf); + + +/// Tries to write several buffers to the stream, returning how many bytes +/// were written. +/// +/// Data is written from each buffer in order, with the final buffer read +/// from possible being only partially consumed. This method behaves +/// equivalently to a single call to [`try_write()`] with concatenated +/// buffers. +/// +/// This function is usually paired with `writable()`. +/// +/// [`try_write()`]: UnixStream::try_write() +/// +/// # Return +/// +/// If data is successfully written, `Ok(n)` is returned, where `n` is the +/// number of bytes written. If the stream is not ready to write data, +/// `Err(io::ErrorKind::WouldBlock)` is returned. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let dir = tempfile::tempdir().unwrap(); +/// let bind_path = dir.path().join("bind_path"); +/// let stream = UnixStream::connect(bind_path).await?; +/// +/// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; +/// +/// loop { +/// // Wait for the socket to be writable +/// stream.writable().await?; +/// +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_write_vectored(&bufs) { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future tryWriteVectored({required List buf })=>RustLib.instance.api.tokioNetUnixStreamTryWriteVectored(that: this, buf: buf); + + +/// Waits for the socket to become writable. +/// +/// This function is equivalent to `ready(Interest::WRITABLE)` and is usually +/// paired with `try_write()`. +/// +/// # Cancel safety +/// +/// This method is cancel safe. Once a readiness event occurs, the method +/// will continue to return immediately until the readiness event is +/// consumed by an attempt to write that fails with `WouldBlock` or +/// `Poll::Pending`. +/// +/// # Examples +/// +/// ```no_run +/// use tokio::net::UnixStream; +/// use std::error::Error; +/// use std::io; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // Connect to a peer +/// let dir = tempfile::tempdir().unwrap(); +/// let bind_path = dir.path().join("bind_path"); +/// let stream = UnixStream::connect(bind_path).await?; +/// +/// loop { +/// // Wait for the socket to be writable +/// stream.writable().await?; +/// +/// // Try to write data, this may still fail with `WouldBlock` +/// // if the readiness event is a false positive. +/// match stream.try_write(b"hello world") { +/// Ok(n) => { +/// break; +/// } +/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { +/// continue; +/// } +/// Err(e) => { +/// return Err(e.into()); +/// } +/// } +/// } +/// +/// Ok(()) +/// } +/// ``` + Future writable()=>RustLib.instance.api.tokioNetUnixStreamWritable(that: this, ); + + + } + @sealed class ValueImpl extends RustOpaque implements Value { + // Not to be used by end users + ValueImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ValueImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Value, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Value, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ValuePtr, + ); + + + } + @sealed class ValueTypeImpl extends RustOpaque implements ValueType { + // Not to be used by end users + ValueTypeImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + ValueTypeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ValueType, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ValueType, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ValueTypePtr, + ); + + + } + @sealed class VecTImpl extends RustOpaque implements VecT { + // Not to be used by end users + VecTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + VecTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_VecT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_VecT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_VecTPtr, + ); + + + } + @sealed class WeakSenderTImpl extends RustOpaque implements WeakSenderT { + // Not to be used by end users + WeakSenderTImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WeakSenderTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WeakSenderT, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WeakSenderT, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WeakSenderTPtr, + ); + + + } + @sealed class WriteF32LeMutSelfImpl extends RustOpaque implements WriteF32LeMutSelf { + // Not to be used by end users + WriteF32LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteF32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteF32LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF32LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF32LeMutSelfPtr, + ); + + + } + @sealed class WriteF32MutSelfImpl extends RustOpaque implements WriteF32MutSelf { + // Not to be used by end users + WriteF32MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteF32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteF32MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF32MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF32MutSelfPtr, + ); + + + } + @sealed class WriteF64LeMutSelfImpl extends RustOpaque implements WriteF64LeMutSelf { + // Not to be used by end users + WriteF64LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteF64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteF64LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF64LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF64LeMutSelfPtr, + ); + + + } + @sealed class WriteF64MutSelfImpl extends RustOpaque implements WriteF64MutSelf { + // Not to be used by end users + WriteF64MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteF64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteF64MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF64MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF64MutSelfPtr, + ); + + + } + @sealed class WriteHalfSimplexStreamImpl extends RustOpaque implements WriteHalfSimplexStream { + // Not to be used by end users + WriteHalfSimplexStreamImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteHalfSimplexStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteHalfSimplexStream, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteHalfSimplexStream, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteHalfSimplexStreamPtr, + ); + + + } + @sealed class WriteI128LeMutSelfImpl extends RustOpaque implements WriteI128LeMutSelf { + // Not to be used by end users + WriteI128LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteI128LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI128LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI128LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI128LeMutSelfPtr, + ); + + + } + @sealed class WriteI128MutSelfImpl extends RustOpaque implements WriteI128MutSelf { + // Not to be used by end users + WriteI128MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteI128MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI128MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI128MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI128MutSelfPtr, + ); + + + } + @sealed class WriteI16LeMutSelfImpl extends RustOpaque implements WriteI16LeMutSelf { + // Not to be used by end users + WriteI16LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteI16LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI16LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI16LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI16LeMutSelfPtr, + ); + + + } + @sealed class WriteI16MutSelfImpl extends RustOpaque implements WriteI16MutSelf { + // Not to be used by end users + WriteI16MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteI16MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI16MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI16MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI16MutSelfPtr, + ); + + + } + @sealed class WriteI32LeMutSelfImpl extends RustOpaque implements WriteI32LeMutSelf { + // Not to be used by end users + WriteI32LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteI32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI32LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI32LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI32LeMutSelfPtr, + ); + + + } + @sealed class WriteI32MutSelfImpl extends RustOpaque implements WriteI32MutSelf { + // Not to be used by end users + WriteI32MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteI32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI32MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI32MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI32MutSelfPtr, + ); + + + } + @sealed class WriteI64LeMutSelfImpl extends RustOpaque implements WriteI64LeMutSelf { + // Not to be used by end users + WriteI64LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteI64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI64LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI64LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI64LeMutSelfPtr, + ); + + + } + @sealed class WriteI64MutSelfImpl extends RustOpaque implements WriteI64MutSelf { + // Not to be used by end users + WriteI64MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteI64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI64MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI64MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI64MutSelfPtr, + ); + + + } + @sealed class WriteI8MutSelfImpl extends RustOpaque implements WriteI8MutSelf { + // Not to be used by end users + WriteI8MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteI8MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI8MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI8MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI8MutSelfPtr, + ); + + + } + @sealed class WriteU128LeMutSelfImpl extends RustOpaque implements WriteU128LeMutSelf { + // Not to be used by end users + WriteU128LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteU128LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU128LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU128LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU128LeMutSelfPtr, + ); + + + } + @sealed class WriteU128MutSelfImpl extends RustOpaque implements WriteU128MutSelf { + // Not to be used by end users + WriteU128MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteU128MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU128MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU128MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU128MutSelfPtr, + ); + + + } + @sealed class WriteU16LeMutSelfImpl extends RustOpaque implements WriteU16LeMutSelf { + // Not to be used by end users + WriteU16LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteU16LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU16LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU16LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU16LeMutSelfPtr, + ); + + + } + @sealed class WriteU16MutSelfImpl extends RustOpaque implements WriteU16MutSelf { + // Not to be used by end users + WriteU16MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteU16MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU16MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU16MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU16MutSelfPtr, + ); + + + } + @sealed class WriteU32LeMutSelfImpl extends RustOpaque implements WriteU32LeMutSelf { + // Not to be used by end users + WriteU32LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteU32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU32LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU32LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU32LeMutSelfPtr, + ); + + + } + @sealed class WriteU32MutSelfImpl extends RustOpaque implements WriteU32MutSelf { + // Not to be used by end users + WriteU32MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteU32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU32MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU32MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU32MutSelfPtr, + ); + + + } + @sealed class WriteU64LeMutSelfImpl extends RustOpaque implements WriteU64LeMutSelf { + // Not to be used by end users + WriteU64LeMutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteU64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU64LeMutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU64LeMutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU64LeMutSelfPtr, + ); + + + } + @sealed class WriteU64MutSelfImpl extends RustOpaque implements WriteU64MutSelf { + // Not to be used by end users + WriteU64MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteU64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU64MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU64MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU64MutSelfPtr, + ); + + + } + @sealed class WriteU8MutSelfImpl extends RustOpaque implements WriteU8MutSelf { + // Not to be used by end users + WriteU8MutSelfImpl.frbInternalDcoDecode(List wire): + super.frbInternalDcoDecode(wire, _kStaticData); + + // Not to be used by end users + WriteU8MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): + super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); + + static final _kStaticData = RustArcStaticData( + rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU8MutSelf, + rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU8MutSelf, + rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU8MutSelfPtr, + ); + + + } \ No newline at end of file diff --git a/mobile_app/lib/src/rust/frb_generated.io.dart b/mobile_app/lib/src/rust/frb_generated.io.dart index 2af216f..3771419 100644 --- a/mobile_app/lib/src/rust/frb_generated.io.dart +++ b/mobile_app/lib/src/rust/frb_generated.io.dart @@ -3,82 +3,7690 @@ // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field +import 'api/keyword_search.dart'; import 'api/simple.dart'; import 'dart:async'; import 'dart:convert'; import 'dart:ffi' as ffi; import 'frb_generated.dart'; +import 'lib.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_io.dart'; +import 'third_party/seekstorm/commit.dart'; +import 'third_party/seekstorm/geo_search.dart'; +import 'third_party/seekstorm/highlighter.dart'; +import 'third_party/seekstorm/index.dart'; +import 'third_party/seekstorm/ingest.dart'; +import 'third_party/seekstorm/search.dart'; +import 'third_party/seekstorm/utils.dart'; +import 'third_party/tokio/io.dart'; +import 'third_party/tokio/macros/support.dart'; +import 'third_party/tokio/net.dart'; +import 'third_party/tokio/net/tcp.dart'; +import 'third_party/tokio/net/tcp/listener.dart'; +import 'third_party/tokio/net/tcp/split_owned.dart'; +import 'third_party/tokio/net/udp.dart'; +import 'third_party/tokio/net/unix.dart'; +import 'third_party/tokio/net/unix/datagram/socket.dart'; +import 'third_party/tokio/net/unix/listener.dart'; +import 'third_party/tokio/net/unix/pipe.dart'; +import 'third_party/tokio/process.dart'; +import 'third_party/tokio/process/sys.dart'; +import 'third_party/tokio/runtime.dart'; +import 'third_party/tokio/signal.dart'; +import 'third_party/tokio/signal/unix.dart'; +import 'third_party/tokio/sync.dart'; +import 'third_party/tokio/sync/broadcast.dart'; +import 'third_party/tokio/sync/broadcast/error.dart'; +import 'third_party/tokio/sync/mpsc/bounded.dart'; +import 'third_party/tokio/sync/mpsc/error.dart'; +import 'third_party/tokio/sync/oneshot.dart'; +import 'third_party/tokio/sync/watch.dart'; +import 'third_party/tokio/task.dart'; +import 'third_party/tokio/task/coop.dart'; +import 'third_party/tokio/time.dart'; +import 'third_party/tokio/time/error.dart'; +import 'third_party/tokio/time/interval.dart'; -abstract class RustLibApiImplPlatform extends BaseApiImpl { - RustLibApiImplPlatform({ - required super.handler, - required super.wire, - required super.generalizedFrbRustBinding, - required super.portManager, - }); - @protected - String dco_decode_String(dynamic raw); - @protected - Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); - @protected - int dco_decode_u_8(dynamic raw); + abstract class RustLibApiImplPlatform extends BaseApiImpl { + RustLibApiImplPlatform({ + required super.handler, + required super.wire, + required super.generalizedFrbRustBinding, + required super.portManager, + }); - @protected - void dco_decode_unit(dynamic raw); + CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AHashMapStringFacetPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacetPtr; - @protected - String sse_decode_String(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AcquireErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireErrorPtr; - @protected - Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ArcIndexPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndexPtr; - @protected - int sse_decode_u_8(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierPtr; - @protected - void sse_decode_unit(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierWaitResultPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResultPtr; - @protected - int sse_decode_i_32(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildPtr; - @protected - bool sse_decode_bool(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStderrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderrPtr; - @protected - void sse_encode_String(String self, SseSerializer serializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdinPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdinPtr; - @protected - void sse_encode_list_prim_u_8_strict( - Uint8List self, SseSerializer serializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdoutPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdoutPtr; - @protected - void sse_encode_u_8(int self, SseSerializer serializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CommandPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommandPtr; - @protected - void sse_encode_unit(void self, SseSerializer serializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ContextPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstaticPtr; - @protected - void sse_encode_i_32(int self, SseSerializer serializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DocumentItemPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItemPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DuplexStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStreamPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EmptyPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmptyPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EnterGuardPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstaticPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerErrorPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ExitStatusPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatusPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFieldPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFieldPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFilterPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilterPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetValuePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValuePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FilePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFilePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FileTypePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileTypePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FillBufSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FlushSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FrequentwordTypePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordTypePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HandlePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandlePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HighlighterPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighterPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IdPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIdPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMapStringVecStringUsizePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusizePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMetaObjectPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObjectPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InstantPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstantPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InterestPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterestPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IntervalPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIntervalPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSliceMutPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_Ptr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSlicePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestaticPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv4AddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4AddrPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv6AddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6AddrPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LinesSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalEnterGuardPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuardPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalSetPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSetPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldJsonPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJsonPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifiedPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstaticPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifyPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifyPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OpenOptionsPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptionsPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OrderingPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrderingPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedFdPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFdPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedNotifiedPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotifiedPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedPermitTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedReadHalfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedSemaphorePermitPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermitPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedWriteHalfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PathPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPathPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PdfDocumentPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstaticPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitIteratorTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollInstantPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstantPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollRestoreOnPendingPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPendingPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultSocketAddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddrPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddrPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddrPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUsizePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusizePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollUsizePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusizePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryFacetPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacetPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryRewritingPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewritingPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangesPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangesPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangeU64Ptr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64Ptr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadBufPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstaticPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadHalfSimplexStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStreamPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI8MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU8MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadyPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadyPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RecvErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvErrorPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RefTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RepeatPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeatPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RestoreOnPendingPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPendingPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultObjectPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObjectPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultSortPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSortPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReuniteErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteErrorPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimeMetricsPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetricsPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SchemaFieldPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaFieldPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekFromPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFromPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePermitPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstaticPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendTimeoutErrorTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalKindPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKindPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SimplexStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStreamPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SinkPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSinkPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SleepPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleepPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SocketAddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddrPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SplitSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdCommandPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommandPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StderrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderrPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdinPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdinPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdoutPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdoutPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StopwordTypePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordTypePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TakeSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpListenerPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListenerPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpSocketPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocketPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStreamPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryCurrentErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentErrorPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryRecvErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvErrorPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UCredPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCredPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UdpSocketPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocketPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixDatagramPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagramPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixListenerPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListenerPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixSocketPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocketPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStreamPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValuePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValuePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValueTypePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueTypePtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_VecTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WeakSenderTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderTPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteHalfSimplexStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStreamPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI8MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU8MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelfPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CIntPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_intPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_GidTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_tPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PidTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_tPtr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_U8Ptr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8Ptr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UidTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_tPtr; + + + + @protected AnyhowException dco_decode_AnyhowException(dynamic raw); + +@protected AHashMapStringFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); + +@protected AcquireError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw); + +@protected ArcIndex dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); + +@protected Barrier dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); + +@protected BarrierWaitResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); + +@protected Child dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); + +@protected ChildStderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); + +@protected ChildStdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); + +@protected ChildStdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); + +@protected Command dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); + +@protected DocumentItem dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw); + +@protected DuplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw); + +@protected Empty dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw); + +@protected EnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw); + +@protected Error dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); + +@protected ExitStatus dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); + +@protected FacetField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); + +@protected FacetFilter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); + +@protected FacetValue dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw); + +@protected File dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw); + +@protected FileType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw); + +@protected FillBufSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw); + +@protected FlushSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw); + +@protected FrequentwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw); + +@protected Handle dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); + +@protected Highlighter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); + +@protected Id dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw); + +@protected Index dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); + +@protected IndexMapStringVecStringUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw); + +@protected IndexMetaObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); + +@protected Instant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw); + +@protected Interest dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); + +@protected Interval dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); + +@protected IoSlice dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); + +@protected Ipv4Addr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw); + +@protected LinesSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw); + +@protected LocalEnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw); + +@protected LocalSet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); + +@protected MinMaxField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); + +@protected MinMaxFieldJson dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); + +@protected Notified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw); + +@protected Notify dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); + +@protected OpenOptions dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); + +@protected Ordering dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw); + +@protected OwnedFd dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw); + +@protected OwnedNotified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw); + +@protected OwnedPermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw); + +@protected OwnedReadHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); + +@protected OwnedSemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected OwnedWriteHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); + +@protected PdfDocument dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw); + +@protected PermitIteratorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw); + +@protected PermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw); + +@protected Poll dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw); + +@protected PollInstant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw); + +@protected PollOption dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw); + +@protected PollOptionT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw); + +@protected PollRestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw); + +@protected PollResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw); + +@protected PollResultSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw); + +@protected PollResultTcpStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw); + +@protected PollResultUnixStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw); + +@protected PollResultUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw); + +@protected PollUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw); + +@protected QueryFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); + +@protected QueryRewriting dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw); + +@protected Ranges dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw); + +@protected RangeU64 dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw); + +@protected ReadF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw); + +@protected ReadF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw); + +@protected ReadF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw); + +@protected ReadF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw); + +@protected ReadHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw); + +@protected ReadI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw); + +@protected ReadI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw); + +@protected ReadI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw); + +@protected ReadI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw); + +@protected ReadI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw); + +@protected ReadI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw); + +@protected ReadI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw); + +@protected ReadI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw); + +@protected ReadI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw); + +@protected ReadU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw); + +@protected ReadU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw); + +@protected ReadU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw); + +@protected ReadU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw); + +@protected ReadU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw); + +@protected ReadU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw); + +@protected ReadU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw); + +@protected ReadU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw); + +@protected ReadU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw); + +@protected Ready dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw); + +@protected Receiver dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); + +@protected ReceiverT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); + +@protected RecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw); + +@protected RefT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw); + +@protected Repeat dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw); + +@protected RestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); + +@protected Result dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); + +@protected ResultObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); + +@protected ResultSort dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); + +@protected ReuniteError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); + +@protected Runtime dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); + +@protected RuntimeMetrics dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); + +@protected SchemaField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); + +@protected SeekFrom dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw); + +@protected SeekSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw); + +@protected Semaphore dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); + +@protected SemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw); + +@protected SendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw); + +@protected SendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw); + +@protected SendTimeoutErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw); + +@protected Sender dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); + +@protected SenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); + +@protected Shutdown dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw); + +@protected ShutdownSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw); + +@protected Signal dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); + +@protected SignalKind dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); + +@protected SimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw); + +@protected Sink dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw); + +@protected Sleep dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); + +@protected SocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); + +@protected SplitSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw); + +@protected StdCommand dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw); + +@protected Stderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw); + +@protected Stdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw); + +@protected Stdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw); + +@protected StopwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw); + +@protected T dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw); + +@protected TakeSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw); + +@protected TcpListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); + +@protected TcpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); + +@protected TcpStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); + +@protected TryCurrentError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); + +@protected TryRecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw); + +@protected TrySendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw); + +@protected TrySendErrorSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw); + +@protected TrySendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw); + +@protected UCred dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); + +@protected UdpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); + +@protected UnixDatagram dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); + +@protected UnixListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); + +@protected UnixSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw); + +@protected UnixStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); + +@protected Value dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw); + +@protected ValueType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw); + +@protected WeakSenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw); + +@protected WriteF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw); + +@protected WriteF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw); + +@protected WriteF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw); + +@protected WriteF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw); + +@protected WriteHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw); + +@protected WriteI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw); + +@protected WriteI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw); + +@protected WriteI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw); + +@protected WriteI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw); + +@protected WriteI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw); + +@protected WriteI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw); + +@protected WriteI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw); + +@protected WriteI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw); + +@protected WriteI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw); + +@protected WriteU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw); + +@protected WriteU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw); + +@protected WriteU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw); + +@protected WriteU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw); + +@protected WriteU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw); + +@protected WriteU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw); + +@protected WriteU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw); + +@protected WriteU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw); + +@protected WriteU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw); + +@protected CInt dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw); + +@protected GidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw); + +@protected PidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); + +@protected UidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw); + +@protected Child dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); + +@protected Command dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); + +@protected Context dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw); + +@protected FacetField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); + +@protected Index dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); + +@protected IndexMetaObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); + +@protected Interval dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); + +@protected IoSliceMut dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw); + +@protected MinMaxField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); + +@protected MinMaxFieldJson dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); + +@protected OpenOptions dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); + +@protected OwnedReadHalf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); + +@protected OwnedSemaphorePermit dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected ReadBuf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw); + +@protected ReceiverT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); + +@protected ResultObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); + +@protected ResultSort dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); + +@protected ReuniteError dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); + +@protected SchemaField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); + +@protected SenderT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); + +@protected Signal dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); + +@protected VecT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw); + +@protected U8 dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw); + +@protected ArcIndex dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); + +@protected Barrier dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); + +@protected BarrierWaitResult dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); + +@protected Child dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); + +@protected Command dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); + +@protected Error dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); + +@protected FacetField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); + +@protected Handle dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); + +@protected Index dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); + +@protected IndexMetaObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); + +@protected Interval dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); + +@protected Ipv6Addr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw); + +@protected LocalSet dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); + +@protected MinMaxField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); + +@protected MinMaxFieldJson dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); + +@protected Notify dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); + +@protected OwnedReadHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); + +@protected OwnedSemaphorePermit dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected OwnedWriteHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); + +@protected Path dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); + +@protected Receiver dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); + +@protected ReceiverT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); + +@protected RestoreOnPending dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); + +@protected ResultObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); + +@protected ResultSort dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); + +@protected ReuniteError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); + +@protected Runtime dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); + +@protected RuntimeMetrics dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); + +@protected SchemaField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); + +@protected Semaphore dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); + +@protected Sender dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); + +@protected SenderT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); + +@protected SignalKind dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); + +@protected Sleep dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); + +@protected SocketAddr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); + +@protected TcpListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); + +@protected TcpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); + +@protected TcpStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); + +@protected TryCurrentError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); + +@protected UCred dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); + +@protected UdpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); + +@protected UnixDatagram dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); + +@protected UnixListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); + +@protected UnixStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); + +@protected Duration dco_decode_Chrono_Duration(dynamic raw); + +@protected BigInt dco_decode_I128(dynamic raw); + +@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(dynamic raw); + +@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(dynamic raw); + +@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw); + +@protected AHashMapStringFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); + +@protected AcquireError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw); + +@protected ArcIndex dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); + +@protected Barrier dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); + +@protected BarrierWaitResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); + +@protected Child dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); + +@protected ChildStderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); + +@protected ChildStdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); + +@protected ChildStdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); + +@protected Command dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); + +@protected Context dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw); + +@protected DocumentItem dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw); + +@protected DuplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw); + +@protected Empty dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw); + +@protected EnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw); + +@protected Error dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); + +@protected ExitStatus dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); + +@protected FacetField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); + +@protected FacetFilter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); + +@protected FacetValue dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw); + +@protected File dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw); + +@protected FileType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw); + +@protected FillBufSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw); + +@protected FlushSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw); + +@protected FrequentwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw); + +@protected Handle dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); + +@protected Highlighter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); + +@protected Id dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw); + +@protected Index dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); + +@protected IndexMapStringVecStringUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw); + +@protected IndexMetaObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); + +@protected Instant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw); + +@protected Interest dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); + +@protected Interval dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); + +@protected IoSliceMut dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw); + +@protected IoSlice dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); + +@protected Ipv4Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw); + +@protected Ipv6Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw); + +@protected LinesSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw); + +@protected LocalEnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw); + +@protected LocalSet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); + +@protected MinMaxField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); + +@protected MinMaxFieldJson dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); + +@protected Notified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw); + +@protected Notify dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); + +@protected OpenOptions dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); + +@protected Ordering dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw); + +@protected OwnedFd dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw); + +@protected OwnedNotified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw); + +@protected OwnedPermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw); + +@protected OwnedReadHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); + +@protected OwnedSemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected OwnedWriteHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); + +@protected Path dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); + +@protected PdfDocument dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw); + +@protected PermitIteratorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw); + +@protected PermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw); + +@protected Poll dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw); + +@protected PollInstant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw); + +@protected PollOption dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw); + +@protected PollOptionT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw); + +@protected PollRestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw); + +@protected PollResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw); + +@protected PollResultSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw); + +@protected PollResultTcpStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw); + +@protected PollResultUnixStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw); + +@protected PollResultUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw); + +@protected PollUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw); + +@protected QueryFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); + +@protected QueryRewriting dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw); + +@protected Ranges dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw); + +@protected RangeU64 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw); + +@protected ReadBuf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw); + +@protected ReadF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw); + +@protected ReadF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw); + +@protected ReadF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw); + +@protected ReadF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw); + +@protected ReadHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw); + +@protected ReadI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw); + +@protected ReadI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw); + +@protected ReadI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw); + +@protected ReadI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw); + +@protected ReadI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw); + +@protected ReadI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw); + +@protected ReadI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw); + +@protected ReadI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw); + +@protected ReadI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw); + +@protected ReadU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw); + +@protected ReadU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw); + +@protected ReadU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw); + +@protected ReadU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw); + +@protected ReadU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw); + +@protected ReadU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw); + +@protected ReadU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw); + +@protected ReadU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw); + +@protected ReadU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw); + +@protected Ready dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw); + +@protected Receiver dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); + +@protected ReceiverT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); + +@protected RecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw); + +@protected RefT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw); + +@protected Repeat dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw); + +@protected RestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); + +@protected Result dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); + +@protected ResultObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); + +@protected ResultSort dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); + +@protected ReuniteError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); + +@protected Runtime dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); + +@protected RuntimeMetrics dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); + +@protected SchemaField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); + +@protected SeekFrom dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw); + +@protected SeekSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw); + +@protected Semaphore dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); + +@protected SemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw); + +@protected SendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw); + +@protected SendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw); + +@protected SendTimeoutErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw); + +@protected Sender dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); + +@protected SenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); + +@protected Shutdown dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw); + +@protected ShutdownSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw); + +@protected Signal dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); + +@protected SignalKind dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); + +@protected SimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw); + +@protected Sink dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw); + +@protected Sleep dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); + +@protected SocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); + +@protected SplitSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw); + +@protected StdCommand dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw); + +@protected Stderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw); + +@protected Stdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw); + +@protected Stdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw); + +@protected StopwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw); + +@protected T dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw); + +@protected TakeSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw); + +@protected TcpListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); + +@protected TcpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); + +@protected TcpStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); + +@protected TryCurrentError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); + +@protected TryRecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw); + +@protected TrySendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw); + +@protected TrySendErrorSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw); + +@protected TrySendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw); + +@protected UCred dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); + +@protected UdpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); + +@protected UnixDatagram dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); + +@protected UnixListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); + +@protected UnixSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw); + +@protected UnixStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); + +@protected Value dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw); + +@protected ValueType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw); + +@protected VecT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw); + +@protected WeakSenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw); + +@protected WriteF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw); + +@protected WriteF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw); + +@protected WriteF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw); + +@protected WriteF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw); + +@protected WriteHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw); + +@protected WriteI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw); + +@protected WriteI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw); + +@protected WriteI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw); + +@protected WriteI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw); + +@protected WriteI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw); + +@protected WriteI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw); + +@protected WriteI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw); + +@protected WriteI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw); + +@protected WriteI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw); + +@protected WriteU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw); + +@protected WriteU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw); + +@protected WriteU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw); + +@protected WriteU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw); + +@protected WriteU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw); + +@protected WriteU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw); + +@protected WriteU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw); + +@protected WriteU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw); + +@protected WriteU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw); + +@protected CInt dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw); + +@protected GidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw); + +@protected PidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); + +@protected U8 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw); + +@protected UidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw); + +@protected Set dco_decode_Set_String_None(dynamic raw); + +@protected String dco_decode_String(dynamic raw); + +@protected AsyncBufReadExt dco_decode_TraitDef_AsyncBufReadExt(dynamic raw); + +@protected AsyncReadExt dco_decode_TraitDef_AsyncReadExt(dynamic raw); + +@protected AsyncSeekExt dco_decode_TraitDef_AsyncSeekExt(dynamic raw); + +@protected AsyncWriteExt dco_decode_TraitDef_AsyncWriteExt(dynamic raw); + +@protected Close dco_decode_TraitDef_Close(dynamic raw); + +@protected Commit dco_decode_TraitDef_Commit(dynamic raw); + +@protected DeleteDocument dco_decode_TraitDef_DeleteDocument(dynamic raw); + +@protected DeleteDocuments dco_decode_TraitDef_DeleteDocuments(dynamic raw); + +@protected DeleteDocumentsByQuery dco_decode_TraitDef_DeleteDocumentsByQuery(dynamic raw); + +@protected IndexDocument dco_decode_TraitDef_IndexDocument(dynamic raw); + +@protected IndexDocument2 dco_decode_TraitDef_IndexDocument2(dynamic raw); + +@protected IndexDocumentShard dco_decode_TraitDef_IndexDocumentShard(dynamic raw); + +@protected IndexDocuments dco_decode_TraitDef_IndexDocuments(dynamic raw); + +@protected IndexPdf dco_decode_TraitDef_IndexPdf(dynamic raw); + +@protected IndexPdfBytes dco_decode_TraitDef_IndexPdfBytes(dynamic raw); + +@protected IndexPdfFile dco_decode_TraitDef_IndexPdfFile(dynamic raw); + +@protected IngestCsv dco_decode_TraitDef_IngestCsv(dynamic raw); + +@protected IngestJson dco_decode_TraitDef_IngestJson(dynamic raw); + +@protected IngestPdf dco_decode_TraitDef_IngestPdf(dynamic raw); + +@protected InternalStream dco_decode_TraitDef_InternalStream(dynamic raw); + +@protected Search dco_decode_TraitDef_Search(dynamic raw); + +@protected SearchShard dco_decode_TraitDef_SearchShard(dynamic raw); + +@protected UpdateDocument dco_decode_TraitDef_UpdateDocument(dynamic raw); + +@protected UpdateDocuments dco_decode_TraitDef_UpdateDocuments(dynamic raw); + +@protected BigInt dco_decode_U128(dynamic raw); + +@protected AccessType dco_decode_access_type(dynamic raw); + +@protected bool dco_decode_bool(dynamic raw); + +@protected AHashMapStringFacet dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); + +@protected ChildStderr dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); + +@protected ChildStdin dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); + +@protected ChildStdout dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); + +@protected Error dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); + +@protected ExitStatus dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); + +@protected Highlighter dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); + +@protected Interest dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); + +@protected OwnedSemaphorePermit dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected PidT dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); + +@protected Path dco_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); + +@protected Duration dco_decode_box_autoadd_Chrono_Duration(dynamic raw); + +@protected QueryCompletion dco_decode_box_autoadd_query_completion(dynamic raw); + +@protected (BigInt,Map) dco_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); + +@protected SearchFn dco_decode_box_autoadd_search_fn(dynamic raw); + +@protected SpellingCorrection dco_decode_box_autoadd_spelling_correction(dynamic raw); + +@protected int dco_decode_box_autoadd_u_32(dynamic raw); + +@protected void dco_decode_box_autoadd_unit(dynamic raw); + +@protected BigInt dco_decode_box_autoadd_usize(dynamic raw); + +@protected CompressionType dco_decode_compression_type(dynamic raw); + +@protected DistanceField dco_decode_distance_field(dynamic raw); + +@protected DistanceUnit dco_decode_distance_unit(dynamic raw); + +@protected double dco_decode_f_32(dynamic raw); + +@protected double dco_decode_f_64(dynamic raw); + +@protected FieldType dco_decode_field_type(dynamic raw); + +@protected Highlight dco_decode_highlight(dynamic raw); + +@protected int dco_decode_i_16(dynamic raw); + +@protected int dco_decode_i_32(dynamic raw); + +@protected PlatformInt64 dco_decode_i_64(dynamic raw); + +@protected int dco_decode_i_8(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); + +@protected List> dco_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw); + +@protected List dco_decode_list_String(dynamic raw); + +@protected List dco_decode_list_distance_field(dynamic raw); + +@protected List dco_decode_list_highlight(dynamic raw); + +@protected List dco_decode_list_prim_f_64_loose(dynamic raw); + +@protected Float64List dco_decode_list_prim_f_64_strict(dynamic raw); + +@protected Uint64List dco_decode_list_prim_u_64_strict(dynamic raw); + +@protected List dco_decode_list_prim_u_8_loose(dynamic raw); + +@protected Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); + +@protected Uint64List dco_decode_list_prim_usize_strict(dynamic raw); + +@protected List<(String,MinMaxFieldJson)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw); + +@protected List<(String,SchemaField)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw); + +@protected List<(String,Value)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw); + +@protected List<(BigInt,Map)> dco_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); + +@protected List dco_decode_list_synonym(dynamic raw); + +@protected MissedTickBehavior dco_decode_missed_tick_behavior(dynamic raw); + +@protected NgramType dco_decode_ngram_type(dynamic raw); + +@protected AHashMapStringFacet? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); + +@protected ChildStderr? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); + +@protected ChildStdin? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); + +@protected ChildStdout? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); + +@protected Error? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); + +@protected ExitStatus? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); + +@protected Highlighter? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); + +@protected Interest? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); + +@protected OwnedSemaphorePermit? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected PidT? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); + +@protected Path? dco_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); + +@protected Duration? dco_decode_opt_box_autoadd_Chrono_Duration(dynamic raw); + +@protected QueryCompletion? dco_decode_opt_box_autoadd_query_completion(dynamic raw); + +@protected SpellingCorrection? dco_decode_opt_box_autoadd_spelling_correction(dynamic raw); + +@protected int? dco_decode_opt_box_autoadd_u_32(dynamic raw); + +@protected void? dco_decode_opt_box_autoadd_unit(dynamic raw); + +@protected BigInt? dco_decode_opt_box_autoadd_usize(dynamic raw); + +@protected Uint64List? dco_decode_opt_list_prim_usize_strict(dynamic raw); + +@protected QueryCompletion dco_decode_query_completion(dynamic raw); + +@protected QueryType dco_decode_query_type(dynamic raw); + +@protected RangeType dco_decode_range_type(dynamic raw); + +@protected (DuplexStream,DuplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(dynamic raw); + +@protected (OwnedReadHalf,OwnedWriteHalf) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(dynamic raw); + +@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(dynamic raw); + +@protected (Sender,Receiver) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(dynamic raw); + +@protected (TcpStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); + +@protected (UnixDatagram,UnixDatagram) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(dynamic raw); + +@protected (UnixStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); + +@protected (UnixStream,UnixStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(dynamic raw); + +@protected (String,MinMaxFieldJson) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw); + +@protected (String,SchemaField) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw); + +@protected (String,Value) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw); + +@protected (BigInt,Map) dco_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); + +@protected (BigInt,SocketAddr) dco_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); + +@protected ResultType dco_decode_result_type(dynamic raw); + +@protected RuntimeFlavor dco_decode_runtime_flavor(dynamic raw); + +@protected SearchFn dco_decode_search_fn(dynamic raw); + +@protected SimilarityType dco_decode_similarity_type(dynamic raw); + +@protected SortOrder dco_decode_sort_order(dynamic raw); + +@protected SpellingCorrection dco_decode_spelling_correction(dynamic raw); + +@protected StemmerType dco_decode_stemmer_type(dynamic raw); + +@protected Synonym dco_decode_synonym(dynamic raw); + +@protected TokenizerType dco_decode_tokenizer_type(dynamic raw); + +@protected TryAcquireError dco_decode_try_acquire_error(dynamic raw); + +@protected int dco_decode_u_16(dynamic raw); + +@protected int dco_decode_u_32(dynamic raw); + +@protected BigInt dco_decode_u_64(dynamic raw); + +@protected int dco_decode_u_8(dynamic raw); + +@protected void dco_decode_unit(dynamic raw); + +@protected BigInt dco_decode_usize(dynamic raw); + +@protected AnyhowException sse_decode_AnyhowException(SseDeserializer deserializer); + +@protected AHashMapStringFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); + +@protected AcquireError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer); + +@protected ArcIndex sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); + +@protected Barrier sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); + +@protected BarrierWaitResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); + +@protected Child sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); + +@protected ChildStderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); + +@protected ChildStdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); + +@protected ChildStdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); + +@protected Command sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); + +@protected DocumentItem sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer); + +@protected DuplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer); + +@protected Empty sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer); + +@protected EnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer); + +@protected Error sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); + +@protected ExitStatus sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); + +@protected FacetField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); + +@protected FacetFilter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); + +@protected FacetValue sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer); + +@protected File sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer); + +@protected FileType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer); + +@protected FillBufSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer); + +@protected FlushSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer); + +@protected FrequentwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer); + +@protected Handle sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); + +@protected Highlighter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); + +@protected Id sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer); + +@protected Index sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); + +@protected IndexMapStringVecStringUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer); + +@protected IndexMetaObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); + +@protected Instant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer); + +@protected Interest sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); + +@protected Interval sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); + +@protected IoSlice sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); + +@protected Ipv4Addr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer); + +@protected LinesSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer); + +@protected LocalEnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer); + +@protected LocalSet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); + +@protected MinMaxField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); + +@protected MinMaxFieldJson sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); + +@protected Notified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer); + +@protected Notify sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); + +@protected OpenOptions sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); + +@protected Ordering sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer); + +@protected OwnedFd sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer); + +@protected OwnedNotified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer); + +@protected OwnedPermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer); + +@protected OwnedReadHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected OwnedWriteHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); + +@protected PdfDocument sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer); + +@protected PermitIteratorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer); + +@protected PermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer); + +@protected Poll sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer); + +@protected PollInstant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer); + +@protected PollOption sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer); + +@protected PollOptionT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer); + +@protected PollRestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer); + +@protected PollResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer); + +@protected PollResultSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer); + +@protected PollResultTcpStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer); + +@protected PollResultUnixStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer); + +@protected PollResultUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer); + +@protected PollUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer); + +@protected QueryFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); + +@protected QueryRewriting sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer); + +@protected Ranges sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer); + +@protected RangeU64 sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer); + +@protected ReadF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer); + +@protected ReadF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer); + +@protected ReadF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer); + +@protected ReadF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer); + +@protected ReadHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer); + +@protected ReadI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer); + +@protected ReadI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer); + +@protected ReadI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer); + +@protected ReadI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer); + +@protected ReadI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer); + +@protected ReadI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer); + +@protected ReadI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer); + +@protected ReadI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer); + +@protected ReadI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer); + +@protected ReadU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer); + +@protected ReadU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer); + +@protected ReadU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer); + +@protected ReadU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer); + +@protected ReadU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer); + +@protected ReadU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer); + +@protected ReadU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer); + +@protected ReadU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer); + +@protected ReadU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer); + +@protected Ready sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer); + +@protected Receiver sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); + +@protected ReceiverT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); + +@protected RecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer); + +@protected RefT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer); + +@protected Repeat sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer); + +@protected RestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); + +@protected Result sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); + +@protected ResultObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); + +@protected ResultSort sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); + +@protected ReuniteError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); + +@protected Runtime sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); + +@protected RuntimeMetrics sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); + +@protected SchemaField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); + +@protected SeekFrom sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer); + +@protected SeekSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer); + +@protected Semaphore sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); + +@protected SemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer); + +@protected SendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer); + +@protected SendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer); + +@protected SendTimeoutErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer); + +@protected Sender sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); + +@protected SenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); + +@protected Shutdown sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer); + +@protected ShutdownSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer); + +@protected Signal sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); + +@protected SignalKind sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); + +@protected SimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer); + +@protected Sink sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer); + +@protected Sleep sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); + +@protected SocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); + +@protected SplitSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer); + +@protected StdCommand sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer); + +@protected Stderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer); + +@protected Stdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer); + +@protected Stdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer); + +@protected StopwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer); + +@protected T sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer); + +@protected TakeSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer); + +@protected TcpListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); + +@protected TcpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); + +@protected TcpStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); + +@protected TryCurrentError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); + +@protected TryRecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer); + +@protected TrySendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer); + +@protected TrySendErrorSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer); + +@protected TrySendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer); + +@protected UCred sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); + +@protected UdpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); + +@protected UnixDatagram sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); + +@protected UnixListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); + +@protected UnixSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer); + +@protected UnixStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); + +@protected Value sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer); + +@protected ValueType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer); + +@protected WeakSenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer); + +@protected WriteF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer); + +@protected WriteF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer); + +@protected WriteF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer); + +@protected WriteF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer); + +@protected WriteHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer); + +@protected WriteI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer); + +@protected WriteI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer); + +@protected WriteI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer); + +@protected WriteI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer); + +@protected WriteI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer); + +@protected WriteI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer); + +@protected WriteI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer); + +@protected WriteI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer); + +@protected WriteI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer); + +@protected WriteU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer); + +@protected WriteU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer); + +@protected WriteU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer); + +@protected WriteU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer); + +@protected WriteU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer); + +@protected WriteU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer); + +@protected WriteU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer); + +@protected WriteU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer); + +@protected WriteU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer); + +@protected CInt sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer); + +@protected GidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer); + +@protected PidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); + +@protected UidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer); + +@protected Child sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); + +@protected Command sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); + +@protected Context sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer); + +@protected FacetField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); + +@protected Index sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); + +@protected IndexMetaObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); + +@protected Interval sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); + +@protected IoSliceMut sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer); + +@protected MinMaxField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); + +@protected MinMaxFieldJson sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); + +@protected OpenOptions sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); + +@protected OwnedReadHalf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected ReadBuf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer); + +@protected ReceiverT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); + +@protected ResultObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); + +@protected ResultSort sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); + +@protected ReuniteError sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); + +@protected SchemaField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); + +@protected SenderT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); + +@protected Signal sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); + +@protected VecT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer); + +@protected U8 sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer); + +@protected ArcIndex sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); + +@protected Barrier sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); + +@protected BarrierWaitResult sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); + +@protected Child sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); + +@protected Command sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); + +@protected Error sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); + +@protected FacetField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); + +@protected Handle sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); + +@protected Index sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); + +@protected IndexMetaObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); + +@protected Interval sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); + +@protected Ipv6Addr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer); + +@protected LocalSet sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); + +@protected MinMaxField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); + +@protected MinMaxFieldJson sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); + +@protected Notify sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); + +@protected OwnedReadHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected OwnedWriteHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); + +@protected Path sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); + +@protected Receiver sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); + +@protected ReceiverT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); + +@protected RestoreOnPending sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); + +@protected ResultObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); + +@protected ResultSort sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); + +@protected ReuniteError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); + +@protected Runtime sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); + +@protected RuntimeMetrics sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); + +@protected SchemaField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); + +@protected Semaphore sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); + +@protected Sender sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); + +@protected SenderT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); + +@protected SignalKind sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); + +@protected Sleep sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); + +@protected SocketAddr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); + +@protected TcpListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); + +@protected TcpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); + +@protected TcpStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); + +@protected TryCurrentError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); + +@protected UCred sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); + +@protected UdpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); + +@protected UnixDatagram sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); + +@protected UnixListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); + +@protected UnixStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); + +@protected Duration sse_decode_Chrono_Duration(SseDeserializer deserializer); + +@protected BigInt sse_decode_I128(SseDeserializer deserializer); + +@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(SseDeserializer deserializer); + +@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(SseDeserializer deserializer); + +@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer); + +@protected AHashMapStringFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); + +@protected AcquireError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer); + +@protected ArcIndex sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); + +@protected Barrier sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); + +@protected BarrierWaitResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); + +@protected Child sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); + +@protected ChildStderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); + +@protected ChildStdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); + +@protected ChildStdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); + +@protected Command sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); + +@protected Context sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer); + +@protected DocumentItem sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer); + +@protected DuplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer); + +@protected Empty sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer); + +@protected EnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer); + +@protected Error sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); + +@protected ExitStatus sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); + +@protected FacetField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); + +@protected FacetFilter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); + +@protected FacetValue sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer); + +@protected File sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer); + +@protected FileType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer); + +@protected FillBufSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer); + +@protected FlushSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer); + +@protected FrequentwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer); + +@protected Handle sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); + +@protected Highlighter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); + +@protected Id sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer); + +@protected Index sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); + +@protected IndexMapStringVecStringUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer); + +@protected IndexMetaObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); + +@protected Instant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer); + +@protected Interest sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); + +@protected Interval sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); + +@protected IoSliceMut sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer); + +@protected IoSlice sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); + +@protected Ipv4Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer); + +@protected Ipv6Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer); + +@protected LinesSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer); + +@protected LocalEnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer); + +@protected LocalSet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); + +@protected MinMaxField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); + +@protected MinMaxFieldJson sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); + +@protected Notified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer); + +@protected Notify sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); + +@protected OpenOptions sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); + +@protected Ordering sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer); + +@protected OwnedFd sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer); + +@protected OwnedNotified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer); + +@protected OwnedPermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer); + +@protected OwnedReadHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected OwnedWriteHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); + +@protected Path sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); + +@protected PdfDocument sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer); + +@protected PermitIteratorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer); + +@protected PermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer); + +@protected Poll sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer); + +@protected PollInstant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer); + +@protected PollOption sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer); + +@protected PollOptionT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer); + +@protected PollRestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer); + +@protected PollResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer); + +@protected PollResultSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer); + +@protected PollResultTcpStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer); + +@protected PollResultUnixStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer); + +@protected PollResultUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer); + +@protected PollUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer); + +@protected QueryFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); + +@protected QueryRewriting sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer); + +@protected Ranges sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer); + +@protected RangeU64 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer); + +@protected ReadBuf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer); + +@protected ReadF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer); + +@protected ReadF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer); + +@protected ReadF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer); + +@protected ReadF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer); + +@protected ReadHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer); + +@protected ReadI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer); + +@protected ReadI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer); + +@protected ReadI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer); + +@protected ReadI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer); + +@protected ReadI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer); + +@protected ReadI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer); + +@protected ReadI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer); + +@protected ReadI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer); + +@protected ReadI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer); + +@protected ReadU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer); + +@protected ReadU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer); + +@protected ReadU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer); + +@protected ReadU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer); + +@protected ReadU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer); + +@protected ReadU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer); + +@protected ReadU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer); + +@protected ReadU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer); + +@protected ReadU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer); + +@protected Ready sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer); + +@protected Receiver sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); + +@protected ReceiverT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); + +@protected RecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer); + +@protected RefT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer); + +@protected Repeat sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer); + +@protected RestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); + +@protected Result sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); + +@protected ResultObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); + +@protected ResultSort sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); + +@protected ReuniteError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); + +@protected Runtime sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); + +@protected RuntimeMetrics sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); + +@protected SchemaField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); + +@protected SeekFrom sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer); + +@protected SeekSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer); + +@protected Semaphore sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); + +@protected SemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer); + +@protected SendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer); + +@protected SendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer); + +@protected SendTimeoutErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer); + +@protected Sender sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); + +@protected SenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); + +@protected Shutdown sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer); + +@protected ShutdownSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer); + +@protected Signal sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); + +@protected SignalKind sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); + +@protected SimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer); + +@protected Sink sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer); + +@protected Sleep sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); + +@protected SocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); + +@protected SplitSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer); + +@protected StdCommand sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer); + +@protected Stderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer); + +@protected Stdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer); + +@protected Stdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer); + +@protected StopwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer); + +@protected T sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer); + +@protected TakeSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer); + +@protected TcpListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); + +@protected TcpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); + +@protected TcpStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); + +@protected TryCurrentError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); + +@protected TryRecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer); + +@protected TrySendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer); + +@protected TrySendErrorSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer); + +@protected TrySendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer); + +@protected UCred sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); + +@protected UdpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); + +@protected UnixDatagram sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); + +@protected UnixListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); + +@protected UnixSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer); + +@protected UnixStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); + +@protected Value sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer); + +@protected ValueType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer); + +@protected VecT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer); + +@protected WeakSenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer); + +@protected WriteF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer); + +@protected WriteF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer); + +@protected WriteF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer); + +@protected WriteF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer); + +@protected WriteHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer); + +@protected WriteI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer); + +@protected WriteI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer); + +@protected WriteI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer); + +@protected WriteI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer); + +@protected WriteI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer); + +@protected WriteI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer); + +@protected WriteI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer); + +@protected WriteI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer); + +@protected WriteI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer); + +@protected WriteU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer); + +@protected WriteU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer); + +@protected WriteU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer); + +@protected WriteU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer); + +@protected WriteU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer); + +@protected WriteU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer); + +@protected WriteU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer); + +@protected WriteU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer); + +@protected WriteU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer); + +@protected CInt sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer); + +@protected GidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer); + +@protected PidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); + +@protected U8 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer); + +@protected UidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer); + +@protected Set sse_decode_Set_String_None(SseDeserializer deserializer); + +@protected String sse_decode_String(SseDeserializer deserializer); + +@protected BigInt sse_decode_U128(SseDeserializer deserializer); + +@protected AccessType sse_decode_access_type(SseDeserializer deserializer); + +@protected bool sse_decode_bool(SseDeserializer deserializer); + +@protected AHashMapStringFacet sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); + +@protected ChildStderr sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); + +@protected ChildStdin sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); + +@protected ChildStdout sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); + +@protected Error sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); + +@protected ExitStatus sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); + +@protected Highlighter sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); + +@protected Interest sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected PidT sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); + +@protected Path sse_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); + +@protected Duration sse_decode_box_autoadd_Chrono_Duration(SseDeserializer deserializer); + +@protected QueryCompletion sse_decode_box_autoadd_query_completion(SseDeserializer deserializer); + +@protected (BigInt,Map) sse_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); + +@protected SearchFn sse_decode_box_autoadd_search_fn(SseDeserializer deserializer); + +@protected SpellingCorrection sse_decode_box_autoadd_spelling_correction(SseDeserializer deserializer); + +@protected int sse_decode_box_autoadd_u_32(SseDeserializer deserializer); + +@protected void sse_decode_box_autoadd_unit(SseDeserializer deserializer); + +@protected BigInt sse_decode_box_autoadd_usize(SseDeserializer deserializer); + +@protected CompressionType sse_decode_compression_type(SseDeserializer deserializer); + +@protected DistanceField sse_decode_distance_field(SseDeserializer deserializer); + +@protected DistanceUnit sse_decode_distance_unit(SseDeserializer deserializer); + +@protected double sse_decode_f_32(SseDeserializer deserializer); + +@protected double sse_decode_f_64(SseDeserializer deserializer); + +@protected FieldType sse_decode_field_type(SseDeserializer deserializer); + +@protected Highlight sse_decode_highlight(SseDeserializer deserializer); + +@protected int sse_decode_i_16(SseDeserializer deserializer); + +@protected int sse_decode_i_32(SseDeserializer deserializer); + +@protected PlatformInt64 sse_decode_i_64(SseDeserializer deserializer); + +@protected int sse_decode_i_8(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); + +@protected List> sse_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer); + +@protected List sse_decode_list_String(SseDeserializer deserializer); + +@protected List sse_decode_list_distance_field(SseDeserializer deserializer); + +@protected List sse_decode_list_highlight(SseDeserializer deserializer); + +@protected List sse_decode_list_prim_f_64_loose(SseDeserializer deserializer); + +@protected Float64List sse_decode_list_prim_f_64_strict(SseDeserializer deserializer); + +@protected Uint64List sse_decode_list_prim_u_64_strict(SseDeserializer deserializer); + +@protected List sse_decode_list_prim_u_8_loose(SseDeserializer deserializer); + +@protected Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); + +@protected Uint64List sse_decode_list_prim_usize_strict(SseDeserializer deserializer); + +@protected List<(String,MinMaxFieldJson)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer); + +@protected List<(String,SchemaField)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer); + +@protected List<(String,Value)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer); + +@protected List<(BigInt,Map)> sse_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); + +@protected List sse_decode_list_synonym(SseDeserializer deserializer); + +@protected MissedTickBehavior sse_decode_missed_tick_behavior(SseDeserializer deserializer); + +@protected NgramType sse_decode_ngram_type(SseDeserializer deserializer); + +@protected AHashMapStringFacet? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); + +@protected ChildStderr? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); + +@protected ChildStdin? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); + +@protected ChildStdout? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); + +@protected Error? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); + +@protected ExitStatus? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); + +@protected Highlighter? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); + +@protected Interest? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected PidT? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); + +@protected Path? sse_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); + +@protected Duration? sse_decode_opt_box_autoadd_Chrono_Duration(SseDeserializer deserializer); + +@protected QueryCompletion? sse_decode_opt_box_autoadd_query_completion(SseDeserializer deserializer); + +@protected SpellingCorrection? sse_decode_opt_box_autoadd_spelling_correction(SseDeserializer deserializer); + +@protected int? sse_decode_opt_box_autoadd_u_32(SseDeserializer deserializer); + +@protected void? sse_decode_opt_box_autoadd_unit(SseDeserializer deserializer); + +@protected BigInt? sse_decode_opt_box_autoadd_usize(SseDeserializer deserializer); + +@protected Uint64List? sse_decode_opt_list_prim_usize_strict(SseDeserializer deserializer); + +@protected QueryCompletion sse_decode_query_completion(SseDeserializer deserializer); + +@protected QueryType sse_decode_query_type(SseDeserializer deserializer); + +@protected RangeType sse_decode_range_type(SseDeserializer deserializer); + +@protected (DuplexStream,DuplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(SseDeserializer deserializer); + +@protected (OwnedReadHalf,OwnedWriteHalf) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(SseDeserializer deserializer); + +@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(SseDeserializer deserializer); + +@protected (Sender,Receiver) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(SseDeserializer deserializer); + +@protected (TcpStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); + +@protected (UnixDatagram,UnixDatagram) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(SseDeserializer deserializer); + +@protected (UnixStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); + +@protected (UnixStream,UnixStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(SseDeserializer deserializer); + +@protected (String,MinMaxFieldJson) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer); + +@protected (String,SchemaField) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer); + +@protected (String,Value) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer); + +@protected (BigInt,Map) sse_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); + +@protected (BigInt,SocketAddr) sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); + +@protected ResultType sse_decode_result_type(SseDeserializer deserializer); + +@protected RuntimeFlavor sse_decode_runtime_flavor(SseDeserializer deserializer); + +@protected SearchFn sse_decode_search_fn(SseDeserializer deserializer); + +@protected SimilarityType sse_decode_similarity_type(SseDeserializer deserializer); + +@protected SortOrder sse_decode_sort_order(SseDeserializer deserializer); + +@protected SpellingCorrection sse_decode_spelling_correction(SseDeserializer deserializer); + +@protected StemmerType sse_decode_stemmer_type(SseDeserializer deserializer); + +@protected Synonym sse_decode_synonym(SseDeserializer deserializer); + +@protected TokenizerType sse_decode_tokenizer_type(SseDeserializer deserializer); + +@protected TryAcquireError sse_decode_try_acquire_error(SseDeserializer deserializer); + +@protected int sse_decode_u_16(SseDeserializer deserializer); + +@protected int sse_decode_u_32(SseDeserializer deserializer); + +@protected BigInt sse_decode_u_64(SseDeserializer deserializer); + +@protected int sse_decode_u_8(SseDeserializer deserializer); + +@protected void sse_decode_unit(SseDeserializer deserializer); + +@protected BigInt sse_decode_usize(SseDeserializer deserializer); + +@protected void sse_encode_AnyhowException(AnyhowException self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); + +@protected void sse_encode_Chrono_Duration(Duration self, SseSerializer serializer); + +@protected void sse_encode_I128(BigInt self, SseSerializer serializer); + +@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(Map self, SseSerializer serializer); + +@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(Map self, SseSerializer serializer); + +@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(Map self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer); + +@protected void sse_encode_Set_String_None(Set self, SseSerializer serializer); + +@protected void sse_encode_String(String self, SseSerializer serializer); + +@protected void sse_encode_U128(BigInt self, SseSerializer serializer); + +@protected void sse_encode_access_type(AccessType self, SseSerializer serializer); + +@protected void sse_encode_bool(bool self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Chrono_Duration(Duration self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_query_completion(QueryCompletion self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_search_fn(SearchFn self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_spelling_correction(SpellingCorrection self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_u_32(int self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_unit(void self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_usize(BigInt self, SseSerializer serializer); + +@protected void sse_encode_compression_type(CompressionType self, SseSerializer serializer); + +@protected void sse_encode_distance_field(DistanceField self, SseSerializer serializer); + +@protected void sse_encode_distance_unit(DistanceUnit self, SseSerializer serializer); + +@protected void sse_encode_f_32(double self, SseSerializer serializer); + +@protected void sse_encode_f_64(double self, SseSerializer serializer); + +@protected void sse_encode_field_type(FieldType self, SseSerializer serializer); + +@protected void sse_encode_highlight(Highlight self, SseSerializer serializer); + +@protected void sse_encode_i_16(int self, SseSerializer serializer); + +@protected void sse_encode_i_32(int self, SseSerializer serializer); + +@protected void sse_encode_i_64(PlatformInt64 self, SseSerializer serializer); + +@protected void sse_encode_i_8(int self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(List self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(List self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(List self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(List self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(List self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(List self, SseSerializer serializer); + +@protected void sse_encode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(List> self, SseSerializer serializer); + +@protected void sse_encode_list_String(List self, SseSerializer serializer); + +@protected void sse_encode_list_distance_field(List self, SseSerializer serializer); + +@protected void sse_encode_list_highlight(List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_f_64_loose(List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_f_64_strict(Float64List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_u_64_strict(Uint64List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_u_8_loose(List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_u_8_strict(Uint8List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_usize_strict(Uint64List self, SseSerializer serializer); + +@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(List<(String,MinMaxFieldJson)> self, SseSerializer serializer); + +@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(List<(String,SchemaField)> self, SseSerializer serializer); + +@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(List<(String,Value)> self, SseSerializer serializer); + +@protected void sse_encode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(List<(BigInt,Map)> self, SseSerializer serializer); + +@protected void sse_encode_list_synonym(List self, SseSerializer serializer); + +@protected void sse_encode_missed_tick_behavior(MissedTickBehavior self, SseSerializer serializer); + +@protected void sse_encode_ngram_type(NgramType self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Chrono_Duration(Duration? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_query_completion(QueryCompletion? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_spelling_correction(SpellingCorrection? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_u_32(int? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_unit(void? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_usize(BigInt? self, SseSerializer serializer); + +@protected void sse_encode_opt_list_prim_usize_strict(Uint64List? self, SseSerializer serializer); + +@protected void sse_encode_query_completion(QueryCompletion self, SseSerializer serializer); + +@protected void sse_encode_query_type(QueryType self, SseSerializer serializer); + +@protected void sse_encode_range_type(RangeType self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream((DuplexStream,DuplexStream) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half((OwnedReadHalf,OwnedWriteHalf) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream((ReadHalfSimplexStream,WriteHalfSimplexStream) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver((Sender,Receiver) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((TcpStream,SocketAddr) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram((UnixDatagram,UnixDatagram) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((UnixStream,SocketAddr) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream((UnixStream,UnixStream) self, SseSerializer serializer); + +@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json((String,MinMaxFieldJson) self, SseSerializer serializer); + +@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field((String,SchemaField) self, SseSerializer serializer); + +@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value((String,Value) self, SseSerializer serializer); + +@protected void sse_encode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer); + +@protected void sse_encode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((BigInt,SocketAddr) self, SseSerializer serializer); + +@protected void sse_encode_result_type(ResultType self, SseSerializer serializer); + +@protected void sse_encode_runtime_flavor(RuntimeFlavor self, SseSerializer serializer); + +@protected void sse_encode_search_fn(SearchFn self, SseSerializer serializer); + +@protected void sse_encode_similarity_type(SimilarityType self, SseSerializer serializer); + +@protected void sse_encode_sort_order(SortOrder self, SseSerializer serializer); + +@protected void sse_encode_spelling_correction(SpellingCorrection self, SseSerializer serializer); + +@protected void sse_encode_stemmer_type(StemmerType self, SseSerializer serializer); + +@protected void sse_encode_synonym(Synonym self, SseSerializer serializer); + +@protected void sse_encode_tokenizer_type(TokenizerType self, SseSerializer serializer); + +@protected void sse_encode_try_acquire_error(TryAcquireError self, SseSerializer serializer); + +@protected void sse_encode_u_16(int self, SseSerializer serializer); + +@protected void sse_encode_u_32(int self, SseSerializer serializer); + +@protected void sse_encode_u_64(BigInt self, SseSerializer serializer); + +@protected void sse_encode_u_8(int self, SseSerializer serializer); + +@protected void sse_encode_unit(void self, SseSerializer serializer); + +@protected void sse_encode_usize(BigInt self, SseSerializer serializer); + } + - @protected - void sse_encode_bool(bool self, SseSerializer serializer); -} // Section: wire_class -class RustLibWire implements BaseWire { - factory RustLibWire.fromExternalLibrary(ExternalLibrary lib) => - RustLibWire(lib.ffiDynamicLibrary); - /// Holds the symbol lookup function. - final ffi.Pointer Function(String symbolName) - _lookup; + class RustLibWire implements BaseWire { + + factory RustLibWire.fromExternalLibrary(ExternalLibrary lib) => + RustLibWire(lib.ffiDynamicLibrary); + + /// Holds the symbol lookup function. + final ffi.Pointer Function(String symbolName) + _lookup; + + /// The symbols are looked up in [dynamicLibrary]. + RustLibWire(ffi.DynamicLibrary dynamicLibrary) + : _lookup = dynamicLibrary.lookup; + + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacetPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacetPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireErrorPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireErrorPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndexPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndexPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndexPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndexPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResultPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResultPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderrPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderrPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdinPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdinPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdinPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdinPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdoutPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdoutPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdoutPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdoutPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommandPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommandPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommandPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommandPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstaticPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstaticPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItemPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItemPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItemPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItemPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStreamPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStreamPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmptyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmptyPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmptyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmptyPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstaticPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstaticPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerErrorPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerErrorPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatusPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatusPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatusPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatusPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFieldPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFieldPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilterPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilterPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilterPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilterPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValuePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValuePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValuePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValuePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFilePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFilePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFilePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFilePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileTypePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileTypePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordTypePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordTypePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandlePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandlePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandlePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandlePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighterPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighterPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighterPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighterPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIdPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIdPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIdPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIdPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusizePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusizePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObjectPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObjectPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObjectPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObjectPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstantPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstantPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstantPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstantPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterestPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterestPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterestPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterestPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIntervalPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIntervalPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIntervalPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIntervalPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_ = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_Ptr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_ = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_Ptr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestaticPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestaticPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4AddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4AddrPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4AddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4AddrPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6AddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6AddrPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6AddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6AddrPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuardPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuardPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuardPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuardPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSetPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSetPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJsonPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJsonPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJsonPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJsonPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstaticPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstaticPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifyPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifyPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptionsPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptionsPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptionsPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptionsPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrderingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrderingPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrderingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrderingPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFdPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFdPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFdPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFdPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotifiedPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotifiedPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotifiedPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotifiedPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermitPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermitPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermitPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermitPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPathPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPathPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPathPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPathPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstaticPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstaticPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstantPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstantPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstantPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstantPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPendingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPendingPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPendingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPendingPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddrPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddrPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddrPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddrPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddrPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddrPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusizePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusizePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusizePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusizePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacetPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacetPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewritingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewritingPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewritingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewritingPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangesPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangesPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangesPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangesPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64 = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64Ptr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64 = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64Ptr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstaticPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstaticPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStreamPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStreamPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadyPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadyPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvErrorPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvErrorPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeatPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeatPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeatPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeatPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPendingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPendingPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPendingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPendingPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObjectPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObjectPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObjectPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObjectPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSortPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSortPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSortPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSortPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteErrorPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteErrorPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetricsPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetricsPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetricsPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetricsPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaFieldPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaFieldPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFromPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFromPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFromPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFromPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstaticPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstaticPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKindPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKindPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKindPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKindPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStreamPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStreamPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSinkPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSinkPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSinkPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSinkPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleepPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleepPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleepPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleepPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddrPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddrPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommandPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommandPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommandPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommandPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderrPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderrPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdinPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdinPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdinPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdinPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdoutPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdoutPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdoutPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdoutPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordTypePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordTypePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListenerPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListenerPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListenerPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListenerPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocketPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocketPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStreamPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStreamPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentErrorPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentErrorPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvErrorPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvErrorPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCredPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCredPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCredPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCredPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocketPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocketPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagramPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagramPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagramPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagramPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListenerPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListenerPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListenerPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListenerPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocketPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocketPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStreamPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStreamPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValuePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValuePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValuePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValuePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueTypePtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueTypePtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderTPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderTPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStreamPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStreamPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelfPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelfPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_intPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_intPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_intPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_intPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_tPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_tPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_tPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_tPtr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8 = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8Ptr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( + ptr, + ); + } + + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8 = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8Ptr.asFunction)>(); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( + ffi.Pointer ptr, + ) { + return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( + ptr, + ); + } + + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t'); + late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_tPtr.asFunction)>(); + + void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( + ffi.Pointer ptr, + ) { + return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( + ptr, + ); + } - /// The symbols are looked up in [dynamicLibrary]. - RustLibWire(ffi.DynamicLibrary dynamicLibrary) - : _lookup = dynamicLibrary.lookup; -} + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t'); + late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_tPtr.asFunction)>(); + + } + \ No newline at end of file diff --git a/mobile_app/lib/src/rust/frb_generated.web.dart b/mobile_app/lib/src/rust/frb_generated.web.dart index 981737f..4fddeda 100644 --- a/mobile_app/lib/src/rust/frb_generated.web.dart +++ b/mobile_app/lib/src/rust/frb_generated.web.dart @@ -3,82 +3,5149 @@ // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field + // Static analysis wrongly picks the IO variant, thus ignore this // ignore_for_file: argument_type_not_assignable +import 'api/keyword_search.dart'; import 'api/simple.dart'; import 'dart:async'; import 'dart:convert'; import 'frb_generated.dart'; +import 'lib.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_web.dart'; +import 'third_party/seekstorm/commit.dart'; +import 'third_party/seekstorm/geo_search.dart'; +import 'third_party/seekstorm/highlighter.dart'; +import 'third_party/seekstorm/index.dart'; +import 'third_party/seekstorm/ingest.dart'; +import 'third_party/seekstorm/search.dart'; +import 'third_party/seekstorm/utils.dart'; +import 'third_party/tokio/io.dart'; +import 'third_party/tokio/macros/support.dart'; +import 'third_party/tokio/net.dart'; +import 'third_party/tokio/net/tcp.dart'; +import 'third_party/tokio/net/tcp/listener.dart'; +import 'third_party/tokio/net/tcp/split_owned.dart'; +import 'third_party/tokio/net/udp.dart'; +import 'third_party/tokio/net/unix.dart'; +import 'third_party/tokio/net/unix/datagram/socket.dart'; +import 'third_party/tokio/net/unix/listener.dart'; +import 'third_party/tokio/net/unix/pipe.dart'; +import 'third_party/tokio/process.dart'; +import 'third_party/tokio/process/sys.dart'; +import 'third_party/tokio/runtime.dart'; +import 'third_party/tokio/signal.dart'; +import 'third_party/tokio/signal/unix.dart'; +import 'third_party/tokio/sync.dart'; +import 'third_party/tokio/sync/broadcast.dart'; +import 'third_party/tokio/sync/broadcast/error.dart'; +import 'third_party/tokio/sync/mpsc/bounded.dart'; +import 'third_party/tokio/sync/mpsc/error.dart'; +import 'third_party/tokio/sync/oneshot.dart'; +import 'third_party/tokio/sync/watch.dart'; +import 'third_party/tokio/task.dart'; +import 'third_party/tokio/task/coop.dart'; +import 'third_party/tokio/time.dart'; +import 'third_party/tokio/time/error.dart'; +import 'third_party/tokio/time/interval.dart'; -abstract class RustLibApiImplPlatform extends BaseApiImpl { - RustLibApiImplPlatform({ - required super.handler, - required super.wire, - required super.generalizedFrbRustBinding, - required super.portManager, - }); - @protected - String dco_decode_String(dynamic raw); - @protected - Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); - @protected - int dco_decode_u_8(dynamic raw); + abstract class RustLibApiImplPlatform extends BaseApiImpl { + RustLibApiImplPlatform({ + required super.handler, + required super.wire, + required super.generalizedFrbRustBinding, + required super.portManager, + }); - @protected - void dco_decode_unit(dynamic raw); + CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AHashMapStringFacetPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet; - @protected - String sse_decode_String(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AcquireErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError; - @protected - Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ArcIndexPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex; - @protected - int sse_decode_u_8(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier; - @protected - void sse_decode_unit(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierWaitResultPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult; - @protected - int sse_decode_i_32(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild; - @protected - bool sse_decode_bool(SseDeserializer deserializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStderrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr; - @protected - void sse_encode_String(String self, SseSerializer serializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdinPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin; - @protected - void sse_encode_list_prim_u_8_strict( - Uint8List self, SseSerializer serializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdoutPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout; - @protected - void sse_encode_u_8(int self, SseSerializer serializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CommandPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand; - @protected - void sse_encode_unit(void self, SseSerializer serializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ContextPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic; - @protected - void sse_encode_i_32(int self, SseSerializer serializer); +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DocumentItemPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem; - @protected - void sse_encode_bool(bool self, SseSerializer serializer); -} +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DuplexStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream; -// Section: wire_class +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EmptyPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty; -class RustLibWire implements BaseWire { - RustLibWire.fromExternalLibrary(ExternalLibrary lib); -} +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EnterGuardPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ExitStatusPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFieldPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFilterPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetValuePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FilePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FileTypePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FillBufSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FlushSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FrequentwordTypePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HandlePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HighlighterPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IdPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMapStringVecStringUsizePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMetaObjectPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InstantPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InterestPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IntervalPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSliceMutPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSlicePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv4AddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv6AddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LinesSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalEnterGuardPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalSetPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldJsonPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifiedPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifyPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OpenOptionsPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OrderingPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedFdPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedNotifiedPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedPermitTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedReadHalfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedSemaphorePermitPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedWriteHalfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PathPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PdfDocumentPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitIteratorTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollInstantPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollRestoreOnPendingPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultSocketAddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUsizePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollUsizePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryFacetPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryRewritingPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangesPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangeU64Ptr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadBufPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadHalfSimplexStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI8MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU8MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadyPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RecvErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RefTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RepeatPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RestoreOnPendingPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultObjectPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultSortPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReuniteErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimeMetricsPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SchemaFieldPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekFromPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePermitPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendTimeoutErrorTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalKindPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SimplexStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SinkPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SleepPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SocketAddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SplitSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdCommandPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StderrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdinPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdoutPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StopwordTypePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TakeSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpListenerPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpSocketPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryCurrentErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryRecvErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UCredPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UdpSocketPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixDatagramPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixListenerPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixSocketPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValuePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValueTypePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_VecTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WeakSenderTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteHalfSimplexStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI8MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU8MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CIntPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_GidTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PidTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_U8Ptr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8; + +CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UidTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t; + + + + @protected AnyhowException dco_decode_AnyhowException(dynamic raw); + +@protected AHashMapStringFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); + +@protected AcquireError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw); + +@protected ArcIndex dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); + +@protected Barrier dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); + +@protected BarrierWaitResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); + +@protected Child dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); + +@protected ChildStderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); + +@protected ChildStdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); + +@protected ChildStdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); + +@protected Command dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); + +@protected DocumentItem dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw); + +@protected DuplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw); + +@protected Empty dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw); + +@protected EnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw); + +@protected Error dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); + +@protected ExitStatus dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); + +@protected FacetField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); + +@protected FacetFilter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); + +@protected FacetValue dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw); + +@protected File dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw); + +@protected FileType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw); + +@protected FillBufSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw); + +@protected FlushSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw); + +@protected FrequentwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw); + +@protected Handle dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); + +@protected Highlighter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); + +@protected Id dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw); + +@protected Index dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); + +@protected IndexMapStringVecStringUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw); + +@protected IndexMetaObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); + +@protected Instant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw); + +@protected Interest dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); + +@protected Interval dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); + +@protected IoSlice dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); + +@protected Ipv4Addr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw); + +@protected LinesSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw); + +@protected LocalEnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw); + +@protected LocalSet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); + +@protected MinMaxField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); + +@protected MinMaxFieldJson dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); + +@protected Notified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw); + +@protected Notify dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); + +@protected OpenOptions dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); + +@protected Ordering dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw); + +@protected OwnedFd dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw); + +@protected OwnedNotified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw); + +@protected OwnedPermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw); + +@protected OwnedReadHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); + +@protected OwnedSemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected OwnedWriteHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); + +@protected PdfDocument dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw); + +@protected PermitIteratorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw); + +@protected PermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw); + +@protected Poll dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw); + +@protected PollInstant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw); + +@protected PollOption dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw); + +@protected PollOptionT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw); + +@protected PollRestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw); + +@protected PollResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw); + +@protected PollResultSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw); + +@protected PollResultTcpStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw); + +@protected PollResultUnixStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw); + +@protected PollResultUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw); + +@protected PollUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw); + +@protected QueryFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); + +@protected QueryRewriting dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw); + +@protected Ranges dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw); + +@protected RangeU64 dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw); + +@protected ReadF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw); + +@protected ReadF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw); + +@protected ReadF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw); + +@protected ReadF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw); + +@protected ReadHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw); + +@protected ReadI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw); + +@protected ReadI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw); + +@protected ReadI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw); + +@protected ReadI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw); + +@protected ReadI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw); + +@protected ReadI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw); + +@protected ReadI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw); + +@protected ReadI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw); + +@protected ReadI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw); + +@protected ReadU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw); + +@protected ReadU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw); + +@protected ReadU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw); + +@protected ReadU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw); + +@protected ReadU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw); + +@protected ReadU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw); + +@protected ReadU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw); + +@protected ReadU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw); + +@protected ReadU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw); + +@protected Ready dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw); + +@protected Receiver dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); + +@protected ReceiverT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); + +@protected RecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw); + +@protected RefT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw); + +@protected Repeat dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw); + +@protected RestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); + +@protected Result dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); + +@protected ResultObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); + +@protected ResultSort dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); + +@protected ReuniteError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); + +@protected Runtime dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); + +@protected RuntimeMetrics dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); + +@protected SchemaField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); + +@protected SeekFrom dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw); + +@protected SeekSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw); + +@protected Semaphore dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); + +@protected SemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw); + +@protected SendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw); + +@protected SendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw); + +@protected SendTimeoutErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw); + +@protected Sender dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); + +@protected SenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); + +@protected Shutdown dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw); + +@protected ShutdownSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw); + +@protected Signal dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); + +@protected SignalKind dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); + +@protected SimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw); + +@protected Sink dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw); + +@protected Sleep dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); + +@protected SocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); + +@protected SplitSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw); + +@protected StdCommand dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw); + +@protected Stderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw); + +@protected Stdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw); + +@protected Stdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw); + +@protected StopwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw); + +@protected T dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw); + +@protected TakeSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw); + +@protected TcpListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); + +@protected TcpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); + +@protected TcpStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); + +@protected TryCurrentError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); + +@protected TryRecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw); + +@protected TrySendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw); + +@protected TrySendErrorSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw); + +@protected TrySendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw); + +@protected UCred dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); + +@protected UdpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); + +@protected UnixDatagram dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); + +@protected UnixListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); + +@protected UnixSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw); + +@protected UnixStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); + +@protected Value dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw); + +@protected ValueType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw); + +@protected WeakSenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw); + +@protected WriteF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw); + +@protected WriteF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw); + +@protected WriteF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw); + +@protected WriteF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw); + +@protected WriteHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw); + +@protected WriteI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw); + +@protected WriteI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw); + +@protected WriteI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw); + +@protected WriteI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw); + +@protected WriteI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw); + +@protected WriteI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw); + +@protected WriteI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw); + +@protected WriteI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw); + +@protected WriteI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw); + +@protected WriteU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw); + +@protected WriteU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw); + +@protected WriteU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw); + +@protected WriteU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw); + +@protected WriteU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw); + +@protected WriteU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw); + +@protected WriteU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw); + +@protected WriteU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw); + +@protected WriteU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw); + +@protected CInt dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw); + +@protected GidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw); + +@protected PidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); + +@protected UidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw); + +@protected Child dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); + +@protected Command dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); + +@protected Context dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw); + +@protected FacetField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); + +@protected Index dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); + +@protected IndexMetaObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); + +@protected Interval dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); + +@protected IoSliceMut dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw); + +@protected MinMaxField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); + +@protected MinMaxFieldJson dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); + +@protected OpenOptions dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); + +@protected OwnedReadHalf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); + +@protected OwnedSemaphorePermit dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected ReadBuf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw); + +@protected ReceiverT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); + +@protected ResultObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); + +@protected ResultSort dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); + +@protected ReuniteError dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); + +@protected SchemaField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); + +@protected SenderT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); + +@protected Signal dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); + +@protected VecT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw); + +@protected U8 dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw); + +@protected ArcIndex dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); + +@protected Barrier dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); + +@protected BarrierWaitResult dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); + +@protected Child dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); + +@protected Command dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); + +@protected Error dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); + +@protected FacetField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); + +@protected Handle dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); + +@protected Index dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); + +@protected IndexMetaObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); + +@protected Interval dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); + +@protected Ipv6Addr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw); + +@protected LocalSet dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); + +@protected MinMaxField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); + +@protected MinMaxFieldJson dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); + +@protected Notify dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); + +@protected OwnedReadHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); + +@protected OwnedSemaphorePermit dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected OwnedWriteHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); + +@protected Path dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); + +@protected Receiver dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); + +@protected ReceiverT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); + +@protected RestoreOnPending dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); + +@protected ResultObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); + +@protected ResultSort dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); + +@protected ReuniteError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); + +@protected Runtime dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); + +@protected RuntimeMetrics dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); + +@protected SchemaField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); + +@protected Semaphore dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); + +@protected Sender dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); + +@protected SenderT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); + +@protected SignalKind dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); + +@protected Sleep dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); + +@protected SocketAddr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); + +@protected TcpListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); + +@protected TcpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); + +@protected TcpStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); + +@protected TryCurrentError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); + +@protected UCred dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); + +@protected UdpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); + +@protected UnixDatagram dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); + +@protected UnixListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); + +@protected UnixStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); + +@protected Duration dco_decode_Chrono_Duration(dynamic raw); + +@protected BigInt dco_decode_I128(dynamic raw); + +@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(dynamic raw); + +@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(dynamic raw); + +@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw); + +@protected AHashMapStringFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); + +@protected AcquireError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw); + +@protected ArcIndex dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); + +@protected Barrier dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); + +@protected BarrierWaitResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); + +@protected Child dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); + +@protected ChildStderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); + +@protected ChildStdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); + +@protected ChildStdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); + +@protected Command dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); + +@protected Context dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw); + +@protected DocumentItem dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw); + +@protected DuplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw); + +@protected Empty dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw); + +@protected EnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw); + +@protected Error dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); + +@protected ExitStatus dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); + +@protected FacetField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); + +@protected FacetFilter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); + +@protected FacetValue dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw); + +@protected File dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw); + +@protected FileType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw); + +@protected FillBufSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw); + +@protected FlushSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw); + +@protected FrequentwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw); + +@protected Handle dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); + +@protected Highlighter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); + +@protected Id dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw); + +@protected Index dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); + +@protected IndexMapStringVecStringUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw); + +@protected IndexMetaObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); + +@protected Instant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw); + +@protected Interest dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); + +@protected Interval dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); + +@protected IoSliceMut dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw); + +@protected IoSlice dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); + +@protected Ipv4Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw); + +@protected Ipv6Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw); + +@protected LinesSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw); + +@protected LocalEnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw); + +@protected LocalSet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); + +@protected MinMaxField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); + +@protected MinMaxFieldJson dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); + +@protected Notified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw); + +@protected Notify dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); + +@protected OpenOptions dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); + +@protected Ordering dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw); + +@protected OwnedFd dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw); + +@protected OwnedNotified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw); + +@protected OwnedPermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw); + +@protected OwnedReadHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); + +@protected OwnedSemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected OwnedWriteHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); + +@protected Path dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); + +@protected PdfDocument dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw); + +@protected PermitIteratorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw); + +@protected PermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw); + +@protected Poll dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw); + +@protected PollInstant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw); + +@protected PollOption dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw); + +@protected PollOptionT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw); + +@protected PollRestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw); + +@protected PollResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw); + +@protected PollResultSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw); + +@protected PollResultTcpStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw); + +@protected PollResultUnixStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw); + +@protected PollResultUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw); + +@protected PollUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw); + +@protected QueryFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); + +@protected QueryRewriting dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw); + +@protected Ranges dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw); + +@protected RangeU64 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw); + +@protected ReadBuf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw); + +@protected ReadF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw); + +@protected ReadF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw); + +@protected ReadF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw); + +@protected ReadF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw); + +@protected ReadHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw); + +@protected ReadI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw); + +@protected ReadI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw); + +@protected ReadI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw); + +@protected ReadI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw); + +@protected ReadI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw); + +@protected ReadI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw); + +@protected ReadI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw); + +@protected ReadI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw); + +@protected ReadI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw); + +@protected ReadU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw); + +@protected ReadU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw); + +@protected ReadU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw); + +@protected ReadU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw); + +@protected ReadU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw); + +@protected ReadU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw); + +@protected ReadU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw); + +@protected ReadU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw); + +@protected ReadU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw); + +@protected Ready dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw); + +@protected Receiver dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); + +@protected ReceiverT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); + +@protected RecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw); + +@protected RefT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw); + +@protected Repeat dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw); + +@protected RestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); + +@protected Result dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); + +@protected ResultObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); + +@protected ResultSort dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); + +@protected ReuniteError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); + +@protected Runtime dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); + +@protected RuntimeMetrics dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); + +@protected SchemaField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); + +@protected SeekFrom dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw); + +@protected SeekSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw); + +@protected Semaphore dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); + +@protected SemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw); + +@protected SendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw); + +@protected SendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw); + +@protected SendTimeoutErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw); + +@protected Sender dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); + +@protected SenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); + +@protected Shutdown dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw); + +@protected ShutdownSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw); + +@protected Signal dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); + +@protected SignalKind dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); + +@protected SimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw); + +@protected Sink dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw); + +@protected Sleep dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); + +@protected SocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); + +@protected SplitSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw); + +@protected StdCommand dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw); + +@protected Stderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw); + +@protected Stdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw); + +@protected Stdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw); + +@protected StopwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw); + +@protected T dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw); + +@protected TakeSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw); + +@protected TcpListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); + +@protected TcpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); + +@protected TcpStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); + +@protected TryCurrentError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); + +@protected TryRecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw); + +@protected TrySendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw); + +@protected TrySendErrorSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw); + +@protected TrySendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw); + +@protected UCred dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); + +@protected UdpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); + +@protected UnixDatagram dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); + +@protected UnixListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); + +@protected UnixSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw); + +@protected UnixStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); + +@protected Value dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw); + +@protected ValueType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw); + +@protected VecT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw); + +@protected WeakSenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw); + +@protected WriteF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw); + +@protected WriteF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw); + +@protected WriteF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw); + +@protected WriteF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw); + +@protected WriteHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw); + +@protected WriteI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw); + +@protected WriteI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw); + +@protected WriteI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw); + +@protected WriteI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw); + +@protected WriteI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw); + +@protected WriteI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw); + +@protected WriteI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw); + +@protected WriteI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw); + +@protected WriteI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw); + +@protected WriteU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw); + +@protected WriteU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw); + +@protected WriteU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw); + +@protected WriteU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw); + +@protected WriteU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw); + +@protected WriteU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw); + +@protected WriteU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw); + +@protected WriteU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw); + +@protected WriteU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw); + +@protected CInt dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw); + +@protected GidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw); + +@protected PidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); + +@protected U8 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw); + +@protected UidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw); + +@protected Set dco_decode_Set_String_None(dynamic raw); + +@protected String dco_decode_String(dynamic raw); + +@protected AsyncBufReadExt dco_decode_TraitDef_AsyncBufReadExt(dynamic raw); + +@protected AsyncReadExt dco_decode_TraitDef_AsyncReadExt(dynamic raw); + +@protected AsyncSeekExt dco_decode_TraitDef_AsyncSeekExt(dynamic raw); + +@protected AsyncWriteExt dco_decode_TraitDef_AsyncWriteExt(dynamic raw); + +@protected Close dco_decode_TraitDef_Close(dynamic raw); + +@protected Commit dco_decode_TraitDef_Commit(dynamic raw); + +@protected DeleteDocument dco_decode_TraitDef_DeleteDocument(dynamic raw); + +@protected DeleteDocuments dco_decode_TraitDef_DeleteDocuments(dynamic raw); + +@protected DeleteDocumentsByQuery dco_decode_TraitDef_DeleteDocumentsByQuery(dynamic raw); + +@protected IndexDocument dco_decode_TraitDef_IndexDocument(dynamic raw); + +@protected IndexDocument2 dco_decode_TraitDef_IndexDocument2(dynamic raw); + +@protected IndexDocumentShard dco_decode_TraitDef_IndexDocumentShard(dynamic raw); + +@protected IndexDocuments dco_decode_TraitDef_IndexDocuments(dynamic raw); + +@protected IndexPdf dco_decode_TraitDef_IndexPdf(dynamic raw); + +@protected IndexPdfBytes dco_decode_TraitDef_IndexPdfBytes(dynamic raw); + +@protected IndexPdfFile dco_decode_TraitDef_IndexPdfFile(dynamic raw); + +@protected IngestCsv dco_decode_TraitDef_IngestCsv(dynamic raw); + +@protected IngestJson dco_decode_TraitDef_IngestJson(dynamic raw); + +@protected IngestPdf dco_decode_TraitDef_IngestPdf(dynamic raw); + +@protected InternalStream dco_decode_TraitDef_InternalStream(dynamic raw); + +@protected Search dco_decode_TraitDef_Search(dynamic raw); + +@protected SearchShard dco_decode_TraitDef_SearchShard(dynamic raw); + +@protected UpdateDocument dco_decode_TraitDef_UpdateDocument(dynamic raw); + +@protected UpdateDocuments dco_decode_TraitDef_UpdateDocuments(dynamic raw); + +@protected BigInt dco_decode_U128(dynamic raw); + +@protected AccessType dco_decode_access_type(dynamic raw); + +@protected bool dco_decode_bool(dynamic raw); + +@protected AHashMapStringFacet dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); + +@protected ChildStderr dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); + +@protected ChildStdin dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); + +@protected ChildStdout dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); + +@protected Error dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); + +@protected ExitStatus dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); + +@protected Highlighter dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); + +@protected Interest dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); + +@protected OwnedSemaphorePermit dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected PidT dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); + +@protected Path dco_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); + +@protected Duration dco_decode_box_autoadd_Chrono_Duration(dynamic raw); + +@protected QueryCompletion dco_decode_box_autoadd_query_completion(dynamic raw); + +@protected (BigInt,Map) dco_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); + +@protected SearchFn dco_decode_box_autoadd_search_fn(dynamic raw); + +@protected SpellingCorrection dco_decode_box_autoadd_spelling_correction(dynamic raw); + +@protected int dco_decode_box_autoadd_u_32(dynamic raw); + +@protected void dco_decode_box_autoadd_unit(dynamic raw); + +@protected BigInt dco_decode_box_autoadd_usize(dynamic raw); + +@protected CompressionType dco_decode_compression_type(dynamic raw); + +@protected DistanceField dco_decode_distance_field(dynamic raw); + +@protected DistanceUnit dco_decode_distance_unit(dynamic raw); + +@protected double dco_decode_f_32(dynamic raw); + +@protected double dco_decode_f_64(dynamic raw); + +@protected FieldType dco_decode_field_type(dynamic raw); + +@protected Highlight dco_decode_highlight(dynamic raw); + +@protected int dco_decode_i_16(dynamic raw); + +@protected int dco_decode_i_32(dynamic raw); + +@protected PlatformInt64 dco_decode_i_64(dynamic raw); + +@protected int dco_decode_i_8(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); + +@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); + +@protected List> dco_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw); + +@protected List dco_decode_list_String(dynamic raw); + +@protected List dco_decode_list_distance_field(dynamic raw); + +@protected List dco_decode_list_highlight(dynamic raw); + +@protected List dco_decode_list_prim_f_64_loose(dynamic raw); + +@protected Float64List dco_decode_list_prim_f_64_strict(dynamic raw); + +@protected Uint64List dco_decode_list_prim_u_64_strict(dynamic raw); + +@protected List dco_decode_list_prim_u_8_loose(dynamic raw); + +@protected Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); + +@protected Uint64List dco_decode_list_prim_usize_strict(dynamic raw); + +@protected List<(String,MinMaxFieldJson)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw); + +@protected List<(String,SchemaField)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw); + +@protected List<(String,Value)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw); + +@protected List<(BigInt,Map)> dco_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); + +@protected List dco_decode_list_synonym(dynamic raw); + +@protected MissedTickBehavior dco_decode_missed_tick_behavior(dynamic raw); + +@protected NgramType dco_decode_ngram_type(dynamic raw); + +@protected AHashMapStringFacet? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); + +@protected ChildStderr? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); + +@protected ChildStdin? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); + +@protected ChildStdout? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); + +@protected Error? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); + +@protected ExitStatus? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); + +@protected Highlighter? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); + +@protected Interest? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); + +@protected OwnedSemaphorePermit? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); + +@protected PidT? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); + +@protected Path? dco_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); + +@protected Duration? dco_decode_opt_box_autoadd_Chrono_Duration(dynamic raw); + +@protected QueryCompletion? dco_decode_opt_box_autoadd_query_completion(dynamic raw); + +@protected SpellingCorrection? dco_decode_opt_box_autoadd_spelling_correction(dynamic raw); + +@protected int? dco_decode_opt_box_autoadd_u_32(dynamic raw); + +@protected void? dco_decode_opt_box_autoadd_unit(dynamic raw); + +@protected BigInt? dco_decode_opt_box_autoadd_usize(dynamic raw); + +@protected Uint64List? dco_decode_opt_list_prim_usize_strict(dynamic raw); + +@protected QueryCompletion dco_decode_query_completion(dynamic raw); + +@protected QueryType dco_decode_query_type(dynamic raw); + +@protected RangeType dco_decode_range_type(dynamic raw); + +@protected (DuplexStream,DuplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(dynamic raw); + +@protected (OwnedReadHalf,OwnedWriteHalf) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(dynamic raw); + +@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(dynamic raw); + +@protected (Sender,Receiver) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(dynamic raw); + +@protected (TcpStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); + +@protected (UnixDatagram,UnixDatagram) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(dynamic raw); + +@protected (UnixStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); + +@protected (UnixStream,UnixStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(dynamic raw); + +@protected (String,MinMaxFieldJson) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw); + +@protected (String,SchemaField) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw); + +@protected (String,Value) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw); + +@protected (BigInt,Map) dco_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); + +@protected (BigInt,SocketAddr) dco_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); + +@protected ResultType dco_decode_result_type(dynamic raw); + +@protected RuntimeFlavor dco_decode_runtime_flavor(dynamic raw); + +@protected SearchFn dco_decode_search_fn(dynamic raw); + +@protected SimilarityType dco_decode_similarity_type(dynamic raw); + +@protected SortOrder dco_decode_sort_order(dynamic raw); + +@protected SpellingCorrection dco_decode_spelling_correction(dynamic raw); + +@protected StemmerType dco_decode_stemmer_type(dynamic raw); + +@protected Synonym dco_decode_synonym(dynamic raw); + +@protected TokenizerType dco_decode_tokenizer_type(dynamic raw); + +@protected TryAcquireError dco_decode_try_acquire_error(dynamic raw); + +@protected int dco_decode_u_16(dynamic raw); + +@protected int dco_decode_u_32(dynamic raw); + +@protected BigInt dco_decode_u_64(dynamic raw); + +@protected int dco_decode_u_8(dynamic raw); + +@protected void dco_decode_unit(dynamic raw); + +@protected BigInt dco_decode_usize(dynamic raw); + +@protected AnyhowException sse_decode_AnyhowException(SseDeserializer deserializer); + +@protected AHashMapStringFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); + +@protected AcquireError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer); + +@protected ArcIndex sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); + +@protected Barrier sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); + +@protected BarrierWaitResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); + +@protected Child sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); + +@protected ChildStderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); + +@protected ChildStdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); + +@protected ChildStdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); + +@protected Command sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); + +@protected DocumentItem sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer); + +@protected DuplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer); + +@protected Empty sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer); + +@protected EnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer); + +@protected Error sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); + +@protected ExitStatus sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); + +@protected FacetField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); + +@protected FacetFilter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); + +@protected FacetValue sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer); + +@protected File sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer); + +@protected FileType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer); + +@protected FillBufSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer); + +@protected FlushSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer); + +@protected FrequentwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer); + +@protected Handle sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); + +@protected Highlighter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); + +@protected Id sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer); + +@protected Index sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); + +@protected IndexMapStringVecStringUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer); + +@protected IndexMetaObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); + +@protected Instant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer); + +@protected Interest sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); + +@protected Interval sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); + +@protected IoSlice sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); + +@protected Ipv4Addr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer); + +@protected LinesSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer); + +@protected LocalEnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer); + +@protected LocalSet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); + +@protected MinMaxField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); + +@protected MinMaxFieldJson sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); + +@protected Notified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer); + +@protected Notify sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); + +@protected OpenOptions sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); + +@protected Ordering sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer); + +@protected OwnedFd sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer); + +@protected OwnedNotified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer); + +@protected OwnedPermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer); + +@protected OwnedReadHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected OwnedWriteHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); + +@protected PdfDocument sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer); + +@protected PermitIteratorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer); + +@protected PermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer); + +@protected Poll sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer); + +@protected PollInstant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer); + +@protected PollOption sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer); + +@protected PollOptionT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer); + +@protected PollRestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer); + +@protected PollResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer); + +@protected PollResultSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer); + +@protected PollResultTcpStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer); + +@protected PollResultUnixStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer); + +@protected PollResultUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer); + +@protected PollUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer); + +@protected QueryFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); + +@protected QueryRewriting sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer); + +@protected Ranges sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer); + +@protected RangeU64 sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer); + +@protected ReadF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer); + +@protected ReadF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer); + +@protected ReadF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer); + +@protected ReadF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer); + +@protected ReadHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer); + +@protected ReadI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer); + +@protected ReadI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer); + +@protected ReadI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer); + +@protected ReadI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer); + +@protected ReadI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer); + +@protected ReadI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer); + +@protected ReadI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer); + +@protected ReadI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer); + +@protected ReadI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer); + +@protected ReadU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer); + +@protected ReadU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer); + +@protected ReadU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer); + +@protected ReadU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer); + +@protected ReadU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer); + +@protected ReadU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer); + +@protected ReadU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer); + +@protected ReadU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer); + +@protected ReadU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer); + +@protected Ready sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer); + +@protected Receiver sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); + +@protected ReceiverT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); + +@protected RecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer); + +@protected RefT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer); + +@protected Repeat sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer); + +@protected RestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); + +@protected Result sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); + +@protected ResultObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); + +@protected ResultSort sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); + +@protected ReuniteError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); + +@protected Runtime sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); + +@protected RuntimeMetrics sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); + +@protected SchemaField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); + +@protected SeekFrom sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer); + +@protected SeekSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer); + +@protected Semaphore sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); + +@protected SemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer); + +@protected SendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer); + +@protected SendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer); + +@protected SendTimeoutErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer); + +@protected Sender sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); + +@protected SenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); + +@protected Shutdown sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer); + +@protected ShutdownSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer); + +@protected Signal sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); + +@protected SignalKind sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); + +@protected SimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer); + +@protected Sink sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer); + +@protected Sleep sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); + +@protected SocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); + +@protected SplitSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer); + +@protected StdCommand sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer); + +@protected Stderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer); + +@protected Stdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer); + +@protected Stdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer); + +@protected StopwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer); + +@protected T sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer); + +@protected TakeSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer); + +@protected TcpListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); + +@protected TcpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); + +@protected TcpStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); + +@protected TryCurrentError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); + +@protected TryRecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer); + +@protected TrySendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer); + +@protected TrySendErrorSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer); + +@protected TrySendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer); + +@protected UCred sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); + +@protected UdpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); + +@protected UnixDatagram sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); + +@protected UnixListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); + +@protected UnixSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer); + +@protected UnixStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); + +@protected Value sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer); + +@protected ValueType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer); + +@protected WeakSenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer); + +@protected WriteF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer); + +@protected WriteF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer); + +@protected WriteF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer); + +@protected WriteF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer); + +@protected WriteHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer); + +@protected WriteI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer); + +@protected WriteI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer); + +@protected WriteI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer); + +@protected WriteI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer); + +@protected WriteI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer); + +@protected WriteI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer); + +@protected WriteI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer); + +@protected WriteI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer); + +@protected WriteI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer); + +@protected WriteU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer); + +@protected WriteU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer); + +@protected WriteU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer); + +@protected WriteU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer); + +@protected WriteU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer); + +@protected WriteU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer); + +@protected WriteU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer); + +@protected WriteU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer); + +@protected WriteU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer); + +@protected CInt sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer); + +@protected GidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer); + +@protected PidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); + +@protected UidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer); + +@protected Child sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); + +@protected Command sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); + +@protected Context sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer); + +@protected FacetField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); + +@protected Index sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); + +@protected IndexMetaObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); + +@protected Interval sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); + +@protected IoSliceMut sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer); + +@protected MinMaxField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); + +@protected MinMaxFieldJson sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); + +@protected OpenOptions sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); + +@protected OwnedReadHalf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected ReadBuf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer); + +@protected ReceiverT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); + +@protected ResultObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); + +@protected ResultSort sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); + +@protected ReuniteError sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); + +@protected SchemaField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); + +@protected SenderT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); + +@protected Signal sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); + +@protected VecT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer); + +@protected U8 sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer); + +@protected ArcIndex sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); + +@protected Barrier sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); + +@protected BarrierWaitResult sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); + +@protected Child sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); + +@protected Command sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); + +@protected Error sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); + +@protected FacetField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); + +@protected Handle sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); + +@protected Index sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); + +@protected IndexMetaObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); + +@protected Interval sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); + +@protected Ipv6Addr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer); + +@protected LocalSet sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); + +@protected MinMaxField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); + +@protected MinMaxFieldJson sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); + +@protected Notify sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); + +@protected OwnedReadHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected OwnedWriteHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); + +@protected Path sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); + +@protected Receiver sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); + +@protected ReceiverT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); + +@protected RestoreOnPending sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); + +@protected ResultObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); + +@protected ResultSort sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); + +@protected ReuniteError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); + +@protected Runtime sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); + +@protected RuntimeMetrics sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); + +@protected SchemaField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); + +@protected Semaphore sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); + +@protected Sender sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); + +@protected SenderT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); + +@protected SignalKind sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); + +@protected Sleep sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); + +@protected SocketAddr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); + +@protected TcpListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); + +@protected TcpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); + +@protected TcpStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); + +@protected TryCurrentError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); + +@protected UCred sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); + +@protected UdpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); + +@protected UnixDatagram sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); + +@protected UnixListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); + +@protected UnixStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); + +@protected Duration sse_decode_Chrono_Duration(SseDeserializer deserializer); + +@protected BigInt sse_decode_I128(SseDeserializer deserializer); + +@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(SseDeserializer deserializer); + +@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(SseDeserializer deserializer); + +@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer); + +@protected AHashMapStringFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); + +@protected AcquireError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer); + +@protected ArcIndex sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); + +@protected Barrier sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); + +@protected BarrierWaitResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); + +@protected Child sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); + +@protected ChildStderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); + +@protected ChildStdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); + +@protected ChildStdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); + +@protected Command sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); + +@protected Context sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer); + +@protected DocumentItem sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer); + +@protected DuplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer); + +@protected Empty sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer); + +@protected EnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer); + +@protected Error sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); + +@protected ExitStatus sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); + +@protected FacetField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); + +@protected FacetFilter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); + +@protected FacetValue sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer); + +@protected File sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer); + +@protected FileType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer); + +@protected FillBufSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer); + +@protected FlushSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer); + +@protected FrequentwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer); + +@protected Handle sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); + +@protected Highlighter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); + +@protected Id sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer); + +@protected Index sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); + +@protected IndexMapStringVecStringUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer); + +@protected IndexMetaObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); + +@protected Instant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer); + +@protected Interest sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); + +@protected Interval sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); + +@protected IoSliceMut sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer); + +@protected IoSlice sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); + +@protected Ipv4Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer); + +@protected Ipv6Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer); + +@protected LinesSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer); + +@protected LocalEnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer); + +@protected LocalSet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); + +@protected MinMaxField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); + +@protected MinMaxFieldJson sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); + +@protected Notified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer); + +@protected Notify sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); + +@protected OpenOptions sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); + +@protected Ordering sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer); + +@protected OwnedFd sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer); + +@protected OwnedNotified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer); + +@protected OwnedPermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer); + +@protected OwnedReadHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected OwnedWriteHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); + +@protected Path sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); + +@protected PdfDocument sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer); + +@protected PermitIteratorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer); + +@protected PermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer); + +@protected Poll sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer); + +@protected PollInstant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer); + +@protected PollOption sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer); + +@protected PollOptionT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer); + +@protected PollRestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer); + +@protected PollResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer); + +@protected PollResultSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer); + +@protected PollResultTcpStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer); + +@protected PollResultUnixStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer); + +@protected PollResultUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer); + +@protected PollUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer); + +@protected QueryFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); + +@protected QueryRewriting sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer); + +@protected Ranges sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer); + +@protected RangeU64 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer); + +@protected ReadBuf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer); + +@protected ReadF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer); + +@protected ReadF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer); + +@protected ReadF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer); + +@protected ReadF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer); + +@protected ReadHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer); + +@protected ReadI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer); + +@protected ReadI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer); + +@protected ReadI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer); + +@protected ReadI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer); + +@protected ReadI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer); + +@protected ReadI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer); + +@protected ReadI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer); + +@protected ReadI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer); + +@protected ReadI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer); + +@protected ReadU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer); + +@protected ReadU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer); + +@protected ReadU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer); + +@protected ReadU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer); + +@protected ReadU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer); + +@protected ReadU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer); + +@protected ReadU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer); + +@protected ReadU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer); + +@protected ReadU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer); + +@protected Ready sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer); + +@protected Receiver sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); + +@protected ReceiverT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); + +@protected RecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer); + +@protected RefT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer); + +@protected Repeat sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer); + +@protected RestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); + +@protected Result sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); + +@protected ResultObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); + +@protected ResultSort sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); + +@protected ReuniteError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); + +@protected Runtime sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); + +@protected RuntimeMetrics sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); + +@protected SchemaField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); + +@protected SeekFrom sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer); + +@protected SeekSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer); + +@protected Semaphore sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); + +@protected SemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer); + +@protected SendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer); + +@protected SendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer); + +@protected SendTimeoutErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer); + +@protected Sender sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); + +@protected SenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); + +@protected Shutdown sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer); + +@protected ShutdownSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer); + +@protected Signal sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); + +@protected SignalKind sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); + +@protected SimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer); + +@protected Sink sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer); + +@protected Sleep sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); + +@protected SocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); + +@protected SplitSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer); + +@protected StdCommand sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer); + +@protected Stderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer); + +@protected Stdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer); + +@protected Stdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer); + +@protected StopwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer); + +@protected T sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer); + +@protected TakeSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer); + +@protected TcpListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); + +@protected TcpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); + +@protected TcpStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); + +@protected TryCurrentError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); + +@protected TryRecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer); + +@protected TrySendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer); + +@protected TrySendErrorSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer); + +@protected TrySendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer); + +@protected UCred sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); + +@protected UdpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); + +@protected UnixDatagram sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); + +@protected UnixListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); + +@protected UnixSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer); + +@protected UnixStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); + +@protected Value sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer); + +@protected ValueType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer); + +@protected VecT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer); + +@protected WeakSenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer); + +@protected WriteF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer); + +@protected WriteF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer); + +@protected WriteF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer); + +@protected WriteF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer); + +@protected WriteHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer); + +@protected WriteI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer); + +@protected WriteI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer); + +@protected WriteI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer); + +@protected WriteI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer); + +@protected WriteI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer); + +@protected WriteI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer); + +@protected WriteI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer); + +@protected WriteI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer); + +@protected WriteI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer); + +@protected WriteU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer); + +@protected WriteU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer); + +@protected WriteU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer); + +@protected WriteU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer); + +@protected WriteU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer); + +@protected WriteU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer); + +@protected WriteU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer); + +@protected WriteU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer); + +@protected WriteU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer); + +@protected CInt sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer); + +@protected GidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer); + +@protected PidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); + +@protected U8 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer); + +@protected UidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer); + +@protected Set sse_decode_Set_String_None(SseDeserializer deserializer); + +@protected String sse_decode_String(SseDeserializer deserializer); + +@protected BigInt sse_decode_U128(SseDeserializer deserializer); + +@protected AccessType sse_decode_access_type(SseDeserializer deserializer); + +@protected bool sse_decode_bool(SseDeserializer deserializer); + +@protected AHashMapStringFacet sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); + +@protected ChildStderr sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); + +@protected ChildStdin sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); + +@protected ChildStdout sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); + +@protected Error sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); + +@protected ExitStatus sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); + +@protected Highlighter sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); + +@protected Interest sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected PidT sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); + +@protected Path sse_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); + +@protected Duration sse_decode_box_autoadd_Chrono_Duration(SseDeserializer deserializer); + +@protected QueryCompletion sse_decode_box_autoadd_query_completion(SseDeserializer deserializer); + +@protected (BigInt,Map) sse_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); + +@protected SearchFn sse_decode_box_autoadd_search_fn(SseDeserializer deserializer); + +@protected SpellingCorrection sse_decode_box_autoadd_spelling_correction(SseDeserializer deserializer); + +@protected int sse_decode_box_autoadd_u_32(SseDeserializer deserializer); + +@protected void sse_decode_box_autoadd_unit(SseDeserializer deserializer); + +@protected BigInt sse_decode_box_autoadd_usize(SseDeserializer deserializer); + +@protected CompressionType sse_decode_compression_type(SseDeserializer deserializer); + +@protected DistanceField sse_decode_distance_field(SseDeserializer deserializer); + +@protected DistanceUnit sse_decode_distance_unit(SseDeserializer deserializer); + +@protected double sse_decode_f_32(SseDeserializer deserializer); + +@protected double sse_decode_f_64(SseDeserializer deserializer); + +@protected FieldType sse_decode_field_type(SseDeserializer deserializer); + +@protected Highlight sse_decode_highlight(SseDeserializer deserializer); + +@protected int sse_decode_i_16(SseDeserializer deserializer); + +@protected int sse_decode_i_32(SseDeserializer deserializer); + +@protected PlatformInt64 sse_decode_i_64(SseDeserializer deserializer); + +@protected int sse_decode_i_8(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); + +@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); + +@protected List> sse_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer); + +@protected List sse_decode_list_String(SseDeserializer deserializer); + +@protected List sse_decode_list_distance_field(SseDeserializer deserializer); + +@protected List sse_decode_list_highlight(SseDeserializer deserializer); + +@protected List sse_decode_list_prim_f_64_loose(SseDeserializer deserializer); + +@protected Float64List sse_decode_list_prim_f_64_strict(SseDeserializer deserializer); + +@protected Uint64List sse_decode_list_prim_u_64_strict(SseDeserializer deserializer); + +@protected List sse_decode_list_prim_u_8_loose(SseDeserializer deserializer); + +@protected Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); + +@protected Uint64List sse_decode_list_prim_usize_strict(SseDeserializer deserializer); + +@protected List<(String,MinMaxFieldJson)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer); + +@protected List<(String,SchemaField)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer); + +@protected List<(String,Value)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer); + +@protected List<(BigInt,Map)> sse_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); + +@protected List sse_decode_list_synonym(SseDeserializer deserializer); + +@protected MissedTickBehavior sse_decode_missed_tick_behavior(SseDeserializer deserializer); + +@protected NgramType sse_decode_ngram_type(SseDeserializer deserializer); + +@protected AHashMapStringFacet? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); + +@protected ChildStderr? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); + +@protected ChildStdin? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); + +@protected ChildStdout? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); + +@protected Error? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); + +@protected ExitStatus? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); + +@protected Highlighter? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); + +@protected Interest? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); + +@protected OwnedSemaphorePermit? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); + +@protected PidT? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); + +@protected Path? sse_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); + +@protected Duration? sse_decode_opt_box_autoadd_Chrono_Duration(SseDeserializer deserializer); + +@protected QueryCompletion? sse_decode_opt_box_autoadd_query_completion(SseDeserializer deserializer); + +@protected SpellingCorrection? sse_decode_opt_box_autoadd_spelling_correction(SseDeserializer deserializer); + +@protected int? sse_decode_opt_box_autoadd_u_32(SseDeserializer deserializer); + +@protected void? sse_decode_opt_box_autoadd_unit(SseDeserializer deserializer); + +@protected BigInt? sse_decode_opt_box_autoadd_usize(SseDeserializer deserializer); + +@protected Uint64List? sse_decode_opt_list_prim_usize_strict(SseDeserializer deserializer); + +@protected QueryCompletion sse_decode_query_completion(SseDeserializer deserializer); + +@protected QueryType sse_decode_query_type(SseDeserializer deserializer); + +@protected RangeType sse_decode_range_type(SseDeserializer deserializer); + +@protected (DuplexStream,DuplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(SseDeserializer deserializer); + +@protected (OwnedReadHalf,OwnedWriteHalf) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(SseDeserializer deserializer); + +@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(SseDeserializer deserializer); + +@protected (Sender,Receiver) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(SseDeserializer deserializer); + +@protected (TcpStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); + +@protected (UnixDatagram,UnixDatagram) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(SseDeserializer deserializer); + +@protected (UnixStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); + +@protected (UnixStream,UnixStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(SseDeserializer deserializer); + +@protected (String,MinMaxFieldJson) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer); + +@protected (String,SchemaField) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer); + +@protected (String,Value) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer); + +@protected (BigInt,Map) sse_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); + +@protected (BigInt,SocketAddr) sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); + +@protected ResultType sse_decode_result_type(SseDeserializer deserializer); + +@protected RuntimeFlavor sse_decode_runtime_flavor(SseDeserializer deserializer); + +@protected SearchFn sse_decode_search_fn(SseDeserializer deserializer); + +@protected SimilarityType sse_decode_similarity_type(SseDeserializer deserializer); + +@protected SortOrder sse_decode_sort_order(SseDeserializer deserializer); + +@protected SpellingCorrection sse_decode_spelling_correction(SseDeserializer deserializer); + +@protected StemmerType sse_decode_stemmer_type(SseDeserializer deserializer); + +@protected Synonym sse_decode_synonym(SseDeserializer deserializer); + +@protected TokenizerType sse_decode_tokenizer_type(SseDeserializer deserializer); + +@protected TryAcquireError sse_decode_try_acquire_error(SseDeserializer deserializer); + +@protected int sse_decode_u_16(SseDeserializer deserializer); + +@protected int sse_decode_u_32(SseDeserializer deserializer); + +@protected BigInt sse_decode_u_64(SseDeserializer deserializer); + +@protected int sse_decode_u_8(SseDeserializer deserializer); + +@protected void sse_decode_unit(SseDeserializer deserializer); + +@protected BigInt sse_decode_usize(SseDeserializer deserializer); + +@protected void sse_encode_AnyhowException(AnyhowException self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer); + +@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); + +@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); + +@protected void sse_encode_Chrono_Duration(Duration self, SseSerializer serializer); + +@protected void sse_encode_I128(BigInt self, SseSerializer serializer); + +@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(Map self, SseSerializer serializer); + +@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(Map self, SseSerializer serializer); + +@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(Map self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer); + +@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer); + +@protected void sse_encode_Set_String_None(Set self, SseSerializer serializer); + +@protected void sse_encode_String(String self, SseSerializer serializer); + +@protected void sse_encode_U128(BigInt self, SseSerializer serializer); + +@protected void sse_encode_access_type(AccessType self, SseSerializer serializer); + +@protected void sse_encode_bool(bool self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_Chrono_Duration(Duration self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_query_completion(QueryCompletion self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_search_fn(SearchFn self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_spelling_correction(SpellingCorrection self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_u_32(int self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_unit(void self, SseSerializer serializer); + +@protected void sse_encode_box_autoadd_usize(BigInt self, SseSerializer serializer); + +@protected void sse_encode_compression_type(CompressionType self, SseSerializer serializer); + +@protected void sse_encode_distance_field(DistanceField self, SseSerializer serializer); + +@protected void sse_encode_distance_unit(DistanceUnit self, SseSerializer serializer); + +@protected void sse_encode_f_32(double self, SseSerializer serializer); + +@protected void sse_encode_f_64(double self, SseSerializer serializer); + +@protected void sse_encode_field_type(FieldType self, SseSerializer serializer); + +@protected void sse_encode_highlight(Highlight self, SseSerializer serializer); + +@protected void sse_encode_i_16(int self, SseSerializer serializer); + +@protected void sse_encode_i_32(int self, SseSerializer serializer); + +@protected void sse_encode_i_64(PlatformInt64 self, SseSerializer serializer); + +@protected void sse_encode_i_8(int self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(List self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(List self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(List self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(List self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(List self, SseSerializer serializer); + +@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(List self, SseSerializer serializer); + +@protected void sse_encode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(List> self, SseSerializer serializer); + +@protected void sse_encode_list_String(List self, SseSerializer serializer); + +@protected void sse_encode_list_distance_field(List self, SseSerializer serializer); + +@protected void sse_encode_list_highlight(List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_f_64_loose(List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_f_64_strict(Float64List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_u_64_strict(Uint64List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_u_8_loose(List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_u_8_strict(Uint8List self, SseSerializer serializer); + +@protected void sse_encode_list_prim_usize_strict(Uint64List self, SseSerializer serializer); + +@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(List<(String,MinMaxFieldJson)> self, SseSerializer serializer); + +@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(List<(String,SchemaField)> self, SseSerializer serializer); + +@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(List<(String,Value)> self, SseSerializer serializer); + +@protected void sse_encode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(List<(BigInt,Map)> self, SseSerializer serializer); + +@protected void sse_encode_list_synonym(List self, SseSerializer serializer); + +@protected void sse_encode_missed_tick_behavior(MissedTickBehavior self, SseSerializer serializer); + +@protected void sse_encode_ngram_type(NgramType self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_Chrono_Duration(Duration? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_query_completion(QueryCompletion? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_spelling_correction(SpellingCorrection? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_u_32(int? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_unit(void? self, SseSerializer serializer); + +@protected void sse_encode_opt_box_autoadd_usize(BigInt? self, SseSerializer serializer); + +@protected void sse_encode_opt_list_prim_usize_strict(Uint64List? self, SseSerializer serializer); + +@protected void sse_encode_query_completion(QueryCompletion self, SseSerializer serializer); + +@protected void sse_encode_query_type(QueryType self, SseSerializer serializer); + +@protected void sse_encode_range_type(RangeType self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream((DuplexStream,DuplexStream) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half((OwnedReadHalf,OwnedWriteHalf) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream((ReadHalfSimplexStream,WriteHalfSimplexStream) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver((Sender,Receiver) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((TcpStream,SocketAddr) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram((UnixDatagram,UnixDatagram) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((UnixStream,SocketAddr) self, SseSerializer serializer); + +@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream((UnixStream,UnixStream) self, SseSerializer serializer); + +@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json((String,MinMaxFieldJson) self, SseSerializer serializer); + +@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field((String,SchemaField) self, SseSerializer serializer); + +@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value((String,Value) self, SseSerializer serializer); + +@protected void sse_encode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer); + +@protected void sse_encode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((BigInt,SocketAddr) self, SseSerializer serializer); + +@protected void sse_encode_result_type(ResultType self, SseSerializer serializer); + +@protected void sse_encode_runtime_flavor(RuntimeFlavor self, SseSerializer serializer); + +@protected void sse_encode_search_fn(SearchFn self, SseSerializer serializer); + +@protected void sse_encode_similarity_type(SimilarityType self, SseSerializer serializer); + +@protected void sse_encode_sort_order(SortOrder self, SseSerializer serializer); + +@protected void sse_encode_spelling_correction(SpellingCorrection self, SseSerializer serializer); + +@protected void sse_encode_stemmer_type(StemmerType self, SseSerializer serializer); + +@protected void sse_encode_synonym(Synonym self, SseSerializer serializer); + +@protected void sse_encode_tokenizer_type(TokenizerType self, SseSerializer serializer); + +@protected void sse_encode_try_acquire_error(TryAcquireError self, SseSerializer serializer); + +@protected void sse_encode_u_16(int self, SseSerializer serializer); + +@protected void sse_encode_u_32(int self, SseSerializer serializer); + +@protected void sse_encode_u_64(BigInt self, SseSerializer serializer); + +@protected void sse_encode_u_8(int self, SseSerializer serializer); + +@protected void sse_encode_unit(void self, SseSerializer serializer); + +@protected void sse_encode_usize(BigInt self, SseSerializer serializer); + } + + + +// Section: wire_class + +class RustLibWire implements BaseWire { + RustLibWire.fromExternalLibrary(ExternalLibrary lib); + + void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(ptr); + +void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(ptr); + +void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(ptr); + } + @JS('wasm_bindgen') external RustLibWasmModule get wasmModule; + + @JS() @anonymous extension type RustLibWasmModule._(JSObject _) implements JSObject { + external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(int ptr); + +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(int ptr); + +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(int ptr); -@JS('wasm_bindgen') -external RustLibWasmModule get wasmModule; +external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(int ptr); -@JS() -@anonymous -extension type RustLibWasmModule._(JSObject _) implements JSObject {} +external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(int ptr); + } + \ No newline at end of file diff --git a/mobile_app/lib/src/rust/lib.dart b/mobile_app/lib/src/rust/lib.dart new file mode 100644 index 0000000..9d5f928 --- /dev/null +++ b/mobile_app/lib/src/rust/lib.dart @@ -0,0 +1,79 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import 'frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// Rust type: RustOpaqueMoi>> +abstract class AHashMapStringFacet implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi >>> +abstract class ArcIndex implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class ExitStatus implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class File implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi , usize) >>> +abstract class IndexMapStringVecStringUsize implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Instant implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Ipv4Addr implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Ipv6Addr implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class Notified implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class OwnedNotified implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class OwnedPermitT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Path implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class PermitIteratorT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class PermitT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadBuf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Result implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class StdCommand implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class T implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Value implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class CInt implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class GidT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class PidT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class U8 implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class UidT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/commit.dart b/mobile_app/lib/src/rust/third_party/seekstorm/commit.dart new file mode 100644 index 0000000..59093da --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/commit.dart @@ -0,0 +1,31 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `commit` + +abstract class Commit { + /// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM + /// to the final compressed data structure (roaring bitmap) on Mmap or disk - + /// which is persistent, more compact, with lower query latency and allows search with realtime=false. + /// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). + /// There is no way to prevent this automatic commit by not manually invoking it. + /// But commit can also be invoked manually at any time at any number of newly indexed documents. + /// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability + /// is invoked implicitly with every index_doc, + /// i.e. the document can immediately searched and included in the search results + /// if it matches the query AND the query paramter realtime=true is enabled. + /// **Use commit with caution, as it is an expensive operation**. + /// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. + /// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. + /// There are only 2 reasons that justify a manual commit: + /// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or + /// 2. if after indexing new documents there won't be more documents indexed (for some time), + /// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, + /// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. + Future commit(); +} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart b/mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart new file mode 100644 index 0000000..9447d2b --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart @@ -0,0 +1,52 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'index.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'search.dart'; + +/// encode 2D-coordinate (lat/lon) into 64-bit Morton code +/// This method is lossy/quantized as two f64 coordinate values are mapped to a single u64 Morton code! +/// The z-value of a point in multidimensions is simply calculated by interleaving the binary representations of its coordinate values. +Future encodeMorton2D({required List point}) => + RustLib.instance.api.seekstormGeoSearchEncodeMorton2D(point: point); + +/// decode 64-bit Morton code into 2D-coordinate (lat/lon) +/// This method is lossy/quantized as a single u64 Morton code is converted to two f64 coordinate values! +Future decodeMorton2D({required BigInt code}) => + RustLib.instance.api.seekstormGeoSearchDecodeMorton2D(code: code); + +/// Comparison of the distances between two morton encoded positions and a base position +Future mortonOrdering( + {required BigInt morton1, + required BigInt morton2, + required List basePoint, + required SortOrder order}) => + RustLib.instance.api.seekstormGeoSearchMortonOrdering( + morton1: morton1, morton2: morton2, basePoint: basePoint, order: order); + +/// calculates distance in kilometers or miles between two 2D-coordinates using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. +Future euclidianDistance( + {required List point1, + required List point2, + required DistanceUnit unit}) => + RustLib.instance.api.seekstormGeoSearchEuclidianDistance( + point1: point1, point2: point2, unit: unit); + +/// Converts a Point and a distance radius into a range of morton_codes for geo search range filtering. +/// The conversion is lossy due to coordinate to Morton code rounding errors and Equirectangular approximation of Euclidian distance. +Future pointDistanceToMortonRange( + {required List point, + required double distance, + required DistanceUnit unit}) => + RustLib.instance.api.seekstormGeoSearchPointDistanceToMortonRange( + point: point, distance: distance, unit: unit); + +// Rust type: RustOpaqueMoi> +abstract class Ordering implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class RangeU64 implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart b/mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart new file mode 100644 index 0000000..cb10c4a --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart @@ -0,0 +1,89 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Fragment` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `compose`, `fmt`, `fmt`, `name`, `schemas` + +/// Returns the Highlighter object used as get_document parameter for highlighting fields in documents +Future highlighter( + {required ArcIndex indexArc, + required List highlights, + required List queryTermsVec}) => + RustLib.instance.api.seekstormHighlighterHighlighter( + indexArc: indexArc, + highlights: highlights, + queryTermsVec: queryTermsVec); + +// Rust type: RustOpaqueMoi> +abstract class Highlighter implements RustOpaqueInterface {} + +/// Specifies the number and size of fragments (snippets, summaries) to generate from each specified field to provide a "keyword in context" (KWIC) functionality. +/// With highlight_markup the matching query terms within the fragments can be highlighted with HTML markup. +class Highlight { + /// Specifies the field from which the fragments (snippets, summaries) are created. + final String field; + + /// Allows to specifiy multiple highlight result fields from the same source field, leaving the original field intact, + /// Default: if name is empty then field is used instead, i.e the original field is overwritten with the highlight. + final String name; + + /// If 0/default then return the full original text without fragmenting. + final BigInt fragmentNumber; + + /// Specifies the length of a highlight fragment. + /// The default 0 returns the full original text without truncating, but still with highlighting if highlight_markup is enabled. + final BigInt fragmentSize; + + /// if true, the matching query terms within the fragments are highlighted with HTML markup **\term\<\/b\>**. + final bool highlightMarkup; + + /// Specifies the markup tags to insert **before** each highlighted term (e.g. \"\\" or \"\\"). This can be any string, but is most often an HTML or XML tag. + /// Only used when **highlight_markup** is set to true. + final String preTags; + + /// Specifies the markup tags to insert **after** each highlighted term. (e.g. \"\<\/b\>\" or \"\<\/em\>\"). This can be any string, but is most often an HTML or XML tag. + /// Only used when **highlight_markup** is set to true. + final String postTags; + + const Highlight({ + required this.field, + required this.name, + required this.fragmentNumber, + required this.fragmentSize, + required this.highlightMarkup, + required this.preTags, + required this.postTags, + }); + + static Future default_() => + RustLib.instance.api.seekstormHighlighterHighlightDefault(); + + @override + int get hashCode => + field.hashCode ^ + name.hashCode ^ + fragmentNumber.hashCode ^ + fragmentSize.hashCode ^ + highlightMarkup.hashCode ^ + preTags.hashCode ^ + postTags.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is Highlight && + runtimeType == other.runtimeType && + field == other.field && + name == other.name && + fragmentNumber == other.fragmentNumber && + fragmentSize == other.fragmentSize && + highlightMarkup == other.highlightMarkup && + preTags == other.preTags && + postTags == other.postTags; +} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/index.dart b/mobile_app/lib/src/rust/third_party/seekstorm/index.dart new file mode 100644 index 0000000..91550b6 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/index.dart @@ -0,0 +1,857 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'highlighter.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'search.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `BlockObjectIndex`, `IndexedField`, `LevelIndex`, `NgramSet`, `NonUniquePostingListObjectQuery`, `NonUniqueTermObject`, `PostingListObject0`, `PostingListObjectIndex`, `PostingListObjectQuery`, `QueueObject`, `ResultFacet`, `SegmentIndex`, `SegmentLevel0`, `Shard`, `TermObject` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas` +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `close`, `delete_document`, `delete_documents_by_query`, `delete_documents`, `index_document_2`, `index_document_shard`, `index_document`, `index_documents`, `update_document`, `update_documents` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `default`, `default`, `default`, `default`, `default`, `default`, `default`, `default` + +/// Get the version of the SeekStorm search library +Future version() => RustLib.instance.api.seekstormIndexVersion(); + +/// Create index in RAM. +/// Inner data structures for create index and open_index +/// * `index_path` - index path. +/// * `meta` - index meta object. +/// * `schema` - schema. +/// * `synonyms` - vector of synonyms. +/// * `segment_number_bits1` - number of index segments: e.g. 11 bits for 2048 segments. +/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). +/// * `force_shard_number` - set number of shards manually or automatically. +/// - none: number of shards is set automatically = number of physical processor cores (default) +/// - small: slower indexing, higher latency, slightly higher throughput, faster realtime search, lower RAM consumption +/// - large: faster indexing, lower latency, slightly lower throughput, slower realtime search, higher RAM consumption +Future createIndex( + {required Path indexPath, + required IndexMetaObject meta, + required List schema, + required List synonyms, + required BigInt segmentNumberBits1, + required bool mute, + BigInt? forceShardNumber}) => + RustLib.instance.api.seekstormIndexCreateIndex( + indexPath: indexPath, + meta: meta, + schema: schema, + synonyms: synonyms, + segmentNumberBits1: segmentNumberBits1, + mute: mute, + forceShardNumber: forceShardNumber); + +/// Loads the index from disk into RAM or MMAP. +/// * `index_path` - index path. +/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). +Future openIndex({required Path indexPath, required bool mute}) => + RustLib.instance.api + .seekstormIndexOpenIndex(indexPath: indexPath, mute: mute); + +// Rust type: RustOpaqueMoi> +abstract class DocumentItem implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class FacetField implements RustOpaqueInterface { + ValueType get max; + + ValueType get min; + + String get name; + + IndexMapStringVecStringUsize get values; + + set max(ValueType max); + + set min(ValueType min); + + set name(String name); + + set values(IndexMapStringVecStringUsize values); + + static Future default_() => + RustLib.instance.api.seekstormIndexFacetFieldDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class FileType implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class FrequentwordType implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormIndexFrequentwordTypeDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class Index implements RustOpaqueInterface { + /// Add/append/update/merge synonyms in index + /// Affects only subsequently indexed documents + Future addSynonyms({required List synonyms}); + + int get indexFormatVersionMajor; + + int get indexFormatVersionMinor; + + IndexMetaObject get meta; + + Map get schemaMap; + + List get storedFieldNames; + + set indexFormatVersionMajor(int indexFormatVersionMajor); + + set indexFormatVersionMinor(int indexFormatVersionMinor); + + set meta(IndexMetaObject meta); + + set schemaMap(Map schemaMap); + + set storedFieldNames(List storedFieldNames); + + /// Reset index to empty, while maintaining schema + Future clearIndex(); + + /// Get number of indexed documents. + Future committedDocCount(); + + /// Current document count: indexed document count - deleted document count + Future currentDocCount(); + + /// Delete index from disc and ram + Future deleteIndex(); + + /// Get number of facets defined in the index schema. + Future facetsCount(); + + /// Get document for document id + /// Arguments: + /// * `doc_id`: Specifies which document to load from the document store of the index. + /// * `include_uncommited`: Return also documents which have not yet been committed. + /// * `highlighter_option`: Specifies the extraction of keyword-in-context (KWIC) fragments from fields in documents, and the highlighting of the query terms within. + /// * `fields`: Specifies which of the stored fields to return with each document. Default: If empty return all stored fields + /// * `distance_fields`: insert distance fields into result documents, calculating the distance between a specified facet field of type Point and a base Point, in kilometers or miles. + /// using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. + Future> getDocument( + {required BigInt docId, + required bool includeUncommited, + Highlighter? highlighterOption, + required Set fields, + required List distanceFields}); + + /// get_facet_value: Returns value from facet field for a doc_id even if schema stored=false (field not stored in document JSON). + /// Facet fields are more compact than fields stored in document JSON. + /// Strings are stored more compact as indices to a unique term dictionary. Numbers are stored binary, not as strings. + /// Facet fields are faster because no document loading, decompression and JSON decoding is required. + /// Facet fields are always memory mapped, internally always stored with fixed byte length layout, regardless of string size. + Future getFacetValue( + {required String field, required BigInt docId}); + + /// Get file for document id + /// Arguments: + /// * `doc_id`: Specifies which document to load from the document store of the index. + /// + /// Returns: + /// * `Vec`: The file content as a byte vector. + /// + Future getFile({required BigInt docId}); + + /// get_index_string_facets: list of string facet fields, each with field name and a map of unique values and their count (number of times the specific value appears in the whole index). + /// values are sorted by their occurrence count within all indexed documents in descending order + /// * `query_facets`: Must be set if facet fields should be returned in get_index_facets. If set to Vec::new() then no facet fields are returned. + /// The prefix property of a QueryFacet allows to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. + /// The length property of a QueryFacet allows limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. + /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are returned. + /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. + /// Example: query_facets = vec![QueryFacet::String16 {field: "language".to_string(),prefix: "ger".to_string(),length: 5},QueryFacet::String16 {field: "brand".to_string(),prefix: "a".to_string(),length: 5}]; + Future getIndexStringFacets( + {required List queryFacets}); + + /// Get synonyms from index + Future> getSynonyms(); + + /// get_index_facets_minmax: return map of numeric facet fields, each with field name and min/max values. + Future> indexFacetsMinmax(); + + /// Get number of indexed documents. + Future indexedDocCount(); + + /// Get number of index levels. One index level comprises 64K documents. + Future levelCount(); + + /// Set/replace/overwrite synonyms in index + /// Affects only subsequently indexed documents + Future setSynonyms({required List synonyms}); + + /// Get number of index shards. + Future shardCount(); + + /// are there uncommited documents? + Future uncommittedDocCount(); +} + +// Rust type: RustOpaqueMoi> +abstract class IndexMetaObject implements RustOpaqueInterface { + AccessType get accessType; + + FrequentwordType get frequentWords; + + BigInt get id; + + String get name; + + int get ngramIndexing; + + QueryCompletion? get queryCompletion; + + SimilarityType get similarity; + + SpellingCorrection? get spellingCorrection; + + StemmerType get stemmer; + + StopwordType get stopWords; + + TokenizerType get tokenizer; + + set accessType(AccessType accessType); + + set frequentWords(FrequentwordType frequentWords); + + set id(BigInt id); + + set name(String name); + + set ngramIndexing(int ngramIndexing); + + set queryCompletion(QueryCompletion? queryCompletion); + + set similarity(SimilarityType similarity); + + set spellingCorrection(SpellingCorrection? spellingCorrection); + + set stemmer(StemmerType stemmer); + + set stopWords(StopwordType stopWords); + + set tokenizer(TokenizerType tokenizer); +} + +// Rust type: RustOpaqueMoi> +abstract class MinMaxField implements RustOpaqueInterface { + ValueType get max; + + ValueType get min; + + set max(ValueType max); + + set min(ValueType min); + + static Future default_() => + RustLib.instance.api.seekstormIndexMinMaxFieldDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class MinMaxFieldJson implements RustOpaqueInterface { + Value get max; + + Value get min; + + set max(Value max); + + set min(Value min); + + static Future default_() => + RustLib.instance.api.seekstormIndexMinMaxFieldJsonDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class SchemaField implements RustOpaqueInterface { + double get boost; + + bool get completionSource; + + bool get dictionarySource; + + bool get facet; + + String get field; + + FieldType get fieldType; + + bool get indexed; + + bool get longest; + + bool get stored; + + set boost(double boost); + + set completionSource(bool completionSource); + + set dictionarySource(bool dictionarySource); + + set facet(bool facet); + + set field(String field); + + set fieldType(FieldType fieldType); + + set indexed(bool indexed); + + set longest(bool longest); + + set stored(bool stored); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a new SchemaField. + /// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. + /// # Parameters + /// - field: unique name of a field + /// - stored: only stored fields are returned in the search results + /// - indexed: only indexed fields can be searched + /// - field_type: type of a field: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point + /// - facet: enable faceting for a field: for sorting results by field values, for range filtering, for result count per field value or range + /// - `longest`: This allows to annotate (manually set) the longest field in schema. + /// Otherwise the longest field will be automatically detected in first index_document. + /// Setting/detecting the longest field ensures efficient index encoding. + /// - boost: optional custom weight factor for Bm25 ranking + /// # Returns + /// - SchemaField + /// # Example + /// ```rust + /// use seekstorm::index::{SchemaField, FieldType}; + /// let schema_field = SchemaField::new("title".to_string(), true, true, FieldType::String16, false, false, 1.0, false, false); + /// ``` + static Future newInstance( + {required String field, + required bool stored, + required bool indexed, + required FieldType fieldType, + required bool facet, + required bool longest, + required double boost, + required bool dictionarySource, + required bool completionSource}) => + RustLib.instance.api.seekstormIndexSchemaFieldNew( + field: field, + stored: stored, + indexed: indexed, + fieldType: fieldType, + facet: facet, + longest: longest, + boost: boost, + dictionarySource: dictionarySource, + completionSource: completionSource); +} + +// Rust type: RustOpaqueMoi> +abstract class StopwordType implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormIndexStopwordTypeDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class ValueType implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormIndexValueTypeDefault(); +} + +abstract class Close { + /// Remove index from RAM (Reverse of open_index) + Future close(); +} + +abstract class DeleteDocument { + /// Delete document from index by document id + Future deleteDocument({required BigInt docid}); +} + +abstract class DeleteDocuments { + /// Delete documents from index by document id + Future deleteDocuments({required Uint64List docidVec}); +} + +abstract class DeleteDocumentsByQuery { + /// Delete documents from index by query + /// Delete and search have identical parameters. + /// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. + Future deleteDocumentsByQuery( + {required String queryString, + required QueryType queryTypeDefault, + required BigInt offset, + required BigInt length, + required bool includeUncommited, + required List fieldFilter, + required List facetFilter, + required List resultSort}); +} + +abstract class IndexDocument { + /// Indexes a single document + /// May block, if the threshold of documents indexed in parallel is exceeded. + Future indexDocument( + {required Map document, required FileType file}); +} + +abstract class IndexDocument2 { + Future indexDocument2( + {required DocumentItem documentItem, required FileType file}); +} + +abstract class IndexDocumentShard { + /// Indexes a single document + /// May block, if the threshold of documents indexed in parallel is exceeded. + Future indexDocumentShard( + {required Map document, required FileType file}); +} + +abstract class IndexDocuments { + /// Indexes a list of documents + /// May block, if the threshold of documents indexed in parallel is exceeded. + Future indexDocuments({required List> documentVec}); +} + +abstract class UpdateDocument { + /// Update document in index + /// Update_document is a combination of delete_document and index_document. + /// All current limitations of delete_document apply. + Future updateDocument( + {required (BigInt, Map) idDocument}); +} + +abstract class UpdateDocuments { + /// Update documents in index + /// Update_document is a combination of delete_document and index_document. + /// All current limitations of delete_document apply. + Future updateDocuments( + {required List<(BigInt, Map)> idDocumentVec}); +} + +/// Defines where the index resides during search: +/// - Ram (the complete index is preloaded to Ram when opening the index) +/// - Mmap (the index is accessed via memory-mapped files). See architecture.md for details. +/// - At commit the data is serialized to disk for persistence both in Ram and Mmap mode. +/// - The serialization format is identical for Ram and Mmap mode, allowing to change it retrospectively. +enum AccessType { + /// Ram (the complete index is preloaded to Ram when opening the index). + /// - Index size is limited by available RAM size. + /// - Slightly fastesr search speed. + /// - Higher index loading time. + /// - Higher RAM usage. + ram, + + /// Mmap (the index is accessed via memory-mapped files). See architecture.md for details. + /// - Enables index size scaling beyond RAM size. + /// - Slightly slower search speed compared to Ram. + /// - Faster index loading time compared to Ram. + /// - Lower RAM usage. + mmap, + ; +} + +/// Type of posting list compression. +enum CompressionType { + delta, + array, + bitmap, + rle, + error, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexCompressionTypeDefault(); +} + +/// DistanceField defines a field for proximity search. +class DistanceField { + /// field name of a numeric facet field (currently onyl Point field type supported) + final String field; + + /// field name of the distance field we are deriving from the numeric facet field (Point type) and the base (Point type) + final String distance; + + /// base point (lat,lon) for distance calculation + final Float64List base; + + /// distance unit for the distance field: kilometers or miles + final DistanceUnit unit; + + const DistanceField({ + required this.field, + required this.distance, + required this.base, + required this.unit, + }); + + static Future default_() => + RustLib.instance.api.seekstormIndexDistanceFieldDefault(); + + @override + int get hashCode => + field.hashCode ^ distance.hashCode ^ base.hashCode ^ unit.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is DistanceField && + runtimeType == other.runtimeType && + field == other.field && + distance == other.distance && + base == other.base && + unit == other.unit; +} + +/// DistanceUnit defines the unit for distance calculation: kilometers or miles. +enum DistanceUnit { + /// Kilometers + kilometers, + + /// Miles + miles, + ; +} + +/// FieldType defines the type of a field in the document: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point, string, stringset, text. +enum FieldType { + /// Unsigned 8-bit integer + u8, + + /// Unsigned 16-bit integer + u16, + + /// Unsigned 32-bit integer + u32, + + /// Unsigned 64-bit integer + u64, + + /// Signed 8-bit integer + i8, + + /// Signed 16-bit integer + i16, + + /// Signed 32-bit integer + i32, + + /// Signed 64-bit integer + i64, + + /// Timestamp is identical to I64, but to be used for Unix timestamps . + /// The reason for a separate FieldType is to enable the UI to interpret I64 as timestamp without using the field name as indicator. + /// For date facets and filtering. + timestamp, + + /// Floating point 32-bit + f32, + + /// Floating point 64-bit + f64, + + /// Boolean + bool, + + /// String16 + /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. + string16, + + /// String32 + /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values + string32, + + /// StringSet16 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. + /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. + stringSet16, + + /// StringSet32 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. + /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values + stringSet32, + + /// Point is a geographic field type: A `Vec` with two coordinate values (latitude and longitude) are internally encoded into a single u64 value (Morton code). + /// Morton codes enable efficient range queries. + /// Latitude and longitude are a pair of numbers (coordinates) used to describe a position on the plane of a geographic coordinate system. + /// The numbers are in decimal degrees format and range from -90 to 90 for latitude and -180 to 180 for longitude. + /// Coordinates are internally stored as u64 morton code: both f64 values are multiplied by 10_000_000, converted to i32 and bitwise interleaved into a single u64 morton code + /// The conversion between longitude/latitude coordinates and Morton code is lossy due to rounding errors. + point, + + /// Text is a text field, that will be tokenized by the selected Tokenizer into string tokens. + text, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexFieldTypeDefault(); +} + +enum NgramType { + /// no n-grams, only single terms are indexed + singleTerm, + + /// Ngram frequent frequent + ngramFf, + + /// Ngram frequent rare + ngramFr, + + /// Ngram rare frequent + ngramRf, + + /// Ngram frequent frequent frequent + ngramFff, + + /// Ngram rare frequent frequent + ngramRff, + + /// Ngram frequent frequent rare + ngramFfr, + + /// Ngram frequent rare frequent + ngramFrf, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexNgramTypeDefault(); +} + +/// Defines spelling correction (fuzzy search) settings for an index. +class QueryCompletion { + /// Maximum number of completions to generate during indexing + /// disabled if == 0 + final BigInt maxCompletionEntries; + + const QueryCompletion({ + required this.maxCompletionEntries, + }); + + @override + int get hashCode => maxCompletionEntries.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is QueryCompletion && + runtimeType == other.runtimeType && + maxCompletionEntries == other.maxCompletionEntries; +} + +/// Similarity type defines the scoring and ranking of the search results: +/// - Bm25f: considers documents composed from several fields, with different field lengths and importance +/// - Bm25fProximity: considers term proximity, e.g. for implicit phrase search with improved relevancy +enum SimilarityType { + /// Bm25f considers documents composed from several fields, with different field lengths and importance + bm25F, + + /// Bm25fProximity considers term proximity, e.g. for implicit phrase search with improved relevancy + bm25FProximity, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexSimilarityTypeDefault(); +} + +/// Defines spelling correction (fuzzy search) settings for an index. +class SpellingCorrection { + /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. + final BigInt maxDictionaryEditDistance; + + /// Term length thresholds for each edit distance. + /// None: max_dictionary_edit_distance for all terms lengths + /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, + /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 + final Uint64List? termLengthThreshold; + + /// The minimum frequency count for dictionary words to be considered eligible for spelling correction. + /// Depends on the corpus size, 1..20 recommended. + /// If count_threshold is too high, some correct words might be missed from the dictionary and deemed misspelled, + /// if count_threshold is too low, some misspelled words from the corpus might be considered correct and added to the dictionary. + /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold), + /// but the terms below count_threshold will be included in dictionary.csv too. + final BigInt countThreshold; + + /// Limits the maximum number of dictionary entries (terms >= count_threshold) to generate during indexing, preventing excessive RAM consumption. + /// The number of terms in dictionary.csv will be higher, because it contains also the terms < count_threshold, to become eligible in the future during incremental dictionary updates. + /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold). + /// ⚠️ Above this threshold no new terms are added to the dictionary, causing them to be deemed incorrect during spelling correction and possibly changed to similar terms that are in the dictionary. + final BigInt maxDictionaryEntries; + + const SpellingCorrection({ + required this.maxDictionaryEditDistance, + this.termLengthThreshold, + required this.countThreshold, + required this.maxDictionaryEntries, + }); + + @override + int get hashCode => + maxDictionaryEditDistance.hashCode ^ + termLengthThreshold.hashCode ^ + countThreshold.hashCode ^ + maxDictionaryEntries.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is SpellingCorrection && + runtimeType == other.runtimeType && + maxDictionaryEditDistance == other.maxDictionaryEditDistance && + termLengthThreshold == other.termLengthThreshold && + countThreshold == other.countThreshold && + maxDictionaryEntries == other.maxDictionaryEntries; +} + +/// Defines stemming behavior, reducing inflected words to their word stem, base or root form. +/// Stemming increases recall, but decreases precision. It can introduce false positive results. +enum StemmerType { + /// No stemming + none, + + /// Arabic stemmer + arabic, + + /// Danish stemmer + danish, + + /// Dutch stemmer + dutch, + + /// English stemmer + english, + + /// Finnish stemmer + finnish, + + /// French stemmer + french, + + /// German stemmer + german, + + /// Hungarian stemmer + greek, + + /// Hungarian stemmer + hungarian, + + /// Italian stemmer + italian, + + /// Norwegian stemmer + norwegian, + + /// Portuguese stemmer + portuguese, + + /// Romanian stemmer + romanian, + + /// Russian stemmer + russian, + + /// Spanish stemmer + spanish, + + /// Swedish stemmer + swedish, + + /// Tamil stemmer + tamil, + + /// Turkish stemmer + turkish, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexStemmerTypeDefault(); +} + +/// Defines synonyms for terms per index. +class Synonym { + /// List of terms that are synonyms. + final List terms; + + /// Creates alternative versions of documents where in each copy a term is replaced with one of its synonyms. + /// Doesn't impact the query latency, but does increase the index size. + /// Multi-way synonyms (default): all terms are synonyms of each other. + /// One-way synonyms: only the first term is a synonym of the following terms, but not vice versa. + /// E.g. [street, avenue, road] will result in searches for street to return documents containing any of the terms street, avenue or road, + /// but searches for avenue will only return documents containing avenue, but not documents containing street or road. + /// Currently only single terms without spaces are supported. + /// Synonyms are supported in result highlighting. + /// The synonyms that were created with the synonyms parameter in create_index are stored in synonyms.json in the index directory contains + /// Can be manually modified, but becomes effective only after restart and only for newly indexed documents. + final bool multiway; + + const Synonym({ + required this.terms, + required this.multiway, + }); + + @override + int get hashCode => terms.hashCode ^ multiway.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is Synonym && + runtimeType == other.runtimeType && + terms == other.terms && + multiway == other.multiway; +} + +/// Defines tokenizer behavior: +/// AsciiAlphabetic +/// - Mainly for for benchmark compatibility +/// - Only ASCII alphabetic chars are recognized as token. +/// +/// UnicodeAlphanumeric +/// - All Unicode alphanumeric chars are recognized as token. +/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. +/// +/// UnicodeAlphanumericFolded +/// - All Unicode alphanumeric chars are recognized as token. +/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. +/// - Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. +/// - Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). +/// - Tokenizing might be slower due to folding and apostroph processing. +/// +/// UnicodeAlphanumericZH +/// - Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. +/// - Supports mixed Latin and Chinese texts +/// - Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. +/// - Requires feature #[cfg(feature = "zh")] +enum TokenizerType { + /// Only ASCII alphabetic chars are recognized as token. Mainly for benchmark compatibility. + asciiAlphabetic, + + /// All Unicode alphanumeric chars are recognized as token. + /// Allow '+' '-' '#' in middle or end of a token: c++, c#, block-max. + unicodeAlphanumeric, + + /// All Unicode alphanumeric chars are recognized as token. + /// Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. + /// Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. + /// Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). + /// Tokenizing might be slower due to folding and apostroph processing. + unicodeAlphanumericFolded, + + /// Tokens are separated by whitespace. Mainly for benchmark compatibility. + whitespace, + + /// Tokens are separated by whitespace. Token are converted to lowercase. Mainly for benchmark compatibility. + whitespaceLowercase, + + /// Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. + /// Supports mixed Latin and Chinese texts + /// Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. + /// Requires feature #[cfg(feature = "zh")] + unicodeAlphanumericZh, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexTokenizerTypeDefault(); +} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart b/mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart new file mode 100644 index 0000000..ddfead1 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart @@ -0,0 +1,83 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'index.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `pdfium_option` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `deref`, `initialize` +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `index_pdf_bytes`, `index_pdf_file`, `index_pdf`, `ingest_csv`, `ingest_json`, `ingest_pdf` + +// Rust type: RustOpaqueMoi>> +abstract class PdfDocument implements RustOpaqueInterface {} + +abstract class IndexPdf { + Future indexPdf( + {required Path filePath, + required BigInt fileSize, + required PlatformInt64 fileDate, + required FileType file, + required PdfDocument pdf}); +} + +abstract class IndexPdfBytes { + /// Index PDF file from byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - Path to the file (fallback, if title and date can't be extracted) + /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) + /// * `file_bytes` - Byte array of the file + Future indexPdfBytes( + {required Path filePath, + required PlatformInt64 fileDate, + required List fileBytes}); +} + +abstract class IndexPdfFile { + /// Index PDF file from local disk. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - Path to the file + /// # Returns + /// * `Result<(), String>` - Ok(()) or Err(String) + Future indexPdfFile({required Path filePath}); +} + +abstract class IngestCsv { + /// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + Future ingestCsv( + {required Path dataPath, + required bool hasHeader, + required bool quoting, + required int delimiter, + BigInt? skipDocs, + BigInt? numDocs}); +} + +abstract class IngestJson { + /// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + Future ingestJson({required Path dataPath}); +} + +abstract class IngestPdf { + /// Index PDF files from local disk directory and sub-directories or from file. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - Path to the file + Future ingestPdf({required Path filePath}); +} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/search.dart b/mobile_app/lib/src/rust/third_party/seekstorm/search.dart new file mode 100644 index 0000000..23de9e1 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/search.dart @@ -0,0 +1,295 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `FilterSparse`, `RangeF32`, `RangeF64`, `RangeI16`, `RangeI32`, `RangeI64`, `RangeI8`, `RangeU16`, `RangeU32`, `RangeU64`, `RangeU8`, `ResultSortIndex`, `SearchResult` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas` +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `search_shard`, `search` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `default` + +// Rust type: RustOpaqueMoi> +abstract class FacetFilter implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class FacetValue implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class QueryFacet implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormSearchQueryFacetDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class QueryRewriting implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormSearchQueryRewritingDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class Ranges implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormSearchRangesDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class ResultObject implements RustOpaqueInterface { + AHashMapStringFacet get facets; + + String get originalQuery; + + String get query; + + List get queryTerms; + + BigInt get resultCount; + + BigInt get resultCountTotal; + + List get results; + + List get suggestions; + + set facets(AHashMapStringFacet facets); + + set originalQuery(String originalQuery); + + set query(String query); + + set queryTerms(List queryTerms); + + set resultCount(BigInt resultCount); + + set resultCountTotal(BigInt resultCountTotal); + + set results(List results); + + set suggestions(List suggestions); + + static Future default_() => + RustLib.instance.api.seekstormSearchResultObjectDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class ResultSort implements RustOpaqueInterface { + FacetValue get base; + + String get field; + + SortOrder get order; + + set base(FacetValue base); + + set field(String field); + + set order(SortOrder order); +} + +abstract class Search { + /// Search the index for all indexed documents, both for committed and uncommitted documents. + /// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. + /// Arguments: + /// * `query_string`: query string `+` `-` `""` search operators are recognized. + /// * `query_type_default`: Specifiy default QueryType: + /// * **Union**, disjunction, OR, + /// * **Intersection**, conjunction, AND, `+`, + /// * **Phrase** `""`, + /// * **Not**, except, minus `-`. + /// + /// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (`+` `-` `""`). + /// + /// Boolean queries are specified in the search method either via the query_type parameter or via operator chars within the query parameter. + /// The interpretation of operator chars within the query string (set `query_type=QueryType::Union`) allows to specify advanced search operations via a simple search box. + /// + /// Intersection, AND `+` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="+red +apple".to_string(); + /// ``` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Intersection; + /// let query_string="red apple".to_string(); + /// ``` + /// Union, OR + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="red apple".to_string(); + /// ``` + /// Phrase `""` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="\"red apple\"".to_string(); + /// ``` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Phrase; + /// let query_string="red apple".to_string(); + /// ``` + /// Except, minus, NOT `-` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="apple -red".to_string(); + /// ``` + /// Mixed phrase and intersection + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="+\"the who\" +uk".to_string(); + /// ``` + /// * `offset`: offset of search results to return. + /// * `length`: number of search results to return. + /// With length=0, resultType::TopkCount will be automatically downgraded to resultType::Count, returning the number of results only, without returning the results itself. + /// * `result_type`: type of search results to return: Count, Topk, TopkCount. + /// * `include_uncommited`: true realtime search: include indexed documents which where not yet committed into search results. + /// * `field_filter`: Specify field names where to search at querytime, whereas SchemaField.indexed is set at indextime. If set to Vec::new() then all indexed fields are searched. + /// * `query_facets`: Must be set if facets should be returned in ResultObject. If set to Vec::new() then no facet fields are returned. + /// Facet fields are only collected, counted and returned for ResultType::Count and ResultType::TopkCount, but not for ResultType::Topk. + /// The prefix property of a QueryFacet allows at query time to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. + /// The length property of a QueryFacet allows at query time limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. + /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are collected, counted and returned at query time. That decreases the query latency significantly. + /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. + /// Examples: + /// query_facets = vec![QueryFacet::String16 {field: "language".into(),prefix: "ger".into(),length: 5},QueryFacet::String16 {field: "brand".into(),prefix: "a".into(),length: 5}]; + /// query_facets = vec![QueryFacet::U8 {field: "age".into(), range_type: RangeType::CountWithinRange, ranges: vec![("0-20".into(), 0),("20-40".into(), 20), ("40-60".into(), 40),("60-80".into(), 60), ("80-100".into(), 80)]}]; + /// query_facets = vec![QueryFacet::Point {field: "location".into(),base:vec![38.8951, -77.0364],unit:DistanceUnit::Kilometers,range_type: RangeType::CountWithinRange,ranges: vec![ ("0-200".into(), 0.0),("200-400".into(), 200.0), ("400-600".into(), 400.0), ("600-800".into(), 600.0), ("800-1000".into(), 800.0)]}]; + /// * `facet_filter`: Search results are filtered to documents matching specific string values or numerical ranges in the facet fields. If set to Vec::new() then result are not facet filtered. + /// The filter parameter filters the returned results to those documents both matching the query AND matching for all (boolean AND) stated facet filter fields at least one (boolean OR) of the stated values. + /// If the query is changed then both facet counts and search results are changed. If the facet filter is changed then only the search results are changed, while facet counts remain unchanged. + /// The facet counts depend only from the query and not which facet filters are selected. + /// Examples: + /// facet_filter=vec![FacetFilter::String{field:"language".into(),filter:vec!["german".into()]},FacetFilter::String{field:"brand".into(),filter:vec!["apple".into(),"google".into()]}]; + /// facet_filter=vec![FacetFilter::U8{field:"age".into(),filter: 21..65}]; + /// facet_filter = vec![FacetFilter::Point {field: "location".into(),filter: (vec![38.8951, -77.0364], 0.0..1000.0, DistanceUnit::Kilometers)}]; + /// * `result_sort`: Sort field and order: Search results are sorted by the specified facet field, either in ascending or descending order. + /// If no sort field is specified, then the search results are sorted by rank in descending order per default. + /// Multiple sort fields are combined by a "sort by, then sort by"-method ("tie-breaking"-algorithm). + /// The results are sorted by the first field, and only for those results where the first field value is identical (tie) the results are sub-sorted by the second field, + /// until the n-th field value is either not equal or the last field is reached. + /// A special _score field (BM25x), reflecting how relevant the result is for a given search query (phrase match, match in title etc.) can be combined with any of the other sort fields as primary, secondary or n-th search criterium. + /// Sort is only enabled on facet fields that are defined in schema at create_index! + /// Examples: + /// result_sort = vec![ResultSort {field: "price".into(), order: SortOrder::Descending, base: FacetValue::None},ResultSort {field: "language".into(), order: SortOrder::Ascending, base: FacetValue::None}]; + /// result_sort = vec![ResultSort {field: "location".into(),order: SortOrder::Ascending, base: FacetValue::Point(vec![38.8951, -77.0364])}]; + /// * `query_rewriting`: Enables query rewriting features such as spelling correction and query auto-completion (QAC). + /// The spelling correction of multi-term query strings handles three cases: + /// 1. mistakenly inserted space into a correct term led to two incorrect terms: `hels inki` -> `helsinki` + /// 2. mistakenly omitted space between two correct terms led to one incorrect combined term: `modernart` -> `modern art` + /// 3. multiple independent input terms with/without spelling errors: `cinese indastrialication` -> `chinese industrialization` + /// + /// Query correction/completion supports phrases "", but is disabled, if +- operators are used, or if a opening quote is used after the first term, or if a closing quote is used before the last term. + /// See QueryRewriting enum for details. + /// ⚠️ In addition to setting the query_rewriting parameter per query, the incremental creation of the Symspell dictionary during the indexing of documents has to be enabled via the create_index parameter `meta.spelling_correction`. + /// + /// Facets: + /// If query_string is empty, then index facets (collected at index time) are returned, otherwise query facets (collected at query time) are returned. + /// Facets are defined in 3 different places: + /// the facet fields are defined in schema at create_index, + /// the facet field values are set in index_document at index time, + /// the query_facets/facet_filter search parameters are specified at query time. + /// Facets are then returned in the search result object. + Future search( + {required String queryString, + required QueryType queryTypeDefault, + required BigInt offset, + required BigInt length, + required ResultType resultType, + required bool includeUncommited, + required List fieldFilter, + required List queryFacets, + required List facetFilter, + required List resultSort, + required QueryRewriting queryRewriting}); +} + +abstract class SearchShard { + Future searchShard( + {required String queryString, + required QueryType queryTypeDefault, + required BigInt offset, + required BigInt length, + required ResultType resultType, + required bool includeUncommited, + required List fieldFilter, + required List queryFacets, + required List facetFilter, + required List resultSort}); +} + +/// Specifies the default QueryType: The following query types are supported: +/// - **Union** (OR, disjunction), +/// - **Intersection** (AND, conjunction), +/// - **Phrase** (""), +/// - **Not** (-). +/// +/// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (+ - ""). +enum QueryType { + /// Union (OR, disjunction) + union, + + /// Intersection (AND, conjunction) + intersection, + + /// Phrase ("") + phrase, + + /// Not (-) + not, + ; + + static Future default_() => + RustLib.instance.api.seekstormSearchQueryTypeDefault(); +} + +/// specifies how to count the frequency of numerical facet field values +enum RangeType { + /// within the specified range + countWithinRange, + + /// within the range and all ranges above + countAboveRange, + + /// within the range and all ranges below + countBelowRange, + ; + + static Future default_() => + RustLib.instance.api.seekstormSearchRangeTypeDefault(); +} + +/// The following result types are supported: +/// - **Count** (count all results that match the query, but returning top-k results is not required) +/// - **Topk** (returns the top-k results per query, but counting all results that match the query is not required) +/// - **TopkCount** (returns the top-k results per query + count all results that match the query) +enum ResultType { + /// Count all results that match the query, without returning top-k results + count, + + /// Return the top-k results per query, without counting all results that match the query + topk, + + /// Return the top-k results per query and count all results that match the query + topkCount, + ; + + static Future default_() => + RustLib.instance.api.seekstormSearchResultTypeDefault(); +} + +/// Specifies the sort order for the search results. +enum SortOrder { + /// Ascending sort order + ascending, + + /// Descending sort order + descending, + ; +} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/utils.dart b/mobile_app/lib/src/rust/third_party/seekstorm/utils.dart new file mode 100644 index 0000000..91066ad --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/utils.dart @@ -0,0 +1,20 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +/// Truncates a string to a maximum number of characters. +Future truncate({required String source, required BigInt maxChars}) => + RustLib.instance.api + .seekstormUtilsTruncate(source: source, maxChars: maxChars); + +/// Returns a substring of the given string, starting at the specified index and with the specified length. +Future substring( + {required String source, + required BigInt start, + required BigInt length}) => + RustLib.instance.api + .seekstormUtilsSubstring(source: source, start: start, length: length); diff --git a/mobile_app/lib/src/rust/third_party/tokio/io.dart b/mobile_app/lib/src/rust/third_party/tokio/io.dart new file mode 100644 index 0000000..7328f7f --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/io.dart @@ -0,0 +1,2712 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `chain`, `chain`, `copy_bidirectional_with_sizes`, `copy_bidirectional`, `copy_buf`, `copy`, `join`, `read_buf`, `read_buf`, `read_exact`, `read_exact`, `read_line`, `read_line`, `read_to_end`, `read_to_end`, `read_to_string`, `read_to_string`, `read_until`, `read_until`, `read`, `read`, `split`, `write_all_buf`, `write_all_buf`, `write_all`, `write_all`, `write_buf`, `write_buf`, `write_vectored`, `write_vectored`, `write`, `write` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `BufReader`, `BufStream`, `BufWriter`, `Chain`, `Join` +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `consume`, `fill_buf`, `flush`, `lines`, `read_f32_le`, `read_f32`, `read_f64_le`, `read_f64`, `read_i128_le`, `read_i128`, `read_i16_le`, `read_i16`, `read_i32_le`, `read_i32`, `read_i64_le`, `read_i64`, `read_i8`, `read_u128_le`, `read_u128`, `read_u16_le`, `read_u16`, `read_u32_le`, `read_u32`, `read_u64_le`, `read_u64`, `read_u8`, `rewind`, `seek`, `shutdown`, `split`, `stream_position`, `take`, `write_f32_le`, `write_f32`, `write_f64_le`, `write_f64`, `write_i128_le`, `write_i128`, `write_i16_le`, `write_i16`, `write_i32_le`, `write_i32`, `write_i64_le`, `write_i64`, `write_i8`, `write_u128_le`, `write_u128`, `write_u16_le`, `write_u16`, `write_u32_le`, `write_u32`, `write_u64_le`, `write_u64`, `write_u8` + +/// Constructs a new handle to the standard error of the current process. +/// +/// The returned handle allows writing to standard error from the within the +/// Tokio runtime. +/// +/// Concurrent writes to stderr must be executed with care: Only individual +/// writes to this [`AsyncWrite`] are guaranteed to be intact. In particular +/// you should be aware that writes using [`write_all`] are not guaranteed +/// to occur as a single write, so multiple threads writing data with +/// [`write_all`] may result in interleaved output. +/// +/// [`AsyncWrite`]: AsyncWrite +/// [`write_all`]: crate::io::AsyncWriteExt::write_all() +/// +/// # Examples +/// +/// ``` +/// use tokio::io::{self, AsyncWriteExt}; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let mut stderr = io::stderr(); +/// stderr.write_all(b"Print some error here.").await?; +/// Ok(()) +/// } +/// ``` +Future stderr() => RustLib.instance.api.tokioIoStderr(); + +/// Constructs a new handle to the standard input of the current process. +/// +/// This handle is best used for non-interactive uses, such as when a file +/// is piped into the application. For technical reasons, `stdin` is +/// implemented by using an ordinary blocking read on a separate thread, and +/// it is impossible to cancel that read. This can make shutdown of the +/// runtime hang until the user presses enter. +/// +/// For interactive uses, it is recommended to spawn a thread dedicated to +/// user input and use blocking IO directly in that thread. +Future stdin() => RustLib.instance.api.tokioIoStdin(); + +/// Constructs a new handle to the standard output of the current process. +/// +/// The returned handle allows writing to standard out from the within the +/// Tokio runtime. +/// +/// Concurrent writes to stdout must be executed with care: Only individual +/// writes to this [`AsyncWrite`] are guaranteed to be intact. In particular +/// you should be aware that writes using [`write_all`] are not guaranteed +/// to occur as a single write, so multiple threads writing data with +/// [`write_all`] may result in interleaved output. +/// +/// [`AsyncWrite`]: AsyncWrite +/// [`write_all`]: crate::io::AsyncWriteExt::write_all() +/// +/// # Examples +/// +/// ``` +/// use tokio::io::{self, AsyncWriteExt}; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let mut stdout = io::stdout(); +/// stdout.write_all(b"Hello world!").await?; +/// Ok(()) +/// } +/// ``` +/// +/// The following is an example of using `stdio` with loop. +/// +/// ``` +/// use tokio::io::{self, AsyncWriteExt}; +/// +/// #[tokio::main] +/// async fn main() { +/// let messages = vec!["hello", " world\n"]; +/// +/// // When you use `stdio` in a loop, it is recommended to create +/// // a single `stdio` instance outside the loop and call a write +/// // operation against that instance on each loop. +/// // +/// // Repeatedly creating `stdout` instances inside the loop and +/// // writing to that handle could result in mangled output since +/// // each write operation is handled by a different blocking thread. +/// let mut stdout = io::stdout(); +/// +/// for message in &messages { +/// stdout.write_all(message.as_bytes()).await.unwrap(); +/// stdout.flush().await.unwrap(); +/// } +/// } +/// ``` +Future stdout() => RustLib.instance.api.tokioIoStdout(); + +/// Creates a value that is always at EOF for reads, and ignores all data written. +/// +/// All writes on the returned instance will return `Poll::Ready(Ok(buf.len()))` +/// and the contents of the buffer will not be inspected. +/// +/// All reads from the returned instance will return `Poll::Ready(Ok(0))`. +/// +/// This is an asynchronous version of [`std::io::empty`][std]. +/// +/// [std]: std::io::empty +/// +/// # Examples +/// +/// A slightly sad example of not reading anything into a buffer: +/// +/// ``` +/// use tokio::io::{self, AsyncReadExt}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut buffer = String::new(); +/// io::empty().read_to_string(&mut buffer).await.unwrap(); +/// assert!(buffer.is_empty()); +/// # } +/// ``` +/// +/// A convoluted way of getting the length of a buffer: +/// +/// ``` +/// use tokio::io::{self, AsyncWriteExt}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let buffer = vec![1, 2, 3, 5, 8]; +/// let num_bytes = io::empty().write(&buffer).await.unwrap(); +/// assert_eq!(num_bytes, 5); +/// # } +/// ``` +Future empty() => RustLib.instance.api.tokioIoEmpty(); + +/// Create a new pair of `DuplexStream`s that act like a pair of connected sockets. +/// +/// The `max_buf_size` argument is the maximum amount of bytes that can be +/// written to a side before the write returns `Poll::Pending`. +Future<(DuplexStream, DuplexStream)> duplex({required BigInt maxBufSize}) => + RustLib.instance.api.tokioIoDuplex(maxBufSize: maxBufSize); + +/// Creates unidirectional buffer that acts like in memory pipe. +/// +/// The `max_buf_size` argument is the maximum amount of bytes that can be +/// written to a buffer before the it returns `Poll::Pending`. +/// +/// # Unify reader and writer +/// +/// The reader and writer half can be unified into a single structure +/// of `SimplexStream` that supports both reading and writing or +/// the `SimplexStream` can be already created as unified structure +/// using [`SimplexStream::new_unsplit()`]. +/// +/// ``` +/// # async fn ex() -> std::io::Result<()> { +/// # use tokio::io::{AsyncReadExt, AsyncWriteExt}; +/// let (reader, writer) = tokio::io::simplex(64); +/// let mut simplex_stream = reader.unsplit(writer); +/// simplex_stream.write_all(b"hello").await?; +/// +/// let mut buf = [0u8; 5]; +/// simplex_stream.read_exact(&mut buf).await?; +/// assert_eq!(&buf, b"hello"); +/// # Ok(()) +/// # } +/// ``` +Future<(ReadHalfSimplexStream, WriteHalfSimplexStream)> simplex( + {required BigInt maxBufSize}) => + RustLib.instance.api.tokioIoSimplex(maxBufSize: maxBufSize); + +/// Creates an instance of an async reader that infinitely repeats one byte. +/// +/// All reads from this reader will succeed by filling the specified buffer with +/// the given byte. +/// +/// This is an asynchronous version of [`std::io::repeat`][std]. +/// +/// [std]: std::io::repeat +/// +/// # Examples +/// +/// ``` +/// use tokio::io::{self, AsyncReadExt}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut buffer = [0; 3]; +/// io::repeat(0b101).read_exact(&mut buffer).await.unwrap(); +/// assert_eq!(buffer, [0b101, 0b101, 0b101]); +/// # } +/// ``` +Future repeat({required int byte}) => + RustLib.instance.api.tokioIoRepeat(byte: byte); + +/// Creates an instance of an async writer which will successfully consume all +/// data. +/// +/// All calls to [`poll_write`] on the returned instance will return +/// `Poll::Ready(Ok(buf.len()))` and the contents of the buffer will not be +/// inspected. +/// +/// This is an asynchronous version of [`std::io::sink`][std]. +/// +/// [`poll_write`]: crate::io::AsyncWrite::poll_write() +/// [std]: std::io::sink +/// +/// # Examples +/// +/// ``` +/// use tokio::io::{self, AsyncWriteExt}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() -> io::Result<()> { +/// let buffer = vec![1, 2, 3, 5, 8]; +/// let num_bytes = io::sink().write(&buffer).await?; +/// assert_eq!(num_bytes, 5); +/// Ok(()) +/// # } +/// ``` +Future sink() => RustLib.instance.api.tokioIoSink(); + +// Rust type: RustOpaqueMoi> +abstract class DuplexStream implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Empty implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class FillBufSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class FlushSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Interest implements RustOpaqueInterface { + /// Add together two `Interest` values. + /// + /// This function works from a `const` context. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Interest; + /// + /// const BOTH: Interest = Interest::READABLE.add(Interest::WRITABLE); + /// + /// assert!(BOTH.is_readable()); + /// assert!(BOTH.is_writable()); + Future add({required Interest other}); + + /// Returns true if the value includes error interest. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Interest; + /// + /// assert!(Interest::ERROR.is_error()); + /// assert!(!Interest::WRITABLE.is_error()); + /// + /// let combined = Interest::READABLE | Interest::ERROR; + /// assert!(combined.is_error()); + /// ``` + Future isError(); + + /// Returns true if the value includes readable interest. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Interest; + /// + /// assert!(Interest::READABLE.is_readable()); + /// assert!(!Interest::WRITABLE.is_readable()); + /// + /// let both = Interest::READABLE | Interest::WRITABLE; + /// assert!(both.is_readable()); + /// ``` + Future isReadable(); + + /// Returns true if the value includes writable interest. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Interest; + /// + /// assert!(!Interest::READABLE.is_writable()); + /// assert!(Interest::WRITABLE.is_writable()); + /// + /// let both = Interest::READABLE | Interest::WRITABLE; + /// assert!(both.is_writable()); + /// ``` + Future isWritable(); + + /// Remove `Interest` from `self`. + /// + /// Interests present in `other` but *not* in `self` are ignored. + /// + /// Returns `None` if the set would be empty after removing `Interest`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Interest; + /// + /// const RW_INTEREST: Interest = Interest::READABLE.add(Interest::WRITABLE); + /// + /// let w_interest = RW_INTEREST.remove(Interest::READABLE).unwrap(); + /// assert!(!w_interest.is_readable()); + /// assert!(w_interest.is_writable()); + /// + /// // Removing all interests from the set returns `None`. + /// assert_eq!(w_interest.remove(Interest::WRITABLE), None); + /// + /// // Remove all interests at once. + /// assert_eq!(RW_INTEREST.remove(RW_INTEREST), None); + /// ``` + Future remove({required Interest other}); +} + +// Rust type: RustOpaqueMoi>> +abstract class LinesSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadF32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadF32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadF64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadF64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadHalfSimplexStream implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI128LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI128MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI16LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI16MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI8MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU128LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU128MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU16LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU16MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU8MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Ready implements RustOpaqueInterface { + /// Returns true if `Ready` is the empty set. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(Ready::EMPTY.is_empty()); + /// assert!(!Ready::READABLE.is_empty()); + /// ``` + Future isEmpty(); + + /// Returns `true` if the value includes error `readiness`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(!Ready::EMPTY.is_error()); + /// assert!(!Ready::WRITABLE.is_error()); + /// assert!(Ready::ERROR.is_error()); + /// ``` + Future isError(); + + /// Returns `true` if the value includes read-closed `readiness`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(!Ready::EMPTY.is_read_closed()); + /// assert!(!Ready::READABLE.is_read_closed()); + /// assert!(Ready::READ_CLOSED.is_read_closed()); + /// ``` + Future isReadClosed(); + + /// Returns `true` if the value includes `readable`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(!Ready::EMPTY.is_readable()); + /// assert!(Ready::READABLE.is_readable()); + /// assert!(Ready::READ_CLOSED.is_readable()); + /// assert!(!Ready::WRITABLE.is_readable()); + /// ``` + Future isReadable(); + + /// Returns `true` if the value includes writable `readiness`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(!Ready::EMPTY.is_writable()); + /// assert!(!Ready::READABLE.is_writable()); + /// assert!(Ready::WRITABLE.is_writable()); + /// assert!(Ready::WRITE_CLOSED.is_writable()); + /// ``` + Future isWritable(); + + /// Returns `true` if the value includes write-closed `readiness`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(!Ready::EMPTY.is_write_closed()); + /// assert!(!Ready::WRITABLE.is_write_closed()); + /// assert!(Ready::WRITE_CLOSED.is_write_closed()); + /// ``` + Future isWriteClosed(); +} + +// Rust type: RustOpaqueMoi> +abstract class Repeat implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class SeekFrom implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class SeekSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ShutdownSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class SimplexStream implements RustOpaqueInterface { + /// Creates unidirectional buffer that acts like in memory pipe. To create split + /// version with separate reader and writer you can use [`simplex`] function. + /// + /// The `max_buf_size` argument is the maximum amount of bytes that can be + /// written to a buffer before the it returns `Poll::Pending`. + static Future newUnsplit({required BigInt maxBufSize}) => + RustLib.instance.api + .tokioIoSimplexStreamNewUnsplit(maxBufSize: maxBufSize); +} + +// Rust type: RustOpaqueMoi> +abstract class Sink implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class SplitSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Stderr implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Stdin implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Stdout implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class TakeSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteF32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteF32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteF64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteF64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteHalfSimplexStream implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI128LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI128MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI16LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI16MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI8MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU128LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU128MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU16LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU16MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU8MutSelf implements RustOpaqueInterface {} + +abstract class AsyncBufReadExt { + /// Tells this buffer that `amt` bytes have been consumed from the + /// buffer, so they should no longer be returned in calls to [`read`]. + /// + /// This function is a lower-level call. It needs to be paired with the + /// [`fill_buf`] method to function properly. This function does not + /// perform any I/O, it simply informs this object that some amount of + /// its buffer, returned from [`fill_buf`], has been consumed and should + /// no longer be returned. As such, this function may do odd things if + /// [`fill_buf`] isn't called before calling it. + /// + /// The `amt` must be less than the number of bytes in the buffer + /// returned by [`fill_buf`]. + /// + /// [`read`]: crate::io::AsyncReadExt::read + /// [`fill_buf`]: crate::io::AsyncBufReadExt::fill_buf + Future consume({required BigInt amt}); + + /// Returns the contents of the internal buffer, filling it with more + /// data from the inner reader if it is empty. + /// + /// This function is a lower-level call. It needs to be paired with the + /// [`consume`] method to function properly. When calling this method, + /// none of the contents will be "read" in the sense that later calling + /// `read` may return the same contents. As such, [`consume`] must be + /// called with the number of bytes that are consumed from this buffer + /// to ensure that the bytes are never returned twice. + /// + /// An empty buffer returned indicates that the stream has reached EOF. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn fill_buf(&mut self) -> io::Result<&[u8]>; + /// ``` + /// + /// # Errors + /// + /// This function will return an I/O error if the underlying reader was + /// read, but returned an error. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If you use it as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no data was read. + /// + /// [`consume`]: crate::io::AsyncBufReadExt::consume + Future fillBuf(); + + /// Returns a stream over the lines of this reader. + /// This method is the async equivalent to [`BufRead::lines`](std::io::BufRead::lines). + /// + /// The stream returned from this function will yield instances of + /// [`io::Result`]`<`[`Option`]`<`[`String`]`>>`. Each string returned will *not* have a newline + /// byte (the 0xA byte) or `CRLF` (0xD, 0xA bytes) at the end. + /// + /// [`io::Result`]: std::io::Result + /// [`Option`]: core::option::Option + /// [`String`]: String + /// + /// # Errors + /// + /// Each line of the stream has the same error semantics as [`AsyncBufReadExt::read_line`]. + /// + /// # Examples + /// + /// [`std::io::Cursor`][`Cursor`] is a type that implements `BufRead`. In + /// this example, we use [`Cursor`] to iterate over all the lines in a byte + /// slice. + /// + /// [`Cursor`]: std::io::Cursor + /// + /// ``` + /// use tokio::io::AsyncBufReadExt; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let cursor = Cursor::new(b"lorem\nipsum\r\ndolor"); + /// + /// let mut lines = cursor.lines(); + /// + /// assert_eq!(lines.next_line().await.unwrap(), Some(String::from("lorem"))); + /// assert_eq!(lines.next_line().await.unwrap(), Some(String::from("ipsum"))); + /// assert_eq!(lines.next_line().await.unwrap(), Some(String::from("dolor"))); + /// assert_eq!(lines.next_line().await.unwrap(), None); + /// # } + /// ``` + /// + /// [`AsyncBufReadExt::read_line`]: AsyncBufReadExt::read_line + Future lines(); + + /// Returns a stream of the contents of this reader split on the byte + /// `byte`. + /// + /// This method is the asynchronous equivalent to + /// [`BufRead::split`](std::io::BufRead::split). + /// + /// The stream returned from this function will yield instances of + /// [`io::Result`]`<`[`Option`]`<`[`Vec`]`>>`. Each vector returned will *not* have + /// the delimiter byte at the end. + /// + /// [`io::Result`]: std::io::Result + /// [`Option`]: core::option::Option + /// [`Vec`]: std::vec::Vec + /// + /// # Errors + /// + /// Each item of the stream has the same error semantics as + /// [`AsyncBufReadExt::read_until`](AsyncBufReadExt::read_until). + /// + /// # Examples + /// + /// ``` + /// # use tokio::io::AsyncBufRead; + /// use tokio::io::AsyncBufReadExt; + /// + /// # async fn dox(my_buf_read: impl AsyncBufRead + Unpin) -> std::io::Result<()> { + /// let mut segments = my_buf_read.split(b'f'); + /// + /// while let Some(segment) = segments.next_segment().await? { + /// println!("length = {}", segment.len()) + /// } + /// # Ok(()) + /// # } + /// ``` + Future split({required int byte}); +} + +abstract class AsyncReadExt { + /// Reads an 32-bit floating point type in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_f32(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read 32-bit floating point type from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0xff, 0x7f, 0xff, 0xff]); + /// + /// assert_eq!(f32::MIN, reader.read_f32().await?); + /// Ok(()) + /// # } + /// ``` + Future readF32(); + + /// Reads an 32-bit floating point type in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_f32_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read 32-bit floating point type from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0xff, 0xff, 0x7f, 0xff]); + /// + /// assert_eq!(f32::MIN, reader.read_f32_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readF32Le(); + + /// Reads an 64-bit floating point type in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_f64(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read 64-bit floating point type from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + /// ]); + /// + /// assert_eq!(f64::MIN, reader.read_f64().await?); + /// Ok(()) + /// # } + /// ``` + Future readF64(); + + /// Reads an 64-bit floating point type in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_f64_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read 64-bit floating point type from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff + /// ]); + /// + /// assert_eq!(f64::MIN, reader.read_f64_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readF64Le(); + + /// Reads an signed 128-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i128(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 128-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x80, 0, 0, 0, 0, 0, 0, 0, + /// 0, 0, 0, 0, 0, 0, 0, 0 + /// ]); + /// + /// assert_eq!(i128::MIN, reader.read_i128().await?); + /// Ok(()) + /// # } + /// ``` + Future readI128(); + + /// Reads an signed 128-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i128_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 128-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x80, 0, 0, 0, 0, 0, 0, 0, + /// 0, 0, 0, 0, 0, 0, 0, 0 + /// ]); + /// + /// assert_eq!(128, reader.read_i128_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readI128Le(); + + /// Reads a signed 16-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i16(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 16 bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x00, 0xc1, 0xff, 0x7c]); + /// + /// assert_eq!(193, reader.read_i16().await?); + /// assert_eq!(-132, reader.read_i16().await?); + /// Ok(()) + /// # } + /// ``` + Future readI16(); + + /// Reads a signed 16-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i16_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 16 bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x00, 0xc1, 0xff, 0x7c]); + /// + /// assert_eq!(-16128, reader.read_i16_le().await?); + /// assert_eq!(31999, reader.read_i16_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readI16Le(); + + /// Reads a signed 32-bit integer in big-endian order from the + /// underlying reader. + /// + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i32(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 32-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0xff, 0xff, 0x7a, 0x33]); + /// + /// assert_eq!(-34253, reader.read_i32().await?); + /// Ok(()) + /// # } + /// ``` + Future readI32(); + + /// Reads a signed 32-bit integer in little-endian order from the + /// underlying reader. + /// + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i32_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 32-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0xff, 0xff, 0x7a, 0x33]); + /// + /// assert_eq!(863698943, reader.read_i32_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readI32Le(); + + /// Reads an signed 64-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i64(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 64-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0]); + /// + /// assert_eq!(i64::MIN, reader.read_i64().await?); + /// Ok(()) + /// # } + /// ``` + Future readI64(); + + /// Reads an signed 64-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i64_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 64-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0]); + /// + /// assert_eq!(128, reader.read_i64_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readI64Le(); + + /// Reads a signed 8 bit integer from the underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i8(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is cancel safe. If this method is used as an event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no data were read. + /// + /// # Examples + /// + /// Read unsigned 8 bit integers from an `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x02, 0xfb]); + /// + /// assert_eq!(2, reader.read_i8().await?); + /// assert_eq!(-5, reader.read_i8().await?); + /// + /// Ok(()) + /// # } + /// ``` + Future readI8(); + + /// Reads an unsigned 128-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u128(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 128-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83, + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 + /// ]); + /// + /// assert_eq!(16947640962301618749969007319746179, reader.read_u128().await?); + /// Ok(()) + /// # } + /// ``` + Future readU128(); + + /// Reads an unsigned 128-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u128_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 128-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83, + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 + /// ]); + /// + /// assert_eq!(174826588484952389081207917399662330624, reader.read_u128_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readU128Le(); + + /// Reads an unsigned 16-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u16(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 16 bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![2, 5, 3, 0]); + /// + /// assert_eq!(517, reader.read_u16().await?); + /// assert_eq!(768, reader.read_u16().await?); + /// Ok(()) + /// # } + /// ``` + Future readU16(); + + /// Reads an unsigned 16-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u16_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 16 bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![2, 5, 3, 0]); + /// + /// assert_eq!(1282, reader.read_u16_le().await?); + /// assert_eq!(3, reader.read_u16_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readU16Le(); + + /// Reads an unsigned 32-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u32(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 32-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x00, 0x00, 0x01, 0x0b]); + /// + /// assert_eq!(267, reader.read_u32().await?); + /// Ok(()) + /// # } + /// ``` + Future readU32(); + + /// Reads an unsigned 32-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u32_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 32-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x00, 0x00, 0x01, 0x0b]); + /// + /// assert_eq!(184614912, reader.read_u32_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readU32Le(); + + /// Reads an unsigned 64-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u64(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 64-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 + /// ]); + /// + /// assert_eq!(918733457491587, reader.read_u64().await?); + /// Ok(()) + /// # } + /// ``` + Future readU64(); + + /// Reads an unsigned 64-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u64_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 64-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 + /// ]); + /// + /// assert_eq!(9477368352180732672, reader.read_u64_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readU64Le(); + + /// Reads an unsigned 8 bit integer from the underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u8(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is cancel safe. If this method is used as an event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no data were read. + /// + /// # Examples + /// + /// Read unsigned 8 bit integers from an `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![2, 5]); + /// + /// assert_eq!(2, reader.read_u8().await?); + /// assert_eq!(5, reader.read_u8().await?); + /// + /// Ok(()) + /// # } + /// ``` + Future readU8(); + + /// Creates an adaptor which reads at most `limit` bytes from it. + /// + /// This function returns a new instance of `AsyncRead` which will read + /// at most `limit` bytes, after which it will always return EOF + /// (`Ok(0)`). Any read errors will not count towards the number of + /// bytes read and future calls to [`read()`] may succeed. + /// + /// [`read()`]: fn@crate::io::AsyncReadExt::read + /// + /// [read]: AsyncReadExt::read + /// + /// # Examples + /// + /// [`File`][crate::fs::File]s implement `Read`: + /// + /// ```no_run + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::io::{self, AsyncReadExt}; + /// use tokio::fs::File; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let f = File::open("foo.txt").await?; + /// let mut buffer = [0; 5]; + /// + /// // read at most five bytes + /// let mut handle = f.take(5); + /// + /// handle.read(&mut buffer).await?; + /// Ok(()) + /// } + /// # } + /// ``` + Future take({required BigInt limit}); +} + +abstract class AsyncSeekExt { + /// Creates a future which will rewind to the beginning of the stream. + /// + /// This is convenience method, equivalent to `self.seek(SeekFrom::Start(0))`. + Future rewind(); + + /// Creates a future which will seek an IO object, and then yield the + /// new position in the object and the object itself. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn seek(&mut self, pos: SeekFrom) -> io::Result; + /// ``` + /// + /// In the case of an error the buffer and the object will be discarded, with + /// the error yielded. + /// + /// # Examples + /// + /// ```no_run + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::fs::File; + /// use tokio::io::{AsyncSeekExt, AsyncReadExt}; + /// + /// use std::io::SeekFrom; + /// + /// # async fn dox() -> std::io::Result<()> { + /// let mut file = File::open("foo.txt").await?; + /// file.seek(SeekFrom::Start(6)).await?; + /// + /// let mut contents = vec![0u8; 10]; + /// file.read_exact(&mut contents).await?; + /// # Ok(()) + /// # } + /// # } + /// ``` + Future seek({required SeekFrom pos}); + + /// Creates a future which will return the current seek position from the + /// start of the stream. + /// + /// This is equivalent to `self.seek(SeekFrom::Current(0))`. + Future streamPosition(); +} + +abstract class AsyncWriteExt { + /// Flushes this output stream, ensuring that all intermediately buffered + /// contents reach their destination. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn flush(&mut self) -> io::Result<()>; + /// ``` + /// + /// # Errors + /// + /// It is considered an error if not all bytes could be written due to + /// I/O errors or EOF being reached. + /// + /// # Cancel safety + /// + /// This method is cancel safe. + /// + /// If `flush` is used as the event in a [`tokio::select!`](crate::select) + /// statement and some other branch completes first, then the data in the + /// buffered data in this `AsyncWrite` may have been partially flushed. + /// However, it is guaranteed that the buffer is advanced by the amount of + /// bytes that have been partially flushed. + /// + /// # Examples + /// + /// ```no_run + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::io::{self, BufWriter, AsyncWriteExt}; + /// use tokio::fs::File; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let f = File::create("foo.txt").await?; + /// let mut buffer = BufWriter::new(f); + /// + /// buffer.write_all(b"some bytes").await?; + /// buffer.flush().await?; + /// Ok(()) + /// } + /// # } + /// ``` + Future flush(); + + /// Shuts down the output stream, ensuring that the value can be dropped + /// cleanly. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn shutdown(&mut self) -> io::Result<()>; + /// ``` + /// + /// Similar to [`flush`], all intermediately buffered is written to the + /// underlying stream. Once the operation completes, the caller should + /// no longer attempt to write to the stream. For example, the + /// `TcpStream` implementation will issue a `shutdown(Write)` sys call. + /// + /// [`flush`]: fn@crate::io::AsyncWriteExt::flush + /// + /// # Examples + /// + /// ```no_run + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::io::{self, BufWriter, AsyncWriteExt}; + /// use tokio::fs::File; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let f = File::create("foo.txt").await?; + /// let mut buffer = BufWriter::new(f); + /// + /// buffer.write_all(b"some bytes").await?; + /// buffer.shutdown().await?; + /// Ok(()) + /// } + /// # } + /// ``` + Future shutdown(); + + /// Writes an 32-bit floating point type in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_f32(&mut self, n: f32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write 32-bit floating point type to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_f32(f32::MIN).await?; + /// + /// assert_eq!(writer, vec![0xff, 0x7f, 0xff, 0xff]); + /// Ok(()) + /// # } + /// ``` + Future writeF32({required double n}); + + /// Writes an 32-bit floating point type in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_f32_le(&mut self, n: f32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write 32-bit floating point type to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_f32_le(f32::MIN).await?; + /// + /// assert_eq!(writer, vec![0xff, 0xff, 0x7f, 0xff]); + /// Ok(()) + /// # } + /// ``` + Future writeF32Le({required double n}); + + /// Writes an 64-bit floating point type in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_f64(&mut self, n: f64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write 64-bit floating point type to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_f64(f64::MIN).await?; + /// + /// assert_eq!(writer, vec![ + /// 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeF64({required double n}); + + /// Writes an 64-bit floating point type in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_f64_le(&mut self, n: f64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write 64-bit floating point type to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_f64_le(f64::MIN).await?; + /// + /// assert_eq!(writer, vec![ + /// 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeF64Le({required double n}); + + /// Writes an signed 128-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i128(&mut self, n: i128) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 128-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i128(i128::MIN).await?; + /// + /// assert_eq!(writer, vec![ + /// 0x80, 0, 0, 0, 0, 0, 0, 0, + /// 0, 0, 0, 0, 0, 0, 0, 0 + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeI128({required BigInt n}); + + /// Writes an signed 128-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i128_le(&mut self, n: i128) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 128-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i128_le(i128::MIN).await?; + /// + /// assert_eq!(writer, vec![ + /// 0, 0, 0, 0, 0, 0, 0, + /// 0, 0, 0, 0, 0, 0, 0, 0, 0x80 + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeI128Le({required BigInt n}); + + /// Writes a signed 16-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i16(&mut self, n: i16) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 16-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i16(193).await?; + /// writer.write_i16(-132).await?; + /// + /// assert_eq!(writer, b"\x00\xc1\xff\x7c"); + /// Ok(()) + /// # } + /// ``` + Future writeI16({required int n}); + + /// Writes a signed 16-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i16_le(&mut self, n: i16) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 16-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i16_le(193).await?; + /// writer.write_i16_le(-132).await?; + /// + /// assert_eq!(writer, b"\xc1\x00\x7c\xff"); + /// Ok(()) + /// # } + /// ``` + Future writeI16Le({required int n}); + + /// Writes a signed 32-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i32(&mut self, n: i32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 32-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i32(267).await?; + /// writer.write_i32(1205419366).await?; + /// + /// assert_eq!(writer, b"\x00\x00\x01\x0b\x47\xd9\x3d\x66"); + /// Ok(()) + /// # } + /// ``` + Future writeI32({required int n}); + + /// Writes a signed 32-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i32_le(&mut self, n: i32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 32-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i32_le(267).await?; + /// writer.write_i32_le(1205419366).await?; + /// + /// assert_eq!(writer, b"\x0b\x01\x00\x00\x66\x3d\xd9\x47"); + /// Ok(()) + /// # } + /// ``` + Future writeI32Le({required int n}); + + /// Writes an signed 64-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i64(&mut self, n: i64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 64-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i64(i64::MIN).await?; + /// writer.write_i64(i64::MAX).await?; + /// + /// assert_eq!(writer, b"\x80\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff"); + /// Ok(()) + /// # } + /// ``` + Future writeI64({required PlatformInt64 n}); + + /// Writes an signed 64-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i64_le(&mut self, n: i64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 64-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i64_le(i64::MIN).await?; + /// writer.write_i64_le(i64::MAX).await?; + /// + /// assert_eq!(writer, b"\x00\x00\x00\x00\x00\x00\x00\x80\xff\xff\xff\xff\xff\xff\xff\x7f"); + /// Ok(()) + /// # } + /// ``` + Future writeI64Le({required PlatformInt64 n}); + + /// Writes a signed 8-bit integer to the underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i8(&mut self, n: i8) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 8 bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i8(-2).await?; + /// writer.write_i8(126).await?; + /// + /// assert_eq!(writer, b"\xFE\x7E"); + /// Ok(()) + /// # } + /// ``` + Future writeI8({required int n}); + + /// Writes an unsigned 128-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u128(&mut self, n: u128) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 128-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u128(16947640962301618749969007319746179).await?; + /// + /// assert_eq!(writer, vec![ + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83, + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeU128({required BigInt n}); + + /// Writes an unsigned 128-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u128_le(&mut self, n: u128) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 128-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u128_le(16947640962301618749969007319746179).await?; + /// + /// assert_eq!(writer, vec![ + /// 0x83, 0x86, 0x60, 0x4d, 0x95, 0x43, 0x03, 0x00, + /// 0x83, 0x86, 0x60, 0x4d, 0x95, 0x43, 0x03, 0x00, + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeU128Le({required BigInt n}); + + /// Writes an unsigned 16-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u16(&mut self, n: u16) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 16-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u16(517).await?; + /// writer.write_u16(768).await?; + /// + /// assert_eq!(writer, b"\x02\x05\x03\x00"); + /// Ok(()) + /// # } + /// ``` + Future writeU16({required int n}); + + /// Writes an unsigned 16-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u16_le(&mut self, n: u16) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 16-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u16_le(517).await?; + /// writer.write_u16_le(768).await?; + /// + /// assert_eq!(writer, b"\x05\x02\x00\x03"); + /// Ok(()) + /// # } + /// ``` + Future writeU16Le({required int n}); + + /// Writes an unsigned 32-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u32(&mut self, n: u32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 32-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u32(267).await?; + /// writer.write_u32(1205419366).await?; + /// + /// assert_eq!(writer, b"\x00\x00\x01\x0b\x47\xd9\x3d\x66"); + /// Ok(()) + /// # } + /// ``` + Future writeU32({required int n}); + + /// Writes an unsigned 32-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u32_le(&mut self, n: u32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 32-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u32_le(267).await?; + /// writer.write_u32_le(1205419366).await?; + /// + /// assert_eq!(writer, b"\x0b\x01\x00\x00\x66\x3d\xd9\x47"); + /// Ok(()) + /// # } + /// ``` + Future writeU32Le({required int n}); + + /// Writes an unsigned 64-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u64(&mut self, n: u64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 64-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u64(918733457491587).await?; + /// writer.write_u64(143).await?; + /// + /// assert_eq!(writer, b"\x00\x03\x43\x95\x4d\x60\x86\x83\x00\x00\x00\x00\x00\x00\x00\x8f"); + /// Ok(()) + /// # } + /// ``` + Future writeU64({required BigInt n}); + + /// Writes an unsigned 64-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u64_le(&mut self, n: u64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 64-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u64_le(918733457491587).await?; + /// writer.write_u64_le(143).await?; + /// + /// assert_eq!(writer, b"\x83\x86\x60\x4d\x95\x43\x03\x00\x8f\x00\x00\x00\x00\x00\x00\x00"); + /// Ok(()) + /// # } + /// ``` + Future writeU64Le({required BigInt n}); + + /// Writes an unsigned 8-bit integer to the underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u8(&mut self, n: u8) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 8 bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u8(2).await?; + /// writer.write_u8(5).await?; + /// + /// assert_eq!(writer, b"\x02\x05"); + /// Ok(()) + /// # } + /// ``` + Future writeU8({required int n}); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/macros/support.dart b/mobile_app/lib/src/rust/third_party/tokio/macros/support.dart new file mode 100644 index 0000000..ccfc3ee --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/macros/support.dart @@ -0,0 +1,15 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../signal/unix.dart'; +import '../sync/oneshot.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +Future threadRngN({required int n}) => + RustLib.instance.api.tokioMacrosSupportThreadRngN(n: n); + +Future pollBudgetAvailable({required Context cx}) => + RustLib.instance.api.tokioMacrosSupportPollBudgetAvailable(cx: cx); diff --git a/mobile_app/lib/src/rust/third_party/tokio/net.dart b/mobile_app/lib/src/rust/third_party/tokio/net.dart new file mode 100644 index 0000000..8e24b87 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net.dart @@ -0,0 +1,4504 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'io.dart'; +import 'net/tcp.dart'; +import 'net/tcp/listener.dart'; +import 'net/tcp/split_owned.dart'; +import 'net/udp.dart'; +import 'net/unix.dart'; +import 'net/unix/datagram/socket.dart'; +import 'net/unix/listener.dart'; +import 'net/unix/pipe.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'signal/unix.dart'; +import 'time/error.dart'; + +// These functions are ignored because they have generic arguments: `lookup_host` + +// Rust type: RustOpaqueMoi> +abstract class TcpListener implements RustOpaqueInterface { + /// Accepts a new incoming connection from this listener. + /// + /// This function will yield once a new TCP connection is established. When + /// established, the corresponding [`TcpStream`] and the remote peer's + /// address will be returned. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If the method is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no new connections were + /// accepted by this method. + /// + /// [`TcpStream`]: struct@crate::net::TcpStream + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpListener; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let listener = TcpListener::bind("127.0.0.1:8080").await?; + /// + /// match listener.accept().await { + /// Ok((_socket, addr)) => println!("new client: {:?}", addr), + /// Err(e) => println!("couldn't get client: {:?}", e), + /// } + /// + /// Ok(()) + /// } + /// ``` + Future<(TcpStream, SocketAddr)> accept(); + + /// Creates new `TcpListener` from a `std::net::TcpListener`. + /// + /// This function is intended to be used to wrap a TCP listener from the + /// standard library in the Tokio equivalent. + /// + /// This API is typically paired with the `socket2` crate and the `Socket` + /// type to build up and customize a listener before it's shipped off to the + /// backing event loop. This allows configuration of options like + /// `SO_REUSEPORT`, binding to multiple addresses, etc. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the listener is in + /// non-blocking mode. Otherwise all I/O operations on the listener + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::net::TcpListener::set_nonblocking + /// + /// # Examples + /// + /// ```rust,no_run + /// use std::error::Error; + /// use tokio::net::TcpListener; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let std_listener = std::net::TcpListener::bind("127.0.0.1:0")?; + /// std_listener.set_nonblocking(true)?; + /// let listener = TcpListener::from_std(std_listener)?; + /// Ok(()) + /// } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromStd({required TcpListener listener}) => + RustLib.instance.api.tokioNetTcpListenerFromStd(listener: listener); + + /// Turns a [`tokio::net::TcpListener`] into a [`std::net::TcpListener`]. + /// + /// The returned [`std::net::TcpListener`] will have nonblocking mode set as + /// `true`. Use [`set_nonblocking`] to change the blocking mode if needed. + /// + /// # Examples + /// + /// ```rust,no_run + /// use std::error::Error; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let tokio_listener = tokio::net::TcpListener::bind("127.0.0.1:0").await?; + /// let std_listener = tokio_listener.into_std()?; + /// std_listener.set_nonblocking(false)?; + /// Ok(()) + /// } + /// ``` + /// + /// [`tokio::net::TcpListener`]: TcpListener + /// [`std::net::TcpListener`]: std::net::TcpListener + /// [`set_nonblocking`]: fn@std::net::TcpListener::set_nonblocking + Future intoStd(); + + /// Returns the local address that this listener is bound to. + /// + /// This can be useful, for example, when binding to port 0 to figure out + /// which port was actually bound. + /// + /// # Examples + /// + /// ```rust,no_run + /// use tokio::net::TcpListener; + /// + /// use std::io; + /// use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4}; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let listener = TcpListener::bind("127.0.0.1:8080").await?; + /// + /// assert_eq!(listener.local_addr()?, + /// SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080))); + /// + /// Ok(()) + /// } + /// ``` + Future localAddr(); + + /// Polls to accept a new incoming connection to this listener. + /// + /// If there is no connection to accept, `Poll::Pending` is returned and the + /// current task will be notified by a waker. Note that on multiple calls + /// to `poll_accept`, only the `Waker` from the `Context` passed to the most + /// recent call is scheduled to receive a wakeup. + Future pollAccept({required Context cx}); + + /// Sets the value for the `IP_TTL` option on this socket. + /// + /// This value sets the time-to-live field that is used in every packet sent + /// from this socket. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpListener; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let listener = TcpListener::bind("127.0.0.1:0").await?; + /// + /// listener.set_ttl(100).expect("could not set TTL"); + /// + /// Ok(()) + /// } + /// ``` + Future setTtl({required int ttl}); + + /// Gets the value of the `IP_TTL` option for this socket. + /// + /// For more information about this option, see [`set_ttl`]. + /// + /// [`set_ttl`]: method@Self::set_ttl + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpListener; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let listener = TcpListener::bind("127.0.0.1:0").await?; + /// + /// listener.set_ttl(100).expect("could not set TTL"); + /// assert_eq!(listener.ttl()?, 100); + /// + /// Ok(()) + /// } + /// ``` + Future ttl(); +} + +// Rust type: RustOpaqueMoi> +abstract class TcpSocket implements RustOpaqueInterface { + /// Binds the socket to the given address. + /// + /// This calls the `bind(2)` operating-system function. Behavior is + /// platform specific. Refer to the target platform's documentation for more + /// details. + /// + /// # Examples + /// + /// Bind a socket before listening. + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// # drop(listener); + /// + /// Ok(()) + /// } + /// ``` + Future bind({required SocketAddr addr}); + + /// Establishes a TCP connection with a peer at the specified socket address. + /// + /// The `TcpSocket` is consumed. Once the connection is established, a + /// connected [`TcpStream`] is returned. If the connection fails, the + /// encountered error is returned. + /// + /// [`TcpStream`]: TcpStream + /// + /// This calls the `connect(2)` operating-system function. Behavior is + /// platform specific. Refer to the target platform's documentation for more + /// details. + /// + /// # Examples + /// + /// Connecting to a peer. + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// let stream = socket.connect(addr).await?; + /// # drop(stream); + /// + /// Ok(()) + /// } + /// ``` + Future connect({required SocketAddr addr}); + + /// Converts a [`std::net::TcpStream`] into a `TcpSocket`. The provided + /// socket must not have been connected prior to calling this function. This + /// function is typically used together with crates such as [`socket2`] to + /// configure socket options that are not available on `TcpSocket`. + /// + /// [`std::net::TcpStream`]: struct@std::net::TcpStream + /// [`socket2`]: https://docs.rs/socket2/ + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the socket is in + /// non-blocking mode. Otherwise all I/O operations on the socket + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// [`set_nonblocking`]: std::net::TcpStream::set_nonblocking + /// + /// # Examples + /// + /// ``` + /// use tokio::net::TcpSocket; + /// use socket2::{Domain, Socket, Type}; + /// + /// #[tokio::main] + /// async fn main() -> std::io::Result<()> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// let socket2_socket = Socket::new(Domain::IPV4, Type::STREAM, None)?; + /// socket2_socket.set_nonblocking(true)?; + /// + /// let socket = TcpSocket::from_std_stream(socket2_socket.into()); + /// + /// Ok(()) + /// } + /// ``` + static Future fromStdStream({required TcpStream stdStream}) => + RustLib.instance.api.tokioNetTcpSocketFromStdStream(stdStream: stdStream); + + /// Gets the value of the `SO_KEEPALIVE` option on this socket. + Future keepalive(); + + /// Reads the linger duration for this socket by getting the `SO_LINGER` + /// option. + /// + /// For more information about this option, see [`set_linger`]. + /// + /// [`set_linger`]: TcpSocket::set_linger + Future linger(); + + /// Converts the socket into a `TcpListener`. + /// + /// `backlog` defines the maximum number of pending connections are queued + /// by the operating system at any given time. Connection are removed from + /// the queue with [`TcpListener::accept`]. When the queue is full, the + /// operating-system will start rejecting connections. + /// + /// [`TcpListener::accept`]: TcpListener::accept + /// + /// This calls the `listen(2)` operating-system function, marking the socket + /// as a passive socket. Behavior is platform specific. Refer to the target + /// platform's documentation for more details. + /// + /// # Examples + /// + /// Create a `TcpListener`. + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// # drop(listener); + /// + /// Ok(()) + /// } + /// ``` + Future listen({required int backlog}); + + /// Gets the local address of this socket. + /// + /// Will fail on windows if called before `bind`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.bind(addr)?; + /// assert_eq!(socket.local_addr().unwrap().to_string(), "127.0.0.1:8080"); + /// let listener = socket.listen(1024)?; + /// Ok(()) + /// } + /// ``` + Future localAddr(); + + /// Creates a new socket configured for IPv4. + /// + /// Calls `socket(2)` with `AF_INET` and `SOCK_STREAM`. + /// + /// # Returns + /// + /// On success, the newly created `TcpSocket` is returned. If an error is + /// encountered, it is returned instead. + /// + /// # Examples + /// + /// Create a new IPv4 socket and start listening. + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// let socket = TcpSocket::new_v4()?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(128)?; + /// # drop(listener); + /// Ok(()) + /// } + /// ``` + static Future newV4() => + RustLib.instance.api.tokioNetTcpSocketNewV4(); + + /// Creates a new socket configured for IPv6. + /// + /// Calls `socket(2)` with `AF_INET6` and `SOCK_STREAM`. + /// + /// # Returns + /// + /// On success, the newly created `TcpSocket` is returned. If an error is + /// encountered, it is returned instead. + /// + /// # Examples + /// + /// Create a new IPv6 socket and start listening. + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "[::1]:8080".parse().unwrap(); + /// let socket = TcpSocket::new_v6()?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(128)?; + /// # drop(listener); + /// Ok(()) + /// } + /// ``` + static Future newV6() => + RustLib.instance.api.tokioNetTcpSocketNewV6(); + + /// Gets the value of the `TCP_NODELAY` option on this socket. + /// + /// For more information about this option, see [`set_nodelay`]. + /// + /// [`set_nodelay`]: TcpSocket::set_nodelay + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// # async fn dox() -> Result<(), Box> { + /// let socket = TcpSocket::new_v4()?; + /// + /// println!("{:?}", socket.nodelay()?); + /// # Ok(()) + /// # } + /// ``` + Future nodelay(); + + /// Returns the size of the TCP receive buffer for this socket. + /// + /// On most operating systems, this is the value of the `SO_RCVBUF` socket + /// option. + /// + /// Note that if [`set_recv_buffer_size`] has been called on this socket + /// previously, the value returned by this function may not be the same as + /// the argument provided to `set_recv_buffer_size`. This is for the + /// following reasons: + /// + /// * Most operating systems have minimum and maximum allowed sizes for the + /// receive buffer, and will clamp the provided value if it is below the + /// minimum or above the maximum. The minimum and maximum buffer sizes are + /// OS-dependent. + /// * Linux will double the buffer size to account for internal bookkeeping + /// data, and returns the doubled value from `getsockopt(2)`. As per `man + /// 7 socket`: + /// > Sets or gets the maximum socket send buffer in bytes. The + /// > kernel doubles this value (to allow space for bookkeeping + /// > overhead) when it is set using `setsockopt(2)`, and this doubled + /// > value is returned by `getsockopt(2)`. + /// + /// [`set_recv_buffer_size`]: #method.set_recv_buffer_size + Future recvBufferSize(); + + /// Retrieves the value set for `SO_REUSEADDR` on this socket. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.set_reuseaddr(true)?; + /// assert!(socket.reuseaddr().unwrap()); + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// Ok(()) + /// } + /// ``` + Future reuseaddr(); + + /// Allows the socket to bind to an in-use port. Only available for unix systems + /// (excluding Solaris, Illumos, and Cygwin). + /// + /// Behavior is platform specific. Refer to the target platform's + /// documentation for more details. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.set_reuseport(true)?; + /// assert!(socket.reuseport().unwrap()); + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// Ok(()) + /// } + /// ``` + Future reuseport(); + + /// Returns the size of the TCP send buffer for this socket. + /// + /// On most operating systems, this is the value of the `SO_SNDBUF` socket + /// option. + /// + /// Note that if [`set_send_buffer_size`] has been called on this socket + /// previously, the value returned by this function may not be the same as + /// the argument provided to `set_send_buffer_size`. This is for the + /// following reasons: + /// + /// * Most operating systems have minimum and maximum allowed sizes for the + /// send buffer, and will clamp the provided value if it is below the + /// minimum or above the maximum. The minimum and maximum buffer sizes are + /// OS-dependent. + /// * Linux will double the buffer size to account for internal bookkeeping + /// data, and returns the doubled value from `getsockopt(2)`. As per `man + /// 7 socket`: + /// > Sets or gets the maximum socket send buffer in bytes. The + /// > kernel doubles this value (to allow space for bookkeeping + /// > overhead) when it is set using `setsockopt(2)`, and this doubled + /// > value is returned by `getsockopt(2)`. + /// + /// [`set_send_buffer_size`]: #method.set_send_buffer_size + Future sendBufferSize(); + + /// Sets value for the `SO_KEEPALIVE` option on this socket. + Future setKeepalive({required bool keepalive}); + + /// Sets the linger duration of this socket by setting the `SO_LINGER` option. + /// + /// This option controls the action taken when a stream has unsent messages and the stream is + /// closed. If `SO_LINGER` is set, the system shall block the process until it can transmit the + /// data or until the time expires. + /// + /// If `SO_LINGER` is not specified, and the socket is closed, the system handles the call in a + /// way that allows the process to continue as quickly as possible. + /// + /// This option is deprecated because setting `SO_LINGER` on a socket used with Tokio is always + /// incorrect as it leads to blocking the thread when the socket is closed. For more details, + /// please see: + /// + /// > Volumes of communications have been devoted to the intricacies of `SO_LINGER` versus + /// > non-blocking (`O_NONBLOCK`) sockets. From what I can tell, the final word is: don't do + /// > it. Rely on the `shutdown()`-followed-by-`read()`-eof technique instead. + /// > + /// > From [The ultimate `SO_LINGER` page, or: why is my tcp not reliable](https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable) + Future setLinger({Duration? dur}); + + /// Sets the value of the `TCP_NODELAY` option on this socket. + /// + /// If set, this option disables the Nagle algorithm. This means that segments are always + /// sent as soon as possible, even if there is only a small amount of data. When not set, + /// data is buffered until there is a sufficient amount to send out, thereby avoiding + /// the frequent sending of small packets. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// # async fn dox() -> Result<(), Box> { + /// let socket = TcpSocket::new_v4()?; + /// + /// socket.set_nodelay(true)?; + /// # Ok(()) + /// # } + /// ``` + Future setNodelay({required bool nodelay}); + + /// Sets the size of the TCP receive buffer on this socket. + /// + /// On most operating systems, this sets the `SO_RCVBUF` socket option. + Future setRecvBufferSize({required int size}); + + /// Allows the socket to bind to an in-use address. + /// + /// Behavior is platform specific. Refer to the target platform's + /// documentation for more details. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.set_reuseaddr(true)?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// # drop(listener); + /// + /// Ok(()) + /// } + /// ``` + Future setReuseaddr({required bool reuseaddr}); + + /// Allows the socket to bind to an in-use port. Only available for unix systems + /// (excluding Solaris, Illumos, and Cygwin). + /// + /// Behavior is platform specific. Refer to the target platform's + /// documentation for more details. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.set_reuseport(true)?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// Ok(()) + /// } + /// ``` + Future setReuseport({required bool reuseport}); + + /// Sets the size of the TCP send buffer on this socket. + /// + /// On most operating systems, this sets the `SO_SNDBUF` socket option. + Future setSendBufferSize({required int size}); + + /// Sets the value for the `IPV6_TCLASS` option on this socket. + /// + /// Specifies the traffic class field that is used in every packet + /// sent from this socket. + /// + /// # Note + /// + /// This may not have any effect on IPv4 sockets. + Future setTclassV6({required int tclass}); + + /// Deprecated. Use [`set_tos_v4()`] instead. + /// + /// [`set_tos_v4()`]: Self::set_tos_v4 + Future setTos({required int tos}); + + /// Sets the value for the `IP_TOS` option on this socket. + /// + /// This value sets the type-of-service field that is used in every packet + /// sent from this socket. + /// + /// # Note + /// + /// - This may not have any effect on IPv6 sockets. + /// - On Windows, `IP_TOS` is only supported on [Windows 8+ or + /// Windows Server 2012+.](https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options) + Future setTosV4({required int tos}); + + /// Returns the value of the `SO_ERROR` option. + Future takeError(); + + /// Gets the value of the `IPV6_TCLASS` option for this socket. + /// + /// For more information about this option, see [`set_tclass_v6`]. + /// + /// [`set_tclass_v6`]: Self::set_tclass_v6 + Future tclassV6(); + + /// Deprecated. Use [`tos_v4()`] instead. + /// + /// [`tos_v4()`]: Self::tos_v4 + Future tos(); + + /// Gets the value of the `IP_TOS` option for this socket. + /// + /// For more information about this option, see [`set_tos_v4`]. + /// + /// [`set_tos_v4`]: Self::set_tos_v4 + Future tosV4(); +} + +// Rust type: RustOpaqueMoi> +abstract class TcpStream implements RustOpaqueInterface { + /// Creates new `TcpStream` from a `std::net::TcpStream`. + /// + /// This function is intended to be used to wrap a TCP stream from the + /// standard library in the Tokio equivalent. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the stream is in + /// non-blocking mode. Otherwise all I/O operations on the stream + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::net::TcpStream::set_nonblocking + /// + /// # Examples + /// + /// ```rust,no_run + /// use std::error::Error; + /// use tokio::net::TcpStream; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let std_stream = std::net::TcpStream::connect("127.0.0.1:34254")?; + /// std_stream.set_nonblocking(true)?; + /// let stream = TcpStream::from_std(std_stream)?; + /// Ok(()) + /// } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromStd({required TcpStream stream}) => + RustLib.instance.api.tokioNetTcpStreamFromStd(stream: stream); + + /// Splits a `TcpStream` into a read half and a write half, which can be used + /// to read and write the stream concurrently. + /// + /// Unlike [`split`], the owned halves can be moved to separate tasks, however + /// this comes at the cost of a heap allocation. + /// + /// **Note:** Dropping the write half will shut down the write half of the TCP + /// stream. This is equivalent to calling [`shutdown()`] on the `TcpStream`. + /// + /// [`split`]: TcpStream::split() + /// [`shutdown()`]: fn@crate::io::AsyncWriteExt::shutdown + Future<(OwnedReadHalf, OwnedWriteHalf)> intoSplit(); + + /// Turns a [`tokio::net::TcpStream`] into a [`std::net::TcpStream`]. + /// + /// The returned [`std::net::TcpStream`] will have nonblocking mode set as `true`. + /// Use [`set_nonblocking`] to change the blocking mode if needed. + /// + /// # Examples + /// + /// ``` + /// use std::error::Error; + /// use std::io::Read; + /// use tokio::net::TcpListener; + /// # use tokio::net::TcpStream; + /// # use tokio::io::AsyncWriteExt; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// let mut data = [0u8; 12]; + /// # if false { + /// let listener = TcpListener::bind("127.0.0.1:34254").await?; + /// # } + /// # let listener = TcpListener::bind("127.0.0.1:0").await?; + /// # let addr = listener.local_addr().unwrap(); + /// # let handle = tokio::spawn(async move { + /// # let mut stream: TcpStream = TcpStream::connect(addr).await.unwrap(); + /// # stream.write_all(b"Hello world!").await.unwrap(); + /// # }); + /// let (tokio_tcp_stream, _) = listener.accept().await?; + /// let mut std_tcp_stream = tokio_tcp_stream.into_std()?; + /// # handle.await.expect("The task being joined has panicked"); + /// std_tcp_stream.set_nonblocking(false)?; + /// std_tcp_stream.read_exact(&mut data)?; + /// # assert_eq!(b"Hello world!", &data); + /// Ok(()) + /// } + /// ``` + /// [`tokio::net::TcpStream`]: TcpStream + /// [`std::net::TcpStream`]: std::net::TcpStream + /// [`set_nonblocking`]: fn@std::net::TcpStream::set_nonblocking + Future intoStd(); + + /// Reads the linger duration for this socket by getting the `SO_LINGER` + /// option. + /// + /// For more information about this option, see [`set_linger`]. + /// + /// [`set_linger`]: TcpStream::set_linger + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// println!("{:?}", stream.linger()?); + /// # Ok(()) + /// # } + /// ``` + Future linger(); + + /// Returns the local address that this stream is bound to. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// println!("{:?}", stream.local_addr()?); + /// # Ok(()) + /// # } + /// ``` + Future localAddr(); + + /// Gets the value of the `TCP_NODELAY` option on this socket. + /// + /// For more information about this option, see [`set_nodelay`]. + /// + /// [`set_nodelay`]: TcpStream::set_nodelay + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// println!("{:?}", stream.nodelay()?); + /// # Ok(()) + /// # } + /// ``` + Future nodelay(); + + /// Receives data on the socket from the remote address to which it is + /// connected, without removing that data from the queue. On success, + /// returns the number of bytes peeked. + /// + /// Successive calls return the same data. This is accomplished by passing + /// `MSG_PEEK` as a flag to the underlying `recv` system call. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If the method is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no peek was performed, and + /// that `buf` has not been modified. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use tokio::io::AsyncReadExt; + /// use std::error::Error; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let mut stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// let mut b1 = [0; 10]; + /// let mut b2 = [0; 10]; + /// + /// // Peek at the data + /// let n = stream.peek(&mut b1).await?; + /// + /// // Read the data + /// assert_eq!(n, stream.read(&mut b2[..n]).await?); + /// assert_eq!(&b1[..n], &b2[..n]); + /// + /// Ok(()) + /// } + /// ``` + /// + /// The [`read`] method is defined on the [`AsyncReadExt`] trait. + /// + /// [`read`]: fn@crate::io::AsyncReadExt::read + /// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt + Future peek({required U8 buf}); + + /// Returns the remote address that this stream is connected to. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// println!("{:?}", stream.peer_addr()?); + /// # Ok(()) + /// # } + /// ``` + Future peerAddr(); + + /// Attempts to receive data on the socket, without removing that data from + /// the queue, registering the current task for wakeup if data is not yet + /// available. + /// + /// Note that on multiple calls to `poll_peek`, `poll_read` or + /// `poll_read_ready`, only the `Waker` from the `Context` passed to the + /// most recent call is scheduled to receive a wakeup. (However, + /// `poll_write` retains a second, independent waker.) + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if data is not yet available. + /// * `Poll::Ready(Ok(n))` if data is available. `n` is the number of bytes peeked. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::io::{self, ReadBuf}; + /// use tokio::net::TcpStream; + /// + /// use std::future::poll_fn; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let stream = TcpStream::connect("127.0.0.1:8000").await?; + /// let mut buf = [0; 10]; + /// let mut buf = ReadBuf::new(&mut buf); + /// + /// poll_fn(|cx| { + /// stream.poll_peek(cx, &mut buf) + /// }).await?; + /// + /// Ok(()) + /// } + /// ``` + Future pollPeek({required Context cx, required ReadBuf buf}); + + /// Polls for read readiness. + /// + /// If the tcp stream is not currently ready for reading, this method will + /// store a clone of the `Waker` from the provided `Context`. When the tcp + /// stream becomes ready for reading, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_read_ready`, `poll_read` or + /// `poll_peek`, only the `Waker` from the `Context` passed to the most + /// recent call is scheduled to receive a wakeup. (However, + /// `poll_write_ready` retains a second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`readable`] is not feasible. Where possible, using [`readable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the tcp stream is not ready for reading. + /// * `Poll::Ready(Ok(()))` if the tcp stream is ready for reading. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`readable`]: method@Self::readable + Future pollReadReady({required Context cx}); + + /// Polls for write readiness. + /// + /// If the tcp stream is not currently ready for writing, this method will + /// store a clone of the `Waker` from the provided `Context`. When the tcp + /// stream becomes ready for writing, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_write_ready` or `poll_write`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. (However, `poll_read_ready` retains a + /// second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`writable`] is not feasible. Where possible, using [`writable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the tcp stream is not ready for writing. + /// * `Poll::Ready(Ok(()))` if the tcp stream is ready for writing. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`writable`]: method@Self::writable + Future pollWriteReady({required Context cx}); + + /// Waits for the socket to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with `try_read()`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// let mut msg = vec![0; 1024]; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut msg) { + /// Ok(n) => { + /// msg.truncate(n); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// println!("GOT = {:?}", msg); + /// Ok(()) + /// } + /// ``` + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with `try_read()` or `try_write()`. It + /// can be used to concurrently read / write to the same socket on a single + /// task without splitting the socket. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// Concurrently read and write to the stream on the same task without + /// splitting. + /// + /// ```no_run + /// use tokio::io::Interest; + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// loop { + /// let ready = stream.ready(Interest::READABLE | Interest::WRITABLE).await?; + /// + /// if ready.is_readable() { + /// let mut data = vec![0; 1024]; + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut data) { + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// + /// } + /// + /// if ready.is_writable() { + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// println!("write {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// } + /// } + /// ``` + Future ready({required Interest interest}); + + /// Sets the linger duration of this socket by setting the `SO_LINGER` option. + /// + /// This option controls the action taken when a stream has unsent messages and the stream is + /// closed. If `SO_LINGER` is set, the system shall block the process until it can transmit the + /// data or until the time expires. + /// + /// If `SO_LINGER` is not specified, and the stream is closed, the system handles the call in a + /// way that allows the process to continue as quickly as possible. + /// + /// This option is deprecated because setting `SO_LINGER` on a socket used with Tokio is + /// always incorrect as it leads to blocking the thread when the socket is closed. For more + /// details, please see: + /// + /// > Volumes of communications have been devoted to the intricacies of `SO_LINGER` versus + /// > non-blocking (`O_NONBLOCK`) sockets. From what I can tell, the final word is: don't + /// > do it. Rely on the `shutdown()`-followed-by-`read()`-eof technique instead. + /// > + /// > From [The ultimate `SO_LINGER` page, or: why is my tcp not reliable](https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable) + /// + /// # Examples + /// + /// ```no_run + /// # #![allow(deprecated)] + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// stream.set_linger(None)?; + /// # Ok(()) + /// # } + /// ``` + Future setLinger({Duration? dur}); + + /// Sets the value of the `TCP_NODELAY` option on this socket. + /// + /// If set, this option disables the Nagle algorithm. This means that + /// segments are always sent as soon as possible, even if there is only a + /// small amount of data. When not set, data is buffered until there is a + /// sufficient amount to send out, thereby avoiding the frequent sending of + /// small packets. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// stream.set_nodelay(true)?; + /// # Ok(()) + /// # } + /// ``` + Future setNodelay({required bool nodelay}); + + /// Sets the value for the `IP_TTL` option on this socket. + /// + /// This value sets the time-to-live field that is used in every packet sent + /// from this socket. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// stream.set_ttl(123)?; + /// # Ok(()) + /// # } + /// ``` + Future setTtl({required int ttl}); + + /// Returns the value of the `SO_ERROR` option. + Future takeError(); + + /// Tries to read data from the stream into the provided buffer, returning how + /// many bytes were read. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read()` is non-blocking, the buffer does not have to be stored by + /// the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`readable()`]: TcpStream::readable() + /// [`ready()`]: TcpStream::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: + /// + /// 1. The stream's read half is closed and will no longer yield data. + /// 2. The specified buffer was 0 bytes in length. + /// + /// If the stream is not ready to read data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Creating the buffer **after** the `await` prevents it from + /// // being stored in the async task. + /// let mut buf = [0; 4096]; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut buf) { + /// Ok(0) => break, + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryRead({required U8 buf}); + + /// Tries to read data from the stream into the provided buffers, returning + /// how many bytes were read. + /// + /// Data is copied to fill each buffer in order, with the final buffer + /// written to possibly being only partially filled. This method behaves + /// equivalently to a single call to [`try_read()`] with concatenated + /// buffers. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read_vectored()` is non-blocking, the buffer does not have to be + /// stored by the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`try_read()`]: TcpStream::try_read() + /// [`readable()`]: TcpStream::readable() + /// [`ready()`]: TcpStream::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. `Ok(0)` indicates the stream's read half is closed + /// and will no longer yield data. If the stream is not ready to read data + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io::{self, IoSliceMut}; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Creating the buffer **after** the `await` prevents it from + /// // being stored in the async task. + /// let mut buf_a = [0; 512]; + /// let mut buf_b = [0; 1024]; + /// let mut bufs = [ + /// IoSliceMut::new(&mut buf_a), + /// IoSliceMut::new(&mut buf_b), + /// ]; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read_vectored(&mut bufs) { + /// Ok(0) => break, + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryReadVectored({required IoSliceMut bufs}); + + /// Try to write a buffer to the stream, returning how many bytes were + /// written. + /// + /// The function will attempt to write the entire contents of `buf`, but + /// only part of the buffer may be written. + /// + /// This function is usually paired with `writable()`. + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWrite({required List buf}); + + /// Tries to write several buffers to the stream, returning how many bytes + /// were written. + /// + /// Data is written from each buffer in order, with the final buffer read + /// from possibly being only partially consumed. This method behaves + /// equivalently to a single call to [`try_write()`] with concatenated + /// buffers. + /// + /// This function is usually paired with `writable()`. + /// + /// [`try_write()`]: TcpStream::try_write() + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write_vectored(&bufs) { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWriteVectored({required List bufs}); + + /// Gets the value of the `IP_TTL` option for this socket. + /// + /// For more information about this option, see [`set_ttl`]. + /// + /// [`set_ttl`]: TcpStream::set_ttl + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// println!("{:?}", stream.ttl()?); + /// # Ok(()) + /// # } + /// ``` + Future ttl(); + + /// Waits for the socket to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually + /// paired with `try_write()`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future writable(); +} + +// Rust type: RustOpaqueMoi> +abstract class UdpSocket implements RustOpaqueInterface { + /// Gets the value of the `SO_BROADCAST` option for this socket. + /// + /// For more information about this option, see [`set_broadcast`]. + /// + /// [`set_broadcast`]: method@Self::set_broadcast + Future broadcast(); + + /// Creates new `UdpSocket` from a previously bound `std::net::UdpSocket`. + /// + /// This function is intended to be used to wrap a UDP socket from the + /// standard library in the Tokio equivalent. + /// + /// This can be used in conjunction with `socket2`'s `Socket` interface to + /// configure a socket before it's handed off, such as setting options like + /// `reuse_address` or binding to multiple addresses. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the socket is in + /// non-blocking mode. Otherwise all I/O operations on the socket + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::net::UdpSocket::set_nonblocking + /// + /// # Panics + /// + /// This function panics if thread-local runtime is not set. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + /// + /// # Example + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// # use std::{io, net::SocketAddr}; + /// + /// # #[tokio::main] + /// # async fn main() -> io::Result<()> { + /// let addr = "0.0.0.0:8080".parse::().unwrap(); + /// let std_sock = std::net::UdpSocket::bind(addr)?; + /// std_sock.set_nonblocking(true)?; + /// let sock = UdpSocket::from_std(std_sock)?; + /// // use `sock` + /// # Ok(()) + /// # } + /// ``` + static Future fromStd({required UdpSocket socket}) => + RustLib.instance.api.tokioNetUdpSocketFromStd(socket: socket); + + /// Turns a [`tokio::net::UdpSocket`] into a [`std::net::UdpSocket`]. + /// + /// The returned [`std::net::UdpSocket`] will have nonblocking mode set as + /// `true`. Use [`set_nonblocking`] to change the blocking mode if needed. + /// + /// # Examples + /// + /// ```rust,no_run + /// use std::error::Error; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let tokio_socket = tokio::net::UdpSocket::bind("127.0.0.1:0").await?; + /// let std_socket = tokio_socket.into_std()?; + /// std_socket.set_nonblocking(false)?; + /// Ok(()) + /// } + /// ``` + /// + /// [`tokio::net::UdpSocket`]: UdpSocket + /// [`std::net::UdpSocket`]: std::net::UdpSocket + /// [`set_nonblocking`]: fn@std::net::UdpSocket::set_nonblocking + Future intoStd(); + + /// Executes an operation of the `IP_ADD_MEMBERSHIP` type. + /// + /// This function specifies a new multicast group for this socket to join. + /// The address must be a valid multicast address, and `interface` is the + /// address of the local interface with which the system should join the + /// multicast group. If it's equal to `INADDR_ANY` then an appropriate + /// interface is chosen by the system. + Future joinMulticastV4( + {required Ipv4Addr multiaddr, required Ipv4Addr interface_}); + + /// Executes an operation of the `IPV6_ADD_MEMBERSHIP` type. + /// + /// This function specifies a new multicast group for this socket to join. + /// The address must be a valid multicast address, and `interface` is the + /// index of the interface to join/leave (or 0 to indicate any interface). + Future joinMulticastV6( + {required Ipv6Addr multiaddr, required int interface_}); + + /// Executes an operation of the `IP_DROP_MEMBERSHIP` type. + /// + /// For more information about this option, see [`join_multicast_v4`]. + /// + /// [`join_multicast_v4`]: method@Self::join_multicast_v4 + Future leaveMulticastV4( + {required Ipv4Addr multiaddr, required Ipv4Addr interface_}); + + /// Executes an operation of the `IPV6_DROP_MEMBERSHIP` type. + /// + /// For more information about this option, see [`join_multicast_v6`]. + /// + /// [`join_multicast_v6`]: method@Self::join_multicast_v6 + Future leaveMulticastV6( + {required Ipv6Addr multiaddr, required int interface_}); + + /// Returns the local address that this socket is bound to. + /// + /// # Example + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// # use std::{io, net::SocketAddr}; + /// + /// # #[tokio::main] + /// # async fn main() -> io::Result<()> { + /// let addr = "0.0.0.0:8080".parse::().unwrap(); + /// let sock = UdpSocket::bind(addr).await?; + /// // the address the socket is bound to + /// let local_addr = sock.local_addr()?; + /// # Ok(()) + /// # } + /// ``` + Future localAddr(); + + /// Gets the value of the `IP_MULTICAST_LOOP` option for this socket. + /// + /// For more information about this option, see [`set_multicast_loop_v4`]. + /// + /// [`set_multicast_loop_v4`]: method@Self::set_multicast_loop_v4 + Future multicastLoopV4(); + + /// Gets the value of the `IPV6_MULTICAST_LOOP` option for this socket. + /// + /// For more information about this option, see [`set_multicast_loop_v6`]. + /// + /// [`set_multicast_loop_v6`]: method@Self::set_multicast_loop_v6 + Future multicastLoopV6(); + + /// Gets the value of the `IP_MULTICAST_TTL` option for this socket. + /// + /// For more information about this option, see [`set_multicast_ttl_v4`]. + /// + /// [`set_multicast_ttl_v4`]: method@Self::set_multicast_ttl_v4 + Future multicastTtlV4(); + + /// Receives a single datagram from the connected address without removing it from the queue. + /// On success, returns the number of bytes read from whence the data came. + /// + /// # Notes + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and peek returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// let mut buf = vec![0u8; 32]; + /// let len = socket.peek(&mut buf).await?; + /// + /// println!("peeked {:?} bytes", len); + /// + /// Ok(()) + /// } + /// ``` + /// + /// [`peek_sender`]: method@Self::peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future peek({required U8 buf}); + + /// Receives data from the socket, without removing it from the input queue. + /// On success, returns the number of bytes read and the address from whence + /// the data came. + /// + /// # Notes + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and `peek_from` returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// let mut buf = vec![0u8; 32]; + /// let (len, addr) = socket.peek_from(&mut buf).await?; + /// + /// println!("peeked {:?} bytes from {:?}", len, addr); + /// + /// Ok(()) + /// } + /// ``` + /// + /// [`peek_sender`]: method@Self::peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future<(BigInt, SocketAddr)> peekFrom({required U8 buf}); + + /// Retrieve the sender of the data at the head of the input queue, waiting if empty. + /// + /// This is equivalent to calling [`peek_from`] with a zero-sized buffer, + /// but suppresses the `WSAEMSGSIZE` error on Windows and the "invalid argument" error on macOS. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [`peek_from`]: method@Self::peek_from + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future peekSender(); + + /// Returns the socket address of the remote peer this socket was connected to. + /// + /// # Example + /// + /// ``` + /// use tokio::net::UdpSocket; + /// + /// # use std::{io, net::SocketAddr}; + /// # #[tokio::main] + /// # async fn main() -> io::Result<()> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// let addr = "0.0.0.0:8080".parse::().unwrap(); + /// let peer = "127.0.0.1:11100".parse::().unwrap(); + /// let sock = UdpSocket::bind(addr).await?; + /// sock.connect(peer).await?; + /// assert_eq!(peer, sock.peer_addr()?); + /// # Ok(()) + /// # } + /// ``` + Future peerAddr(); + + /// Receives data from the connected address, without removing it from the input queue. + /// + /// # Notes + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and peek returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`poll_peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(()))` reads data into `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`poll_peek_sender`]: method@Self::poll_peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollPeek({required Context cx, required ReadBuf buf}); + + /// Receives data from the socket, without removing it from the input queue. + /// On success, returns the sending address of the datagram. + /// + /// # Notes + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and peek returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`poll_peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`poll_peek_sender`]: method@Self::poll_peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollPeekFrom( + {required Context cx, required ReadBuf buf}); + + /// Retrieve the sender of the data at the head of the input queue, + /// scheduling a wakeup if empty. + /// + /// This is equivalent to calling [`poll_peek_from`] with a zero-sized buffer, + /// but suppresses the `WSAEMSGSIZE` error on Windows and the "invalid argument" error on macOS. + /// + /// # Notes + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [`poll_peek_from`]: method@Self::poll_peek_from + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollPeekSender({required Context cx}); + + /// Attempts to receive a single datagram message on the socket from the remote + /// address to which it is `connect`ed. + /// + /// The [`connect`] method will connect this socket to a remote address. This method + /// resolves to an error if the socket is not connected. + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(()))` reads data `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`connect`]: method@Self::connect + Future pollRecv({required Context cx, required ReadBuf buf}); + + /// Attempts to receive a single datagram on the socket. + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// # Notes + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollRecvFrom( + {required Context cx, required ReadBuf buf}); + + /// Polls for read/receive readiness. + /// + /// If the udp stream is not currently ready for receiving, this method will + /// store a clone of the `Waker` from the provided `Context`. When the udp + /// socket becomes ready for reading, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_recv_ready`, `poll_recv` or + /// `poll_peek`, only the `Waker` from the `Context` passed to the most + /// recent call is scheduled to receive a wakeup. (However, + /// `poll_send_ready` retains a second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`readable`] is not feasible. Where possible, using [`readable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the udp stream is not ready for reading. + /// * `Poll::Ready(Ok(()))` if the udp stream is ready for reading. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`readable`]: method@Self::readable + Future pollRecvReady({required Context cx}); + + /// Attempts to send data on the socket to the remote address to which it + /// was previously `connect`ed. + /// + /// The [`connect`] method will connect this socket to a remote address. + /// This method will fail if the socket is not connected. + /// + /// Note that on multiple calls to a `poll_*` method in the send direction, + /// only the `Waker` from the `Context` passed to the most recent call will + /// be scheduled to receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not available to write + /// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`connect`]: method@Self::connect + Future pollSend( + {required Context cx, required List buf}); + + /// Polls for write/send readiness. + /// + /// If the udp stream is not currently ready for sending, this method will + /// store a clone of the `Waker` from the provided `Context`. When the udp + /// stream becomes ready for sending, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_send_ready` or `poll_send`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. (However, `poll_recv_ready` retains a + /// second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`writable`] is not feasible. Where possible, using [`writable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the udp stream is not ready for writing. + /// * `Poll::Ready(Ok(()))` if the udp stream is ready for writing. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`writable`]: method@Self::writable + Future pollSendReady({required Context cx}); + + /// Attempts to send data on the socket to a given address. + /// + /// Note that on multiple calls to a `poll_*` method in the send direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to write + /// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + Future pollSendTo( + {required Context cx, + required List buf, + required SocketAddr target}); + + /// Waits for the socket to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with `try_recv()`. + /// + /// The function may complete without the socket being readable. This is a + /// false-positive and attempting a `try_recv()` will return with + /// `io::ErrorKind::WouldBlock`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv(&mut buf) { + /// Ok(n) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with `try_recv()` or `try_send()`. It + /// can be used to concurrently `recv` / `send` to the same socket on a single + /// task without splitting the socket. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// Concurrently receive from and send to the socket on the same task + /// without splitting. + /// + /// ```no_run + /// use tokio::io::{self, Interest}; + /// use tokio::net::UdpSocket; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// loop { + /// let ready = socket.ready(Interest::READABLE | Interest::WRITABLE).await?; + /// + /// if ready.is_readable() { + /// // The buffer is **not** included in the async task and will only exist + /// // on the stack. + /// let mut data = [0; 1024]; + /// match socket.try_recv(&mut data[..]) { + /// Ok(n) => { + /// println!("received {:?}", &data[..n]); + /// } + /// // False-positive, continue + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// if ready.is_writable() { + /// // Write some data + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// println!("sent {} bytes", n); + /// } + /// // False-positive, continue + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// } + /// } + /// ``` + Future ready({required Interest interest}); + + /// Receives a single datagram message on the socket from the remote address + /// to which it is connected. On success, returns the number of bytes read. + /// + /// The function must be called with valid byte array `buf` of sufficient + /// size to hold the message bytes. If a message is too long to fit in the + /// supplied buffer, excess bytes may be discarded. + /// + /// The [`connect`] method will connect this socket to a remote address. + /// This method will fail if the socket is not connected. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// socket. + /// + /// [`connect`]: method@Self::connect + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Bind socket + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// let mut buf = vec![0; 10]; + /// let n = socket.recv(&mut buf).await?; + /// + /// println!("received {} bytes {:?}", n, &buf[..n]); + /// + /// Ok(()) + /// } + /// ``` + Future recv({required U8 buf}); + + /// Receives a single datagram message on the socket. On success, returns + /// the number of bytes read and the origin. + /// + /// The function must be called with valid byte array `buf` of sufficient + /// size to hold the message bytes. If a message is too long to fit in the + /// supplied buffer, excess bytes may be discarded. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv_from` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// socket. + /// + /// # Example + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// let mut buf = vec![0u8; 32]; + /// let (len, addr) = socket.recv_from(&mut buf).await?; + /// + /// println!("received {:?} bytes from {:?}", len, addr); + /// + /// Ok(()) + /// } + /// ``` + /// + /// # Notes + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future<(BigInt, SocketAddr)> recvFrom({required U8 buf}); + + /// Sends data on the socket to the remote address that the socket is + /// connected to. + /// + /// The [`connect`] method will connect this socket to a remote address. + /// This method will fail if the socket is not connected. + /// + /// [`connect`]: method@Self::connect + /// + /// # Return + /// + /// On success, the number of bytes sent is returned, otherwise, the + /// encountered error is returned. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `send` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that the message was not sent. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::io; + /// use tokio::net::UdpSocket; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Bind socket + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// // Send a message + /// socket.send(b"hello world").await?; + /// + /// Ok(()) + /// } + /// ``` + Future send({required List buf}); + + /// Sets the value of the `SO_BROADCAST` option for this socket. + /// + /// When enabled, this socket is allowed to send packets to a broadcast + /// address. + Future setBroadcast({required bool on_}); + + /// Sets the value of the `IP_MULTICAST_LOOP` option for this socket. + /// + /// If enabled, multicast packets will be looped back to the local socket. + /// + /// # Note + /// + /// This may not have any effect on IPv6 sockets. + Future setMulticastLoopV4({required bool on_}); + + /// Sets the value of the `IPV6_MULTICAST_LOOP` option for this socket. + /// + /// Controls whether this socket sees the multicast packets it sends itself. + /// + /// # Note + /// + /// This may not have any effect on IPv4 sockets. + Future setMulticastLoopV6({required bool on_}); + + /// Sets the value of the `IP_MULTICAST_TTL` option for this socket. + /// + /// Indicates the time-to-live value of outgoing multicast packets for + /// this socket. The default value is 1 which means that multicast packets + /// don't leave the local network unless explicitly requested. + /// + /// # Note + /// + /// This may not have any effect on IPv6 sockets. + Future setMulticastTtlV4({required int ttl}); + + /// Sets the value for the `IPV6_TCLASS` option on this socket. + /// + /// Specifies the traffic class field that is used in every packet + /// sent from this socket. + /// + /// # Note + /// + /// This may not have any effect on IPv4 sockets. + Future setTclassV6({required int tclass}); + + /// Deprecated. Use [`set_tos_v4()`] instead. + /// + /// [`set_tos_v4()`]: Self::set_tos_v4 + Future setTos({required int tos}); + + /// Sets the value for the `IP_TOS` option on this socket. + /// + /// This value sets the type-of-service field that is used in every packet + /// sent from this socket. + /// + /// # Note + /// + /// - This may not have any effect on IPv6 sockets. + /// - On Windows, `IP_TOS` is only supported on [Windows 8+ or + /// Windows Server 2012+.](https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options) + Future setTosV4({required int tos}); + + /// Sets the value for the `IP_TTL` option on this socket. + /// + /// This value sets the time-to-live field that is used in every packet sent + /// from this socket. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// # use std::io; + /// + /// # async fn dox() -> io::Result<()> { + /// let sock = UdpSocket::bind("127.0.0.1:8080").await?; + /// sock.set_ttl(60)?; + /// + /// # Ok(()) + /// # } + /// ``` + Future setTtl({required int ttl}); + + /// Returns the value of the `SO_ERROR` option. + /// + /// # Examples + /// ``` + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// // Create a socket + /// let socket = UdpSocket::bind("0.0.0.0:8080").await?; + /// + /// if let Ok(Some(err)) = socket.take_error() { + /// println!("Got error: {:?}", err); + /// } + /// + /// Ok(()) + /// } + /// ``` + Future takeError(); + + /// Gets the value of the `IPV6_TCLASS` option for this socket. + /// + /// For more information about this option, see [`set_tclass_v6`]. + /// + /// [`set_tclass_v6`]: Self::set_tclass_v6 + Future tclassV6(); + + /// Deprecated. Use [`tos_v4()`] instead. + /// + /// [`tos_v4()`]: Self::tos_v4 + Future tos(); + + /// Gets the value of the `IP_TOS` option for this socket. + /// + /// For more information about this option, see [`set_tos_v4`]. + /// + /// [`set_tos_v4`]: Self::set_tos_v4 + Future tosV4(); + + /// Tries to receive data on the connected address without removing it from the input queue. + /// On success, returns the number of bytes read. + /// + /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `readable()`. + /// + /// # Notes + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and peek returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`try_peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [`try_peek_sender`]: method@Self::try_peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future tryPeek({required U8 buf}); + + /// Tries to receive data on the socket without removing it from the input queue. + /// On success, returns the number of bytes read and the sending address of the + /// datagram. + /// + /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `readable()`. + /// + /// # Notes + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and peek returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`try_peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [`try_peek_sender`]: method@Self::try_peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future<(BigInt, SocketAddr)> tryPeekFrom({required U8 buf}); + + /// Try to retrieve the sender of the data at the head of the input queue. + /// + /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `readable()`. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future tryPeekSender(); + + /// Tries to receive a single datagram message on the socket from the remote + /// address to which it is connected. On success, returns the number of + /// bytes read. + /// + /// This method must be called with valid byte array `buf` of sufficient size + /// to hold the message bytes. If a message is too long to fit in the + /// supplied buffer, excess bytes may be discarded. + /// + /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `readable()`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv(&mut buf) { + /// Ok(n) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryRecv({required U8 buf}); + + /// Tries to receive a single datagram message on the socket. On success, + /// returns the number of bytes read and the origin. + /// + /// This method must be called with valid byte array `buf` of sufficient size + /// to hold the message bytes. If a message is too long to fit in the + /// supplied buffer, excess bytes may be discarded. + /// + /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `readable()`. + /// + /// # Notes + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv_from(&mut buf) { + /// Ok((n, _addr)) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future<(BigInt, SocketAddr)> tryRecvFrom({required U8 buf}); + + /// Tries to send data on the socket to the remote address to which it is + /// connected. + /// + /// When the socket buffer is full, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `writable()`. + /// + /// # Returns + /// + /// If successful, `Ok(n)` is returned, where `n` is the number of bytes + /// sent. If the socket is not ready to send data, + /// `Err(ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Bind a UDP socket + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// // Connect to a peer + /// socket.connect("127.0.0.1:8081").await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// socket.writable().await?; + /// + /// // Try to send data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future trySend({required List buf}); + + /// Tries to send data on the socket to the given address, but if the send is + /// blocked this will return right away. + /// + /// This function is usually paired with `writable()`. + /// + /// # Returns + /// + /// If successful, returns the number of bytes sent + /// + /// Users should ensure that when the remote cannot receive, the + /// [`ErrorKind::WouldBlock`] is properly handled. An error can also occur + /// if the IP version of the socket does not match that of `target`. + /// + /// [`ErrorKind::WouldBlock`]: std::io::ErrorKind::WouldBlock + /// + /// # Example + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// let dst = "127.0.0.1:8081".parse()?; + /// + /// loop { + /// socket.writable().await?; + /// + /// match socket.try_send_to(&b"hello world"[..], dst) { + /// Ok(sent) => { + /// println!("sent {} bytes", sent); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// // Writable false positive. + /// continue; + /// } + /// Err(e) => return Err(e.into()), + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future trySendTo( + {required List buf, required SocketAddr target}); + + /// Gets the value of the `IP_TTL` option for this socket. + /// + /// For more information about this option, see [`set_ttl`]. + /// + /// [`set_ttl`]: method@Self::set_ttl + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// # use std::io; + /// + /// # async fn dox() -> io::Result<()> { + /// let sock = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// println!("{:?}", sock.ttl()?); + /// # Ok(()) + /// # } + /// ``` + Future ttl(); + + /// Waits for the socket to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is + /// usually paired with `try_send()` or `try_send_to()`. + /// + /// The function may complete without the socket being writable. This is a + /// false-positive and attempting a `try_send()` will return with + /// `io::ErrorKind::WouldBlock`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Bind socket + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// socket.writable().await?; + /// + /// // Try to send data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future writable(); +} + +// Rust type: RustOpaqueMoi> +abstract class UnixDatagram implements RustOpaqueInterface { + /// Creates new [`UnixDatagram`] from a [`std::os::unix::net::UnixDatagram`]. + /// + /// This function is intended to be used to wrap a `UnixDatagram` from the + /// standard library in the Tokio equivalent. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the socket is in + /// non-blocking mode. Otherwise all I/O operations on the socket + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::os::unix::net::UnixDatagram::set_nonblocking + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a Tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// use std::os::unix::net::UnixDatagram as StdUDS; + /// use tempfile::tempdir; + /// + /// // We use a temporary directory so that the socket + /// // files left by the bound sockets will get cleaned up. + /// let tmp = tempdir()?; + /// + /// // Bind the socket to a filesystem path + /// let socket_path = tmp.path().join("socket"); + /// let std_socket = StdUDS::bind(&socket_path)?; + /// std_socket.set_nonblocking(true)?; + /// let tokio_socket = UnixDatagram::from_std(std_socket)?; + /// + /// # Ok(()) + /// # } + /// ``` + static Future fromStd({required UnixDatagram datagram}) => + RustLib.instance.api.tokioNetUnixDatagramFromStd(datagram: datagram); + + /// Turns a [`tokio::net::UnixDatagram`] into a [`std::os::unix::net::UnixDatagram`]. + /// + /// The returned [`std::os::unix::net::UnixDatagram`] will have nonblocking + /// mode set as `true`. Use [`set_nonblocking`] to change the blocking mode + /// if needed. + /// + /// # Examples + /// + /// ```rust,no_run + /// # use std::error::Error; + /// # async fn dox() -> Result<(), Box> { + /// let tokio_socket = tokio::net::UnixDatagram::bind("/path/to/the/socket")?; + /// let std_socket = tokio_socket.into_std()?; + /// std_socket.set_nonblocking(false)?; + /// # Ok(()) + /// # } + /// ``` + /// + /// [`tokio::net::UnixDatagram`]: UnixDatagram + /// [`std::os::unix::net::UnixDatagram`]: std::os::unix::net::UnixDatagram + /// [`set_nonblocking`]: fn@std::os::unix::net::UnixDatagram::set_nonblocking + Future intoStd(); + + /// Returns the local address that this socket is bound to. + /// + /// # Examples + /// For a socket bound to a local path + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// use tempfile::tempdir; + /// + /// // We use a temporary directory so that the socket + /// // files left by the bound sockets will get cleaned up. + /// let tmp = tempdir()?; + /// + /// // Bind socket to a filesystem path + /// let socket_path = tmp.path().join("socket"); + /// let socket = UnixDatagram::bind(&socket_path)?; + /// + /// assert_eq!(socket.local_addr()?.as_pathname().unwrap(), &socket_path); + /// + /// # Ok(()) + /// # } + /// ``` + /// + /// For an unbound socket + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create an unbound socket + /// let socket = UnixDatagram::unbound()?; + /// + /// assert!(socket.local_addr()?.is_unnamed()); + /// + /// # Ok(()) + /// # } + /// ``` + Future localAddr(); + + /// Creates an unnamed pair of connected sockets. + /// + /// This function will create a pair of interconnected Unix sockets for + /// communicating back and forth between one another. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create the pair of sockets + /// let (sock1, sock2) = UnixDatagram::pair()?; + /// + /// // Since the sockets are paired, the paired send/recv + /// // functions can be used + /// let bytes = b"hail eris"; + /// sock1.send(bytes).await?; + /// + /// let mut buff = vec![0u8; 24]; + /// let size = sock2.recv(&mut buff).await?; + /// + /// let dgram = &buff[..size]; + /// assert_eq!(dgram, bytes); + /// + /// # Ok(()) + /// # } + /// ``` + static Future<(UnixDatagram, UnixDatagram)> pair() => + RustLib.instance.api.tokioNetUnixDatagramPair(); + + /// Returns the address of this socket's peer. + /// + /// The `connect` method will connect the socket to a peer. + /// + /// # Examples + /// For a peer with a local path + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// use tempfile::tempdir; + /// + /// // Create an unbound socket + /// let tx = UnixDatagram::unbound()?; + /// + /// // Create another, bound socket + /// let tmp = tempdir()?; + /// let rx_path = tmp.path().join("rx"); + /// let rx = UnixDatagram::bind(&rx_path)?; + /// + /// // Connect to the bound socket + /// tx.connect(&rx_path)?; + /// + /// assert_eq!(tx.peer_addr()?.as_pathname().unwrap(), &rx_path); + /// + /// # Ok(()) + /// # } + /// ``` + /// + /// For an unbound peer + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create the pair of sockets + /// let (sock1, sock2) = UnixDatagram::pair()?; + /// + /// assert!(sock1.peer_addr()?.is_unnamed()); + /// + /// # Ok(()) + /// # } + /// ``` + Future peerAddr(); + + /// Attempts to receive a single datagram message on the socket from the remote + /// address to which it is `connect`ed. + /// + /// The [`connect`] method will connect this socket to a remote address. This method + /// resolves to an error if the socket is not connected. + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(()))` reads data `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`connect`]: method@Self::connect + Future pollRecv({required Context cx, required ReadBuf buf}); + + /// Attempts to receive a single datagram on the specified address. + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + Future pollRecvFrom( + {required Context cx, required ReadBuf buf}); + + /// Polls for read/receive readiness. + /// + /// If the socket is not currently ready for receiving, this method will + /// store a clone of the `Waker` from the provided `Context`. When the + /// socket becomes ready for reading, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_recv_ready`, `poll_recv` or + /// `poll_peek`, only the `Waker` from the `Context` passed to the most + /// recent call is scheduled to receive a wakeup. (However, + /// `poll_send_ready` retains a second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`readable`] is not feasible. Where possible, using [`readable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready for reading. + /// * `Poll::Ready(Ok(()))` if the socket is ready for reading. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`readable`]: method@Self::readable + Future pollRecvReady({required Context cx}); + + /// Attempts to send data on the socket to the remote address to which it + /// was previously `connect`ed. + /// + /// The [`connect`] method will connect this socket to a remote address. + /// This method will fail if the socket is not connected. + /// + /// Note that on multiple calls to a `poll_*` method in the send direction, + /// only the `Waker` from the `Context` passed to the most recent call will + /// be scheduled to receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not available to write + /// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`connect`]: method@Self::connect + Future pollSend( + {required Context cx, required List buf}); + + /// Polls for write/send readiness. + /// + /// If the socket is not currently ready for sending, this method will + /// store a clone of the `Waker` from the provided `Context`. When the socket + /// becomes ready for sending, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_send_ready` or `poll_send`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. (However, `poll_recv_ready` retains a + /// second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`writable`] is not feasible. Where possible, using [`writable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready for writing. + /// * `Poll::Ready(Ok(()))` if the socket is ready for writing. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`writable`]: method@Self::writable + Future pollSendReady({required Context cx}); + + /// Waits for the socket to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with `try_recv()`. + /// + /// The function may complete without the socket being readable. This is a + /// false-positive and attempting a `try_recv()` will return with + /// `io::ErrorKind::WouldBlock`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// socket.connect(&server_path)?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv(&mut buf) { + /// Ok(n) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with `try_recv()` or `try_send()`. It + /// can be used to concurrently `recv` / `send` to the same socket on a single + /// task without splitting the socket. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// Concurrently receive from and send to the socket on the same task + /// without splitting. + /// + /// ```no_run + /// use tokio::io::Interest; + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// socket.connect(&server_path)?; + /// + /// loop { + /// let ready = socket.ready(Interest::READABLE | Interest::WRITABLE).await?; + /// + /// if ready.is_readable() { + /// let mut data = [0; 1024]; + /// match socket.try_recv(&mut data[..]) { + /// Ok(n) => { + /// println!("received {:?}", &data[..n]); + /// } + /// // False-positive, continue + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// if ready.is_writable() { + /// // Write some data + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// println!("sent {} bytes", n); + /// } + /// // False-positive, continue + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// } + /// } + /// ``` + Future ready({required Interest interest}); + + /// Receives data from the socket. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// socket. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create the pair of sockets + /// let (sock1, sock2) = UnixDatagram::pair()?; + /// + /// // Since the sockets are paired, the paired send/recv + /// // functions can be used + /// let bytes = b"hello world"; + /// sock1.send(bytes).await?; + /// + /// let mut buff = vec![0u8; 24]; + /// let size = sock2.recv(&mut buff).await?; + /// + /// let dgram = &buff[..size]; + /// assert_eq!(dgram, bytes); + /// + /// # Ok(()) + /// # } + /// ``` + Future recv({required U8 buf}); + + /// Receives data from the socket. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv_from` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// socket. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// use tempfile::tempdir; + /// + /// // We use a temporary directory so that the socket + /// // files left by the bound sockets will get cleaned up. + /// let tmp = tempdir()?; + /// + /// // Bind each socket to a filesystem path + /// let tx_path = tmp.path().join("tx"); + /// let tx = UnixDatagram::bind(&tx_path)?; + /// let rx_path = tmp.path().join("rx"); + /// let rx = UnixDatagram::bind(&rx_path)?; + /// + /// let bytes = b"hello world"; + /// tx.send_to(bytes, &rx_path).await?; + /// + /// let mut buf = vec![0u8; 24]; + /// let (size, addr) = rx.recv_from(&mut buf).await?; + /// + /// let dgram = &buf[..size]; + /// assert_eq!(dgram, bytes); + /// assert_eq!(addr.as_pathname().unwrap(), &tx_path); + /// + /// # Ok(()) + /// # } + /// ``` + Future<(BigInt, SocketAddr)> recvFrom({required U8 buf}); + + /// Sends data on the socket to the socket's peer. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `send` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that the message was not sent. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create the pair of sockets + /// let (sock1, sock2) = UnixDatagram::pair()?; + /// + /// // Since the sockets are paired, the paired send/recv + /// // functions can be used + /// let bytes = b"hello world"; + /// sock1.send(bytes).await?; + /// + /// let mut buff = vec![0u8; 24]; + /// let size = sock2.recv(&mut buff).await?; + /// + /// let dgram = &buff[..size]; + /// assert_eq!(dgram, bytes); + /// + /// # Ok(()) + /// # } + /// ``` + Future send({required List buf}); + + /// Shuts down the read, write, or both halves of this connection. + /// + /// This function will cause all pending and future I/O calls on the + /// specified portions to immediately return with an appropriate value + /// (see the documentation of `Shutdown`). + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. + /// use tokio::net::UnixDatagram; + /// use std::net::Shutdown; + /// + /// // Create an unbound socket + /// let (socket, other) = UnixDatagram::pair()?; + /// + /// socket.shutdown(Shutdown::Both)?; + /// + /// // NOTE: the following commented out code does NOT work as expected. + /// // Due to an underlying issue, the recv call will block indefinitely. + /// // See: https://github.com/tokio-rs/tokio/issues/1679 + /// //let mut buff = vec![0u8; 24]; + /// //let size = socket.recv(&mut buff).await?; + /// //assert_eq!(size, 0); + /// + /// let send_result = socket.send(b"hello world").await; + /// assert!(send_result.is_err()); + /// + /// # Ok(()) + /// # } + /// ``` + Future shutdown({required Shutdown how}); + + /// Returns the value of the `SO_ERROR` option. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create an unbound socket + /// let socket = UnixDatagram::unbound()?; + /// + /// if let Ok(Some(err)) = socket.take_error() { + /// println!("Got error: {:?}", err); + /// } + /// + /// # Ok(()) + /// # } + /// ``` + Future takeError(); + + /// Tries to receive a datagram from the peer without waiting. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// socket.connect(&server_path)?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv(&mut buf) { + /// Ok(n) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryRecv({required U8 buf}); + + /// Tries to receive data from the socket without waiting. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv_from(&mut buf) { + /// Ok((n, _addr)) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future<(BigInt, SocketAddr)> tryRecvFrom({required U8 buf}); + + /// Tries to send a datagram to the peer without waiting. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// socket.connect(&server_path)?; + /// + /// loop { + /// // Wait for the socket to be writable + /// socket.writable().await?; + /// + /// // Try to send data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future trySend({required List buf}); + + /// Creates a new `UnixDatagram` which is not bound to any address. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// use tempfile::tempdir; + /// + /// // Create an unbound socket + /// let tx = UnixDatagram::unbound()?; + /// + /// // Create another, bound socket + /// let tmp = tempdir()?; + /// let rx_path = tmp.path().join("rx"); + /// let rx = UnixDatagram::bind(&rx_path)?; + /// + /// // Send to the bound socket + /// let bytes = b"hello world"; + /// tx.send_to(bytes, &rx_path).await?; + /// + /// let mut buf = vec![0u8; 24]; + /// let (size, addr) = rx.recv_from(&mut buf).await?; + /// + /// let dgram = &buf[..size]; + /// assert_eq!(dgram, bytes); + /// + /// # Ok(()) + /// # } + /// ``` + static Future unbound() => + RustLib.instance.api.tokioNetUnixDatagramUnbound(); + + /// Waits for the socket to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is + /// usually paired with `try_send()` or `try_send_to()`. + /// + /// The function may complete without the socket being writable. This is a + /// false-positive and attempting a `try_send()` will return with + /// `io::ErrorKind::WouldBlock`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// socket.connect(&server_path)?; + /// + /// loop { + /// // Wait for the socket to be writable + /// socket.writable().await?; + /// + /// // Try to send data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future writable(); +} + +// Rust type: RustOpaqueMoi> +abstract class UnixListener implements RustOpaqueInterface { + /// Accepts a new incoming connection to this listener. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If the method is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no new connections were + /// accepted by this method. + Future<(UnixStream, SocketAddr)> accept(); + + /// Creates new [`UnixListener`] from a [`std::os::unix::net::UnixListener`]. + /// + /// This function is intended to be used to wrap a `UnixListener` from the + /// standard library in the Tokio equivalent. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the listener is in + /// non-blocking mode. Otherwise all I/O operations on the listener + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::os::unix::net::UnixListener::set_nonblocking + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixListener; + /// use std::os::unix::net::UnixListener as StdUnixListener; + /// # use std::error::Error; + /// + /// # async fn dox() -> Result<(), Box> { + /// let std_listener = StdUnixListener::bind("/path/to/the/socket")?; + /// std_listener.set_nonblocking(true)?; + /// let listener = UnixListener::from_std(std_listener)?; + /// # Ok(()) + /// # } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromStd({required UnixListener listener}) => + RustLib.instance.api.tokioNetUnixListenerFromStd(listener: listener); + + /// Turns a [`tokio::net::UnixListener`] into a [`std::os::unix::net::UnixListener`]. + /// + /// The returned [`std::os::unix::net::UnixListener`] will have nonblocking mode + /// set as `true`. Use [`set_nonblocking`] to change the blocking mode if needed. + /// + /// # Examples + /// + /// ```rust,no_run + /// # use std::error::Error; + /// # async fn dox() -> Result<(), Box> { + /// let tokio_listener = tokio::net::UnixListener::bind("/path/to/the/socket")?; + /// let std_listener = tokio_listener.into_std()?; + /// std_listener.set_nonblocking(false)?; + /// # Ok(()) + /// # } + /// ``` + /// + /// [`tokio::net::UnixListener`]: UnixListener + /// [`std::os::unix::net::UnixListener`]: std::os::unix::net::UnixListener + /// [`set_nonblocking`]: fn@std::os::unix::net::UnixListener::set_nonblocking + Future intoStd(); + + /// Returns the local socket address of this listener. + Future localAddr(); + + /// Polls to accept a new incoming connection to this listener. + /// + /// If there is no connection to accept, `Poll::Pending` is returned and the + /// current task will be notified by a waker. Note that on multiple calls + /// to `poll_accept`, only the `Waker` from the `Context` passed to the most + /// recent call is scheduled to receive a wakeup. + Future pollAccept({required Context cx}); + + /// Returns the value of the `SO_ERROR` option. + Future takeError(); +} + +// Rust type: RustOpaqueMoi> +abstract class UnixSocket implements RustOpaqueInterface { + /// Converts the socket into a [`UnixDatagram`]. + /// + /// Calling this function on a socket created by [`new_stream`] will return an error. + /// + /// [`new_stream`]: `UnixSocket::new_stream` + Future datagram(); + + /// Converts the socket into a `UnixListener`. + /// + /// `backlog` defines the maximum number of pending connections are queued + /// by the operating system at any given time. Connection are removed from + /// the queue with [`UnixListener::accept`]. When the queue is full, the + /// operating-system will start rejecting connections. + /// + /// Calling this function on a socket created by [`new_datagram`] will return an error. + /// + /// This calls the `listen(2)` operating-system function, marking the socket + /// as a passive socket. + /// + /// [`new_datagram`]: `UnixSocket::new_datagram` + Future listen({required int backlog}); + + /// Creates a new Unix datagram socket. + /// + /// Calls `socket(2)` with `AF_UNIX` and `SOCK_DGRAM`. + /// + /// # Returns + /// + /// On success, the newly created [`UnixSocket`] is returned. If an error is + /// encountered, it is returned instead. + static Future newDatagram() => + RustLib.instance.api.tokioNetUnixSocketNewDatagram(); + + /// Creates a new Unix stream socket. + /// + /// Calls `socket(2)` with `AF_UNIX` and `SOCK_STREAM`. + /// + /// # Returns + /// + /// On success, the newly created [`UnixSocket`] is returned. If an error is + /// encountered, it is returned instead. + static Future newStream() => + RustLib.instance.api.tokioNetUnixSocketNewStream(); +} + +// Rust type: RustOpaqueMoi> +abstract class UnixStream implements RustOpaqueInterface { + /// Creates new [`UnixStream`] from a [`std::os::unix::net::UnixStream`]. + /// + /// This function is intended to be used to wrap a `UnixStream` from the + /// standard library in the Tokio equivalent. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the stream is in + /// non-blocking mode. Otherwise all I/O operations on the stream + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::os::unix::net::UnixStream::set_nonblocking + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::os::unix::net::UnixStream as StdUnixStream; + /// # use std::error::Error; + /// + /// # async fn dox() -> Result<(), Box> { + /// let std_stream = StdUnixStream::connect("/path/to/the/socket")?; + /// std_stream.set_nonblocking(true)?; + /// let stream = UnixStream::from_std(std_stream)?; + /// # Ok(()) + /// # } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromStd({required UnixStream stream}) => + RustLib.instance.api.tokioNetUnixStreamFromStd(stream: stream); + + /// Splits a `UnixStream` into a read half and a write half, which can be used + /// to read and write the stream concurrently. + /// + /// Unlike [`split`], the owned halves can be moved to separate tasks, however + /// this comes at the cost of a heap allocation. + /// + /// **Note:** Dropping the write half will only shut down the write half of the + /// stream. This is equivalent to calling [`shutdown()`] on the `UnixStream`. + /// + /// [`split`]: Self::split() + /// [`shutdown()`]: fn@crate::io::AsyncWriteExt::shutdown + Future<(OwnedReadHalf, OwnedWriteHalf)> intoSplit(); + + /// Turns a [`tokio::net::UnixStream`] into a [`std::os::unix::net::UnixStream`]. + /// + /// The returned [`std::os::unix::net::UnixStream`] will have nonblocking + /// mode set as `true`. Use [`set_nonblocking`] to change the blocking + /// mode if needed. + /// + /// # Examples + /// + /// ``` + /// use std::error::Error; + /// use std::io::Read; + /// use tokio::net::UnixListener; + /// # use tokio::net::UnixStream; + /// # use tokio::io::AsyncWriteExt; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// + /// let mut data = [0u8; 12]; + /// let listener = UnixListener::bind(&bind_path)?; + /// # let handle = tokio::spawn(async { + /// # let mut stream = UnixStream::connect(bind_path).await.unwrap(); + /// # stream.write(b"Hello world!").await.unwrap(); + /// # }); + /// let (tokio_unix_stream, _) = listener.accept().await?; + /// let mut std_unix_stream = tokio_unix_stream.into_std()?; + /// # handle.await.expect("The task being joined has panicked"); + /// std_unix_stream.set_nonblocking(false)?; + /// std_unix_stream.read_exact(&mut data)?; + /// # assert_eq!(b"Hello world!", &data); + /// Ok(()) + /// } + /// ``` + /// [`tokio::net::UnixStream`]: UnixStream + /// [`std::os::unix::net::UnixStream`]: std::os::unix::net::UnixStream + /// [`set_nonblocking`]: fn@std::os::unix::net::UnixStream::set_nonblocking + Future intoStd(); + + /// Returns the socket address of the local half of this connection. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// println!("{:?}", stream.local_addr()?); + /// # Ok(()) + /// # } + /// ``` + Future localAddr(); + + /// Creates an unnamed pair of connected sockets. + /// + /// This function will create a pair of interconnected Unix sockets for + /// communicating back and forth between one another. Each socket will + /// be associated with the default event loop's handle. + static Future<(UnixStream, UnixStream)> pair() => + RustLib.instance.api.tokioNetUnixStreamPair(); + + /// Returns the socket address of the remote half of this connection. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// println!("{:?}", stream.peer_addr()?); + /// # Ok(()) + /// # } + /// ``` + Future peerAddr(); + + /// Returns effective credentials of the process which called `connect` or `pair`. + Future peerCred(); + + /// Polls for read readiness. + /// + /// If the unix stream is not currently ready for reading, this method will + /// store a clone of the `Waker` from the provided `Context`. When the unix + /// stream becomes ready for reading, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_read_ready` or `poll_read`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. (However, `poll_write_ready` retains a + /// second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`readable`] is not feasible. Where possible, using [`readable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the unix stream is not ready for reading. + /// * `Poll::Ready(Ok(()))` if the unix stream is ready for reading. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`readable`]: method@Self::readable + Future pollReadReady({required Context cx}); + + /// Polls for write readiness. + /// + /// If the unix stream is not currently ready for writing, this method will + /// store a clone of the `Waker` from the provided `Context`. When the unix + /// stream becomes ready for writing, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_write_ready` or `poll_write`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. (However, `poll_read_ready` retains a + /// second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`writable`] is not feasible. Where possible, using [`writable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the unix stream is not ready for writing. + /// * `Poll::Ready(Ok(()))` if the unix stream is ready for writing. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`writable`]: method@Self::writable + Future pollWriteReady({required Context cx}); + + /// Waits for the socket to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with `try_read()`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// let mut msg = vec![0; 1024]; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut msg) { + /// Ok(n) => { + /// msg.truncate(n); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// println!("GOT = {:?}", msg); + /// Ok(()) + /// } + /// ``` + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with `try_read()` or `try_write()`. It + /// can be used to concurrently read / write to the same socket on a single + /// task without splitting the socket. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// Concurrently read and write to the stream on the same task without + /// splitting. + /// + /// ```no_run + /// use tokio::io::Interest; + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// loop { + /// let ready = stream.ready(Interest::READABLE | Interest::WRITABLE).await?; + /// + /// if ready.is_readable() { + /// let mut data = vec![0; 1024]; + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut data) { + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// + /// } + /// + /// if ready.is_writable() { + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// println!("write {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// } + /// } + /// ``` + Future ready({required Interest interest}); + + /// Returns the value of the `SO_ERROR` option. + Future takeError(); + + /// Try to read data from the stream into the provided buffer, returning how + /// many bytes were read. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read()` is non-blocking, the buffer does not have to be stored by + /// the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`readable()`]: UnixStream::readable() + /// [`ready()`]: UnixStream::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: + /// + /// 1. The stream's read half is closed and will no longer yield data. + /// 2. The specified buffer was 0 bytes in length. + /// + /// If the stream is not ready to read data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Creating the buffer **after** the `await` prevents it from + /// // being stored in the async task. + /// let mut buf = [0; 4096]; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut buf) { + /// Ok(0) => break, + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryRead({required U8 buf}); + + /// Tries to read data from the stream into the provided buffers, returning + /// how many bytes were read. + /// + /// Data is copied to fill each buffer in order, with the final buffer + /// written to possibly being only partially filled. This method behaves + /// equivalently to a single call to [`try_read()`] with concatenated + /// buffers. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read_vectored()` is non-blocking, the buffer does not have to be + /// stored by the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`try_read()`]: UnixStream::try_read() + /// [`readable()`]: UnixStream::readable() + /// [`ready()`]: UnixStream::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. `Ok(0)` indicates the stream's read half is closed + /// and will no longer yield data. If the stream is not ready to read data + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io::{self, IoSliceMut}; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Creating the buffer **after** the `await` prevents it from + /// // being stored in the async task. + /// let mut buf_a = [0; 512]; + /// let mut buf_b = [0; 1024]; + /// let mut bufs = [ + /// IoSliceMut::new(&mut buf_a), + /// IoSliceMut::new(&mut buf_b), + /// ]; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read_vectored(&mut bufs) { + /// Ok(0) => break, + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryReadVectored({required IoSliceMut bufs}); + + /// Tries to write a buffer to the stream, returning how many bytes were + /// written. + /// + /// The function will attempt to write the entire contents of `buf`, but + /// only part of the buffer may be written. + /// + /// This function is usually paired with `writable()`. + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWrite({required List buf}); + + /// Tries to write several buffers to the stream, returning how many bytes + /// were written. + /// + /// Data is written from each buffer in order, with the final buffer read + /// from possible being only partially consumed. This method behaves + /// equivalently to a single call to [`try_write()`] with concatenated + /// buffers. + /// + /// This function is usually paired with `writable()`. + /// + /// [`try_write()`]: UnixStream::try_write() + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write_vectored(&bufs) { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWriteVectored({required List buf}); + + /// Waits for the socket to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually + /// paired with `try_write()`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future writable(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart b/mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart new file mode 100644 index 0000000..785aecf --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart @@ -0,0 +1,297 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../../../lib.dart'; +import '../io.dart'; +import '../net.dart'; +import '../signal/unix.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'tcp/split_owned.dart'; +import 'unix.dart'; + +// Rust type: RustOpaqueMoi> +abstract class OwnedReadHalf implements RustOpaqueInterface { + /// Returns the local address that this stream is bound to. + Future localAddr(); + + /// Receives data on the socket from the remote address to which it is + /// connected, without removing that data from the queue. On success, + /// returns the number of bytes peeked. + /// + /// See the [`TcpStream::peek`] level documentation for more details. + /// + /// [`TcpStream::peek`]: TcpStream::peek + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use tokio::io::AsyncReadExt; + /// use std::error::Error; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// let (mut read_half, _) = stream.into_split(); + /// + /// let mut b1 = [0; 10]; + /// let mut b2 = [0; 10]; + /// + /// // Peek at the data + /// let n = read_half.peek(&mut b1).await?; + /// + /// // Read the data + /// assert_eq!(n, read_half.read(&mut b2[..n]).await?); + /// assert_eq!(&b1[..n], &b2[..n]); + /// + /// Ok(()) + /// } + /// ``` + /// + /// The [`read`] method is defined on the [`AsyncReadExt`] trait. + /// + /// [`read`]: fn@crate::io::AsyncReadExt::read + /// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt + Future peek({required U8 buf}); + + /// Returns the remote address that this stream is connected to. + Future peerAddr(); + + /// Attempt to receive data on the socket, without removing that data from + /// the queue, registering the current task for wakeup if data is not yet + /// available. + /// + /// Note that on multiple calls to `poll_peek` or `poll_read`, only the + /// `Waker` from the `Context` passed to the most recent call is scheduled + /// to receive a wakeup. + /// + /// See the [`TcpStream::poll_peek`] level documentation for more details. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::io::{self, ReadBuf}; + /// use tokio::net::TcpStream; + /// + /// use std::future::poll_fn; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let stream = TcpStream::connect("127.0.0.1:8000").await?; + /// let (mut read_half, _) = stream.into_split(); + /// let mut buf = [0; 10]; + /// let mut buf = ReadBuf::new(&mut buf); + /// + /// poll_fn(|cx| { + /// read_half.poll_peek(cx, &mut buf) + /// }).await?; + /// + /// Ok(()) + /// } + /// ``` + /// + /// [`TcpStream::poll_peek`]: TcpStream::poll_peek + Future pollPeek({required Context cx, required ReadBuf buf}); + + /// Waits for the socket to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with `try_read()`. + /// + /// This function is also equivalent to [`TcpStream::ready`]. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with [`try_read()`]. It can be used instead + /// of [`readable()`] to check the returned ready set for [`Ready::READABLE`] + /// and [`Ready::READ_CLOSED`] events. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// This function is equivalent to [`TcpStream::ready`]. + /// + /// [`try_read()`]: Self::try_read + /// [`readable()`]: Self::readable + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + Future ready({required Interest interest}); + + /// Attempts to put the two halves of a `TcpStream` back together and + /// recover the original socket. Succeeds only if the two halves + /// originated from the same call to [`into_split`]. + /// + /// [`into_split`]: TcpStream::into_split() + Future reunite({required OwnedWriteHalf other}); + + /// Tries to read data from the stream into the provided buffer, returning how + /// many bytes were read. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read()` is non-blocking, the buffer does not have to be stored by + /// the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`readable()`]: Self::readable() + /// [`ready()`]: Self::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: + /// + /// 1. The stream's read half is closed and will no longer yield data. + /// 2. The specified buffer was 0 bytes in length. + /// + /// If the stream is not ready to read data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryRead({required U8 buf}); + + /// Tries to read data from the stream into the provided buffers, returning + /// how many bytes were read. + /// + /// Data is copied to fill each buffer in order, with the final buffer + /// written to possibly being only partially filled. This method behaves + /// equivalently to a single call to [`try_read()`] with concatenated + /// buffers. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read_vectored()` is non-blocking, the buffer does not have to be + /// stored by the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`try_read()`]: Self::try_read() + /// [`readable()`]: Self::readable() + /// [`ready()`]: Self::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. `Ok(0)` indicates the stream's read half is closed + /// and will no longer yield data. If the stream is not ready to read data + /// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryReadVectored({required IoSliceMut bufs}); +} + +// Rust type: RustOpaqueMoi> +abstract class OwnedWriteHalf implements RustOpaqueInterface { + /// Returns the local address that this stream is bound to. + Future localAddr(); + + /// Returns the remote address that this stream is connected to. + Future peerAddr(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with [`try_write()`]. It can be used instead + /// of [`writable()`] to check the returned ready set for [`Ready::WRITABLE`] + /// and [`Ready::WRITE_CLOSED`] events. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// This function is equivalent to [`TcpStream::ready`]. + /// + /// [`try_write()`]: Self::try_write + /// [`writable()`]: Self::writable + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + Future ready({required Interest interest}); + + /// Attempts to put the two halves of a `TcpStream` back together and + /// recover the original socket. Succeeds only if the two halves + /// originated from the same call to [`into_split`]. + /// + /// [`into_split`]: TcpStream::into_split() + Future reunite({required OwnedReadHalf other}); + + /// Tries to write a buffer to the stream, returning how many bytes were + /// written. + /// + /// The function will attempt to write the entire contents of `buf`, but + /// only part of the buffer may be written. + /// + /// This function is usually paired with `writable()`. + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryWrite({required List buf}); + + /// Tries to write several buffers to the stream, returning how many bytes + /// were written. + /// + /// Data is written from each buffer in order, with the final buffer read + /// from possible being only partially consumed. This method behaves + /// equivalently to a single call to [`try_write()`] with concatenated + /// buffers. + /// + /// This function is usually paired with `writable()`. + /// + /// [`try_write()`]: Self::try_write() + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryWriteVectored({required List bufs}); + + /// Waits for the socket to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually + /// paired with `try_write()`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + Future writable(); +} + +// Rust type: RustOpaqueMoi> +abstract class ReuniteError implements RustOpaqueInterface { + OwnedReadHalf get field0; + + OwnedWriteHalf get field1; + + set field0(OwnedReadHalf field0); + + set field1(OwnedWriteHalf field1); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart b/mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart new file mode 100644 index 0000000..899f6ce --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart @@ -0,0 +1,13 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `bind` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `fmt`, `try_from` + +// Rust type: RustOpaqueMoi >>> +abstract class PollResultTcpStreamSocketAddr implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart b/mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart new file mode 100644 index 0000000..931e92b --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart @@ -0,0 +1,20 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `try_read_buf` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_ref`, `as_ref`, `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `is_write_vectored`, `poll_flush`, `poll_read`, `poll_shutdown`, `poll_write_vectored`, `poll_write` +// These functions have error during generation (see debug logs or enable `stop_on_error: true` for more details): `forget` + +// Rust type: RustOpaqueMoi]>> +abstract class IoSliceMut implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class IoSlice implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi >>> +abstract class PollResultUsize implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/udp.dart b/mobile_app/lib/src/rust/third_party/tokio/net/udp.dart new file mode 100644 index 0000000..32fe7b8 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/udp.dart @@ -0,0 +1,13 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `async_io`, `bind`, `connect`, `recv_buf_from`, `recv_buf`, `send_to`, `try_io`, `try_recv_buf_from`, `try_recv_buf` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `fmt`, `try_from` + +// Rust type: RustOpaqueMoi >>> +abstract class PollResultSocketAddr implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix.dart new file mode 100644 index 0000000..dd3efc5 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/unix.dart @@ -0,0 +1,41 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../../../lib.dart'; +import '../net.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// Rust type: RustOpaqueMoi> +abstract class SocketAddr implements RustOpaqueInterface, ToSocketAddrs { + /// Returns the contents of this address if it is a `pathname` address. + /// + /// Documentation reflected in [`SocketAddr`]. + /// + /// [`SocketAddr`]: std::os::unix::net::SocketAddr + Future asPathname(); + + /// Returns `true` if the address is unnamed. + /// + /// Documentation reflected in [`SocketAddr`]. + /// + /// [`SocketAddr`]: std::os::unix::net::SocketAddr + Future isUnnamed(); +} + +// Rust type: RustOpaqueMoi> +abstract class UCred implements RustOpaqueInterface { + /// Gets GID (group ID) of the process. + Future gid(); + + /// Gets PID (process ID) of the process. + /// + /// This is only implemented under Linux, Android, iOS, macOS, Solaris, + /// Illumos and Cygwin. On other platforms this will always return `None`. + Future pid(); + + /// Gets UID (user ID) of the process. + Future uid(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart new file mode 100644 index 0000000..3a90df1 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart @@ -0,0 +1,13 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `async_io`, `bind`, `connect`, `poll_send_to`, `recv_buf_from`, `recv_buf`, `send_to`, `try_io`, `try_recv_buf_from`, `try_recv_buf`, `try_send_to` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_raw_fd`, `fmt`, `try_from` + +// Rust type: RustOpaqueMoi> +abstract class Shutdown implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart new file mode 100644 index 0000000..0441883 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart @@ -0,0 +1,13 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `bind` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_raw_fd`, `fmt`, `try_from` + +// Rust type: RustOpaqueMoi >>> +abstract class PollResultUnixStreamSocketAddr implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart new file mode 100644 index 0000000..ac63416 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart @@ -0,0 +1,2871 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import '../../../../lib.dart'; +import '../../io.dart'; +import '../../process/sys.dart'; +import '../../signal/unix.dart'; +import '../../sync/broadcast.dart'; +import '../../sync/broadcast/error.dart'; +import '../../sync/mpsc/bounded.dart'; +import '../../sync/mpsc/error.dart'; +import '../../sync/oneshot.dart'; +import '../../sync/watch.dart'; +import '../tcp/split_owned.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `open_receiver`, `open_sender`, `try_read_buf` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `PipeEnd` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_fd`, `as_raw_fd`, `as_raw_fd`, `assert_receiver_is_total_eq`, `clone`, `clone`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `is_write_vectored`, `poll_flush`, `poll_read`, `poll_shutdown`, `poll_write_vectored`, `poll_write` + +/// Creates a new anonymous Unix pipe. +/// +/// This function will open a new pipe and associate both pipe ends with the default +/// event loop. +/// +/// If you need to create a pipe for communication with a spawned process, you can +/// use [`Stdio::piped()`] instead. +/// +/// [`Stdio::piped()`]: std::process::Stdio::piped +/// +/// # Errors +/// +/// If creating a pipe fails, this function will return with the related OS error. +/// +/// # Examples +/// +/// Create a pipe and pass the writing end to a spawned process. +/// +/// ```no_run +/// use tokio::net::unix::pipe; +/// use tokio::process::Command; +/// # use tokio::io::AsyncReadExt; +/// # use std::error::Error; +/// +/// # async fn dox() -> Result<(), Box> { +/// let (tx, mut rx) = pipe::pipe()?; +/// let mut buffer = String::new(); +/// +/// let status = Command::new("echo") +/// .arg("Hello, world!") +/// .stdout(tx.into_blocking_fd()?) +/// .status(); +/// rx.read_to_string(&mut buffer).await?; +/// +/// assert!(status.await?.success()); +/// assert_eq!(buffer, "Hello, world!\n"); +/// # Ok(()) +/// # } +/// ``` +/// +/// # Panics +/// +/// This function panics if it is not called from within a runtime with +/// IO enabled. +/// +/// The runtime is usually set implicitly when this function is called +/// from a future driven by a tokio runtime, otherwise runtime can be set +/// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. +Future<(Sender, Receiver)> pipe() => + RustLib.instance.api.tokioNetUnixPipePipe(); + +// Rust type: RustOpaqueMoi> +abstract class OpenOptions implements RustOpaqueInterface { + /// Sets the option for the append mode. + /// + /// This option, when true, means that writes will append to a file instead + /// of overwriting previous contents. Note that setting + /// `.write(true).append(true)` has the same effect as setting only + /// `.append(true)`. + /// + /// For most filesystems, the operating system guarantees that all writes are + /// atomic: no writes get mangled because another process writes at the same + /// time. + /// + /// One maybe obvious note when using append-mode: make sure that all data + /// that belongs together is written to the file in one operation. This + /// can be done by concatenating strings before passing them to [`write()`], + /// or using a buffered writer (with a buffer of adequate size), + /// and calling [`flush()`] when the message is complete. + /// + /// If a file is opened with both read and append access, beware that after + /// opening, and after every write, the position for reading may be set at the + /// end of the file. So, before writing, save the current position (using + /// [`seek`]`(`[`SeekFrom`]`::`[`Current`]`(0))`), and restore it before the next read. + /// + /// This is an async version of [`std::fs::OpenOptions::append`][std] + /// + /// [std]: std::fs::OpenOptions::append + /// + /// ## Note + /// + /// This function doesn't create the file if it doesn't exist. Use the [`create`] + /// method to do so. + /// + /// [`write()`]: crate::io::AsyncWriteExt::write + /// [`flush()`]: crate::io::AsyncWriteExt::flush + /// [`seek`]: crate::io::AsyncSeekExt::seek + /// [`SeekFrom`]: std::io::SeekFrom + /// [`Current`]: std::io::SeekFrom::Current + /// [`create`]: OpenOptions::create + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .append(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future append({required bool append}); + + /// Sets the option for creating a new file. + /// + /// This option indicates whether a new file will be created if the file + /// does not yet already exist. + /// + /// In order for the file to be created, [`write`] or [`append`] access must + /// be used. + /// + /// This is an async version of [`std::fs::OpenOptions::create`][std] + /// + /// [std]: std::fs::OpenOptions::create + /// [`write`]: OpenOptions::write + /// [`append`]: OpenOptions::append + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .write(true) + /// .create(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future create({required bool create}); + + /// Sets the option to always create a new file. + /// + /// This option indicates whether a new file will be created. No file is + /// allowed to exist at the target location, also no (dangling) symlink. + /// + /// This option is useful because it is atomic. Otherwise between checking + /// whether a file exists and creating a new one, the file may have been + /// created by another process (a TOCTOU race condition / attack). + /// + /// If `.create_new(true)` is set, [`.create()`] and [`.truncate()`] are + /// ignored. + /// + /// The file must be opened with write or append access in order to create a + /// new file. + /// + /// This is an async version of [`std::fs::OpenOptions::create_new`][std] + /// + /// [std]: std::fs::OpenOptions::create_new + /// [`.create()`]: OpenOptions::create + /// [`.truncate()`]: OpenOptions::truncate + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .write(true) + /// .create_new(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future createNew({required bool createNew}); + + /// Passes custom flags to the `flags` argument of `open`. + /// + /// The bits that define the access mode are masked out with `O_ACCMODE`, to + /// ensure they do not interfere with the access mode set by Rusts options. + /// + /// Custom flags can only set flags, not remove flags set by Rusts options. + /// This options overwrites any previously set custom flags. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let mut options = OpenOptions::new(); + /// options.write(true); + /// if cfg!(unix) { + /// options.custom_flags(libc::O_NOFOLLOW); + /// } + /// let file = options.open("foo.txt").await?; + /// + /// Ok(()) + /// } + /// ``` + Future customFlags({required int flags}); + + static Future default_() => + RustLib.instance.api.tokioNetUnixPipeOpenOptionsDefault(); + + /// Sets the mode bits that a new file will be created with. + /// + /// If a new file is created as part of an `OpenOptions::open` call then this + /// specified `mode` will be used as the permission bits for the new file. + /// If no `mode` is set, the default of `0o666` will be used. + /// The operating system masks out bits with the system's `umask`, to produce + /// the final permissions. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let mut options = OpenOptions::new(); + /// options.mode(0o644); // Give read/write for owner and read for others. + /// let file = options.open("foo.txt").await?; + /// + /// Ok(()) + /// } + /// ``` + Future mode({required int mode}); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a blank new set of options ready for configuration. + /// + /// All options are initially set to `false`. + /// + /// This is an async version of [`std::fs::OpenOptions::new`][std] + /// + /// [std]: std::fs::OpenOptions::new + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// + /// let mut options = OpenOptions::new(); + /// let future = options.read(true).open("foo.txt"); + /// ``` + static Future newInstance() => + RustLib.instance.api.tokioNetUnixPipeOpenOptionsNew(); + + /// Sets the option for read access. + /// + /// This option, when true, will indicate that the file should be + /// `read`-able if opened. + /// + /// This is an async version of [`std::fs::OpenOptions::read`][std] + /// + /// [std]: std::fs::OpenOptions::read + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .read(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future read({required bool read}); + + /// Sets the option for truncating a previous file. + /// + /// If a file is successfully opened with this option set it will truncate + /// the file to 0 length if it already exists. + /// + /// The file must be opened with write access for truncate to work. + /// + /// This is an async version of [`std::fs::OpenOptions::truncate`][std] + /// + /// [std]: std::fs::OpenOptions::truncate + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .write(true) + /// .truncate(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future truncate({required bool truncate}); + + /// Sets the option to skip the check for FIFO file type. + /// + /// By default, [`open_receiver`] and [`open_sender`] functions will check + /// if the opened file is a FIFO file. Set this option to `true` if you are + /// sure the file is a FIFO file. + /// + /// [`open_receiver`]: OpenOptions::open_receiver + /// [`open_sender`]: OpenOptions::open_sender + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use nix::{unistd::mkfifo, sys::stat::Mode}; + /// # use std::error::Error; + /// + /// // Our program has exclusive access to this path. + /// const FIFO_NAME: &str = "path/to/a/new/fifo"; + /// + /// # async fn dox() -> Result<(), Box> { + /// mkfifo(FIFO_NAME, Mode::S_IRWXU)?; + /// let rx = pipe::OpenOptions::new() + /// .unchecked(true) + /// .open_receiver(FIFO_NAME)?; + /// # Ok(()) + /// # } + /// ``` + Future unchecked({required bool value}); + + /// Sets the option for write access. + /// + /// This option, when true, will indicate that the file should be + /// `write`-able if opened. + /// + /// This is an async version of [`std::fs::OpenOptions::write`][std] + /// + /// [std]: std::fs::OpenOptions::write + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .write(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future write({required bool write}); +} + +// Rust type: RustOpaqueMoi >>> +abstract class PollResult implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Receiver implements RustOpaqueInterface { + /// Creates a new `Receiver` from a [`File`]. + /// + /// This function is intended to construct a pipe from a [`File`] representing + /// a special FIFO file. It will check if the file is a pipe and has read access, + /// set it in non-blocking mode and perform the conversion. + /// + /// # Errors + /// + /// Fails with `io::ErrorKind::InvalidInput` if the file is not a pipe or it + /// does not have read access. Also fails with any standard OS error if it occurs. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromFile({required File file}) => + RustLib.instance.api.tokioNetUnixPipeReceiverFromFile(file: file); + + /// Creates a new `Receiver` from a [`File`] without checking pipe properties. + /// + /// This function is intended to construct a pipe from a File representing + /// a special FIFO file. The conversion assumes nothing about the underlying + /// file; it is left up to the user to make sure it is opened with read access, + /// represents a pipe and is set in non-blocking mode. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::fs::OpenOptions; + /// use std::os::unix::fs::{FileTypeExt, OpenOptionsExt}; + /// # use std::error::Error; + /// + /// const FIFO_NAME: &str = "path/to/a/fifo"; + /// + /// # async fn dox() -> Result<(), Box> { + /// let file = OpenOptions::new() + /// .read(true) + /// .custom_flags(libc::O_NONBLOCK) + /// .open(FIFO_NAME)?; + /// if file.metadata()?.file_type().is_fifo() { + /// let rx = pipe::Receiver::from_file_unchecked(file)?; + /// /* use the Receiver */ + /// } + /// # Ok(()) + /// # } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromFileUnchecked({required File file}) => + RustLib.instance.api + .tokioNetUnixPipeReceiverFromFileUnchecked(file: file); + + /// Creates a new `Receiver` from an [`OwnedFd`]. + /// + /// This function is intended to construct a pipe from an [`OwnedFd`] representing + /// an anonymous pipe or a special FIFO file. It will check if the file descriptor + /// is a pipe and has read access, set it in non-blocking mode and perform the + /// conversion. + /// + /// # Errors + /// + /// Fails with `io::ErrorKind::InvalidInput` if the file descriptor is not a pipe + /// or it does not have read access. Also fails with any standard OS error if it + /// occurs. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromOwnedFd({required OwnedFd ownedFd}) => + RustLib.instance.api + .tokioNetUnixPipeReceiverFromOwnedFd(ownedFd: ownedFd); + + /// Creates a new `Receiver` from an [`OwnedFd`] without checking pipe properties. + /// + /// This function is intended to construct a pipe from an [`OwnedFd`] representing + /// an anonymous pipe or a special FIFO file. The conversion assumes nothing about + /// the underlying pipe; it is left up to the user to make sure that the file + /// descriptor represents the reading end of a pipe and the pipe is set in + /// non-blocking mode. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromOwnedFdUnchecked({required OwnedFd ownedFd}) => + RustLib.instance.api + .tokioNetUnixPipeReceiverFromOwnedFdUnchecked(ownedFd: ownedFd); + + /// Converts the pipe into an [`OwnedFd`] in blocking mode. + /// + /// This function will deregister this pipe end from the event loop, set + /// it in blocking mode and perform the conversion. + Future intoBlockingFd(); + + /// Converts the pipe into an [`OwnedFd`] in nonblocking mode. + /// + /// This function will deregister this pipe end from the event loop and + /// perform the conversion. Returned file descriptor will be in nonblocking + /// mode. + Future intoNonblockingFd(); + + /// Polls for read readiness. + /// + /// If the pipe is not currently ready for reading, this method will + /// store a clone of the `Waker` from the provided `Context`. When the pipe + /// becomes ready for reading, `Waker::wake` will be called on the waker. + /// + /// Note that on multiple calls to `poll_read_ready` or `poll_read`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. + /// + /// This function is intended for cases where creating and pinning a future + /// via [`readable`] is not feasible. Where possible, using [`readable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// [`readable`]: Self::readable + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the pipe is not ready for reading. + /// * `Poll::Ready(Ok(()))` if the pipe is ready for reading. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + Future pollReadReady({required Context cx}); + + /// Waits for the pipe to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with [`try_read()`]. + /// + /// [`try_read()`]: Self::try_read() + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a reading end of a fifo + /// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; + /// + /// let mut msg = vec![0; 1024]; + /// + /// loop { + /// // Wait for the pipe to be readable + /// rx.readable().await?; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match rx.try_read(&mut msg) { + /// Ok(n) => { + /// msg.truncate(n); + /// break; + /// } + /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// println!("GOT = {:?}", msg); + /// Ok(()) + /// } + /// ``` + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function can be used instead of [`readable()`] to check the returned + /// ready set for [`Ready::READABLE`] and [`Ready::READ_CLOSED`] events. + /// + /// The function may complete without the pipe being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// [`readable()`]: Self::readable + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + Future ready({required Interest interest}); + + /// Tries to read data from the pipe into the provided buffer, returning how + /// many bytes were read. + /// + /// Reads any pending data from the pipe but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read()` is non-blocking, the buffer does not have to be stored by + /// the async task and can exist entirely on the stack. + /// + /// Usually [`readable()`] is used with this function. + /// + /// [`readable()`]: Self::readable() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: + /// + /// 1. The pipe's writing end is closed and will no longer write data. + /// 2. The specified buffer was 0 bytes in length. + /// + /// If the pipe is not ready to read data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a reading end of a fifo + /// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; + /// + /// let mut msg = vec![0; 1024]; + /// + /// loop { + /// // Wait for the pipe to be readable + /// rx.readable().await?; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match rx.try_read(&mut msg) { + /// Ok(n) => { + /// msg.truncate(n); + /// break; + /// } + /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// println!("GOT = {:?}", msg); + /// Ok(()) + /// } + /// ``` + Future tryRead({required U8 buf}); + + /// Tries to read data from the pipe into the provided buffers, returning + /// how many bytes were read. + /// + /// Data is copied to fill each buffer in order, with the final buffer + /// written to possibly being only partially filled. This method behaves + /// equivalently to a single call to [`try_read()`] with concatenated + /// buffers. + /// + /// Reads any pending data from the pipe but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read_vectored()` is non-blocking, the buffer does not have to be + /// stored by the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] is used with this function. + /// + /// [`try_read()`]: Self::try_read() + /// [`readable()`]: Self::readable() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. `Ok(0)` indicates the pipe's writing end is + /// closed and will no longer write data. If the pipe is not ready to read + /// data `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a reading end of a fifo + /// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; + /// + /// loop { + /// // Wait for the pipe to be readable + /// rx.readable().await?; + /// + /// // Creating the buffer **after** the `await` prevents it from + /// // being stored in the async task. + /// let mut buf_a = [0; 512]; + /// let mut buf_b = [0; 1024]; + /// let mut bufs = [ + /// io::IoSliceMut::new(&mut buf_a), + /// io::IoSliceMut::new(&mut buf_b), + /// ]; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match rx.try_read_vectored(&mut bufs) { + /// Ok(0) => break, + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryReadVectored({required IoSliceMut bufs}); +} + +// Rust type: RustOpaqueMoi>> +abstract class ReceiverT implements RustOpaqueInterface { + /// Blocking receive to call outside of asynchronous contexts. + /// + /// # Panics + /// + /// This function panics if called within an asynchronous execution + /// context. + /// + /// # Examples + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use std::thread; + /// use tokio::sync::broadcast; + /// + /// #[tokio::main] + /// async fn main() { + /// let (tx, mut rx) = broadcast::channel(16); + /// + /// let sync_code = thread::spawn(move || { + /// assert_eq!(rx.blocking_recv(), Ok(10)); + /// }); + /// + /// let _ = tx.send(10); + /// sync_code.join().unwrap(); + /// } + /// # } + /// ``` + Future blockingRecv(); + + /// Variant of [`Self::recv_many`] for blocking contexts. + /// + /// The same conditions as in [`Self::blocking_recv`] apply. + Future blockingRecvMany( + {required VecT buffer, required BigInt limit}); + + /// Returns a reference to the most recently sent value. + /// + /// This method does not mark the returned value as seen, so future calls to + /// [`changed`] may return immediately even if you have already seen the + /// value with a call to `borrow`. + /// + /// Outstanding borrows hold a read lock on the inner value. This means that + /// long-lived borrows could cause the producer half to block. It is recommended + /// to keep the borrow as short-lived as possible. Additionally, if you are + /// running in an environment that allows `!Send` futures, you must ensure that + /// the returned `Ref` type is never held alive across an `.await` point, + /// otherwise, it can lead to a deadlock. + /// + /// The priority policy of the lock is dependent on the underlying lock + /// implementation, and this type does not guarantee that any particular policy + /// will be used. In particular, a producer which is waiting to acquire the lock + /// in `send` might or might not block concurrent calls to `borrow`, e.g.: + /// + ///
Potential deadlock example + /// + /// ```text + /// // Task 1 (on thread A) | // Task 2 (on thread B) + /// let _ref1 = rx.borrow(); | + /// | // will block + /// | let _ = tx.send(()); + /// // may deadlock | + /// let _ref2 = rx.borrow(); | + /// ``` + ///
+ /// + /// For more information on when to use this method versus + /// [`borrow_and_update`], see [here](self#borrow_and_update-versus-borrow). + /// + /// [`changed`]: Receiver::changed + /// [`borrow_and_update`]: Receiver::borrow_and_update + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::watch; + /// + /// let (_, rx) = watch::channel("hello"); + /// assert_eq!(*rx.borrow(), "hello"); + /// ``` + Future borrow(); + + /// Returns a reference to the most recently sent value and marks that value + /// as seen. + /// + /// This method marks the current value as seen. Subsequent calls to [`changed`] + /// will not return immediately until the [`Sender`] has modified the shared + /// value again. + /// + /// Outstanding borrows hold a read lock on the inner value. This means that + /// long-lived borrows could cause the producer half to block. It is recommended + /// to keep the borrow as short-lived as possible. Additionally, if you are + /// running in an environment that allows `!Send` futures, you must ensure that + /// the returned `Ref` type is never held alive across an `.await` point, + /// otherwise, it can lead to a deadlock. + /// + /// The priority policy of the lock is dependent on the underlying lock + /// implementation, and this type does not guarantee that any particular policy + /// will be used. In particular, a producer which is waiting to acquire the lock + /// in `send` might or might not block concurrent calls to `borrow`, e.g.: + /// + ///
Potential deadlock example + /// + /// ```text + /// // Task 1 (on thread A) | // Task 2 (on thread B) + /// let _ref1 = rx1.borrow_and_update(); | + /// | // will block + /// | let _ = tx.send(()); + /// // may deadlock | + /// let _ref2 = rx2.borrow_and_update(); | + /// ``` + ///
+ /// + /// For more information on when to use this method versus [`borrow`], see + /// [here](self#borrow_and_update-versus-borrow). + /// + /// [`changed`]: Receiver::changed + /// [`borrow`]: Receiver::borrow + Future borrowAndUpdate(); + + /// Returns the current capacity of the channel. + /// + /// The capacity goes down when the sender sends a value by calling [`Sender::send`] or by reserving + /// capacity with [`Sender::reserve`]. The capacity goes up when values are received. + /// This is distinct from [`max_capacity`], which always returns buffer capacity initially + /// specified when calling [`channel`]. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel::<()>(5); + /// + /// assert_eq!(rx.capacity(), 5); + /// + /// // Making a reservation drops the capacity by one. + /// let permit = tx.reserve().await.unwrap(); + /// assert_eq!(rx.capacity(), 4); + /// assert_eq!(rx.len(), 0); + /// + /// // Sending and receiving a value increases the capacity by one. + /// permit.send(()); + /// assert_eq!(rx.len(), 1); + /// rx.recv().await.unwrap(); + /// assert_eq!(rx.capacity(), 5); + /// + /// // Directly sending a message drops the capacity by one. + /// tx.send(()).await.unwrap(); + /// assert_eq!(rx.capacity(), 4); + /// assert_eq!(rx.len(), 1); + /// + /// // Receiving the message increases the capacity by one. + /// rx.recv().await.unwrap(); + /// assert_eq!(rx.capacity(), 5); + /// assert_eq!(rx.len(), 0); + /// # } + /// ``` + /// [`capacity`]: Receiver::capacity + /// [`max_capacity`]: Receiver::max_capacity + Future capacity(); + + /// Waits for a change notification, then marks the current value as seen. + /// + /// If the current value in the channel has not yet been marked seen when + /// this method is called, the method marks that value seen and returns + /// immediately. If the newest value has already been marked seen, then the + /// method sleeps until a new message is sent by a [`Sender`] connected to + /// this `Receiver`, or until all [`Sender`]s are dropped. + /// + /// For more information, see + /// [*Change notifications*](self#change-notifications) in the module-level documentation. + /// + /// # Errors + /// + /// Returns a [`RecvError`](error::RecvError) if the channel has been closed __AND__ + /// the current value is seen. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If you use it as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no values have been marked + /// seen by this call to `changed`. + /// + /// [`Sender`]: struct@Sender + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::watch; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = watch::channel("hello"); + /// + /// tokio::spawn(async move { + /// tx.send("goodbye").unwrap(); + /// }); + /// + /// assert!(rx.changed().await.is_ok()); + /// assert_eq!(*rx.borrow_and_update(), "goodbye"); + /// + /// // The `tx` handle has been dropped + /// assert!(rx.changed().await.is_err()); + /// # } + /// ``` + Future changed(); + + /// Closes the receiving half of a channel without dropping it. + /// + /// This prevents any further messages from being sent on the channel while + /// still enabling the receiver to drain messages that are buffered. Any + /// outstanding [`Permit`] values will still be able to send messages. + /// + /// To guarantee that no messages are dropped, after calling `close()`, + /// `recv()` must be called until `None` is returned. If there are + /// outstanding [`Permit`] or [`OwnedPermit`] values, the `recv` method will + /// not return `None` until those are released. + /// + /// [`Permit`]: Permit + /// [`OwnedPermit`]: OwnedPermit + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(20); + /// + /// tokio::spawn(async move { + /// let mut i = 0; + /// while let Ok(permit) = tx.reserve().await { + /// permit.send(i); + /// i += 1; + /// } + /// }); + /// + /// rx.close(); + /// + /// while let Some(msg) = rx.recv().await { + /// println!("got {}", msg); + /// } + /// + /// // Channel closed and no messages are lost. + /// # } + /// ``` + Future close(); + + /// Checks if this channel contains a message that this receiver has not yet + /// seen. The current value will not be marked as seen. + /// + /// Although this method is called `has_changed`, it does not check + /// messages for equality, so this call will return true even if the current + /// message is equal to the previous message. + /// + /// # Errors + /// + /// Returns a [`RecvError`](error::RecvError) if and only if the channel has been closed. + /// + /// # Examples + /// + /// ## Basic usage + /// + /// ``` + /// use tokio::sync::watch; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = watch::channel("hello"); + /// + /// tx.send("goodbye").unwrap(); + /// + /// assert!(rx.has_changed().unwrap()); + /// assert_eq!(*rx.borrow_and_update(), "goodbye"); + /// + /// // The value has been marked as seen + /// assert!(!rx.has_changed().unwrap()); + /// # } + /// ``` + /// + /// ## Closed channel example + /// + /// ``` + /// use tokio::sync::watch; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, rx) = watch::channel("hello"); + /// tx.send("goodbye").unwrap(); + /// + /// drop(tx); + /// + /// // The channel is closed + /// assert!(rx.has_changed().is_err()); + /// # } + /// ``` + Future hasChanged(); + + /// Checks if a channel is closed. + /// + /// This method returns `true` if the channel has been closed. The channel is closed + /// when all [`Sender`] have been dropped. + /// + /// [`Sender`]: crate::sync::broadcast::Sender + /// + /// # Examples + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, rx) = broadcast::channel::<()>(10); + /// assert!(!rx.is_closed()); + /// + /// drop(tx); + /// + /// assert!(rx.is_closed()); + /// # } + /// ``` + Future isClosed(); + + /// Returns true if there aren't any messages in the channel that the [`Receiver`] + /// has yet to receive. + /// + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// + /// assert!(rx1.is_empty()); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// + /// assert!(!rx1.is_empty()); + /// assert_eq!(rx1.recv().await.unwrap(), 10); + /// assert_eq!(rx1.recv().await.unwrap(), 20); + /// assert!(rx1.is_empty()); + /// # } + /// ``` + Future isEmpty(); + + /// Checks if this receiver is terminated. + /// + /// This function returns true if this receiver has already yielded a [`Poll::Ready`] result. + /// If so, this receiver should no longer be polled. + /// + /// # Examples + /// + /// Sending a value and polling it. + /// + /// ``` + /// use tokio::sync::oneshot; + /// + /// use std::task::Poll; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = oneshot::channel(); + /// + /// // A receiver is not terminated when it is initialized. + /// assert!(!rx.is_terminated()); + /// + /// // A receiver is not terminated it is polled and is still pending. + /// let poll = futures::poll!(&mut rx); + /// assert_eq!(poll, Poll::Pending); + /// assert!(!rx.is_terminated()); + /// + /// // A receiver is not terminated if a value has been sent, but not yet read. + /// tx.send(0).unwrap(); + /// assert!(!rx.is_terminated()); + /// + /// // A receiver *is* terminated after it has been polled and yielded a value. + /// assert_eq!((&mut rx).await, Ok(0)); + /// assert!(rx.is_terminated()); + /// # } + /// ``` + /// + /// Dropping the sender. + /// + /// ``` + /// use tokio::sync::oneshot; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = oneshot::channel::<()>(); + /// + /// // A receiver is not immediately terminated when the sender is dropped. + /// drop(tx); + /// assert!(!rx.is_terminated()); + /// + /// // A receiver *is* terminated after it has been polled and yielded an error. + /// let _ = (&mut rx).await.unwrap_err(); + /// assert!(rx.is_terminated()); + /// # } + /// ``` + Future isTerminated(); + + /// Returns the number of messages that were sent into the channel and that + /// this [`Receiver`] has yet to receive. + /// + /// If the returned value from `len` is larger than the next largest power of 2 + /// of the capacity of the channel any call to [`recv`] will return an + /// `Err(RecvError::Lagged)` and any call to [`try_recv`] will return an + /// `Err(TryRecvError::Lagged)`, e.g. if the capacity of the channel is 10, + /// [`recv`] will start to return `Err(RecvError::Lagged)` once `len` returns + /// values larger than 16. + /// + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// [`recv`]: crate::sync::broadcast::Receiver::recv + /// [`try_recv`]: crate::sync::broadcast::Receiver::try_recv + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// + /// assert_eq!(rx1.len(), 2); + /// assert_eq!(rx1.recv().await.unwrap(), 10); + /// assert_eq!(rx1.len(), 1); + /// assert_eq!(rx1.recv().await.unwrap(), 20); + /// assert_eq!(rx1.len(), 0); + /// # } + /// ``` + Future len(); + + /// Marks the state as changed. + /// + /// After invoking this method [`has_changed()`](Self::has_changed) + /// returns `true` and [`changed()`](Self::changed) returns + /// immediately, regardless of whether a new value has been sent. + /// + /// This is useful for triggering an initial change notification after + /// subscribing to synchronize new receivers. + Future markChanged(); + + /// Marks the state as unchanged. + /// + /// The current value will be considered seen by the receiver. + /// + /// This is useful if you are not interested in the current value + /// visible in the receiver. + Future markUnchanged(); + + /// Returns the maximum buffer capacity of the channel. + /// + /// The maximum capacity is the buffer capacity initially specified when calling + /// [`channel`]. This is distinct from [`capacity`], which returns the *current* + /// available buffer capacity: as messages are sent and received, the value + /// returned by [`capacity`] will go up or down, whereas the value + /// returned by [`max_capacity`] will remain constant. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, rx) = mpsc::channel::<()>(5); + /// + /// // both max capacity and capacity are the same at first + /// assert_eq!(rx.max_capacity(), 5); + /// assert_eq!(rx.capacity(), 5); + /// + /// // Making a reservation doesn't change the max capacity. + /// let permit = tx.reserve().await.unwrap(); + /// assert_eq!(rx.max_capacity(), 5); + /// // but drops the capacity by one + /// assert_eq!(rx.capacity(), 4); + /// # } + /// ``` + /// [`capacity`]: Receiver::capacity + /// [`max_capacity`]: Receiver::max_capacity + Future maxCapacity(); + + /// Polls to receive the next message on this channel. + /// + /// This method returns: + /// + /// * `Poll::Pending` if no messages are available but the channel is not + /// closed, or if a spurious failure happens. + /// * `Poll::Ready(Some(message))` if a message is available. + /// * `Poll::Ready(None)` if the channel has been closed and all messages + /// sent before it was closed have been received. + /// + /// When the method returns `Poll::Pending`, the `Waker` in the provided + /// `Context` is scheduled to receive a wakeup when a message is sent on any + /// receiver, or when the channel is closed. Note that on multiple calls to + /// `poll_recv` or `poll_recv_many`, only the `Waker` from the `Context` + /// passed to the most recent call is scheduled to receive a wakeup. + /// + /// If this method returns `Poll::Pending` due to a spurious failure, then + /// the `Waker` will be notified when the situation causing the spurious + /// failure has been resolved. Note that receiving such a wakeup does not + /// guarantee that the next call will succeed — it could fail with another + /// spurious failure. + Future pollRecv({required Context cx}); + + /// Polls to receive multiple messages on this channel, extending the provided buffer. + /// + /// This method returns: + /// * `Poll::Pending` if no messages are available but the channel is not closed, or if a + /// spurious failure happens. + /// * `Poll::Ready(count)` where `count` is the number of messages successfully received and + /// stored in `buffer`. This can be less than, or equal to, `limit`. + /// * `Poll::Ready(0)` if `limit` is set to zero or when the channel is closed. + /// + /// When the method returns `Poll::Pending`, the `Waker` in the provided + /// `Context` is scheduled to receive a wakeup when a message is sent on any + /// receiver, or when the channel is closed. Note that on multiple calls to + /// `poll_recv` or `poll_recv_many`, only the `Waker` from the `Context` + /// passed to the most recent call is scheduled to receive a wakeup. + /// + /// Note that this method does not guarantee that exactly `limit` messages + /// are received. Rather, if at least one message is available, it returns + /// as many messages as it can up to the given limit. This method returns + /// zero only if the channel is closed (or if `limit` is zero). + /// + /// # Examples + /// + /// ``` + /// use std::task::{Context, Poll}; + /// use std::pin::Pin; + /// use tokio::sync::mpsc; + /// use futures::Future; + /// + /// struct MyReceiverFuture<'a> { + /// receiver: mpsc::Receiver, + /// buffer: &'a mut Vec, + /// limit: usize, + /// } + /// + /// impl<'a> Future for MyReceiverFuture<'a> { + /// type Output = usize; // Number of messages received + /// + /// fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + /// let MyReceiverFuture { receiver, buffer, limit } = &mut *self; + /// + /// // Now `receiver` and `buffer` are mutable references, and `limit` is copied + /// match receiver.poll_recv_many(cx, *buffer, *limit) { + /// Poll::Pending => Poll::Pending, + /// Poll::Ready(count) => Poll::Ready(count), + /// } + /// } + /// } + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, rx) = mpsc::channel(32); + /// let mut buffer = Vec::new(); + /// + /// let my_receiver_future = MyReceiverFuture { + /// receiver: rx, + /// buffer: &mut buffer, + /// limit: 3, + /// }; + /// + /// for i in 0..10 { + /// tx.send(i).await.unwrap(); + /// } + /// + /// let count = my_receiver_future.await; + /// assert_eq!(count, 3); + /// assert_eq!(buffer, vec![0,1,2]) + /// # } + /// ``` + Future pollRecvMany( + {required Context cx, required VecT buffer, required BigInt limit}); + + /// Receives the next value for this receiver. + /// + /// Each [`Receiver`] handle will receive a clone of all values sent + /// **after** it has subscribed. + /// + /// `Err(RecvError::Closed)` is returned when all `Sender` halves have + /// dropped, indicating that no further values can be sent on the channel. + /// + /// If the [`Receiver`] handle falls behind, once the channel is full, newly + /// sent values will overwrite old values. At this point, a call to [`recv`] + /// will return with `Err(RecvError::Lagged)` and the [`Receiver`]'s + /// internal cursor is updated to point to the oldest value still held by + /// the channel. A subsequent call to [`recv`] will return this value + /// **unless** it has been since overwritten. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// channel. + /// + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// [`recv`]: crate::sync::broadcast::Receiver::recv + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// let mut rx2 = tx.subscribe(); + /// + /// tokio::spawn(async move { + /// assert_eq!(rx1.recv().await.unwrap(), 10); + /// assert_eq!(rx1.recv().await.unwrap(), 20); + /// }); + /// + /// tokio::spawn(async move { + /// assert_eq!(rx2.recv().await.unwrap(), 10); + /// assert_eq!(rx2.recv().await.unwrap(), 20); + /// }); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// # } + /// ``` + /// + /// Handling lag + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = broadcast::channel(2); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// tx.send(30).unwrap(); + /// + /// // The receiver lagged behind + /// assert!(rx.recv().await.is_err()); + /// + /// // At this point, we can abort or continue with lost messages + /// + /// assert_eq!(20, rx.recv().await.unwrap()); + /// assert_eq!(30, rx.recv().await.unwrap()); + /// # } + /// ``` + Future recv(); + + /// Receives the next values for this receiver and extends `buffer`. + /// + /// This method extends `buffer` by no more than a fixed number of values + /// as specified by `limit`. If `limit` is zero, the function immediately + /// returns `0`. The return value is the number of values added to `buffer`. + /// + /// For `limit > 0`, if there are no messages in the channel's queue, but + /// the channel has not yet been closed, this method will sleep until a + /// message is sent or the channel is closed. Note that if [`close`] is + /// called, but there are still outstanding [`Permits`] from before it was + /// closed, the channel is not considered closed by `recv_many` until the + /// permits are released. + /// + /// For non-zero values of `limit`, this method will never return `0` unless + /// the channel has been closed and there are no remaining messages in the + /// channel's queue. This indicates that no further values can ever be + /// received from this `Receiver`. The channel is closed when all senders + /// have been dropped, or when [`close`] is called. + /// + /// The capacity of `buffer` is increased as needed. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv_many` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// channel. + /// + /// [`close`]: Self::close + /// [`Permits`]: struct@crate::sync::mpsc::Permit + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut buffer: Vec<&str> = Vec::with_capacity(2); + /// let limit = 2; + /// let (tx, mut rx) = mpsc::channel(100); + /// let tx2 = tx.clone(); + /// tx2.send("first").await.unwrap(); + /// tx2.send("second").await.unwrap(); + /// tx2.send("third").await.unwrap(); + /// + /// // Call `recv_many` to receive up to `limit` (2) values. + /// assert_eq!(2, rx.recv_many(&mut buffer, limit).await); + /// assert_eq!(vec!["first", "second"], buffer); + /// + /// // If the buffer is full, the next call to `recv_many` + /// // reserves additional capacity. + /// assert_eq!(1, rx.recv_many(&mut buffer, 1).await); + /// + /// tokio::spawn(async move { + /// tx.send("fourth").await.unwrap(); + /// }); + /// + /// // 'tx' is dropped, but `recv_many` + /// // is guaranteed not to return 0 as the channel + /// // is not yet closed. + /// assert_eq!(1, rx.recv_many(&mut buffer, 1).await); + /// assert_eq!(vec!["first", "second", "third", "fourth"], buffer); + /// + /// // Once the last sender is dropped, the channel is + /// // closed and `recv_many` returns 0, capacity unchanged. + /// drop(tx2); + /// assert_eq!(0, rx.recv_many(&mut buffer, limit).await); + /// assert_eq!(vec!["first", "second", "third", "fourth"], buffer); + /// # } + /// ``` + Future recvMany({required VecT buffer, required BigInt limit}); + + /// Re-subscribes to the channel starting from the current tail element. + /// + /// This [`Receiver`] handle will receive a clone of all values sent + /// **after** it has resubscribed. This will not include elements that are + /// in the queue of the current receiver. Consider the following example. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = broadcast::channel(2); + /// + /// tx.send(1).unwrap(); + /// let mut rx2 = rx.resubscribe(); + /// tx.send(2).unwrap(); + /// + /// assert_eq!(rx2.recv().await.unwrap(), 2); + /// assert_eq!(rx.recv().await.unwrap(), 1); + /// # } + /// ``` + Future resubscribe(); + + /// Returns `true` if receivers belong to the same channel. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, rx) = broadcast::channel::<()>(16); + /// let rx2 = tx.subscribe(); + /// + /// assert!(rx.same_channel(&rx2)); + /// + /// let (_tx3, rx3) = broadcast::channel::<()>(16); + /// + /// assert!(!rx3.same_channel(&rx2)); + /// # } + /// ``` + Future sameChannel({required ReceiverT other}); + + /// Returns the number of [`Sender`] handles. + Future senderStrongCount(); + + /// Returns the number of [`WeakSender`] handles. + Future senderWeakCount(); + + /// Attempts to return a pending value on this receiver without awaiting. + /// + /// This is useful for a flavor of "optimistic check" before deciding to + /// await on a receiver. + /// + /// Compared with [`recv`], this function has three failure cases instead of two + /// (one for closed, one for an empty buffer, one for a lagging receiver). + /// + /// `Err(TryRecvError::Closed)` is returned when all `Sender` halves have + /// dropped, indicating that no further values can be sent on the channel. + /// + /// If the [`Receiver`] handle falls behind, once the channel is full, newly + /// sent values will overwrite old values. At this point, a call to [`recv`] + /// will return with `Err(TryRecvError::Lagged)` and the [`Receiver`]'s + /// internal cursor is updated to point to the oldest value still held by + /// the channel. A subsequent call to [`try_recv`] will return this value + /// **unless** it has been since overwritten. If there are no values to + /// receive, `Err(TryRecvError::Empty)` is returned. + /// + /// [`recv`]: crate::sync::broadcast::Receiver::recv + /// [`try_recv`]: crate::sync::broadcast::Receiver::try_recv + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = broadcast::channel(16); + /// + /// assert!(rx.try_recv().is_err()); + /// + /// tx.send(10).unwrap(); + /// + /// let value = rx.try_recv().unwrap(); + /// assert_eq!(10, value); + /// # } + /// ``` + Future tryRecv(); +} + +// Rust type: RustOpaqueMoi> +abstract class Sender implements RustOpaqueInterface { + /// Creates a new `Sender` from a [`File`]. + /// + /// This function is intended to construct a pipe from a [`File`] representing + /// a special FIFO file. It will check if the file is a pipe and has write access, + /// set it in non-blocking mode and perform the conversion. + /// + /// # Errors + /// + /// Fails with `io::ErrorKind::InvalidInput` if the file is not a pipe or it + /// does not have write access. Also fails with any standard OS error if it occurs. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromFile({required File file}) => + RustLib.instance.api.tokioNetUnixPipeSenderFromFile(file: file); + + /// Creates a new `Sender` from a [`File`] without checking pipe properties. + /// + /// This function is intended to construct a pipe from a File representing + /// a special FIFO file. The conversion assumes nothing about the underlying + /// file; it is left up to the user to make sure it is opened with write access, + /// represents a pipe and is set in non-blocking mode. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::fs::OpenOptions; + /// use std::os::unix::fs::{FileTypeExt, OpenOptionsExt}; + /// # use std::error::Error; + /// + /// const FIFO_NAME: &str = "path/to/a/fifo"; + /// + /// # async fn dox() -> Result<(), Box> { + /// let file = OpenOptions::new() + /// .write(true) + /// .custom_flags(libc::O_NONBLOCK) + /// .open(FIFO_NAME)?; + /// if file.metadata()?.file_type().is_fifo() { + /// let tx = pipe::Sender::from_file_unchecked(file)?; + /// /* use the Sender */ + /// } + /// # Ok(()) + /// # } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromFileUnchecked({required File file}) => + RustLib.instance.api.tokioNetUnixPipeSenderFromFileUnchecked(file: file); + + /// Creates a new `Sender` from an [`OwnedFd`]. + /// + /// This function is intended to construct a pipe from an [`OwnedFd`] representing + /// an anonymous pipe or a special FIFO file. It will check if the file descriptor + /// is a pipe and has write access, set it in non-blocking mode and perform the + /// conversion. + /// + /// # Errors + /// + /// Fails with `io::ErrorKind::InvalidInput` if the file descriptor is not a pipe + /// or it does not have write access. Also fails with any standard OS error if it + /// occurs. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromOwnedFd({required OwnedFd ownedFd}) => + RustLib.instance.api.tokioNetUnixPipeSenderFromOwnedFd(ownedFd: ownedFd); + + /// Creates a new `Sender` from an [`OwnedFd`] without checking pipe properties. + /// + /// This function is intended to construct a pipe from an [`OwnedFd`] representing + /// an anonymous pipe or a special FIFO file. The conversion assumes nothing about + /// the underlying pipe; it is left up to the user to make sure that the file + /// descriptor represents the writing end of a pipe and the pipe is set in + /// non-blocking mode. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromOwnedFdUnchecked({required OwnedFd ownedFd}) => + RustLib.instance.api + .tokioNetUnixPipeSenderFromOwnedFdUnchecked(ownedFd: ownedFd); + + /// Converts the pipe into an [`OwnedFd`] in blocking mode. + /// + /// This function will deregister this pipe end from the event loop, set + /// it in blocking mode and perform the conversion. + Future intoBlockingFd(); + + /// Converts the pipe into an [`OwnedFd`] in nonblocking mode. + /// + /// This function will deregister this pipe end from the event loop and + /// perform the conversion. The returned file descriptor will be in nonblocking + /// mode. + Future intoNonblockingFd(); + + /// Polls for write readiness. + /// + /// If the pipe is not currently ready for writing, this method will + /// store a clone of the `Waker` from the provided `Context`. When the pipe + /// becomes ready for writing, `Waker::wake` will be called on the waker. + /// + /// Note that on multiple calls to `poll_write_ready` or `poll_write`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. + /// + /// This function is intended for cases where creating and pinning a future + /// via [`writable`] is not feasible. Where possible, using [`writable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// [`writable`]: Self::writable + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the pipe is not ready for writing. + /// * `Poll::Ready(Ok(()))` if the pipe is ready for writing. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + Future pollWriteReady({required Context cx}); + + /// Waits for any of the requested ready states. + /// + /// This function can be used instead of [`writable()`] to check the returned + /// ready set for [`Ready::WRITABLE`] and [`Ready::WRITE_CLOSED`] events. + /// + /// The function may complete without the pipe being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// [`writable()`]: Self::writable + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + Future ready({required Interest interest}); + + /// Tries to write a buffer to the pipe, returning how many bytes were + /// written. + /// + /// The function will attempt to write the entire contents of `buf`, but + /// only part of the buffer may be written. If the length of `buf` is not + /// greater than `PIPE_BUF` (an OS constant, 4096 under Linux), then the + /// write is guaranteed to be atomic, i.e. either the entire content of + /// `buf` will be written or this method will fail with `WouldBlock`. There + /// is no such guarantee if `buf` is larger than `PIPE_BUF`. + /// + /// This function is usually paired with [`writable`]. + /// + /// [`writable`]: Self::writable + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the pipe is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a writing end of a fifo + /// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; + /// + /// loop { + /// // Wait for the pipe to be writable + /// tx.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match tx.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWrite({required List buf}); + + /// Tries to write several buffers to the pipe, returning how many bytes + /// were written. + /// + /// Data is written from each buffer in order, with the final buffer read + /// from possible being only partially consumed. This method behaves + /// equivalently to a single call to [`try_write()`] with concatenated + /// buffers. + /// + /// If the total length of buffers is not greater than `PIPE_BUF` (an OS + /// constant, 4096 under Linux), then the write is guaranteed to be atomic, + /// i.e. either the entire contents of buffers will be written or this + /// method will fail with `WouldBlock`. There is no such guarantee if the + /// total length of buffers is greater than `PIPE_BUF`. + /// + /// This function is usually paired with [`writable`]. + /// + /// [`try_write()`]: Self::try_write() + /// [`writable`]: Self::writable + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the pipe is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a writing end of a fifo + /// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; + /// + /// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; + /// + /// loop { + /// // Wait for the pipe to be writable + /// tx.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match tx.try_write_vectored(&bufs) { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWriteVectored({required List buf}); + + /// Waits for the pipe to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually + /// paired with [`try_write()`]. + /// + /// [`try_write()`]: Self::try_write + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a writing end of a fifo + /// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; + /// + /// loop { + /// // Wait for the pipe to be writable + /// tx.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match tx.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future writable(); +} + +// Rust type: RustOpaqueMoi>> +abstract class SenderT implements RustOpaqueInterface { + /// Blocking send to call outside of asynchronous contexts. + /// + /// This method is intended for use cases where you are sending from + /// synchronous code to asynchronous code, and will work even if the + /// receiver is not using [`blocking_recv`] to receive the message. + /// + /// [`blocking_recv`]: fn@crate::sync::mpsc::Receiver::blocking_recv + /// + /// # Panics + /// + /// This function panics if called within an asynchronous execution + /// context. + /// + /// # Examples + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use std::thread; + /// use tokio::runtime::Runtime; + /// use tokio::sync::mpsc; + /// + /// fn main() { + /// let (tx, mut rx) = mpsc::channel::(1); + /// + /// let sync_code = thread::spawn(move || { + /// tx.blocking_send(10).unwrap(); + /// }); + /// + /// Runtime::new().unwrap().block_on(async move { + /// assert_eq!(Some(10), rx.recv().await); + /// }); + /// sync_code.join().unwrap() + /// } + /// # } + /// ``` + Future blockingSend({required T value}); + + /// Returns a reference to the most recently sent value + /// + /// Outstanding borrows hold a read lock on the inner value. This means that + /// long-lived borrows could cause the producer half to block. It is recommended + /// to keep the borrow as short-lived as possible. Additionally, if you are + /// running in an environment that allows `!Send` futures, you must ensure that + /// the returned `Ref` type is never held alive across an `.await` point, + /// otherwise, it can lead to a deadlock. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::watch; + /// + /// let (tx, _) = watch::channel("hello"); + /// assert_eq!(*tx.borrow(), "hello"); + /// ``` + Future borrow(); + + /// Returns the current capacity of the channel. + /// + /// The capacity goes down when sending a value by calling [`send`] or by reserving capacity + /// with [`reserve`]. The capacity goes up when values are received by the [`Receiver`]. + /// This is distinct from [`max_capacity`], which always returns buffer capacity initially + /// specified when calling [`channel`] + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel::<()>(5); + /// + /// assert_eq!(tx.capacity(), 5); + /// + /// // Making a reservation drops the capacity by one. + /// let permit = tx.reserve().await.unwrap(); + /// assert_eq!(tx.capacity(), 4); + /// + /// // Sending and receiving a value increases the capacity by one. + /// permit.send(()); + /// rx.recv().await.unwrap(); + /// assert_eq!(tx.capacity(), 5); + /// # } + /// ``` + /// + /// [`send`]: Sender::send + /// [`reserve`]: Sender::reserve + /// [`channel`]: channel + /// [`max_capacity`]: Sender::max_capacity + Future capacity(); + + /// A future which completes when the number of [Receiver]s subscribed to this `Sender` reaches + /// zero. + /// + /// # Examples + /// + /// ``` + /// use futures::FutureExt; + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel::(16); + /// let mut rx2 = tx.subscribe(); + /// + /// let _ = tx.send(10); + /// + /// assert_eq!(rx1.recv().await.unwrap(), 10); + /// drop(rx1); + /// assert!(tx.closed().now_or_never().is_none()); + /// + /// assert_eq!(rx2.recv().await.unwrap(), 10); + /// drop(rx2); + /// assert!(tx.closed().now_or_never().is_some()); + /// # } + /// ``` + Future closed(); + + static Future default_() => + RustLib.instance.api.tokioNetUnixPipeSenderTDefault(); + + /// Converts the `Sender` to a [`WeakSender`] that does not count + /// towards RAII semantics, i.e. if all `Sender` instances of the + /// channel were dropped and only `WeakSender` instances remain, + /// the channel is closed. + Future downgrade(); + + /// Checks if the channel has been closed. This happens when the + /// [`Receiver`] is dropped, or when the [`Receiver::close`] method is + /// called. + /// + /// [`Receiver`]: crate::sync::mpsc::Receiver + /// [`Receiver::close`]: crate::sync::mpsc::Receiver::close + /// + /// ``` + /// let (tx, rx) = tokio::sync::mpsc::channel::<()>(42); + /// assert!(!tx.is_closed()); + /// + /// let tx2 = tx.clone(); + /// assert!(!tx2.is_closed()); + /// + /// drop(rx); + /// assert!(tx.is_closed()); + /// assert!(tx2.is_closed()); + /// ``` + Future isClosed(); + + /// Returns true if there are no queued values. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// let mut rx2 = tx.subscribe(); + /// + /// assert!(tx.is_empty()); + /// + /// tx.send(10).unwrap(); + /// + /// assert!(!tx.is_empty()); + /// + /// rx1.recv().await.unwrap(); + /// + /// // The queue is still not empty since rx2 hasn't seen the value. + /// assert!(!tx.is_empty()); + /// + /// rx2.recv().await.unwrap(); + /// + /// assert!(tx.is_empty()); + /// # } + /// ``` + Future isEmpty(); + + /// Returns the number of queued values. + /// + /// A value is queued until it has either been seen by all receivers that were alive at the time + /// it was sent, or has been evicted from the queue by subsequent sends that exceeded the + /// queue's capacity. + /// + /// # Note + /// + /// In contrast to [`Receiver::len`], this method only reports queued values and not values that + /// have been evicted from the queue before being seen by all receivers. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// let mut rx2 = tx.subscribe(); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// tx.send(30).unwrap(); + /// + /// assert_eq!(tx.len(), 3); + /// + /// rx1.recv().await.unwrap(); + /// + /// // The len is still 3 since rx2 hasn't seen the first value yet. + /// assert_eq!(tx.len(), 3); + /// + /// rx2.recv().await.unwrap(); + /// + /// assert_eq!(tx.len(), 2); + /// # } + /// ``` + Future len(); + + /// Returns the maximum buffer capacity of the channel. + /// + /// The maximum capacity is the buffer capacity initially specified when calling + /// [`channel`]. This is distinct from [`capacity`], which returns the *current* + /// available buffer capacity: as messages are sent and received, the + /// value returned by [`capacity`] will go up or down, whereas the value + /// returned by [`max_capacity`] will remain constant. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, _rx) = mpsc::channel::<()>(5); + /// + /// // both max capacity and capacity are the same at first + /// assert_eq!(tx.max_capacity(), 5); + /// assert_eq!(tx.capacity(), 5); + /// + /// // Making a reservation doesn't change the max capacity. + /// let permit = tx.reserve().await.unwrap(); + /// assert_eq!(tx.max_capacity(), 5); + /// // but drops the capacity by one + /// assert_eq!(tx.capacity(), 4); + /// # } + /// ``` + /// + /// [`channel`]: channel + /// [`max_capacity`]: Sender::max_capacity + /// [`capacity`]: Sender::capacity + Future maxCapacity(); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates the sending-half of the [`broadcast`] channel. + /// + /// See the documentation of [`broadcast::channel`] for more information on this method. + /// + /// [`broadcast`]: crate::sync::broadcast + /// [`broadcast::channel`]: crate::sync::broadcast::channel + static Future newInstance({required BigInt capacity}) => + RustLib.instance.api.tokioNetUnixPipeSenderTNew(capacity: capacity); + + /// Checks whether the `oneshot` channel has been closed, and if not, schedules the + /// `Waker` in the provided `Context` to receive a notification when the channel is + /// closed. + /// + /// A [`Receiver`] is closed by either calling [`close`] explicitly, or when the + /// [`Receiver`] value is dropped. + /// + /// Note that on multiple calls to poll, only the `Waker` from the `Context` passed + /// to the most recent call will be scheduled to receive a wakeup. + /// + /// [`Receiver`]: struct@crate::sync::oneshot::Receiver + /// [`close`]: fn@crate::sync::oneshot::Receiver::close + /// + /// # Return value + /// + /// This function returns: + /// + /// * `Poll::Pending` if the channel is still open. + /// * `Poll::Ready(())` if the channel is closed. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::oneshot; + /// + /// use std::future::poll_fn; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (mut tx, mut rx) = oneshot::channel::<()>(); + /// + /// tokio::spawn(async move { + /// rx.close(); + /// }); + /// + /// poll_fn(|cx| tx.poll_closed(cx)).await; + /// + /// println!("the receiver dropped"); + /// # } + /// ``` + Future pollClosed({required Context cx}); + + /// Returns the number of active receivers. + /// + /// An active receiver is a [`Receiver`] handle returned from [`channel`] or + /// [`subscribe`]. These are the handles that will receive values sent on + /// this [`Sender`]. + /// + /// # Note + /// + /// It is not guaranteed that a sent message will reach this number of + /// receivers. Active receivers may never call [`recv`] again before + /// dropping. + /// + /// [`recv`]: crate::sync::broadcast::Receiver::recv + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// [`Sender`]: crate::sync::broadcast::Sender + /// [`subscribe`]: crate::sync::broadcast::Sender::subscribe + /// [`channel`]: crate::sync::broadcast::channel + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, _rx1) = broadcast::channel(16); + /// + /// assert_eq!(1, tx.receiver_count()); + /// + /// let mut _rx2 = tx.subscribe(); + /// + /// assert_eq!(2, tx.receiver_count()); + /// + /// tx.send(10).unwrap(); + /// # } + /// ``` + Future receiverCount(); + + /// Waits for channel capacity. Once capacity to send one message is + /// available, it is reserved for the caller. + /// + /// If the channel is full, the function waits for the number of unreceived + /// messages to become less than the channel capacity. Capacity to send one + /// message is reserved for the caller. A [`Permit`] is returned to track + /// the reserved capacity. The [`send`] function on [`Permit`] consumes the + /// reserved capacity. + /// + /// Dropping [`Permit`] without sending a message releases the capacity back + /// to the channel. + /// + /// [`Permit`]: Permit + /// [`send`]: Permit::send + /// + /// # Cancel safety + /// + /// This channel uses a queue to ensure that calls to `send` and `reserve` + /// complete in the order they were requested. Cancelling a call to + /// `reserve` makes you lose your place in the queue. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// // Reserve capacity + /// let permit = tx.reserve().await.unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Sending on the permit succeeds + /// permit.send(456); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// # } + /// ``` + Future reserve(); + + /// Waits for channel capacity. Once capacity to send `n` messages is + /// available, it is reserved for the caller. + /// + /// If the channel is full or if there are fewer than `n` permits available, the function waits + /// for the number of unreceived messages to become `n` less than the channel capacity. + /// Capacity to send `n` message is then reserved for the caller. + /// + /// A [`PermitIterator`] is returned to track the reserved capacity. + /// You can call this [`Iterator`] until it is exhausted to + /// get a [`Permit`] and then call [`Permit::send`]. This function is similar to + /// [`try_reserve_many`] except it waits for the slots to become available. + /// + /// If the channel is closed, the function returns a [`SendError`]. + /// + /// Dropping [`PermitIterator`] without consuming it entirely releases the remaining + /// permits back to the channel. + /// + /// [`PermitIterator`]: PermitIterator + /// [`Permit`]: Permit + /// [`send`]: Permit::send + /// [`try_reserve_many`]: Sender::try_reserve_many + /// + /// # Cancel safety + /// + /// This channel uses a queue to ensure that calls to `send` and `reserve_many` + /// complete in the order they were requested. Cancelling a call to + /// `reserve_many` makes you lose your place in the queue. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(2); + /// + /// // Reserve capacity + /// let mut permit = tx.reserve_many(2).await.unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Sending with the permit iterator succeeds + /// permit.next().unwrap().send(456); + /// permit.next().unwrap().send(457); + /// + /// // The iterator should now be exhausted + /// assert!(permit.next().is_none()); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// assert_eq!(rx.recv().await.unwrap(), 457); + /// # } + /// ``` + Future reserveMany({required BigInt n}); + + /// Waits for channel capacity, moving the `Sender` and returning an owned + /// permit. Once capacity to send one message is available, it is reserved + /// for the caller. + /// + /// This moves the sender _by value_, and returns an owned permit that can + /// be used to send a message into the channel. Unlike [`Sender::reserve`], + /// this method may be used in cases where the permit must be valid for the + /// `'static` lifetime. `Sender`s may be cloned cheaply (`Sender::clone` is + /// essentially a reference count increment, comparable to [`Arc::clone`]), + /// so when multiple [`OwnedPermit`]s are needed or the `Sender` cannot be + /// moved, it can be cloned prior to calling `reserve_owned`. + /// + /// If the channel is full, the function waits for the number of unreceived + /// messages to become less than the channel capacity. Capacity to send one + /// message is reserved for the caller. An [`OwnedPermit`] is returned to + /// track the reserved capacity. The [`send`] function on [`OwnedPermit`] + /// consumes the reserved capacity. + /// + /// Dropping the [`OwnedPermit`] without sending a message releases the + /// capacity back to the channel. + /// + /// # Cancel safety + /// + /// This channel uses a queue to ensure that calls to `send` and `reserve` + /// complete in the order they were requested. Cancelling a call to + /// `reserve_owned` makes you lose your place in the queue. + /// + /// # Examples + /// Sending a message using an [`OwnedPermit`]: + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// // Reserve capacity, moving the sender. + /// let permit = tx.reserve_owned().await.unwrap(); + /// + /// // Send a message, consuming the permit and returning + /// // the moved sender. + /// let tx = permit.send(123); + /// + /// // The value sent on the permit is received. + /// assert_eq!(rx.recv().await.unwrap(), 123); + /// + /// // The sender can now be used again. + /// tx.send(456).await.unwrap(); + /// # } + /// ``` + /// + /// When multiple [`OwnedPermit`]s are needed, or the sender cannot be moved + /// by value, it can be inexpensively cloned before calling `reserve_owned`: + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// // Clone the sender and reserve capacity. + /// let permit = tx.clone().reserve_owned().await.unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Sending on the permit succeeds. + /// permit.send(456); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// # } + /// ``` + /// + /// [`Sender::reserve`]: Sender::reserve + /// [`OwnedPermit`]: OwnedPermit + /// [`send`]: OwnedPermit::send + /// [`Arc::clone`]: std::sync::Arc::clone + Future reserveOwned(); + + /// Returns `true` if senders belong to the same channel. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, _rx) = broadcast::channel::<()>(16); + /// let tx2 = tx.clone(); + /// + /// assert!(tx.same_channel(&tx2)); + /// + /// let (tx3, _rx3) = broadcast::channel::<()>(16); + /// + /// assert!(!tx3.same_channel(&tx2)); + /// # } + /// ``` + Future sameChannel({required SenderT other}); + + /// Attempts to send a value to all active [`Receiver`] handles, returning + /// it back if it could not be sent. + /// + /// A successful send occurs when there is at least one active [`Receiver`] + /// handle. An unsuccessful send would be one where all associated + /// [`Receiver`] handles have already been dropped. + /// + /// # Return + /// + /// On success, the number of subscribed [`Receiver`] handles is returned. + /// This does not mean that this number of receivers will see the message as + /// a receiver may drop or lag ([see lagging](self#lagging)) before receiving + /// the message. + /// + /// # Note + /// + /// A return value of `Ok` **does not** mean that the sent value will be + /// observed by all or any of the active [`Receiver`] handles. [`Receiver`] + /// handles may be dropped before receiving the sent message. + /// + /// A return value of `Err` **does not** mean that future calls to `send` + /// will fail. New [`Receiver`] handles may be created by calling + /// [`subscribe`]. + /// + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// [`subscribe`]: crate::sync::broadcast::Sender::subscribe + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// let mut rx2 = tx.subscribe(); + /// + /// tokio::spawn(async move { + /// assert_eq!(rx1.recv().await.unwrap(), 10); + /// assert_eq!(rx1.recv().await.unwrap(), 20); + /// }); + /// + /// tokio::spawn(async move { + /// assert_eq!(rx2.recv().await.unwrap(), 10); + /// assert_eq!(rx2.recv().await.unwrap(), 20); + /// }); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// # } + /// ``` + Future send({required T value}); + + /// Sends a new value via the channel, notifying all receivers and returning + /// the previous value in the channel. + /// + /// This can be useful for reusing the buffers inside a watched value. + /// Additionally, this method permits sending values even when there are no + /// receivers. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::watch; + /// + /// let (tx, _rx) = watch::channel(1); + /// assert_eq!(tx.send_replace(2), 1); + /// assert_eq!(tx.send_replace(3), 2); + /// ``` + Future sendReplace({required T value}); + + /// Sends a value, waiting until there is capacity, but only for a limited time. + /// + /// Shares the same success and error conditions as [`send`], adding one more + /// condition for an unsuccessful send, which is when the provided timeout has + /// elapsed, and there is no capacity available. + /// + /// [`send`]: Sender::send + /// + /// # Errors + /// + /// If the receive half of the channel is closed, either due to [`close`] + /// being called or the [`Receiver`] having been dropped, + /// the function returns an error. The error includes the value passed to `send`. + /// + /// [`close`]: Receiver::close + /// [`Receiver`]: Receiver + /// + /// # Panics + /// + /// This function panics if it is called outside the context of a Tokio + /// runtime [with time enabled](crate::runtime::Builder::enable_time). + /// + /// # Examples + /// + /// In the following example, each call to `send_timeout` will block until the + /// previously sent value was received, unless the timeout has elapsed. + /// + /// ```rust + /// use tokio::sync::mpsc; + /// use tokio::time::{sleep, Duration}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// tokio::spawn(async move { + /// for i in 0..10 { + /// if let Err(e) = tx.send_timeout(i, Duration::from_millis(100)).await { + /// println!("send error: #{:?}", e); + /// return; + /// } + /// } + /// }); + /// + /// while let Some(i) = rx.recv().await { + /// println!("got = {}", i); + /// sleep(Duration::from_millis(200)).await; + /// } + /// # } + /// ``` + Future sendTimeout({required T value, required Duration timeout}); + + /// Returns the number of senders that currently exist. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::watch; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx1, rx) = watch::channel("hello"); + /// + /// assert_eq!(1, tx1.sender_count()); + /// + /// let tx2 = tx1.clone(); + /// + /// assert_eq!(2, tx1.sender_count()); + /// assert_eq!(2, tx2.sender_count()); + /// # } + /// ``` + Future senderCount(); + + /// Returns the number of [`Sender`] handles. + Future strongCount(); + + /// Creates a new [`Receiver`] handle that will receive values sent **after** + /// this call to `subscribe`. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, _rx) = broadcast::channel(16); + /// + /// // Will not be seen + /// tx.send(10).unwrap(); + /// + /// let mut rx = tx.subscribe(); + /// + /// tx.send(20).unwrap(); + /// + /// let value = rx.recv().await.unwrap(); + /// assert_eq!(20, value); + /// # } + /// ``` + Future subscribe(); + + /// Tries to acquire a slot in the channel without waiting for the slot to become + /// available. + /// + /// If the channel is full this function will return [`TrySendError`], otherwise + /// if there is a slot available it will return a [`Permit`] that will then allow you + /// to [`send`] on the channel with a guaranteed slot. This function is similar to + /// [`reserve`] except it does not await for the slot to become available. + /// + /// Dropping [`Permit`] without sending a message releases the capacity back + /// to the channel. + /// + /// [`Permit`]: Permit + /// [`send`]: Permit::send + /// [`reserve`]: Sender::reserve + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// // Reserve capacity + /// let permit = tx.try_reserve().unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Trying to reserve an additional slot on the `tx` will + /// // fail because there is no capacity. + /// assert!(tx.try_reserve().is_err()); + /// + /// // Sending on the permit succeeds + /// permit.send(456); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// + /// # } + /// ``` + Future tryReserve(); + + /// Tries to acquire `n` slots in the channel without waiting for the slot to become + /// available. + /// + /// A [`PermitIterator`] is returned to track the reserved capacity. + /// You can call this [`Iterator`] until it is exhausted to + /// get a [`Permit`] and then call [`Permit::send`]. This function is similar to + /// [`reserve_many`] except it does not await for the slots to become available. + /// + /// If there are fewer than `n` permits available on the channel, then + /// this function will return a [`TrySendError::Full`]. If the channel is closed + /// this function will return a [`TrySendError::Closed`]. + /// + /// Dropping [`PermitIterator`] without consuming it entirely releases the remaining + /// permits back to the channel. + /// + /// [`PermitIterator`]: PermitIterator + /// [`send`]: Permit::send + /// [`reserve_many`]: Sender::reserve_many + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(2); + /// + /// // Reserve capacity + /// let mut permit = tx.try_reserve_many(2).unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Trying to reserve an additional slot on the `tx` will + /// // fail because there is no capacity. + /// assert!(tx.try_reserve().is_err()); + /// + /// // Sending with the permit iterator succeeds + /// permit.next().unwrap().send(456); + /// permit.next().unwrap().send(457); + /// + /// // The iterator should now be exhausted + /// assert!(permit.next().is_none()); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// assert_eq!(rx.recv().await.unwrap(), 457); + /// + /// // Trying to call try_reserve_many with 0 will return an empty iterator + /// let mut permit = tx.try_reserve_many(0).unwrap(); + /// assert!(permit.next().is_none()); + /// + /// // Trying to call try_reserve_many with a number greater than the channel + /// // capacity will return an error + /// let permit = tx.try_reserve_many(3); + /// assert!(permit.is_err()); + /// + /// // Trying to call try_reserve_many on a closed channel will return an error + /// drop(rx); + /// let permit = tx.try_reserve_many(1); + /// assert!(permit.is_err()); + /// + /// let permit = tx.try_reserve_many(0); + /// assert!(permit.is_err()); + /// # } + /// ``` + Future tryReserveMany({required BigInt n}); + + /// Tries to acquire a slot in the channel without waiting for the slot to become + /// available, returning an owned permit. + /// + /// This moves the sender _by value_, and returns an owned permit that can + /// be used to send a message into the channel. Unlike [`Sender::try_reserve`], + /// this method may be used in cases where the permit must be valid for the + /// `'static` lifetime. `Sender`s may be cloned cheaply (`Sender::clone` is + /// essentially a reference count increment, comparable to [`Arc::clone`]), + /// so when multiple [`OwnedPermit`]s are needed or the `Sender` cannot be + /// moved, it can be cloned prior to calling `try_reserve_owned`. + /// + /// If the channel is full this function will return a [`TrySendError`]. + /// Since the sender is taken by value, the `TrySendError` returned in this + /// case contains the sender, so that it may be used again. Otherwise, if + /// there is a slot available, this method will return an [`OwnedPermit`] + /// that can then be used to [`send`] on the channel with a guaranteed slot. + /// This function is similar to [`reserve_owned`] except it does not await + /// for the slot to become available. + /// + /// Dropping the [`OwnedPermit`] without sending a message releases the capacity back + /// to the channel. + /// + /// [`OwnedPermit`]: OwnedPermit + /// [`send`]: OwnedPermit::send + /// [`reserve_owned`]: Sender::reserve_owned + /// [`Arc::clone`]: std::sync::Arc::clone + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// // Reserve capacity + /// let permit = tx.clone().try_reserve_owned().unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Trying to reserve an additional slot on the `tx` will + /// // fail because there is no capacity. + /// assert!(tx.try_reserve().is_err()); + /// + /// // Sending on the permit succeeds + /// permit.send(456); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// + /// # } + /// ``` + Future tryReserveOwned(); + + /// Attempts to immediately send a message on this `Sender`. + /// + /// This method differs from [`send`] by returning immediately if the channel's + /// buffer is full or no receiver is waiting to acquire some data. Compared + /// with [`send`], this function has two failure cases instead of one (one for + /// disconnection, one for a full buffer). + /// + /// # Errors + /// + /// If the channel capacity has been reached, i.e., the channel has `n` + /// buffered values where `n` is the argument passed to [`channel`], then an + /// error is returned. + /// + /// If the receive half of the channel is closed, either due to [`close`] + /// being called or the [`Receiver`] handle dropping, the function returns + /// an error. The error includes the value passed to `send`. + /// + /// [`send`]: Sender::send + /// [`channel`]: channel + /// [`close`]: Receiver::close + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// // Create a channel with buffer size 1 + /// let (tx1, mut rx) = mpsc::channel(1); + /// let tx2 = tx1.clone(); + /// + /// tokio::spawn(async move { + /// tx1.send(1).await.unwrap(); + /// tx1.send(2).await.unwrap(); + /// // task waits until the receiver receives a value. + /// }); + /// + /// tokio::spawn(async move { + /// // This will return an error and send + /// // no message if the buffer is full + /// let _ = tx2.try_send(3); + /// }); + /// + /// let mut msg; + /// msg = rx.recv().await.unwrap(); + /// println!("message {} received", msg); + /// + /// msg = rx.recv().await.unwrap(); + /// println!("message {} received", msg); + /// + /// // Third message may have never been sent + /// match rx.recv().await { + /// Some(msg) => println!("message {} received", msg), + /// None => println!("the third message was never sent"), + /// } + /// # } + /// ``` + Future trySend({required T message}); + + /// Returns the number of [`WeakSender`] handles. + Future weakCount(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/process.dart b/mobile_app/lib/src/rust/third_party/tokio/process.dart new file mode 100644 index 0000000..d861c23 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/process.dart @@ -0,0 +1,426 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'process/sys.dart'; + +// These functions are ignored because they have generic arguments: `arg0`, `arg`, `args`, `current_dir`, `env_remove`, `env`, `envs`, `new`, `pre_exec`, `stderr`, `stdin`, `stdout` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `ChildDropGuard`, `FusedChild`, `SpawnedChild` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from`, `is_write_vectored`, `kill`, `poll_flush`, `poll_read`, `poll_read`, `poll_shutdown`, `poll_write_vectored`, `poll_write`, `poll`, `try_into`, `try_into`, `try_into` +// These functions have error during generation (see debug logs or enable `stop_on_error: true` for more details): `output`, `status`, `wait_with_output` + +// Rust type: RustOpaqueMoi> +abstract class Child implements RustOpaqueInterface { + ChildStderr? get stderr; + + ChildStdin? get stdin; + + ChildStdout? get stdout; + + set stderr(ChildStderr? stderr); + + set stdin(ChildStdin? stdin); + + set stdout(ChildStdout? stdout); + + /// Returns the OS-assigned process identifier associated with this child + /// while it is still running. + /// + /// Once the child has been polled to completion this will return `None`. + /// This is done to avoid confusion on platforms like Unix where the OS + /// identifier could be reused once the process has completed. + Future id(); + + /// Forces the child to exit. + /// + /// This is equivalent to sending a `SIGKILL` on unix platforms + /// followed by [`wait`](Child::wait). + /// + /// Note: std version of [`Child::kill`](std::process::Child::kill) does not `wait`. + /// For an equivalent of `Child::kill` in the standard library, + /// use [`start_kill`](Child::start_kill). + /// + /// # Examples + /// + /// If the child has to be killed remotely, it is possible to do it using + /// a combination of the select! macro and a `oneshot` channel. In the following + /// example, the child will run until completion unless a message is sent on + /// the `oneshot` channel. If that happens, the child is killed immediately + /// using the `.kill()` method. + /// + /// ```no_run + /// use tokio::process::Command; + /// use tokio::sync::oneshot::channel; + /// + /// #[tokio::main] + /// async fn main() { + /// let (send, recv) = channel::<()>(); + /// let mut child = Command::new("sleep").arg("1").spawn().unwrap(); + /// tokio::spawn(async move { send.send(()) }); + /// tokio::select! { + /// _ = child.wait() => {} + /// _ = recv => child.kill().await.expect("kill failed"), + /// } + /// } + /// ``` + /// + /// You can also interact with the child's standard I/O. For example, you can + /// read its stdout while waiting for it to exit. + /// + /// ```no_run + /// # use std::process::Stdio; + /// # + /// # use tokio::io::AsyncReadExt; + /// # use tokio::process::Command; + /// # use tokio::sync::oneshot::channel; + /// + /// #[tokio::main] + /// async fn main() { + /// let (_tx, rx) = channel::<()>(); + /// + /// let mut child = Command::new("echo") + /// .arg("Hello World!") + /// .stdout(Stdio::piped()) + /// .spawn() + /// .unwrap(); + /// + /// let mut stdout = child.stdout.take().expect("stdout is not captured"); + /// + /// let read_stdout = tokio::spawn(async move { + /// let mut buff = Vec::new(); + /// let _ = stdout.read_to_end(&mut buff).await; + /// + /// buff + /// }); + /// + /// tokio::select! { + /// _ = child.wait() => {} + /// _ = rx => { child.kill().await.expect("kill failed") }, + /// } + /// + /// let buff = read_stdout.await.unwrap(); + /// + /// assert_eq!(buff, b"Hello World!\n"); + /// } + /// ``` + Future kill(); + + /// Attempts to force the child to exit, but does not wait for the request + /// to take effect. + /// + /// On Unix platforms, this is the equivalent to sending a `SIGKILL`. Note + /// that on Unix platforms it is possible for a zombie process to remain + /// after a kill is sent; to avoid this, the caller should ensure that either + /// `child.wait().await` or `child.try_wait()` is invoked successfully. + Future startKill(); + + /// Attempts to collect the exit status of the child if it has already + /// exited. + /// + /// This function will not block the calling thread and will only + /// check to see if the child process has exited or not. If the child has + /// exited then on Unix the process ID is reaped. This function is + /// guaranteed to repeatedly return a successful exit status so long as the + /// child has already exited. + /// + /// If the child has exited, then `Ok(Some(status))` is returned. If the + /// exit status is not available at this time then `Ok(None)` is returned. + /// If an error occurs, then that error is returned. + /// + /// Note that unlike `wait`, this function will not attempt to drop stdin, + /// nor will it wake the current task if the child exits. + Future tryWait(); + + /// Waits for the child to exit completely, returning the status that it + /// exited with. This function will continue to have the same return value + /// after it has been called at least once. + /// + /// The stdin handle to the child process, if any, will be closed + /// before waiting. This helps avoid deadlock: it ensures that the + /// child does not block waiting for input from the parent, while + /// the parent waits for the child to exit. + /// + /// If the caller wishes to explicitly control when the child's stdin + /// handle is closed, they may `.take()` it before calling `.wait()`: + /// + /// # Cancel safety + /// + /// This function is cancel safe. + /// + /// ``` + /// # #[cfg(not(unix))]fn main(){} + /// # #[cfg(unix)] + /// use tokio::io::AsyncWriteExt; + /// # #[cfg(unix)] + /// use tokio::process::Command; + /// # #[cfg(unix)] + /// use std::process::Stdio; + /// + /// # #[cfg(unix)] + /// #[tokio::main] + /// async fn main() { + /// # if cfg!(miri) { return; } // No `pidfd_spawnp` in miri. + /// let mut child = Command::new("cat") + /// .stdin(Stdio::piped()) + /// .spawn() + /// .unwrap(); + /// + /// let mut stdin = child.stdin.take().unwrap(); + /// tokio::spawn(async move { + /// // do something with stdin here... + /// stdin.write_all(b"hello world\n").await.unwrap(); + /// + /// // then drop when finished + /// drop(stdin); + /// }); + /// + /// // wait for the process to complete + /// let _ = child.wait().await; + /// } + /// ``` + Future wait(); +} + +// Rust type: RustOpaqueMoi> +abstract class ChildStderr implements RustOpaqueInterface { + /// Creates an asynchronous `ChildStderr` from a synchronous one. + /// + /// # Errors + /// + /// This method may fail if an error is encountered when setting the pipe to + /// non-blocking mode, or when registering the pipe with the runtime's IO + /// driver. + static Future fromStd({required ChildStderr inner}) => + RustLib.instance.api.tokioProcessChildStderrFromStd(inner: inner); + + /// Convert into [`OwnedFd`]. + Future intoOwnedFd(); +} + +// Rust type: RustOpaqueMoi> +abstract class ChildStdin implements RustOpaqueInterface { + /// Creates an asynchronous `ChildStdin` from a synchronous one. + /// + /// # Errors + /// + /// This method may fail if an error is encountered when setting the pipe to + /// non-blocking mode, or when registering the pipe with the runtime's IO + /// driver. + static Future fromStd({required ChildStdin inner}) => + RustLib.instance.api.tokioProcessChildStdinFromStd(inner: inner); + + /// Convert into [`OwnedFd`]. + Future intoOwnedFd(); +} + +// Rust type: RustOpaqueMoi> +abstract class ChildStdout implements RustOpaqueInterface { + /// Creates an asynchronous `ChildStdout` from a synchronous one. + /// + /// # Errors + /// + /// This method may fail if an error is encountered when setting the pipe to + /// non-blocking mode, or when registering the pipe with the runtime's IO + /// driver. + static Future fromStd({required ChildStdout inner}) => + RustLib.instance.api.tokioProcessChildStdoutFromStd(inner: inner); + + /// Convert into [`OwnedFd`]. + Future intoOwnedFd(); +} + +// Rust type: RustOpaqueMoi> +abstract class Command implements RustOpaqueInterface { + /// Cheaply convert to a `&std::process::Command` for places where the type from the standard + /// library is expected. + Future asStd(); + + /// Cheaply convert to a `&mut std::process::Command` for places where the type from the + /// standard library is expected. + Future asStdMut(); + + /// Clears the entire environment map for the child process. + /// + /// # Examples + /// + /// Basic usage: + /// + /// ```no_run + /// # async fn test() { // allow using await + /// use tokio::process::Command; + /// + /// let output = Command::new("ls") + /// .env_clear() + /// .output().await.unwrap(); + /// # } + /// ``` + Future envClear(); + + /// Returns the boolean value that was previously set by [`Command::kill_on_drop`]. + /// + /// Note that if you have not previously called [`Command::kill_on_drop`], the + /// default value of `false` will be returned here. + /// + /// # Examples + /// + /// ``` + /// use tokio::process::Command; + /// + /// let mut cmd = Command::new("echo"); + /// assert!(!cmd.get_kill_on_drop()); + /// + /// cmd.kill_on_drop(true); + /// assert!(cmd.get_kill_on_drop()); + /// ``` + Future getKillOnDrop(); + + /// Similar to `uid` but sets the group ID of the child process. This has + /// the same semantics as the `uid` field. + Future gid({required int id}); + + /// Cheaply convert into a `std::process::Command`. + /// + /// Note that Tokio specific options will be lost. Currently, this only applies to [`kill_on_drop`]. + /// + /// [`kill_on_drop`]: Command::kill_on_drop + Future intoStd(); + + /// Controls whether a `kill` operation should be invoked on a spawned child + /// process when its corresponding `Child` handle is dropped. + /// + /// By default, this value is assumed to be `false`, meaning the next spawned + /// process will not be killed on drop, similar to the behavior of the standard + /// library. + /// + /// # Caveats + /// + /// On Unix platforms processes must be "reaped" by their parent process after + /// they have exited in order to release all OS resources. A child process which + /// has exited, but has not yet been reaped by its parent is considered a "zombie" + /// process. Such processes continue to count against limits imposed by the system, + /// and having too many zombie processes present can prevent additional processes + /// from being spawned. + /// + /// Although issuing a `kill` signal to the child process is a synchronous + /// operation, the resulting zombie process cannot be `.await`ed inside of the + /// destructor to avoid blocking other tasks. The tokio runtime will, on a + /// best-effort basis, attempt to reap and clean up such processes in the + /// background, but no additional guarantees are made with regard to + /// how quickly or how often this procedure will take place. + /// + /// If stronger guarantees are required, it is recommended to avoid dropping + /// a [`Child`] handle where possible, and instead utilize `child.wait().await` + /// or `child.kill().await` where possible. + Future killOnDrop({required bool killOnDrop}); + + /// Sets the process group ID (PGID) of the child process. Equivalent to a + /// `setpgid` call in the child process, but may be more efficient. + /// + /// Process groups determine which processes receive signals. + /// + /// # Examples + /// + /// Pressing Ctrl-C in a terminal will send `SIGINT` to all processes + /// in the current foreground process group. By spawning the `sleep` + /// subprocess in a new process group, it will not receive `SIGINT` + /// from the terminal. + /// + /// The parent process could install a [signal handler] and manage the + /// process on its own terms. + /// + /// A process group ID of 0 will use the process ID as the PGID. + /// + /// ```no_run + /// # async fn test() { // allow using await + /// use tokio::process::Command; + /// + /// let output = Command::new("sleep") + /// .arg("10") + /// .process_group(0) + /// .output() + /// .await + /// .unwrap(); + /// # } + /// ``` + /// + /// [signal handler]: crate::signal + Future processGroup({required int pgroup}); + + /// Executes the command as a child process, returning a handle to it. + /// + /// By default, stdin, stdout and stderr are inherited from the parent. + /// + /// This method will spawn the child process synchronously and return a + /// handle to a future-aware child process. The `Child` returned implements + /// `Future` itself to acquire the `ExitStatus` of the child, and otherwise + /// the `Child` has methods to acquire handles to the stdin, stdout, and + /// stderr streams. + /// + /// All I/O this child does will be associated with the current default + /// event loop. + /// + /// # Examples + /// + /// Basic usage: + /// + /// ```no_run + /// use tokio::process::Command; + /// + /// async fn run_ls() -> std::process::ExitStatus { + /// Command::new("ls") + /// .spawn() + /// .expect("ls command failed to start") + /// .wait() + /// .await + /// .expect("ls command failed to run") + /// } + /// ``` + /// + /// # Caveats + /// + /// ## Dropping/Cancellation + /// + /// Similar to the behavior to the standard library, and unlike the futures + /// paradigm of dropping-implies-cancellation, a spawned process will, by + /// default, continue to execute even after the `Child` handle has been dropped. + /// + /// The [`Command::kill_on_drop`] method can be used to modify this behavior + /// and kill the child process if the `Child` wrapper is dropped before it + /// has exited. + /// + /// ## Unix Processes + /// + /// On Unix platforms processes must be "reaped" by their parent process after + /// they have exited in order to release all OS resources. A child process which + /// has exited, but has not yet been reaped by its parent is considered a "zombie" + /// process. Such processes continue to count against limits imposed by the system, + /// and having too many zombie processes present can prevent additional processes + /// from being spawned. + /// + /// The tokio runtime will, on a best-effort basis, attempt to reap and clean up + /// any process which it has spawned. No additional guarantees are made with regard to + /// how quickly or how often this procedure will take place. + /// + /// It is recommended to avoid dropping a [`Child`] process handle before it has been + /// fully `await`ed if stricter cleanup guarantees are required. + /// + /// [`Command`]: crate::process::Command + /// [`Command::kill_on_drop`]: crate::process::Command::kill_on_drop + /// [`Child`]: crate::process::Child + /// + /// # Errors + /// + /// On Unix platforms this method will fail with `std::io::ErrorKind::WouldBlock` + /// if the system process limit is reached (which includes other applications + /// running on the system). + Future spawn(); + + /// Sets the child process's user ID. This translates to a + /// `setuid` call in the child process. Failure in the `setuid` + /// call will cause the spawn to fail. + Future uid({required int id}); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/process/sys.dart b/mobile_app/lib/src/rust/third_party/tokio/process/sys.dart new file mode 100644 index 0000000..d35d754 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/process/sys.dart @@ -0,0 +1,12 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_fd`, `as_fd`, `as_raw_fd`, `as_raw_fd`, `as_raw_fd` + +// Rust type: RustOpaqueMoi> +abstract class OwnedFd implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/runtime.dart b/mobile_app/lib/src/rust/third_party/tokio/runtime.dart new file mode 100644 index 0000000..2cd6b3b --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/runtime.dart @@ -0,0 +1,531 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `TimerFlavor`, `Timer` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `eq`, `fmt`, `fmt` + +// Rust type: RustOpaqueMoi>> +abstract class EnterGuard implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Handle implements RustOpaqueInterface { + /// Returns a `Handle` view over the currently running `Runtime`. + /// + /// # Panics + /// + /// This will panic if called outside the context of a Tokio runtime. That means that you must + /// call this on one of the threads **being run by the runtime**, or from a thread with an active + /// `EnterGuard`. Calling this from within a thread created by `std::thread::spawn` (for example) + /// will cause a panic unless that thread has an active `EnterGuard`. + /// + /// # Examples + /// + /// This can be used to obtain the handle of the surrounding runtime from an async + /// block or function running on that runtime. + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// # use std::thread; + /// # use tokio::runtime::Runtime; + /// # fn dox() { + /// # let rt = Runtime::new().unwrap(); + /// # rt.spawn(async { + /// use tokio::runtime::Handle; + /// + /// // Inside an async block or function. + /// let handle = Handle::current(); + /// handle.spawn(async { + /// println!("now running in the existing Runtime"); + /// }); + /// + /// # let handle = + /// thread::spawn(move || { + /// // Notice that the handle is created outside of this thread and then moved in + /// handle.spawn(async { /* ... */ }); + /// // This next line would cause a panic because we haven't entered the runtime + /// // and created an EnterGuard + /// // let handle2 = Handle::current(); // panic + /// // So we create a guard here with Handle::enter(); + /// let _guard = handle.enter(); + /// // Now we can call Handle::current(); + /// let handle2 = Handle::current(); + /// }); + /// # handle.join().unwrap(); + /// # }); + /// # } + /// # } + /// ``` + static Future current() => + RustLib.instance.api.tokioRuntimeHandleCurrent(); + + static Future default_() => + RustLib.instance.api.tokioRuntimeHandleDefault(); + + /// Enters the runtime context. This allows you to construct types that must + /// have an executor available on creation such as [`Sleep`] or + /// [`TcpStream`]. It will also allow you to call methods such as + /// [`tokio::spawn`] and [`Handle::current`] without panicking. + /// + /// # Panics + /// + /// When calling `Handle::enter` multiple times, the returned guards + /// **must** be dropped in the reverse order that they were acquired. + /// Failure to do so will result in a panic and possible memory leaks. + /// + /// # Examples + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::runtime::Runtime; + /// + /// let rt = Runtime::new().unwrap(); + /// + /// let _guard = rt.enter(); + /// tokio::spawn(async { + /// println!("Hello world!"); + /// }); + /// # } + /// ``` + /// + /// Do **not** do the following, this shows a scenario that will result in a + /// panic and possible memory leak. + /// + /// ```should_panic,ignore-wasm + /// use tokio::runtime::Runtime; + /// + /// let rt1 = Runtime::new().unwrap(); + /// let rt2 = Runtime::new().unwrap(); + /// + /// let enter1 = rt1.enter(); + /// let enter2 = rt2.enter(); + /// + /// drop(enter1); + /// drop(enter2); + /// ``` + /// + /// [`Sleep`]: struct@crate::time::Sleep + /// [`TcpStream`]: struct@crate::net::TcpStream + /// [`tokio::spawn`]: fn@crate::spawn + Future enter(); + + /// Returns the [`Id`] of the current `Runtime`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// #[tokio::main(flavor = "current_thread")] + /// async fn main() { + /// println!("Current runtime id: {}", Handle::current().id()); + /// } + /// ``` + /// + /// [`Id`]: struct@crate::runtime::Id + Future id(); + + /// Returns a view that lets you get information about how the runtime + /// is performing. + Future metrics(); + + /// Returns the flavor of the current `Runtime`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::{Handle, RuntimeFlavor}; + /// + /// #[tokio::main(flavor = "current_thread")] + /// async fn main() { + /// assert_eq!(RuntimeFlavor::CurrentThread, Handle::current().runtime_flavor()); + /// } + /// ``` + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::runtime::{Handle, RuntimeFlavor}; + /// + /// #[tokio::main(flavor = "multi_thread", worker_threads = 4)] + /// async fn main() { + /// assert_eq!(RuntimeFlavor::MultiThread, Handle::current().runtime_flavor()); + /// } + /// # } + /// ``` + Future runtimeFlavor(); + + /// Returns a Handle view over the currently running Runtime + /// + /// Returns an error if no Runtime has been started + /// + /// Contrary to `current`, this never panics + static Future tryCurrent() => + RustLib.instance.api.tokioRuntimeHandleTryCurrent(); +} + +// Rust type: RustOpaqueMoi> +abstract class Id implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Runtime implements RustOpaqueInterface { + /// Enters the runtime context. + /// + /// This allows you to construct types that must have an executor + /// available on creation such as [`Sleep`] or [`TcpStream`]. It will + /// also allow you to call methods such as [`tokio::spawn`]. + /// + /// [`Sleep`]: struct@crate::time::Sleep + /// [`TcpStream`]: struct@crate::net::TcpStream + /// [`tokio::spawn`]: fn@crate::spawn + /// + /// # Example + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::runtime::Runtime; + /// use tokio::task::JoinHandle; + /// + /// fn function_that_spawns(msg: String) -> JoinHandle<()> { + /// // Had we not used `rt.enter` below, this would panic. + /// tokio::spawn(async move { + /// println!("{}", msg); + /// }) + /// } + /// + /// fn main() { + /// let rt = Runtime::new().unwrap(); + /// + /// let s = "Hello World!".to_string(); + /// + /// // By entering the context, we tie `tokio::spawn` to this executor. + /// let _guard = rt.enter(); + /// let handle = function_that_spawns(s); + /// + /// // Wait for the task before we end the test. + /// rt.block_on(handle).unwrap(); + /// } + /// # } + /// ``` + Future enter(); + + /// Returns a handle to the runtime's spawner. + /// + /// The returned handle can be used to spawn tasks that run on this runtime, and can + /// be cloned to allow moving the `Handle` to other threads. + /// + /// Calling [`Handle::block_on`] on a handle to a `current_thread` runtime is error-prone. + /// Refer to the documentation of [`Handle::block_on`] for more. + /// + /// # Examples + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::runtime::Runtime; + /// + /// let rt = Runtime::new() + /// .unwrap(); + /// + /// let handle = rt.handle(); + /// + /// // Use the handle... + /// # } + /// ``` + Future handle(); + + /// Returns a view that lets you get information about how the runtime + /// is performing. + Future metrics(); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a new runtime instance with default configuration values. + /// + /// This results in the multi threaded scheduler, I/O driver, and time driver being + /// initialized. + /// + /// Most applications will not need to call this function directly. Instead, + /// they will use the [`#[tokio::main]` attribute][main]. When a more complex + /// configuration is necessary, the [runtime builder] may be used. + /// + /// See [module level][mod] documentation for more details. + /// + /// # Examples + /// + /// Creating a new `Runtime` with default configuration values. + /// + /// ``` + /// use tokio::runtime::Runtime; + /// + /// let rt = Runtime::new() + /// .unwrap(); + /// + /// // Use the runtime... + /// ``` + /// + /// [mod]: index.html + /// [main]: ../attr.main.html + /// [threaded scheduler]: index.html#threaded-scheduler + /// [runtime builder]: crate::runtime::Builder + static Future newInstance() => + RustLib.instance.api.tokioRuntimeRuntimeNew(); + + /// Shuts down the runtime, without waiting for any spawned work to stop. + /// + /// This can be useful if you want to drop a runtime from within another runtime. + /// Normally, dropping a runtime will block indefinitely for spawned blocking tasks + /// to complete, which would normally not be permitted within an asynchronous context. + /// By calling `shutdown_background()`, you can drop the runtime from such a context. + /// + /// Note however, that because we do not wait for any blocking tasks to complete, this + /// may result in a resource leak (in that any blocking tasks are still running until they + /// return. + /// + /// See the [struct level documentation](Runtime#shutdown) for more details. + /// + /// This function is equivalent to calling `shutdown_timeout(Duration::from_nanos(0))`. + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::runtime::Runtime; + /// + /// fn main() { + /// let runtime = Runtime::new().unwrap(); + /// + /// runtime.block_on(async move { + /// let inner_runtime = Runtime::new().unwrap(); + /// // ... + /// inner_runtime.shutdown_background(); + /// }); + /// } + /// # } + /// ``` + Future shutdownBackground(); +} + +// Rust type: RustOpaqueMoi> +abstract class RuntimeMetrics implements RustOpaqueInterface { + /// Returns the number of tasks currently scheduled in the runtime's + /// global queue. + /// + /// Tasks that are spawned or notified from a non-runtime thread are + /// scheduled using the runtime's global queue. This metric returns the + /// **current** number of tasks pending in the global queue. As such, the + /// returned value may increase or decrease as new tasks are scheduled and + /// processed. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// + /// let n = metrics.global_queue_depth(); + /// println!("{} tasks currently pending in the runtime's global queue", n); + /// # } + /// ``` + Future globalQueueDepth(); + + /// Returns the current number of alive tasks in the runtime. + /// + /// This counter increases when a task is spawned and decreases when a + /// task exits. + /// + /// Note: When using the multi-threaded runtime this number may not + /// not have strong consistency i.e. no tasks may be running but the metric + /// reports otherwise. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// + /// let n = metrics.num_alive_tasks(); + /// println!("Runtime has {} alive tasks", n); + /// # } + /// ``` + Future numAliveTasks(); + + /// Returns the number of worker threads used by the runtime. + /// + /// The number of workers is set by configuring `worker_threads` on + /// `runtime::Builder`. When using the `current_thread` runtime, the return + /// value is always `1`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// + /// let n = metrics.num_workers(); + /// println!("Runtime is using {} workers", n); + /// # } + /// ``` + Future numWorkers(); + + /// Returns the total number of times the given worker thread has parked. + /// + /// The worker park count starts at zero when the runtime is created and + /// increases by one each time the worker parks the thread waiting for new + /// inbound events to process. This usually means the worker has processed + /// all pending work and is currently idle. + /// + /// The counter is monotonically increasing. It is never decremented or + /// reset to zero. + /// + /// # Arguments + /// + /// `worker` is the index of the worker being queried. The given value must + /// be between 0 and `num_workers()`. The index uniquely identifies a single + /// worker and will continue to identify the worker throughout the lifetime + /// of the runtime instance. + /// + /// # Panics + /// + /// The method panics when `worker` represents an invalid worker, i.e. is + /// greater than or equal to `num_workers()`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// + /// let n = metrics.worker_park_count(0); + /// println!("worker 0 parked {} times", n); + /// # } + /// ``` + Future workerParkCount({required BigInt worker}); + + /// Returns the total number of times the given worker thread has parked + /// and unparked. + /// + /// The worker park/unpark count starts at zero when the runtime is created + /// and increases by one each time the worker parks the thread waiting for + /// new inbound events to process. This usually means the worker has processed + /// all pending work and is currently idle. When new work becomes available, + /// the worker is unparked and the park/unpark count is again increased by one. + /// + /// An odd count means that the worker is currently parked. + /// An even count means that the worker is currently active. + /// + /// The counter is monotonically increasing. It is never decremented or + /// reset to zero. + /// + /// # Arguments + /// + /// `worker` is the index of the worker being queried. The given value must + /// be between 0 and `num_workers()`. The index uniquely identifies a single + /// worker and will continue to identify the worker throughout the lifetime + /// of the runtime instance. + /// + /// # Panics + /// + /// The method panics when `worker` represents an invalid worker, i.e. is + /// greater than or equal to `num_workers()`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// let n = metrics.worker_park_unpark_count(0); + /// + /// println!("worker 0 parked and unparked {} times", n); + /// + /// if n % 2 == 0 { + /// println!("worker 0 is active"); + /// } else { + /// println!("worker 0 is parked"); + /// } + /// # } + /// ``` + Future workerParkUnparkCount({required BigInt worker}); + + /// Returns the amount of time the given worker thread has been busy. + /// + /// The worker busy duration starts at zero when the runtime is created and + /// increases whenever the worker is spending time processing work. Using + /// this value can indicate the load of the given worker. If a lot of time + /// is spent busy, then the worker is under load and will check for inbound + /// events less often. + /// + /// The timer is monotonically increasing. It is never decremented or reset + /// to zero. + /// + /// # Arguments + /// + /// `worker` is the index of the worker being queried. The given value must + /// be between 0 and `num_workers()`. The index uniquely identifies a single + /// worker and will continue to identify the worker throughout the lifetime + /// of the runtime instance. + /// + /// # Panics + /// + /// The method panics when `worker` represents an invalid worker, i.e. is + /// greater than or equal to `num_workers()`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// + /// let n = metrics.worker_total_busy_duration(0); + /// println!("worker 0 was busy for a total of {:?}", n); + /// # } + /// ``` + Future workerTotalBusyDuration({required BigInt worker}); +} + +// Rust type: RustOpaqueMoi> +abstract class TryCurrentError implements RustOpaqueInterface { + /// Returns true if the call failed because there is currently no runtime in + /// the Tokio context. + Future isMissingContext(); + + /// Returns true if the call failed because the Tokio context thread-local + /// had been destroyed. This can usually only happen if in the destructor of + /// other thread-locals. + Future isThreadLocalDestroyed(); +} + +/// The flavor of a `Runtime`. +/// +/// This is the return type for [`Handle::runtime_flavor`](crate::runtime::Handle::runtime_flavor()). +enum RuntimeFlavor { + /// The flavor that executes all tasks on the current thread. + currentThread, + + /// The flavor that executes tasks across multiple threads. + multiThread, + ; +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/signal.dart b/mobile_app/lib/src/rust/third_party/tokio/signal.dart new file mode 100644 index 0000000..fb9884b --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/signal.dart @@ -0,0 +1,63 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `RxFuture` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `fmt` + +/// Completes when a "ctrl-c" notification is sent to the process. +/// +/// While signals are handled very differently between Unix and Windows, both +/// platforms support receiving a signal on "ctrl-c". This function provides a +/// portable API for receiving this notification. +/// +/// Once the returned future is polled, a listener is registered. The future +/// will complete on the first received `ctrl-c` **after** the initial call to +/// either `Future::poll` or `.await`. +/// +/// # Caveats +/// +/// On Unix platforms, the first time that a `Signal` instance is registered for a +/// particular signal kind, an OS signal-handler is installed which replaces the +/// default platform behavior when that signal is received, **for the duration of +/// the entire process**. +/// +/// For example, Unix systems will terminate a process by default when it +/// receives a signal generated by `"CTRL+C"` on the terminal. But, when a +/// `ctrl_c` stream is created to listen for this signal, the time it arrives, +/// it will be translated to a stream event, and the process will continue to +/// execute. **Even if this `Signal` instance is dropped, subsequent `SIGINT` +/// deliveries will end up captured by Tokio, and the default platform behavior +/// will NOT be reset**. +/// +/// Thus, applications should take care to ensure the expected signal behavior +/// occurs as expected after listening for specific signals. +/// +/// # Examples +/// +/// ```rust,no_run +/// use tokio::signal; +/// +/// #[tokio::main] +/// async fn main() { +/// println!("waiting for ctrl-c"); +/// +/// signal::ctrl_c().await.expect("failed to listen for event"); +/// +/// println!("received ctrl-c event"); +/// } +/// ``` +/// +/// Listen in the background: +/// +/// ```rust,no_run +/// tokio::spawn(async move { +/// tokio::signal::ctrl_c().await.unwrap(); +/// // Your handler here +/// }); +/// ``` +Future ctrlC() => RustLib.instance.api.tokioSignalCtrlC(); diff --git a/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart b/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart new file mode 100644 index 0000000..b08de60 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart @@ -0,0 +1,231 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + + + // These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `OsExtraData`, `OsStorage`, `SignalInfo` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `clone`, `eq`, `event_info`, `fmt`, `fmt`, `fmt`, `for_each`, `from`, `from`, `hash` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `default`, `default`, `default` + + + /// Creates a new listener which will receive notifications when the current +/// process receives the specified signal `kind`. +/// +/// This function will create a new stream which binds to the default reactor. +/// The `Signal` stream is an infinite stream which will receive +/// notifications whenever a signal is received. More documentation can be +/// found on `Signal` itself, but to reiterate: +/// +/// * Signals may be coalesced beyond what the kernel already does. +/// * Once a signal handler is registered with the process the underlying +/// libc signal handler is never unregistered. +/// +/// A `Signal` stream can be created for a particular signal number +/// multiple times. When a signal is received then all the associated +/// channels will receive the signal notification. +/// +/// # Errors +/// +/// * If the lower-level C functions fail for some reason. +/// * If the previous initialization of this specific signal failed. +/// * If the signal is one of +/// [`signal_hook::FORBIDDEN`](fn@signal_hook_registry::register#panics) +/// +/// # Panics +/// +/// This function panics if there is no current reactor set, or if the `rt` +/// feature flag is not enabled. +Future signal({required SignalKind kind }) => RustLib.instance.api.tokioSignalUnixSignal(kind: kind); + + + // Rust type: RustOpaqueMoi>> + abstract class Context implements RustOpaqueInterface { + + + + } + + + + // Rust type: RustOpaqueMoi >>> + abstract class PollOption implements RustOpaqueInterface { + + + + } + + + + // Rust type: RustOpaqueMoi> + abstract class Signal implements RustOpaqueInterface, InternalStream { + @override + Future pollRecv({required Context cx }); + + +/// Receives the next signal notification event. +/// +/// `None` is returned if no more events can be received by this stream. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If you use it as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, then it is guaranteed that no signal is lost. +/// +/// # Examples +/// +/// Wait for `SIGHUP` +/// +/// ```rust,no_run +/// use tokio::signal::unix::{signal, SignalKind}; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // An infinite stream of hangup signals. +/// let mut stream = signal(SignalKind::hangup())?; +/// +/// // Print whenever a HUP signal is received +/// loop { +/// stream.recv().await; +/// println!("got signal HUP"); +/// } +/// } +/// ``` + Future recv(); + + + + + } + + + + // Rust type: RustOpaqueMoi> + abstract class SignalKind implements RustOpaqueInterface { + /// Represents the `SIGALRM` signal. +/// +/// On Unix systems this signal is sent when a real-time timer has expired. +/// By default, the process is terminated by this signal. +static Future alarm()=>RustLib.instance.api.tokioSignalUnixSignalKindAlarm(); + + +/// Get the signal's numeric value. +/// +/// ```rust +/// # use tokio::signal::unix::SignalKind; +/// let kind = SignalKind::interrupt(); +/// assert_eq!(kind.as_raw_value(), libc::SIGINT); +/// ``` + Future asRawValue(); + + +/// Represents the `SIGCHLD` signal. +/// +/// On Unix systems this signal is sent when the status of a child process +/// has changed. By default, this signal is ignored. +static Future child()=>RustLib.instance.api.tokioSignalUnixSignalKindChild(); + + +/// Allows for listening to any valid OS signal. +/// +/// For example, this can be used for listening for platform-specific +/// signals. +/// ```rust,no_run +/// # use tokio::signal::unix::SignalKind; +/// # let signum = -1; +/// // let signum = libc::OS_SPECIFIC_SIGNAL; +/// let kind = SignalKind::from_raw(signum); +/// ``` +static Future fromRaw({required CInt signum })=>RustLib.instance.api.tokioSignalUnixSignalKindFromRaw(signum: signum); + + +/// Represents the `SIGHUP` signal. +/// +/// On Unix systems this signal is sent when the terminal is disconnected. +/// By default, the process is terminated by this signal. +static Future hangup()=>RustLib.instance.api.tokioSignalUnixSignalKindHangup(); + + +/// Represents the `SIGINFO` signal. +/// +/// On Unix systems this signal is sent to request a status update from the +/// process. By default, this signal is ignored. +static Future info()=>RustLib.instance.api.tokioSignalUnixSignalKindInfo(); + + +/// Represents the `SIGINT` signal. +/// +/// On Unix systems this signal is sent to interrupt a program. +/// By default, the process is terminated by this signal. +static Future interrupt()=>RustLib.instance.api.tokioSignalUnixSignalKindInterrupt(); + + +/// Represents the `SIGIO` signal. +/// +/// On Unix systems this signal is sent when I/O operations are possible +/// on some file descriptor. By default, this signal is ignored. +static Future io()=>RustLib.instance.api.tokioSignalUnixSignalKindIo(); + + +/// Represents the `SIGPIPE` signal. +/// +/// On Unix systems this signal is sent when the process attempts to write +/// to a pipe which has no reader. By default, the process is terminated by +/// this signal. +static Future pipe()=>RustLib.instance.api.tokioSignalUnixSignalKindPipe(); + + +/// Represents the `SIGQUIT` signal. +/// +/// On Unix systems this signal is sent to issue a shutdown of the +/// process, after which the OS will dump the process core. +/// By default, the process is terminated by this signal. +static Future quit()=>RustLib.instance.api.tokioSignalUnixSignalKindQuit(); + + +/// Represents the `SIGTERM` signal. +/// +/// On Unix systems this signal is sent to issue a shutdown of the +/// process. By default, the process is terminated by this signal. +static Future terminate()=>RustLib.instance.api.tokioSignalUnixSignalKindTerminate(); + + +/// Represents the `SIGUSR1` signal. +/// +/// On Unix systems this is a user defined signal. +/// By default, the process is terminated by this signal. +static Future userDefined1()=>RustLib.instance.api.tokioSignalUnixSignalKindUserDefined1(); + + +/// Represents the `SIGUSR2` signal. +/// +/// On Unix systems this is a user defined signal. +/// By default, the process is terminated by this signal. +static Future userDefined2()=>RustLib.instance.api.tokioSignalUnixSignalKindUserDefined2(); + + +/// Represents the `SIGWINCH` signal. +/// +/// On Unix systems this signal is sent when the terminal window is resized. +/// By default, this signal is ignored. +static Future windowChange()=>RustLib.instance.api.tokioSignalUnixSignalKindWindowChange(); + + + + + } + + + + abstract class InternalStream { + Future pollRecv({required Context cx }); + + + } + + \ No newline at end of file diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync.dart b/mobile_app/lib/src/rust/third_party/tokio/sync.dart new file mode 100644 index 0000000..17eec1d --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync.dart @@ -0,0 +1,695 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `MappedMutexGuard`, `MutexGuard`, `Mutex`, `OwnedMappedMutexGuard`, `OwnedMutexGuard`, `OwnedRwLockMappedWriteGuard`, `OwnedRwLockReadGuard`, `OwnedRwLockWriteGuard`, `RwLockMappedWriteGuard`, `RwLockReadGuard`, `RwLockWriteGuard`, `TryLockError` + +// Rust type: RustOpaqueMoi> +abstract class AcquireError implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Barrier implements RustOpaqueInterface { + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a new barrier that can block a given number of tasks. + /// + /// A barrier will block `n`-1 tasks which call [`Barrier::wait`] and then wake up all + /// tasks at once when the `n`th task calls `wait`. + static Future newInstance({required BigInt n}) => + RustLib.instance.api.tokioSyncBarrierNew(n: n); + + /// Does not resolve until all tasks have rendezvoused here. + /// + /// Barriers are re-usable after all tasks have rendezvoused once, and can + /// be used continuously. + /// + /// A single (arbitrary) future will receive a [`BarrierWaitResult`] that returns `true` from + /// [`BarrierWaitResult::is_leader`] when returning from this function, and all other tasks + /// will receive a result that will return `false` from `is_leader`. + /// + /// # Cancel safety + /// + /// This method is not cancel safe. + Future wait(); +} + +// Rust type: RustOpaqueMoi> +abstract class BarrierWaitResult implements RustOpaqueInterface { + /// Returns `true` if this task from wait is the "leader task". + /// + /// Only one task will have `true` returned from their result, all other tasks will have + /// `false` returned. + Future isLeader(); +} + +// Rust type: RustOpaqueMoi> +abstract class Notify implements RustOpaqueInterface { + /// Create a new `Notify`, initialized without a permit. + /// + /// When using the `tracing` [unstable feature], a `Notify` created with + /// `const_new` will not be instrumented. As such, it will not be visible + /// in [`tokio-console`]. Instead, [`Notify::new`] should be used to create + /// an instrumented object if that is needed. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Notify; + /// + /// static NOTIFY: Notify = Notify::const_new(); + /// ``` + /// + /// [`tokio-console`]: https://github.com/tokio-rs/console + /// [unstable feature]: crate#unstable-features + static Future constNew() => + RustLib.instance.api.tokioSyncNotifyConstNew(); + + static Future default_() => + RustLib.instance.api.tokioSyncNotifyDefault(); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Create a new `Notify`, initialized without a permit. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Notify; + /// + /// let notify = Notify::new(); + /// ``` + static Future newInstance() => + RustLib.instance.api.tokioSyncNotifyNew(); + + /// Wait for a notification. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn notified(&self); + /// ``` + /// + /// Each `Notify` value holds a single permit. If a permit is available from + /// an earlier call to [`notify_one()`], then `notified().await` will complete + /// immediately, consuming that permit. Otherwise, `notified().await` waits + /// for a permit to be made available by the next call to `notify_one()`. + /// + /// The `Notified` future is not guaranteed to receive wakeups from calls to + /// `notify_one()` if it has not yet been polled. See the documentation for + /// [`Notified::enable()`] for more details. + /// + /// The `Notified` future is guaranteed to receive wakeups from + /// `notify_waiters()` as soon as it has been created, even if it has not + /// yet been polled. + /// + /// [`notify_one()`]: Notify::notify_one + /// [`Notified::enable()`]: Notified::enable + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute notifications in the order + /// they were requested. Cancelling a call to `notified` makes you lose your + /// place in the queue. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Notify; + /// use std::sync::Arc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let notify = Arc::new(Notify::new()); + /// let notify2 = notify.clone(); + /// + /// tokio::spawn(async move { + /// notify2.notified().await; + /// println!("received notification"); + /// }); + /// + /// println!("sending notification"); + /// notify.notify_one(); + /// # } + /// ``` + Future notified(); + + /// Wait for a notification with an owned `Future`. + /// + /// Unlike [`Self::notified`] which returns a future tied to the `Notify`'s + /// lifetime, `notified_owned` creates a self-contained future that owns its + /// notification state, making it safe to move between threads. + /// + /// See [`Self::notified`] for more details. + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute notifications in the order + /// they were requested. Cancelling a call to `notified_owned` makes you lose your + /// place in the queue. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::Notify; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let notify = Arc::new(Notify::new()); + /// + /// for _ in 0..10 { + /// let notified = notify.clone().notified_owned(); + /// tokio::spawn(async move { + /// notified.await; + /// println!("received notification"); + /// }); + /// } + /// + /// println!("sending notification"); + /// notify.notify_waiters(); + /// # } + /// ``` + Future notifiedOwned(); + + /// Notifies the last waiting task. + /// + /// This function behaves similar to `notify_one`. The only difference is that it wakes + /// the most recently added waiter instead of the oldest waiter. + /// + /// Check the [`notify_one()`] documentation for more info and + /// examples. + /// + /// [`notify_one()`]: Notify::notify_one + Future notifyLast(); + + /// Notifies the first waiting task. + /// + /// If a task is currently waiting, that task is notified. Otherwise, a + /// permit is stored in this `Notify` value and the **next** call to + /// [`notified().await`] will complete immediately consuming the permit made + /// available by this call to `notify_one()`. + /// + /// At most one permit may be stored by `Notify`. Many sequential calls to + /// `notify_one` will result in a single permit being stored. The next call to + /// `notified().await` will complete immediately, but the one after that + /// will wait. + /// + /// [`notified().await`]: Notify::notified() + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Notify; + /// use std::sync::Arc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let notify = Arc::new(Notify::new()); + /// let notify2 = notify.clone(); + /// + /// tokio::spawn(async move { + /// notify2.notified().await; + /// println!("received notification"); + /// }); + /// + /// println!("sending notification"); + /// notify.notify_one(); + /// # } + /// ``` + Future notifyOne(); + + /// Notifies all waiting tasks. + /// + /// If a task is currently waiting, that task is notified. Unlike with + /// `notify_one()`, no permit is stored to be used by the next call to + /// `notified().await`. The purpose of this method is to notify all + /// already registered waiters. Registering for notification is done by + /// acquiring an instance of the `Notified` future via calling `notified()`. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Notify; + /// use std::sync::Arc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let notify = Arc::new(Notify::new()); + /// let notify2 = notify.clone(); + /// + /// let notified1 = notify.notified(); + /// let notified2 = notify.notified(); + /// + /// let handle = tokio::spawn(async move { + /// println!("sending notifications"); + /// notify2.notify_waiters(); + /// }); + /// + /// notified1.await; + /// notified2.await; + /// println!("received notifications"); + /// # } + /// ``` + Future notifyWaiters(); +} + +// Rust type: RustOpaqueMoi> +abstract class OwnedSemaphorePermit implements RustOpaqueInterface { + /// Merge two [`OwnedSemaphorePermit`] instances together, consuming `other` + /// without releasing the permits it holds. + /// + /// Permits held by both `self` and `other` are released when `self` drops. + /// + /// # Panics + /// + /// This function panics if permits from different [`Semaphore`] instances + /// are merged. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::Semaphore; + /// + /// let sem = Arc::new(Semaphore::new(10)); + /// let mut permit = sem.clone().try_acquire_owned().unwrap(); + /// + /// for _ in 0..9 { + /// let _permit = sem.clone().try_acquire_owned().unwrap(); + /// // Merge individual permits into a single one. + /// permit.merge(_permit) + /// } + /// + /// assert_eq!(sem.available_permits(), 0); + /// + /// // Release all permits in a single batch. + /// drop(permit); + /// + /// assert_eq!(sem.available_permits(), 10); + /// ``` + Future merge({required OwnedSemaphorePermit other}); + + /// Returns the number of permits held by `self`. + Future numPermits(); + + /// Returns the [`Semaphore`] from which this permit was acquired. + Future semaphore(); + + /// Splits `n` permits from `self` and returns a new [`OwnedSemaphorePermit`] instance that holds `n` permits. + /// + /// If there are insufficient permits and it's not possible to reduce by `n`, returns `None`. + /// + /// # Note + /// + /// It will clone the owned `Arc` to construct the new instance. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::Semaphore; + /// + /// let sem = Arc::new(Semaphore::new(3)); + /// + /// let mut p1 = sem.try_acquire_many_owned(3).unwrap(); + /// let p2 = p1.split(1).unwrap(); + /// + /// assert_eq!(p1.num_permits(), 2); + /// assert_eq!(p2.num_permits(), 1); + /// ``` + Future split({required BigInt n}); +} + +// Rust type: RustOpaqueMoi> +abstract class Semaphore implements RustOpaqueInterface { + /// Acquires a permit from the semaphore. + /// + /// If the semaphore has been closed, this returns an [`AcquireError`]. + /// Otherwise, this returns a [`SemaphorePermit`] representing the + /// acquired permit. + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute permits in the order they + /// were requested. Cancelling a call to `acquire` makes you lose your place + /// in the queue. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Semaphore; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let semaphore = Semaphore::new(2); + /// + /// let permit_1 = semaphore.acquire().await.unwrap(); + /// assert_eq!(semaphore.available_permits(), 1); + /// + /// let permit_2 = semaphore.acquire().await.unwrap(); + /// assert_eq!(semaphore.available_permits(), 0); + /// + /// drop(permit_1); + /// assert_eq!(semaphore.available_permits(), 1); + /// # } + /// ``` + /// + /// [`AcquireError`]: crate::sync::AcquireError + /// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future acquire(); + + /// Acquires `n` permits from the semaphore. + /// + /// If the semaphore has been closed, this returns an [`AcquireError`]. + /// Otherwise, this returns a [`SemaphorePermit`] representing the + /// acquired permits. + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute permits in the order they + /// were requested. Cancelling a call to `acquire_many` makes you lose your + /// place in the queue. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Semaphore; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let semaphore = Semaphore::new(5); + /// + /// let permit = semaphore.acquire_many(3).await.unwrap(); + /// assert_eq!(semaphore.available_permits(), 2); + /// # } + /// ``` + /// + /// [`AcquireError`]: crate::sync::AcquireError + /// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future acquireMany({required int n}); + + /// Acquires `n` permits from the semaphore. + /// + /// The semaphore must be wrapped in an [`Arc`] to call this method. + /// If the semaphore has been closed, this returns an [`AcquireError`]. + /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the + /// acquired permit. + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute permits in the order they + /// were requested. Cancelling a call to `acquire_many_owned` makes you lose + /// your place in the queue. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::Semaphore; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let semaphore = Arc::new(Semaphore::new(10)); + /// let mut join_handles = Vec::new(); + /// + /// for _ in 0..5 { + /// let permit = semaphore.clone().acquire_many_owned(2).await.unwrap(); + /// join_handles.push(tokio::spawn(async move { + /// // perform task... + /// // explicitly own `permit` in the task + /// drop(permit); + /// })); + /// } + /// + /// for handle in join_handles { + /// handle.await.unwrap(); + /// } + /// # } + /// ``` + /// + /// [`Arc`]: std::sync::Arc + /// [`AcquireError`]: crate::sync::AcquireError + /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future acquireManyOwned({required int n}); + + /// Acquires a permit from the semaphore. + /// + /// The semaphore must be wrapped in an [`Arc`] to call this method. + /// If the semaphore has been closed, this returns an [`AcquireError`]. + /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the + /// acquired permit. + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute permits in the order they + /// were requested. Cancelling a call to `acquire_owned` makes you lose your + /// place in the queue. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::Semaphore; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let semaphore = Arc::new(Semaphore::new(3)); + /// let mut join_handles = Vec::new(); + /// + /// for _ in 0..5 { + /// let permit = semaphore.clone().acquire_owned().await.unwrap(); + /// join_handles.push(tokio::spawn(async move { + /// // perform task... + /// // explicitly own `permit` in the task + /// drop(permit); + /// })); + /// } + /// + /// for handle in join_handles { + /// handle.await.unwrap(); + /// } + /// # } + /// ``` + /// + /// [`Arc`]: std::sync::Arc + /// [`AcquireError`]: crate::sync::AcquireError + /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future acquireOwned(); + + /// Adds `n` new permits to the semaphore. + /// + /// The maximum number of permits is [`Semaphore::MAX_PERMITS`], and this function will panic if the limit is exceeded. + Future addPermits({required BigInt n}); + + /// Returns the current number of available permits. + Future availablePermits(); + + /// Closes the semaphore. + /// + /// This prevents the semaphore from issuing new permits and notifies all pending waiters. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Semaphore; + /// use std::sync::Arc; + /// use tokio::sync::TryAcquireError; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let semaphore = Arc::new(Semaphore::new(1)); + /// let semaphore2 = semaphore.clone(); + /// + /// tokio::spawn(async move { + /// let permit = semaphore.acquire_many(2).await; + /// assert!(permit.is_err()); + /// println!("waiter received error"); + /// }); + /// + /// println!("closing semaphore"); + /// semaphore2.close(); + /// + /// // Cannot obtain more permits + /// assert_eq!(semaphore2.try_acquire().err(), Some(TryAcquireError::Closed)) + /// # } + /// ``` + Future close(); + + /// Creates a new semaphore with the initial number of permits. + /// + /// When using the `tracing` [unstable feature], a `Semaphore` created with + /// `const_new` will not be instrumented. As such, it will not be visible + /// in [`tokio-console`]. Instead, [`Semaphore::new`] should be used to + /// create an instrumented object if that is needed. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Semaphore; + /// + /// static SEM: Semaphore = Semaphore::const_new(10); + /// ``` + /// + /// [`tokio-console`]: https://github.com/tokio-rs/console + /// [unstable feature]: crate#unstable-features + static Future constNew({required BigInt permits}) => + RustLib.instance.api.tokioSyncSemaphoreConstNew(permits: permits); + + /// Decrease a semaphore's permits by a maximum of `n`. + /// + /// If there are insufficient permits and it's not possible to reduce by `n`, + /// return the number of permits that were actually reduced. + Future forgetPermits({required BigInt n}); + + /// Returns true if the semaphore is closed + Future isClosed(); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a new semaphore with the initial number of permits. + /// + /// Panics if `permits` exceeds [`Semaphore::MAX_PERMITS`]. + static Future newInstance({required BigInt permits}) => + RustLib.instance.api.tokioSyncSemaphoreNew(permits: permits); + + /// Tries to acquire a permit from the semaphore. + /// + /// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`] + /// and a [`TryAcquireError::NoPermits`] if there are no permits left. Otherwise, + /// this returns a [`SemaphorePermit`] representing the acquired permits. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::{Semaphore, TryAcquireError}; + /// + /// # fn main() { + /// let semaphore = Semaphore::new(2); + /// + /// let permit_1 = semaphore.try_acquire().unwrap(); + /// assert_eq!(semaphore.available_permits(), 1); + /// + /// let permit_2 = semaphore.try_acquire().unwrap(); + /// assert_eq!(semaphore.available_permits(), 0); + /// + /// let permit_3 = semaphore.try_acquire(); + /// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits)); + /// # } + /// ``` + /// + /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed + /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits + /// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future tryAcquire(); + + /// Tries to acquire `n` permits from the semaphore. + /// + /// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`] + /// and a [`TryAcquireError::NoPermits`] if there are not enough permits left. + /// Otherwise, this returns a [`SemaphorePermit`] representing the acquired permits. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::{Semaphore, TryAcquireError}; + /// + /// # fn main() { + /// let semaphore = Semaphore::new(4); + /// + /// let permit_1 = semaphore.try_acquire_many(3).unwrap(); + /// assert_eq!(semaphore.available_permits(), 1); + /// + /// let permit_2 = semaphore.try_acquire_many(2); + /// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits)); + /// # } + /// ``` + /// + /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed + /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits + /// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future tryAcquireMany({required int n}); + + /// Tries to acquire `n` permits from the semaphore. + /// + /// The semaphore must be wrapped in an [`Arc`] to call this method. If + /// the semaphore has been closed, this returns a [`TryAcquireError::Closed`] + /// and a [`TryAcquireError::NoPermits`] if there are no permits left. + /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the + /// acquired permit. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::{Semaphore, TryAcquireError}; + /// + /// # fn main() { + /// let semaphore = Arc::new(Semaphore::new(4)); + /// + /// let permit_1 = Arc::clone(&semaphore).try_acquire_many_owned(3).unwrap(); + /// assert_eq!(semaphore.available_permits(), 1); + /// + /// let permit_2 = semaphore.try_acquire_many_owned(2); + /// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits)); + /// # } + /// ``` + /// + /// [`Arc`]: std::sync::Arc + /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed + /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits + /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future tryAcquireManyOwned({required int n}); + + /// Tries to acquire a permit from the semaphore. + /// + /// The semaphore must be wrapped in an [`Arc`] to call this method. If + /// the semaphore has been closed, this returns a [`TryAcquireError::Closed`] + /// and a [`TryAcquireError::NoPermits`] if there are no permits left. + /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the + /// acquired permit. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::{Semaphore, TryAcquireError}; + /// + /// # fn main() { + /// let semaphore = Arc::new(Semaphore::new(2)); + /// + /// let permit_1 = Arc::clone(&semaphore).try_acquire_owned().unwrap(); + /// assert_eq!(semaphore.available_permits(), 1); + /// + /// let permit_2 = Arc::clone(&semaphore).try_acquire_owned().unwrap(); + /// assert_eq!(semaphore.available_permits(), 0); + /// + /// let permit_3 = semaphore.try_acquire_owned(); + /// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits)); + /// # } + /// ``` + /// + /// [`Arc`]: std::sync::Arc + /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed + /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits + /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future tryAcquireOwned(); +} + +// Rust type: RustOpaqueMoi>> +abstract class SemaphorePermit implements RustOpaqueInterface {} + +/// Error returned from the [`Semaphore::try_acquire`] function. +/// +/// [`Semaphore::try_acquire`]: crate::sync::Semaphore::try_acquire +enum TryAcquireError { + /// The semaphore has been [closed] and cannot issue new permits. + /// + /// [closed]: crate::sync::Semaphore::close + closed, + + /// The semaphore has no available permits. + noPermits, + ; +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart new file mode 100644 index 0000000..0130be4 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart @@ -0,0 +1,15 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `channel` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `RecvGuard`, `Recv`, `Shared`, `Slot`, `Tail`, `WaiterCell`, `Waiter`, `WaitersList` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_raw`, `clone`, `clone`, `drop`, `drop`, `drop`, `drop`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `from_raw`, `pointers`, `poll` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `strong_count`, `upgrade`, `weak_count` + +// Rust type: RustOpaqueMoi>> +abstract class WeakSenderT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart new file mode 100644 index 0000000..41c7d22 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart @@ -0,0 +1,18 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt` + +// Rust type: RustOpaqueMoi>> +abstract class SendError implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class SendErrorT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class TryRecvError implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart new file mode 100644 index 0000000..8fb2ae8 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart @@ -0,0 +1,19 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `clone`, `drop`, `drop`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `next`, `size_hint` +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `release`, `same_channel_as_sender`, `same_channel`, `send`, `send` + +// Rust type: RustOpaqueMoi >>> +abstract class PollOptionT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class PollUsize implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class VecT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart new file mode 100644 index 0000000..a3659f2 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart @@ -0,0 +1,25 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `eq`, `eq`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `into_inner`, `into_inner` + +// Rust type: RustOpaqueMoi> +abstract class RecvError implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class SendTimeoutErrorT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class TrySendError implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class TrySendErrorSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class TrySendErrorT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart new file mode 100644 index 0000000..8b8640c --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart @@ -0,0 +1,14 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `channel` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Inner`, `State`, `Task` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `drop`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `poll` + +// Rust type: RustOpaqueMoi>> +abstract class Poll implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart new file mode 100644 index 0000000..9fcb3e6 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart @@ -0,0 +1,15 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `channel`, `send_if_modified`, `send_modify` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `clone`, `deref`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `fmt` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `has_changed` +// These functions have error during generation (see debug logs or enable `stop_on_error: true` for more details): `wait_for` + +// Rust type: RustOpaqueMoi>> +abstract class RefT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/task.dart b/mobile_app/lib/src/rust/third_party/tokio/task.dart new file mode 100644 index 0000000..409a418 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/task.dart @@ -0,0 +1,83 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'runtime.dart'; + +// These functions are ignored because they have generic arguments: `block_in_place`, `spawn_blocking`, `spawn_local`, `spawn` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `JoinSet`, `LocalKey` + +/// Yields execution back to the Tokio runtime. +/// +/// A task yields by awaiting on `yield_now()`, and may resume when that future +/// completes (with no output.) The current task will be re-added as a pending +/// task at the _back_ of the pending queue. Any other pending tasks will be +/// scheduled. No other waking is required for the task to continue. +/// +/// See also the usage example in the [task module](index.html#yield_now). +/// +/// ## Non-guarantees +/// +/// This function may not yield all the way up to the executor if there are any +/// special combinators above it in the call stack. For example, if a +/// [`tokio::select!`] has another branch complete during the same poll as the +/// `yield_now()`, then the yield is not propagated all the way up to the +/// runtime. +/// +/// It is generally not guaranteed that the runtime behaves like you expect it +/// to when deciding which task to schedule next after a call to `yield_now()`. +/// In particular, the runtime may choose to poll the task that just ran +/// `yield_now()` again immediately without polling any other tasks first. For +/// example, the runtime will not drive the IO driver between every poll of a +/// task, and this could result in the runtime polling the current task again +/// immediately even if there is another task that could make progress if that +/// other task is waiting for a notification from the IO driver. +/// +/// In general, changes to the order in which the runtime polls tasks is not +/// considered a breaking change, and your program should be correct no matter +/// which order the runtime polls your tasks in. +/// +/// [`tokio::select!`]: macro@crate::select +Future yieldNow() => RustLib.instance.api.tokioTaskYieldNow(); + +// Rust type: RustOpaqueMoi> +abstract class LocalEnterGuard implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class LocalSet implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.tokioTaskLocalSetDefault(); + + /// Enters the context of this `LocalSet`. + /// + /// The [`spawn_local`] method will spawn tasks on the `LocalSet` whose + /// context you are inside. + /// + /// [`spawn_local`]: fn@crate::task::spawn_local + Future enter(); + + /// Returns the [`Id`] of the current [`LocalSet`] runtime. + /// + /// # Examples + /// + /// ```rust + /// use tokio::task; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let local_set = task::LocalSet::new(); + /// println!("Local set id: {}", local_set.id()); + /// # } + /// ``` + /// + /// [`Id`]: struct@crate::runtime::Id + Future id(); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Returns a new local task set. + static Future newInstance() => + RustLib.instance.api.tokioTaskLocalSetNew(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/task/coop.dart b/mobile_app/lib/src/rust/third_party/tokio/task/coop.dart new file mode 100644 index 0000000..8725f16 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/task/coop.dart @@ -0,0 +1,157 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../signal/unix.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `cooperative`, `unconstrained` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `BudgetDecrement`, `Budget`, `Coop`, `Unconstrained` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `drop`, `fmt`, `fmt`, `poll` + +/// Consumes a unit of budget and returns the execution back to the Tokio +/// runtime *if* the task's coop budget was exhausted. +/// +/// The task will only yield if its entire coop budget has been exhausted. +/// This function can be used in order to insert optional yield points into long +/// computations that do not use Tokio resources like sockets or semaphores, +/// without redundantly yielding to the runtime each time. +/// +/// # Examples +/// +/// Make sure that a function which returns a sum of (potentially lots of) +/// iterated values is cooperative. +/// +/// ``` +/// async fn sum_iterator(input: &mut impl std::iter::Iterator) -> i64 { +/// let mut sum: i64 = 0; +/// while let Some(i) = input.next() { +/// sum += i; +/// tokio::task::consume_budget().await +/// } +/// sum +/// } +/// ``` +Future consumeBudget() => + RustLib.instance.api.tokioTaskCoopConsumeBudget(); + +/// Returns `true` if there is still budget left on the task. +/// +/// # Examples +/// +/// This example defines a `Timeout` future that requires a given `future` to complete before the +/// specified duration elapses. If it does, its result is returned; otherwise, an error is returned +/// and the future is canceled. +/// +/// Note that the future could exhaust the budget before we evaluate the timeout. Using `has_budget_remaining`, +/// we can detect this scenario and ensure the timeout is always checked. +/// +/// ``` +/// # use std::future::Future; +/// # use std::pin::{pin, Pin}; +/// # use std::task::{ready, Context, Poll}; +/// # use tokio::task::coop; +/// # use tokio::time::Sleep; +/// pub struct Timeout { +/// future: T, +/// delay: Pin>, +/// } +/// +/// impl Future for Timeout +/// where +/// T: Future + Unpin, +/// { +/// type Output = Result; +/// +/// fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { +/// let this = Pin::into_inner(self); +/// let future = Pin::new(&mut this.future); +/// let delay = Pin::new(&mut this.delay); +/// +/// // check if the future is ready +/// let had_budget_before = coop::has_budget_remaining(); +/// if let Poll::Ready(v) = future.poll(cx) { +/// return Poll::Ready(Ok(v)); +/// } +/// let has_budget_now = coop::has_budget_remaining(); +/// +/// // evaluate the timeout +/// if let (true, false) = (had_budget_before, has_budget_now) { +/// // it is the underlying future that exhausted the budget +/// ready!(pin!(coop::unconstrained(delay)).poll(cx)); +/// } else { +/// ready!(delay.poll(cx)); +/// } +/// return Poll::Ready(Err(())); +/// } +/// } +///``` +Future hasBudgetRemaining() => + RustLib.instance.api.tokioTaskCoopHasBudgetRemaining(); + +/// Decrements the task budget and returns [`Poll::Pending`] if the budget is depleted. +/// This indicates that the task should yield to the scheduler. Otherwise, returns +/// [`RestoreOnPending`] which can be used to commit the budget consumption. +/// +/// The returned [`RestoreOnPending`] will revert the budget to its former +/// value when dropped unless [`RestoreOnPending::made_progress`] +/// is called. It is the caller's responsibility to do so when it _was_ able to +/// make progress after the call to [`poll_proceed`]. +/// Restoring the budget automatically ensures the task can try to make progress in some other +/// way. +/// +/// Note that [`RestoreOnPending`] restores the budget **as it was before [`poll_proceed`]**. +/// Therefore, if the budget is _further_ adjusted between when [`poll_proceed`] returns and +/// [`RestoreOnPending`] is dropped, those adjustments are erased unless the caller indicates +/// that progress was made. +/// +/// # Examples +/// +/// This example wraps the `futures::channel::mpsc::UnboundedReceiver` to +/// cooperate with the Tokio scheduler. Each time a value is received, task budget +/// is consumed. If no budget is available, the task yields to the scheduler. +/// +/// ``` +/// use std::pin::Pin; +/// use std::task::{ready, Context, Poll}; +/// use tokio::task::coop; +/// use futures::stream::{Stream, StreamExt}; +/// use futures::channel::mpsc::UnboundedReceiver; +/// +/// struct CoopUnboundedReceiver { +/// receiver: UnboundedReceiver, +/// } +/// +/// impl Stream for CoopUnboundedReceiver { +/// type Item = T; +/// fn poll_next( +/// mut self: Pin<&mut Self>, +/// cx: &mut Context<'_> +/// ) -> Poll> { +/// let coop = ready!(coop::poll_proceed(cx)); +/// match self.receiver.poll_next_unpin(cx) { +/// Poll::Ready(v) => { +/// // We received a value, so consume budget. +/// coop.made_progress(); +/// Poll::Ready(v) +/// } +/// Poll::Pending => Poll::Pending, +/// } +/// } +/// } +/// ``` +Future pollProceed({required Context cx}) => + RustLib.instance.api.tokioTaskCoopPollProceed(cx: cx); + +// Rust type: RustOpaqueMoi>> +abstract class PollRestoreOnPending implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class RestoreOnPending implements RustOpaqueInterface { + /// Signals that the task that obtained this `RestoreOnPending` was able to make + /// progress. This prevents the task budget from being restored to the value + /// it had prior to obtaining this instance when it is dropped. + Future madeProgress(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/time.dart b/mobile_app/lib/src/rust/third_party/tokio/time.dart new file mode 100644 index 0000000..1e2af9b --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/time.dart @@ -0,0 +1,734 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'signal/unix.dart'; +import 'time/interval.dart'; + +// These functions are ignored because they have generic arguments: `timeout_at`, `timeout` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Timeout` + +/// Pauses time. +/// +/// The current value of `Instant::now()` is saved and all subsequent calls +/// to `Instant::now()` will return the saved value. The saved value can be +/// changed by [`advance`] or by the time auto-advancing once the runtime +/// has no work to do. This only affects the `Instant` type in Tokio, and +/// the `Instant` in std continues to work as normal. +/// +/// Pausing time requires the `current_thread` Tokio runtime. This is the +/// default runtime used by `#[tokio::test]`. The runtime can be initialized +/// with time in a paused state using the `Builder::start_paused` method. +/// +/// For cases where time is immediately paused, it is better to pause +/// the time using the `main` or `test` macro: +/// ``` +/// #[tokio::main(flavor = "current_thread", start_paused = true)] +/// async fn main() { +/// println!("Hello world"); +/// } +/// ``` +/// +/// # Panics +/// +/// Panics if time is already frozen or if called from outside of a +/// `current_thread` Tokio runtime. +/// +/// # Auto-advance +/// +/// If time is paused and the runtime has no work to do, the clock is +/// auto-advanced to the next pending timer. This means that [`Sleep`] or +/// other timer-backed primitives can cause the runtime to advance the +/// current time when awaited. +/// +/// [`Sleep`]: crate::time::Sleep +/// [`advance`]: crate::time::advance +Future pause() => RustLib.instance.api.tokioTimePause(); + +/// Resumes time. +/// +/// Clears the saved `Instant::now()` value. Subsequent calls to +/// `Instant::now()` will return the value returned by the system call. +/// +/// # Panics +/// +/// Panics if time is not frozen or if called from outside of the Tokio +/// runtime. +Future resume() => RustLib.instance.api.tokioTimeResume(); + +/// Advances time. +/// +/// Increments the saved `Instant::now()` value by `duration`. Subsequent +/// calls to `Instant::now()` will return the result of the increment. +/// +/// This function will make the current time jump forward by the given +/// duration in one jump. This means that all `sleep` calls with a deadline +/// before the new time will immediately complete "at the same time", and +/// the runtime is free to poll them in any order. Additionally, this +/// method will not wait for the `sleep` calls it advanced past to complete. +/// If you want to do that, you should instead call [`sleep`] and rely on +/// the runtime's auto-advance feature. +/// +/// Note that calls to `sleep` are not guaranteed to complete the first time +/// they are polled after a call to `advance`. For example, this can happen +/// if the runtime has not yet touched the timer driver after the call to +/// `advance`. However if they don't, the runtime will poll the task again +/// shortly. +/// +/// # Panics +/// +/// Panics if any of the following conditions are met: +/// +/// - The clock is not frozen, which means that you must +/// call [`pause`] before calling this method. +/// - If called outside of the Tokio runtime. +/// - If the input `duration` is too large (such as [`Duration::MAX`]) +/// to be safely added to the current time without causing an overflow. +/// +/// # Caveats +/// +/// Using a very large `duration` is not recommended, +/// as it may cause panicking due to overflow. +/// +/// # Auto-advance +/// +/// If the time is paused and there is no work to do, the runtime advances +/// time to the next timer. See [`pause`](pause#auto-advance) for more +/// details. +/// +/// [`sleep`]: fn@crate::time::sleep +Future advance({required Duration duration}) => + RustLib.instance.api.tokioTimeAdvance(duration: duration); + +/// Creates new [`Interval`] that yields with interval of `period`. The first +/// tick completes immediately. The default [`MissedTickBehavior`] is +/// [`Burst`](MissedTickBehavior::Burst), but this can be configured +/// by calling [`set_missed_tick_behavior`](Interval::set_missed_tick_behavior). +/// +/// An interval will tick indefinitely. At any time, the [`Interval`] value can +/// be dropped. This cancels the interval. +/// +/// This function is equivalent to +/// [`interval_at(Instant::now(), period)`](interval_at). +/// +/// # Panics +/// +/// This function panics if `period` is zero. +/// +/// # Examples +/// +/// ``` +/// use tokio::time::{self, Duration}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut interval = time::interval(Duration::from_millis(10)); +/// +/// interval.tick().await; // ticks immediately +/// interval.tick().await; // ticks after 10ms +/// interval.tick().await; // ticks after 10ms +/// +/// // approximately 20ms have elapsed. +/// # } +/// ``` +/// +/// A simple example using `interval` to execute a task every two seconds. +/// +/// The difference between `interval` and [`sleep`] is that an [`Interval`] +/// measures the time since the last tick, which means that [`.tick().await`] +/// may wait for a shorter time than the duration specified for the interval +/// if some time has passed between calls to [`.tick().await`]. +/// +/// If the tick in the example below was replaced with [`sleep`], the task +/// would only be executed once every three seconds, and not every two +/// seconds. +/// +/// ``` +/// use tokio::time; +/// +/// async fn task_that_takes_a_second() { +/// println!("hello"); +/// time::sleep(time::Duration::from_secs(1)).await +/// } +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut interval = time::interval(time::Duration::from_secs(2)); +/// for _i in 0..5 { +/// interval.tick().await; +/// task_that_takes_a_second().await; +/// } +/// # } +/// ``` +/// +/// [`sleep`]: crate::time::sleep() +/// [`.tick().await`]: Interval::tick +Future interval({required Duration period}) => + RustLib.instance.api.tokioTimeInterval(period: period); + +/// Creates new [`Interval`] that yields with interval of `period` with the +/// first tick completing at `start`. The default [`MissedTickBehavior`] is +/// [`Burst`](MissedTickBehavior::Burst), but this can be configured +/// by calling [`set_missed_tick_behavior`](Interval::set_missed_tick_behavior). +/// +/// An interval will tick indefinitely. At any time, the [`Interval`] value can +/// be dropped. This cancels the interval. +/// +/// # Panics +/// +/// This function panics if `period` is zero. +/// +/// # Examples +/// +/// ``` +/// use tokio::time::{interval_at, Duration, Instant}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let start = Instant::now() + Duration::from_millis(50); +/// let mut interval = interval_at(start, Duration::from_millis(10)); +/// +/// interval.tick().await; // ticks after 50ms +/// interval.tick().await; // ticks after 10ms +/// interval.tick().await; // ticks after 10ms +/// +/// // approximately 70ms have elapsed. +/// # } +/// ``` +Future intervalAt( + {required Instant start, required Duration period}) => + RustLib.instance.api.tokioTimeIntervalAt(start: start, period: period); + +/// Waits until `deadline` is reached. +/// +/// No work is performed while awaiting on the sleep future to complete. `Sleep` +/// operates at millisecond granularity and should not be used for tasks that +/// require high-resolution timers. +/// +/// To run something regularly on a schedule, see [`interval`]. +/// +/// # Cancellation +/// +/// Canceling a sleep instance is done by dropping the returned future. No additional +/// cleanup work is required. +/// +/// # Examples +/// +/// Wait 100ms and print "100 ms have elapsed". +/// +/// ``` +/// use tokio::time::{sleep_until, Instant, Duration}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// sleep_until(Instant::now() + Duration::from_millis(100)).await; +/// println!("100 ms have elapsed"); +/// # } +/// ``` +/// +/// See the documentation for the [`Sleep`] type for more examples. +/// +/// # Panics +/// +/// This function panics if there is no current timer set. +/// +/// It can be triggered when [`Builder::enable_time`] or +/// [`Builder::enable_all`] are not included in the builder. +/// +/// It can also panic whenever a timer is created outside of a +/// Tokio runtime. That is why `rt.block_on(sleep(...))` will panic, +/// since the function is executed outside of the runtime. +/// Whereas `rt.block_on(async {sleep(...).await})` doesn't panic. +/// And this is because wrapping the function on an async makes it lazy, +/// and so gets executed inside the runtime successfully without +/// panicking. +/// +/// [`Sleep`]: struct@crate::time::Sleep +/// [`interval`]: crate::time::interval() +/// [`Builder::enable_time`]: crate::runtime::Builder::enable_time +/// [`Builder::enable_all`]: crate::runtime::Builder::enable_all +Future sleepUntil({required Instant deadline}) => + RustLib.instance.api.tokioTimeSleepUntil(deadline: deadline); + +/// Waits until `duration` has elapsed. +/// +/// Equivalent to `sleep_until(Instant::now() + duration)`. An asynchronous +/// analog to `std::thread::sleep`. +/// +/// No work is performed while awaiting on the sleep future to complete. `Sleep` +/// operates at millisecond granularity and should not be used for tasks that +/// require high-resolution timers. The implementation is platform specific, +/// and some platforms (specifically Windows) will provide timers with a +/// larger resolution than 1 ms. +/// +/// To run something regularly on a schedule, see [`interval`]. +/// +/// # Cancellation +/// +/// Canceling a sleep instance is done by dropping the returned future. No additional +/// cleanup work is required. +/// +/// # Examples +/// +/// Wait 100ms and print "100 ms have elapsed". +/// +/// ``` +/// use tokio::time::{sleep, Duration}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// sleep(Duration::from_millis(100)).await; +/// println!("100 ms have elapsed"); +/// # } +/// ``` +/// +/// See the documentation for the [`Sleep`] type for more examples. +/// +/// # Panics +/// +/// This function panics if there is no current timer set. +/// +/// It can be triggered when [`Builder::enable_time`] or +/// [`Builder::enable_all`] are not included in the builder. +/// +/// It can also panic whenever a timer is created outside of a +/// Tokio runtime. That is why `rt.block_on(sleep(...))` will panic, +/// since the function is executed outside of the runtime. +/// Whereas `rt.block_on(async {sleep(...).await})` doesn't panic. +/// And this is because wrapping the function on an async makes it lazy, +/// and so gets executed inside the runtime successfully without +/// panicking. +/// +/// [`Sleep`]: struct@crate::time::Sleep +/// [`interval`]: crate::time::interval() +/// [`Builder::enable_time`]: crate::runtime::Builder::enable_time +/// [`Builder::enable_all`]: crate::runtime::Builder::enable_all +Future sleep({required Duration duration}) => + RustLib.instance.api.tokioTimeSleep(duration: duration); + +// Rust type: RustOpaqueMoi> +abstract class Interval implements RustOpaqueInterface { + /// Returns the [`MissedTickBehavior`] strategy currently being used. + Future missedTickBehavior(); + + /// Returns the period of the interval. + Future period(); + + /// Polls for the next instant in the interval to be reached. + /// + /// This method can return the following values: + /// + /// * `Poll::Pending` if the next instant has not yet been reached. + /// * `Poll::Ready(instant)` if the next instant has been reached. + /// + /// When this method returns `Poll::Pending`, the current task is scheduled + /// to receive a wakeup when the instant has elapsed. Note that on multiple + /// calls to `poll_tick`, only the [`Waker`](std::task::Waker) from the + /// [`Context`] passed to the most recent call is scheduled to receive a + /// wakeup. + Future pollTick({required Context cx}); + + /// Resets the interval to complete one period after the current time. + /// + /// This method ignores [`MissedTickBehavior`] strategy. + /// + /// This is equivalent to calling `reset_at(Instant::now() + period)`. + /// + /// # Examples + /// + /// ``` + /// use tokio::time; + /// + /// use std::time::Duration; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = time::interval(Duration::from_millis(100)); + /// + /// interval.tick().await; + /// + /// time::sleep(Duration::from_millis(50)).await; + /// interval.reset(); + /// + /// interval.tick().await; + /// interval.tick().await; + /// + /// // approximately 250ms have elapsed. + /// # } + /// ``` + Future reset(); + + /// Resets the interval after the specified [`std::time::Duration`]. + /// + /// This method ignores [`MissedTickBehavior`] strategy. + /// + /// This is equivalent to calling `reset_at(Instant::now() + after)`. + /// + /// # Examples + /// + /// ``` + /// use tokio::time; + /// + /// use std::time::Duration; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = time::interval(Duration::from_millis(100)); + /// interval.tick().await; + /// + /// time::sleep(Duration::from_millis(50)).await; + /// + /// let after = Duration::from_millis(20); + /// interval.reset_after(after); + /// + /// interval.tick().await; + /// interval.tick().await; + /// + /// // approximately 170ms have elapsed. + /// # } + /// ``` + Future resetAfter({required Duration after}); + + /// Resets the interval to a [`crate::time::Instant`] deadline. + /// + /// Sets the next tick to expire at the given instant. If the instant is in + /// the past, then the [`MissedTickBehavior`] strategy will be used to + /// catch up. If the instant is in the future, then the next tick will + /// complete at the given instant, even if that means that it will sleep for + /// longer than the duration of this [`Interval`]. If the [`Interval`] had + /// any missed ticks before calling this method, then those are discarded. + /// + /// # Examples + /// + /// ``` + /// use tokio::time::{self, Instant}; + /// + /// use std::time::Duration; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = time::interval(Duration::from_millis(100)); + /// interval.tick().await; + /// + /// time::sleep(Duration::from_millis(50)).await; + /// + /// let deadline = Instant::now() + Duration::from_millis(30); + /// interval.reset_at(deadline); + /// + /// interval.tick().await; + /// interval.tick().await; + /// + /// // approximately 180ms have elapsed. + /// # } + /// ``` + Future resetAt({required Instant deadline}); + + /// Resets the interval immediately. + /// + /// This method ignores [`MissedTickBehavior`] strategy. + /// + /// This is equivalent to calling `reset_at(Instant::now())`. + /// + /// # Examples + /// + /// ``` + /// use tokio::time; + /// + /// use std::time::Duration; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = time::interval(Duration::from_millis(100)); + /// + /// interval.tick().await; + /// + /// time::sleep(Duration::from_millis(50)).await; + /// interval.reset_immediately(); + /// + /// interval.tick().await; + /// interval.tick().await; + /// + /// // approximately 150ms have elapsed. + /// # } + /// ``` + Future resetImmediately(); + + /// Sets the [`MissedTickBehavior`] strategy that should be used. + Future setMissedTickBehavior({required MissedTickBehavior behavior}); + + /// Completes when the next instant in the interval has been reached. + /// + /// # Cancel safety + /// + /// This method is cancellation safe. If `tick` is used as the branch in a `tokio::select!` and + /// another branch completes first, then no tick has been consumed. + /// + /// # Examples + /// + /// ``` + /// use tokio::time; + /// + /// use std::time::Duration; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = time::interval(Duration::from_millis(10)); + /// + /// interval.tick().await; + /// // approximately 0ms have elapsed. The first tick completes immediately. + /// interval.tick().await; + /// interval.tick().await; + /// + /// // approximately 20ms have elapsed. + /// # } + /// ``` + Future tick(); +} + +// Rust type: RustOpaqueMoi> +abstract class Sleep implements RustOpaqueInterface { + /// Returns the instant at which the future will complete. + Future deadline(); + + /// Returns `true` if `Sleep` has elapsed. + /// + /// A `Sleep` instance is elapsed when the requested duration has elapsed. + Future isElapsed(); + + /// Resets the `Sleep` instance to a new deadline. + /// + /// Calling this function allows changing the instant at which the `Sleep` + /// future completes without having to create new associated state. + /// + /// This function can be called both before and after the future has + /// completed. + /// + /// To call this method, you will usually combine the call with + /// [`Pin::as_mut`], which lets you call the method without consuming the + /// `Sleep` itself. + /// + /// # Example + /// + /// ``` + /// use tokio::time::{Duration, Instant}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let sleep = tokio::time::sleep(Duration::from_millis(10)); + /// tokio::pin!(sleep); + /// + /// sleep.as_mut().reset(Instant::now() + Duration::from_millis(20)); + /// # } + /// ``` + /// + /// See also the top-level examples. + /// + /// [`Pin::as_mut`]: fn@std::pin::Pin::as_mut + Future reset({required Instant deadline}); +} + +/// Defines the behavior of an [`Interval`] when it misses a tick. +/// +/// Sometimes, an [`Interval`]'s tick is missed. For example, consider the +/// following: +/// +/// ``` +/// use tokio::time::{self, Duration}; +/// # async fn task_that_takes_one_to_three_millis() {} +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// // ticks every 2 milliseconds +/// let mut interval = time::interval(Duration::from_millis(2)); +/// for _ in 0..5 { +/// interval.tick().await; +/// // if this takes more than 2 milliseconds, a tick will be delayed +/// task_that_takes_one_to_three_millis().await; +/// } +/// # } +/// ``` +/// +/// Generally, a tick is missed if too much time is spent without calling +/// [`Interval::tick()`]. +/// +/// By default, when a tick is missed, [`Interval`] fires ticks as quickly as it +/// can until it is "caught up" in time to where it should be. +/// `MissedTickBehavior` can be used to specify a different behavior for +/// [`Interval`] to exhibit. Each variant represents a different strategy. +/// +/// Note that because the executor cannot guarantee exact precision with timers, +/// these strategies will only apply when the delay is greater than 5 +/// milliseconds. +enum MissedTickBehavior { + /// Ticks as fast as possible until caught up. + /// + /// When this strategy is used, [`Interval`] schedules ticks "normally" (the + /// same as it would have if the ticks hadn't been delayed), which results + /// in it firing ticks as fast as possible until it is caught up in time to + /// where it should be. Unlike [`Delay`] and [`Skip`], the ticks yielded + /// when `Burst` is used (the [`Instant`]s that [`tick`](Interval::tick) + /// yields) aren't different than they would have been if a tick had not + /// been missed. Like [`Skip`], and unlike [`Delay`], the ticks may be + /// shortened. + /// + /// This looks something like this: + /// ```text + /// Expected ticks: | 1 | 2 | 3 | 4 | 5 | 6 | + /// Actual ticks: | work -----| delay | work | work | work -| work -----| + /// ``` + /// + /// In code: + /// + /// ``` + /// use tokio::time::{interval, Duration}; + /// # async fn task_that_takes_200_millis() {} + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = interval(Duration::from_millis(50)); + /// + /// // First tick resolves immediately after creation + /// interval.tick().await; + /// + /// task_that_takes_200_millis().await; + /// // The `Interval` has missed a tick + /// + /// // Since we have exceeded our timeout, this will resolve immediately + /// interval.tick().await; + /// + /// // Since we are more than 100ms after the start of `interval`, this will + /// // also resolve immediately. + /// interval.tick().await; + /// + /// // Also resolves immediately, because it was supposed to resolve at + /// // 150ms after the start of `interval` + /// interval.tick().await; + /// + /// // Resolves immediately + /// interval.tick().await; + /// + /// // Since we have gotten to 200ms after the start of `interval`, this + /// // will resolve after 50ms + /// interval.tick().await; + /// # } + /// ``` + /// + /// This is the default behavior when [`Interval`] is created with + /// [`interval`] and [`interval_at`]. + /// + /// [`Delay`]: MissedTickBehavior::Delay + /// [`Skip`]: MissedTickBehavior::Skip + burst, + + /// Tick at multiples of `period` from when [`tick`] was called, rather than + /// from `start`. + /// + /// When this strategy is used and [`Interval`] has missed a tick, instead + /// of scheduling ticks to fire at multiples of `period` from `start` (the + /// time when the first tick was fired), it schedules all future ticks to + /// happen at a regular `period` from the point when [`tick`] was called. + /// Unlike [`Burst`] and [`Skip`], ticks are not shortened, and they aren't + /// guaranteed to happen at a multiple of `period` from `start` any longer. + /// + /// This looks something like this: + /// ```text + /// Expected ticks: | 1 | 2 | 3 | 4 | 5 | 6 | + /// Actual ticks: | work -----| delay | work -----| work -----| work -----| + /// ``` + /// + /// In code: + /// + /// ``` + /// use tokio::time::{interval, Duration, MissedTickBehavior}; + /// # async fn task_that_takes_more_than_50_millis() {} + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = interval(Duration::from_millis(50)); + /// interval.set_missed_tick_behavior(MissedTickBehavior::Delay); + /// + /// task_that_takes_more_than_50_millis().await; + /// // The `Interval` has missed a tick + /// + /// // Since we have exceeded our timeout, this will resolve immediately + /// interval.tick().await; + /// + /// // But this one, rather than also resolving immediately, as might happen + /// // with the `Burst` or `Skip` behaviors, will not resolve until + /// // 50ms after the call to `tick` up above. That is, in `tick`, when we + /// // recognize that we missed a tick, we schedule the next tick to happen + /// // 50ms (or whatever the `period` is) from right then, not from when + /// // were *supposed* to tick + /// interval.tick().await; + /// # } + /// ``` + /// + /// [`Burst`]: MissedTickBehavior::Burst + /// [`Skip`]: MissedTickBehavior::Skip + /// [`tick`]: Interval::tick + delay, + + /// Skips missed ticks and tick on the next multiple of `period` from + /// `start`. + /// + /// When this strategy is used, [`Interval`] schedules the next tick to fire + /// at the next-closest tick that is a multiple of `period` away from + /// `start` (the point where [`Interval`] first ticked). Like [`Burst`], all + /// ticks remain multiples of `period` away from `start`, but unlike + /// [`Burst`], the ticks may not be *one* multiple of `period` away from the + /// last tick. Like [`Delay`], the ticks are no longer the same as they + /// would have been if ticks had not been missed, but unlike [`Delay`], and + /// like [`Burst`], the ticks may be shortened to be less than one `period` + /// away from each other. + /// + /// This looks something like this: + /// ```text + /// Expected ticks: | 1 | 2 | 3 | 4 | 5 | 6 | + /// Actual ticks: | work -----| delay | work ---| work -----| work -----| + /// ``` + /// + /// In code: + /// + /// ``` + /// use tokio::time::{interval, Duration, MissedTickBehavior}; + /// # async fn task_that_takes_75_millis() {} + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = interval(Duration::from_millis(50)); + /// interval.set_missed_tick_behavior(MissedTickBehavior::Skip); + /// + /// task_that_takes_75_millis().await; + /// // The `Interval` has missed a tick + /// + /// // Since we have exceeded our timeout, this will resolve immediately + /// interval.tick().await; + /// + /// // This one will resolve after 25ms, 100ms after the start of + /// // `interval`, which is the closest multiple of `period` from the start + /// // of `interval` after the call to `tick` up above. + /// interval.tick().await; + /// # } + /// ``` + /// + /// [`Burst`]: MissedTickBehavior::Burst + /// [`Delay`]: MissedTickBehavior::Delay + skip, + ; + + /// Returns [`MissedTickBehavior::Burst`]. + /// + /// For most usecases, the [`Burst`] strategy is what is desired. + /// Additionally, to preserve backwards compatibility, the [`Burst`] + /// strategy must be the default. For these reasons, + /// [`MissedTickBehavior::Burst`] is the default for [`MissedTickBehavior`]. + /// See [`Burst`] for more details. + /// + /// [`Burst`]: MissedTickBehavior::Burst + static Future default_() => + RustLib.instance.api.tokioTimeMissedTickBehaviorDefault(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/time/error.dart b/mobile_app/lib/src/rust/third_party/tokio/time/error.dart new file mode 100644 index 0000000..f3196c3 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/time/error.dart @@ -0,0 +1,34 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Elapsed`, `InsertError`, `Kind` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from`, `from` + +// Rust type: RustOpaqueMoi> +abstract class Error implements RustOpaqueInterface { + /// Creates an error representing a timer at capacity. + static Future atCapacity() => + RustLib.instance.api.tokioTimeErrorErrorAtCapacity(); + + /// Creates an error representing a misconfigured timer. + static Future invalid() => + RustLib.instance.api.tokioTimeErrorErrorInvalid(); + + /// Returns `true` if the error was caused by the timer being at capacity. + Future isAtCapacity(); + + /// Returns `true` if the error was caused by the timer being misconfigured. + Future isInvalid(); + + /// Returns `true` if the error was caused by the timer being shutdown. + Future isShutdown(); + + /// Creates an error representing a shutdown timer. + static Future shutdown() => + RustLib.instance.api.tokioTimeErrorErrorShutdown(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/time/interval.dart b/mobile_app/lib/src/rust/third_party/tokio/time/interval.dart new file mode 100644 index 0000000..2eba311 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/time/interval.dart @@ -0,0 +1,12 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `clone`, `eq`, `fmt`, `fmt` + +// Rust type: RustOpaqueMoi>> +abstract class PollInstant implements RustOpaqueInterface {} diff --git a/mobile_app/pubspec.lock b/mobile_app/pubspec.lock index bf60420..dea6c3b 100644 --- a/mobile_app/pubspec.lock +++ b/mobile_app/pubspec.lock @@ -1,6 +1,22 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: "5b7468c326d2f8a4f630056404ca0d291ade42918f4a3c6233618e724f39da8e" + url: "https://pub.dev" + source: hosted + version: "92.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: "70e4b1ef8003c64793a9e268a551a82869a8a96f39deb73dea28084b0e8bf75e" + url: "https://pub.dev" + source: hosted + version: "9.0.0" args: dependency: transitive description: @@ -25,6 +41,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + build: + dependency: transitive + description: + name: build + sha256: "275bf6bb2a00a9852c28d4e0b410da1d833a734d57d39d44f94bfc895a484ec3" + url: "https://pub.dev" + source: hosted + version: "4.0.4" build_cli_annotations: dependency: transitive description: @@ -33,6 +57,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + build_config: + dependency: transitive + description: + name: build_config + sha256: "4f64382b97504dc2fcdf487d5aae33418e08b4703fc21249e4db6d804a4d0187" + url: "https://pub.dev" + source: hosted + version: "1.2.0" characters: dependency: transitive description: @@ -41,6 +73,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f" + url: "https://pub.dev" + source: hosted + version: "2.0.4" clock: dependency: transitive description: @@ -65,6 +105,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.19.1" + convert: + dependency: transitive + description: + name: convert + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 + url: "https://pub.dev" + source: hosted + version: "3.1.2" cross_file: dependency: transitive description: @@ -89,6 +137,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.8" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: a9c30492da18ff84efe2422ba2d319a89942d93e58eb0b73d32abe822ef54b7b + url: "https://pub.dev" + source: hosted + version: "3.1.3" dbus: dependency: transitive description: @@ -173,6 +229,22 @@ packages: description: flutter source: sdk version: "0.0.0" + freezed: + dependency: "direct main" + description: + name: freezed + sha256: "03dd9b7423ff0e31b7e01b2204593e5e1ac5ee553b6ea9d8184dff4a26b9fb07" + url: "https://pub.dev" + source: hosted + version: "3.2.4" + freezed_annotation: + dependency: transitive + description: + name: freezed_annotation + sha256: "7294967ff0a6d98638e7acb774aac3af2550777accd8149c90af5b014e6d44d8" + url: "https://pub.dev" + source: hosted + version: "3.1.0" fuchsia_remote_debug_protocol: dependency: transitive description: flutter @@ -207,6 +279,14 @@ packages: description: flutter source: sdk version: "0.0.0" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" leak_tracker: dependency: transitive description: @@ -295,6 +375,14 @@ packages: url: "https://pub.dev" source: hosted version: "9.2.2" + package_config: + dependency: transitive + description: + name: package_config + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc + url: "https://pub.dev" + source: hosted + version: "2.2.0" path: dependency: transitive description: @@ -439,6 +527,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.0" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" + url: "https://pub.dev" + source: hosted + version: "1.5.0" rust_lib_mobile_app: dependency: "direct main" description: @@ -451,6 +547,14 @@ packages: description: flutter source: sdk version: "0.0.0" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: "1d562a3c1f713904ebbed50d2760217fd8a51ca170ac4b05b0db490699dbac17" + url: "https://pub.dev" + source: hosted + version: "4.2.0" source_span: dependency: transitive description: @@ -531,6 +635,14 @@ packages: url: "https://pub.dev" source: hosted version: "14.2.1" + watcher: + dependency: transitive + description: + name: watcher + sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635" + url: "https://pub.dev" + source: hosted + version: "1.2.1" web: dependency: transitive description: diff --git a/mobile_app/pubspec.yaml b/mobile_app/pubspec.yaml index 0714f25..63c2b4d 100644 --- a/mobile_app/pubspec.yaml +++ b/mobile_app/pubspec.yaml @@ -43,6 +43,7 @@ dependencies: file_picker: ^10.3.8 logger: ^2.6.2 path_provider: ^2.1.5 + freezed: ^3.2.4 dev_dependencies: flutter_test: diff --git a/mobile_app/rust/Cargo.lock b/mobile_app/rust/Cargo.lock new file mode 100644 index 0000000..4d20d4d --- /dev/null +++ b/mobile_app/rust/Cargo.lock @@ -0,0 +1,2380 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "addr2line" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "serde", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "allo-isolate" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "449e356a4864c017286dbbec0e12767ea07efba29e3b7d984194c2a7ff3c4550" +dependencies = [ + "anyhow", + "atomic", + "backtrace", +] + +[[package]] +name = "android_log-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" + +[[package]] +name = "android_logger" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb4e440d04be07da1f1bf44fb4495ebd58669372fe0cffa6e48595ac5bd88a3" +dependencies = [ + "android_log-sys", + "env_filter", + "log", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atomic" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "backtrace" +version = "0.3.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-link", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + +[[package]] +name = "build-target" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "832133bbabbbaa9fbdba793456a2827627a7d2b8fb96032fa1e7666d7895832b" + +[[package]] +name = "bumpalo" +version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" + +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "bytes" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" + +[[package]] +name = "castaway" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" +dependencies = [ + "rustversion", +] + +[[package]] +name = "cc" +version = "1.2.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932" +dependencies = [ + "find-msvc-tools", + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" +dependencies = [ + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-link", +] + +[[package]] +name = "colored" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "compact_str" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" +dependencies = [ + "castaway", + "cfg-if", + "itoa", + "rustversion", + "ryu", + "static_assertions", +] + +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + +[[package]] +name = "console_log" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f" +dependencies = [ + "log", + "web-sys", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "csv" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde_core", +] + +[[package]] +name = "csv-core" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" +dependencies = [ + "memchr", +] + +[[package]] +name = "ctrlc" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" +dependencies = [ + "dispatch2", + "nix", + "windows-sys 0.61.2", +] + +[[package]] +name = "dart-sys" +version = "4.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57967e4b200d767d091b961d6ab42cc7d0cc14fe9e052e75d0d3cf9eb732d895" +dependencies = [ + "cc", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "delegate-attr" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51aac4c99b2e6775164b412ea33ae8441b2fde2dbf05a20bc0052a63d08c475b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags", + "block2", + "libc", + "objc2", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "env_filter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" + +[[package]] +name = "finl_unicode" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9844ddc3a6e533d62bba727eb6c28b5d360921d5175e9ff0f1e621a5c590a4d5" + +[[package]] +name = "flutter_rust_bridge" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde126295b2acc5f0a712e265e91b6fdc0ed38767496483e592ae7134db83725" +dependencies = [ + "allo-isolate", + "android_logger", + "anyhow", + "build-target", + "bytemuck", + "byteorder", + "console_error_panic_hook", + "dart-sys", + "delegate-attr", + "flutter_rust_bridge_macros", + "futures", + "js-sys", + "lazy_static", + "log", + "oslog", + "portable-atomic", + "threadpool", + "tokio", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "flutter_rust_bridge_macros" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f0420326b13675321b194928bb7830043b68cf8b810e1c651285c747abb080" +dependencies = [ + "hex", + "md-5", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + +[[package]] +name = "gimli" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" + +[[package]] +name = "gxhash" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ce1bab7aa741d4e7042b2aae415b78741f267a98a7271ea226cd5ba6c43d7d" +dependencies = [ + "rustversion", +] + +[[package]] +name = "h2" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "http" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-util" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "hyper", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "image" +version = "0.25.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" +dependencies = [ + "bytemuck", + "byteorder-lite", + "moxcms", + "num-traits", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.180" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" + +[[package]] +name = "libloading" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" +dependencies = [ + "cfg-if", + "windows-link", +] + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "maybe-owned" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" + +[[package]] +name = "memmap2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +dependencies = [ + "libc", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "moxcms" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97" +dependencies = [ + "num-traits", + "pxfm", +] + +[[package]] +name = "nix" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", + "libc", +] + +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "num-format" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" +dependencies = [ + "arrayvec", + "itoa", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "objc2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "object" +version = "0.37.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "oslog" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d2043d1f61d77cb2f4b1f7b7b2295f40507f5f8e9d1c8bf10a1ca5f97a3969" +dependencies = [ + "cc", + "dashmap", + "log", +] + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + +[[package]] +name = "pdfium-render" +version = "0.8.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6553f6604a52b3203db7b4e9d51eb4dd193cf455af9e56d40cab6575b547b679" +dependencies = [ + "bitflags", + "bytemuck", + "bytes", + "chrono", + "console_error_panic_hook", + "console_log", + "image", + "itertools", + "js-sys", + "libloading", + "log", + "maybe-owned", + "once_cell", + "utf16string", + "vecmath", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piston-float" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad78bf43dcf80e8f950c92b84f938a0fc7590b7f6866fbcbeca781609c115590" + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "portable-atomic" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro2" +version = "1.0.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "pxfm" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" +dependencies = [ + "num-traits", +] + +[[package]] +name = "quote" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rayon" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" + +[[package]] +name = "rust-stemmers" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "rust_lib_mobile_app" +version = "0.1.0" +dependencies = [ + "flutter_rust_bridge", + "seekstorm", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "seekstorm" +version = "1.2.5" +source = "git+https://github.com/Ok3ks/seekstorm?rev=d59a1119f8012d0dd0a31252c44e83618bd4102f#d59a1119f8012d0dd0a31252c44e83618bd4102f" +dependencies = [ + "ahash", + "aho-corasick", + "async-recursion", + "base64", + "chrono", + "colored", + "crossbeam-channel", + "csv", + "ctrlc", + "finl_unicode", + "futures", + "http-body-util", + "hyper", + "hyper-util", + "indexmap", + "itertools", + "lazy_static", + "memmap2", + "num", + "num-derive", + "num-format", + "num-traits", + "num_cpus", + "pdfium-render", + "rand", + "rayon", + "regex", + "regex-syntax", + "rust-stemmers", + "serde", + "serde_json", + "sha2", + "smallvec", + "symspell_complete_rs", + "tokio", + "tokio-test", + "unicode-normalization", + "url", + "utoipa", + "walkdir", + "winapi", + "zstd", +] + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_norway" +version = "0.9.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e408f29489b5fd500fab51ff1484fc859bb655f32c671f307dcd733b72e8168c" +dependencies = [ + "indexmap", + "itoa", + "ryu", + "serde", + "unsafe-libyaml-norway", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "slab" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "socket2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "symspell_complete_rs" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57249a02e607aaafa8ca327e7503bd213e96842aaed8b6a5aab2f20d30875aa0" +dependencies = [ + "ahash", + "compact_str", + "gxhash", + "itertools", + "regex", + "smallvec", + "strsim", + "unicode-normalization", +] + +[[package]] +name = "syn" +version = "2.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.49.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +dependencies = [ + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-macros" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-stream" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-test" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6d24790a10a7af737693a3e8f1d03faef7e6ca0cc99aae5066f533766de545" +dependencies = [ + "futures-core", + "tokio", + "tokio-stream", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" + +[[package]] +name = "unicode-normalization" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unsafe-libyaml-norway" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39abd59bf32521c7f2301b52d05a6a2c975b6003521cbd0c6dc1582f0a22104" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf16string" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b62a1e85e12d5d712bf47a85f426b73d303e2d00a90de5f3004df3596e9d216" +dependencies = [ + "byteorder", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "utoipa" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993" +dependencies = [ + "indexmap", + "serde", + "serde_json", + "serde_norway", + "utoipa-gen", +] + +[[package]] +name = "utoipa-gen" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d79d08d92ab8af4c5e8a6da20c47ae3f61a0f1dabc1997cdf2d082b757ca08b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "vecmath" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ae1e0d85bca567dee1dcf87fb1ca2e792792f66f87dced8381f99cd91156a" +dependencies = [ + "piston-float", +] + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.2+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" +dependencies = [ + "cfg-if", + "futures-util", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "web-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zmij" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65" + +[[package]] +name = "zstd" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.16+zstd.1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" +dependencies = [ + "cc", + "pkg-config", +] + +[[package]] +name = "zune-core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" + +[[package]] +name = "zune-jpeg" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2959ca473aae96a14ecedf501d20b3608d2825ba280d5adb57d651721885b0c2" +dependencies = [ + "zune-core", +] diff --git a/mobile_app/rust/Cargo.toml b/mobile_app/rust/Cargo.toml index 15cee59..c6f8364 100644 --- a/mobile_app/rust/Cargo.toml +++ b/mobile_app/rust/Cargo.toml @@ -8,8 +8,7 @@ crate-type = ["cdylib", "staticlib"] [dependencies] flutter_rust_bridge = "=2.11.1" -seekstorm = "1.2.5" -tokio = "1.49.0" +seekstorm = { git = "https://github.com/Ok3ks/seekstorm", rev = "d59a1119f8012d0dd0a31252c44e83618bd4102f", version = "1.2.5" } [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(frb_expand)'] } diff --git a/mobile_app/rust/src/api/keyword_search.rs b/mobile_app/rust/src/api/keyword_search.rs index 9d3155c..2c30a5f 100644 --- a/mobile_app/rust/src/api/keyword_search.rs +++ b/mobile_app/rust/src/api/keyword_search.rs @@ -1,20 +1,20 @@ -use seekstorm::index::{Index, open_index}; +use seekstorm::index::{ open_index}; +use seekstorm::index::IndexArc; use std::path::Path; -use std::sync::Arc; -use tokio::sync::RwLock; -struct SearchFn { - path_to_index: String, + +pub struct SearchFn { + pub path_to_index: String, } impl SearchFn { pub async fn new(&self) -> SearchFn { use seekstorm::index::{ AccessType, FrequentwordType, IndexMetaObject, NgramSet, SimilarityType, StemmerType, - StopwordType, TokenizerType, create_index, + StopwordType, TokenizerType, FieldType, create_index, SchemaField }; - let schema = SchemaField::new("title".to_string(), true, true, FieldType::String16, false, false, 1.0, false, false); + let schema = vec![SchemaField::new("title".to_string(), true, true, FieldType::String16, false, false, 1.0, false, false)]; let meta = IndexMetaObject { id: 0, name: "acho_index".into(), @@ -28,8 +28,8 @@ impl SearchFn { spelling_correction: None, query_completion: None, }; - let segment_number_bits1 = 11; - let index_arc = create_index( + let _segment_number_bits1 = 11; + create_index( Path::new(self.path_to_index.as_str()), meta, &schema, @@ -45,20 +45,19 @@ impl SearchFn { } } - pub async fn ingest_pdf_dir(&self, dir_path: &Path) -> Result<(), Box> { + pub async fn ingest_pdf_dir(&self, dir_path: &Path) { use seekstorm::ingest::IndexPdfFile; let file_path = Path::new(&dir_path); - let index_arc = open_index(Path::new(self.path_to_index.as_str()), false).await; + let index_arc: Result = open_index(Path::new(self.path_to_index.as_str()), false).await; match index_arc { - Ok(mut index_arc) => { + Ok(index_arc) => { let _ = index_arc.index_pdf_file(file_path).await; } - Err(error) => { - // Err(error.into()); - println!("error: {}", error) + Err(_error) => { + Err(_error.into()); } } @@ -66,16 +65,17 @@ impl SearchFn { } ///For reset functionality, clearing index - pub async fn delete_index(&self) -> () { - let index_arc = open_index(Path::new(self.path_to_index.as_str()), false).await; + pub async fn delete_index(&self) { + let index_arc: Result = open_index(Path::new(self.path_to_index.as_str()), false).await; match index_arc { Ok(index_arc) => { - let _ = index_arc.write().await.delete_index(); + index_arc.write().await.delete_index(); } - Err(error) => { + Err(_) => { // Err(error.into()); } } - } \ No newline at end of file + } +} diff --git a/mobile_app/rust/src/api/mod.rs b/mobile_app/rust/src/api/mod.rs index b252f36..a7da100 100644 --- a/mobile_app/rust/src/api/mod.rs +++ b/mobile_app/rust/src/api/mod.rs @@ -1 +1,2 @@ pub mod simple; +pub mod keyword_search; \ No newline at end of file diff --git a/mobile_app/rust/src/frb_generated.rs b/mobile_app/rust/src/frb_generated.rs index 4f41c47..d4eac8a 100644 --- a/mobile_app/rust/src/frb_generated.rs +++ b/mobile_app/rust/src/frb_generated.rs @@ -25,9 +25,42 @@ // Section: imports +use crate::*; use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt}; use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; use flutter_rust_bridge::{Handler, IntoIntoDart}; +use seekstorm::geo_search::*; +use seekstorm::highlighter::*; +use seekstorm::index::*; +use seekstorm::ingest::*; +use seekstorm::search::*; +use tokio::io::*; +use tokio::net::tcp::listener::*; +use tokio::net::tcp::split_owned::*; +use tokio::net::tcp::*; +use tokio::net::udp::*; +use tokio::net::unix::datagram::socket::*; +use tokio::net::unix::listener::*; +use tokio::net::unix::pipe::*; +use tokio::net::unix::*; +use tokio::net::*; +use tokio::process::sys::*; +use tokio::process::*; +use tokio::runtime::*; +use tokio::signal::unix::InternalStream; +use tokio::signal::unix::*; +use tokio::sync::broadcast::error::*; +use tokio::sync::broadcast::*; +use tokio::sync::mpsc::bounded::*; +use tokio::sync::mpsc::error::*; +use tokio::sync::oneshot::*; +use tokio::sync::watch::*; +use tokio::sync::*; +use tokio::task::coop::*; +use tokio::task::*; +use tokio::time::error::*; +use tokio::time::interval::*; +use tokio::time::*; // Section: boilerplate @@ -37,7 +70,7 @@ flutter_rust_bridge::frb_generated_boilerplate!( default_rust_auto_opaque = RustAutoOpaqueMoi, ); pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.11.1"; -pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -1918914929; +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = 606630313; // Section: executor @@ -45,16 +78,17 @@ flutter_rust_bridge::frb_generated_default_handler!(); // Section: wire_funcs -fn wire__crate__api__simple__greet_impl( +fn wire__tokio__sync__BarrierWaitResult_is_leader_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, rust_vec_len_: i32, data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "greet", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + debug_name: "BarrierWaitResult_is_leader", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { let message = unsafe { @@ -66,16 +100,36 @@ fn wire__crate__api__simple__greet_impl( }; let mut deserializer = flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_name = ::sse_decode(&mut deserializer); + let api_that = , + >>::sse_decode(&mut deserializer); deserializer.end(); - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(crate::api::simple::greet(api_name))?; - Ok(output_ok) - })()) + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::sync::BarrierWaitResult::is_leader(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } }, ) } -fn wire__crate__api__simple__init_app_impl( +fn wire__tokio__sync__Barrier_new_impl( port_: flutter_rust_bridge::for_generated::MessagePort, ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, rust_vec_len_: i32, @@ -83,7 +137,7 @@ fn wire__crate__api__simple__init_app_impl( ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "init_app", + debug_name: "Barrier_new", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -97,180 +151,46764 @@ fn wire__crate__api__simple__init_app_impl( }; let mut deserializer = flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_n = ::sse_decode(&mut deserializer); deserializer.end(); move |context| { transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok({ - crate::api::simple::init_app(); - })?; + let output_ok = Result::<_, ()>::Ok(tokio::sync::Barrier::new(api_n))?; Ok(output_ok) })()) } }, ) } - -// Section: dart2rust - -impl SseDecode for String { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >::sse_decode(deserializer); - return String::from_utf8(inner).unwrap(); - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for u8 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_u8().unwrap() - } -} - -impl SseDecode for () { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {} +fn wire__tokio__sync__Barrier_wait_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Barrier_wait", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::sync::Barrier::wait(&*api_that_guard).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) } - -impl SseDecode for i32 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_i32::().unwrap() - } +fn wire__tokio__process__ChildStderr_from_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ChildStderr_from_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_inner = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::process::ChildStderr::from_std(api_inner)?; + Ok(output_ok) + })(), + ) + } + }, + ) } - -impl SseDecode for bool { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_u8().unwrap() != 0 - } +fn wire__tokio__process__ChildStderr_into_owned_fd_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ChildStderr_into_owned_fd", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::process::ChildStderr::into_owned_fd(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) } - -fn pde_ffi_dispatcher_primary_impl( - func_id: i32, - port: flutter_rust_bridge::for_generated::MessagePort, - ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len: i32, - data_len: i32, +fn wire__tokio__process__ChildStdin_from_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, ) { - // Codec=Pde (Serialization + dispatch), see doc to use other codecs - match func_id { - 2 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len), - _ => unreachable!(), - } + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ChildStdin_from_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_inner = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::process::ChildStdin::from_std(api_inner)?; + Ok(output_ok) + })(), + ) + } + }, + ) } - -fn pde_ffi_dispatcher_sync_impl( - func_id: i32, - ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len: i32, - data_len: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - // Codec=Pde (Serialization + dispatch), see doc to use other codecs - match func_id { - 1 => wire__crate__api__simple__greet_impl(ptr, rust_vec_len, data_len), - _ => unreachable!(), - } +fn wire__tokio__process__ChildStdin_into_owned_fd_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ChildStdin_into_owned_fd", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::process::ChildStdin::into_owned_fd(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) } - -// Section: rust2dart - -impl SseEncode for String { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >::sse_encode(self.into_bytes(), serializer); - } +fn wire__tokio__process__ChildStdout_from_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ChildStdout_from_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_inner = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::process::ChildStdout::from_std(api_inner)?; + Ok(output_ok) + })(), + ) + } + }, + ) } - -impl SseEncode for Vec { +fn wire__tokio__process__ChildStdout_into_owned_fd_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ChildStdout_into_owned_fd", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::process::ChildStdout::into_owned_fd(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__process__Child_auto_accessor_get_stderr_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_auto_accessor_get_stderr", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.stderr.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__process__Child_auto_accessor_get_stdin_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_auto_accessor_get_stdin", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.stdin.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__process__Child_auto_accessor_get_stdout_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_auto_accessor_get_stdout", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.stdout.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__process__Child_auto_accessor_set_stderr_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_auto_accessor_set_stderr", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_stderr = >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.stderr = api_stderr; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__process__Child_auto_accessor_set_stdin_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_auto_accessor_set_stdin", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_stdin = >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.stdin = api_stdin; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__process__Child_auto_accessor_set_stdout_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_auto_accessor_set_stdout", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_stdout = >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.stdout = api_stdout; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__process__Child_id_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_id", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::process::Child::id(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__process__Child_kill_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_kill", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::process::Child::kill(&mut *api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__process__Child_start_kill_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_start_kill", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::process::Child::start_kill(&mut *api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__process__Child_try_wait_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_try_wait", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::process::Child::try_wait(&mut *api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__process__Child_wait_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Child_wait", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::process::Child::wait(&mut *api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__process__Command_as_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Command_as_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::process::Command::as_std(&*api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__process__Command_as_std_mut_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Command_as_std_mut", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::process::Command::as_std_mut(&mut *api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__process__Command_env_clear_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Command_env_clear", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::process::Command::env_clear(&mut *api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__process__Command_get_kill_on_drop_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Command_get_kill_on_drop", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::process::Command::get_kill_on_drop(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__process__Command_gid_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Command_gid", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_id = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::process::Command::gid(&mut *api_that_guard, api_id); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__process__Command_into_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Command_into_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::process::Command::into_std(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__process__Command_kill_on_drop_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Command_kill_on_drop", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_kill_on_drop = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::process::Command::kill_on_drop( + &mut *api_that_guard, + api_kill_on_drop, + ); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__process__Command_process_group_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Command_process_group", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_pgroup = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::process::Command::process_group(&mut *api_that_guard, api_pgroup); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__process__Command_spawn_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Command_spawn", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::process::Command::spawn(&mut *api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__process__Command_uid_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Command_uid", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_id = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::process::Command::uid(&mut *api_that_guard, api_id); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__error__Error_at_capacity_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Error_at_capacity", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::time::error::Error::at_capacity())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__error__Error_invalid_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Error_invalid", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::time::error::Error::invalid())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__error__Error_is_at_capacity_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Error_is_at_capacity", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::time::error::Error::is_at_capacity(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__error__Error_is_invalid_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Error_is_invalid", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::time::error::Error::is_invalid( + &*api_that_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__error__Error_is_shutdown_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Error_is_shutdown", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::time::error::Error::is_shutdown( + &*api_that_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__error__Error_shutdown_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Error_shutdown", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::time::error::Error::shutdown())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__FacetField_auto_accessor_get_max_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "FacetField_auto_accessor_get_max", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.max.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__FacetField_auto_accessor_get_min_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "FacetField_auto_accessor_get_min", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.min.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__FacetField_auto_accessor_get_name_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "FacetField_auto_accessor_get_name", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.name.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__FacetField_auto_accessor_get_values_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "FacetField_auto_accessor_get_values", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.values.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__FacetField_auto_accessor_set_max_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "FacetField_auto_accessor_set_max", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_max = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.max = api_max; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__FacetField_auto_accessor_set_min_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "FacetField_auto_accessor_set_min", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_min = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.min = api_min; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__FacetField_auto_accessor_set_name_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "FacetField_auto_accessor_set_name", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_name = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.name = api_name; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__FacetField_auto_accessor_set_values_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "FacetField_auto_accessor_set_values", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_values = + , usize)>>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.values = api_values; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__FacetField_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "FacetField_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::index::FacetField::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__FrequentwordType_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "FrequentwordType_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::index::FrequentwordType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Handle_current_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Handle_current", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::runtime::Handle::current())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Handle_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Handle_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::runtime::Handle::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Handle_enter_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Handle_enter", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::runtime::Handle::enter(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Handle_id_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Handle_id", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::runtime::Handle::id(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Handle_metrics_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Handle_metrics", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::runtime::Handle::metrics(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Handle_runtime_flavor_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Handle_runtime_flavor", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::runtime::Handle::runtime_flavor( + &*api_that_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Handle_try_current_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Handle_try_current", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, TryCurrentError>((move || { + let output_ok = tokio::runtime::Handle::try_current()?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_access_type_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_access_type", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.access_type.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_frequent_words_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_frequent_words", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.frequent_words.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_id_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_id", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.id.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_name_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_name", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.name.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_ngram_indexing_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_ngram_indexing", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.ngram_indexing.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_query_completion_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_query_completion", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.query_completion.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_similarity_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_similarity", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.similarity.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_spelling_correction_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_spelling_correction", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.spelling_correction.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_stemmer_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_stemmer", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.stemmer.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_stop_words_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_stop_words", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.stop_words.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_tokenizer_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_get_tokenizer", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.tokenizer.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_access_type_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_access_type", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_access_type = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.access_type = api_access_type; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_frequent_words_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_frequent_words", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_frequent_words = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.frequent_words = api_frequent_words; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_id_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_id", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_id = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.id = api_id; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_name_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_name", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_name = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.name = api_name; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_ngram_indexing_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_ngram_indexing", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_ngram_indexing = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.ngram_indexing = api_ngram_indexing; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_query_completion_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_query_completion", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_query_completion = + >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.query_completion = api_query_completion; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_similarity_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_similarity", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_similarity = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.similarity = api_similarity; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_spelling_correction_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_spelling_correction", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_spelling_correction = + >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.spelling_correction = api_spelling_correction; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_stemmer_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_stemmer", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_stemmer = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.stemmer = api_stemmer; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_stop_words_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_stop_words", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_stop_words = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.stop_words = api_stop_words; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_tokenizer_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "IndexMetaObject_auto_accessor_set_tokenizer", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_tokenizer = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.tokenizer = api_tokenizer; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_add_synonyms_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_add_synonyms", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_synonyms = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, String>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = + seekstorm::index::Index::add_synonyms(&mut *api_that_guard, &api_synonyms)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__Index_auto_accessor_get_index_format_version_major_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_auto_accessor_get_index_format_version_major", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(api_that_guard.index_format_version_major.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_auto_accessor_get_index_format_version_minor_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_auto_accessor_get_index_format_version_minor", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(api_that_guard.index_format_version_minor.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_auto_accessor_get_meta_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_auto_accessor_get_meta", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.meta.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_auto_accessor_get_schema_map_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_auto_accessor_get_schema_map", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.schema_map.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_auto_accessor_get_stored_field_names_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_auto_accessor_get_stored_field_names", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.stored_field_names.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_auto_accessor_set_index_format_version_major_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_auto_accessor_set_index_format_version_major", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_index_format_version_major = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.index_format_version_major = api_index_format_version_major; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_auto_accessor_set_index_format_version_minor_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_auto_accessor_set_index_format_version_minor", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_index_format_version_minor = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.index_format_version_minor = api_index_format_version_minor; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_auto_accessor_set_meta_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_auto_accessor_set_meta", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_meta = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.meta = api_meta; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_auto_accessor_set_schema_map_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_auto_accessor_set_schema_map", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_schema_map = + >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.schema_map = api_schema_map; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_auto_accessor_set_stored_field_names_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_auto_accessor_set_stored_field_names", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_stored_field_names = >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.stored_field_names = api_stored_field_names; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__Index_clear_index_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_clear_index", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + seekstorm::index::Index::clear_index(&mut *api_that_guard).await; + })?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_committed_doc_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_committed_doc_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + seekstorm::index::Index::committed_doc_count(&*api_that_guard).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_current_doc_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_current_doc_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + seekstorm::index::Index::current_doc_count(&*api_that_guard).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_delete_index_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_delete_index", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + seekstorm::index::Index::delete_index(&mut *api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__Index_facets_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_facets_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(seekstorm::index::Index::facets_count( + &*api_that_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__Index_get_document_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_get_document", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_doc_id = ::sse_decode(&mut deserializer); + let api_include_uncommited = ::sse_decode(&mut deserializer); + let api_highlighter_option = >::sse_decode(&mut deserializer); + let api_fields = >::sse_decode(&mut deserializer); + let api_distance_fields = + >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, String>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = seekstorm::index::Index::get_document( + &*api_that_guard, + api_doc_id, + api_include_uncommited, + &api_highlighter_option, + &api_fields, + &api_distance_fields, + ) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_get_facet_value_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_get_facet_value", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_field = ::sse_decode(&mut deserializer); + let api_doc_id = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let output_ok = Result::<_, ()>::Ok( + seekstorm::index::Index::get_facet_value( + api_that, &api_field, api_doc_id, + ) + .await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_get_file_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_get_file", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_doc_id = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, String>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + seekstorm::index::Index::get_file(&*api_that_guard, api_doc_id).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_get_index_string_facets_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_get_index_string_facets", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_query_facets = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + seekstorm::index::Index::get_index_string_facets( + &*api_that_guard, + api_query_facets, + ) + .await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_get_synonyms_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_get_synonyms", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, String>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = seekstorm::index::Index::get_synonyms(&*api_that_guard)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__Index_index_facets_minmax_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_index_facets_minmax", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + seekstorm::index::Index::index_facets_minmax(&*api_that_guard).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_indexed_doc_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_indexed_doc_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + seekstorm::index::Index::indexed_doc_count(&*api_that_guard).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_level_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_level_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + seekstorm::index::Index::level_count(&*api_that_guard).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_set_synonyms_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_set_synonyms", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_synonyms = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, String>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = + seekstorm::index::Index::set_synonyms(&mut *api_that_guard, &api_synonyms)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__Index_shard_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_shard_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + seekstorm::index::Index::shard_count(&*api_that_guard).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__Index_uncommitted_doc_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Index_uncommitted_doc_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + seekstorm::index::Index::uncommitted_doc_count(&*api_that_guard).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__io__Interest_add_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interest_add", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_other = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::io::Interest::add(api_that, api_other))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__Interest_is_error_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interest_is_error", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::Interest::is_error(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__Interest_is_readable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interest_is_readable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::io::Interest::is_readable(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__Interest_is_writable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interest_is_writable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::io::Interest::is_writable(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__Interest_remove_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interest_remove", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_other = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::io::Interest::remove(api_that, api_other))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Interval_missed_tick_behavior_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interval_missed_tick_behavior", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::time::Interval::missed_tick_behavior(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Interval_period_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interval_period", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::time::Interval::period(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Interval_poll_tick_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interval_poll_tick", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::time::Interval::poll_tick( + &mut *api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Interval_reset_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interval_reset", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::time::Interval::reset(&mut *api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Interval_reset_after_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interval_reset_after", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_after = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::time::Interval::reset_after(&mut *api_that_guard, api_after); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Interval_reset_at_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interval_reset_at", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_deadline = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::time::Interval::reset_at(&mut *api_that_guard, api_deadline); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Interval_reset_immediately_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interval_reset_immediately", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::time::Interval::reset_immediately(&mut *api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Interval_set_missed_tick_behavior_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interval_set_missed_tick_behavior", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_behavior = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::time::Interval::set_missed_tick_behavior( + &mut *api_that_guard, + api_behavior, + ); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Interval_tick_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Interval_tick", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::time::Interval::tick(&mut *api_that_guard).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__task__LocalSet_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "LocalSet_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::task::LocalSet::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__task__LocalSet_enter_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "LocalSet_enter", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::task::LocalSet::enter(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__task__LocalSet_id_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "LocalSet_id", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::task::LocalSet::id(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__task__LocalSet_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "LocalSet_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::task::LocalSet::new())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__MinMaxFieldJson_auto_accessor_get_max_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "MinMaxFieldJson_auto_accessor_get_max", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.max.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__MinMaxFieldJson_auto_accessor_get_min_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "MinMaxFieldJson_auto_accessor_get_min", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.min.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__MinMaxFieldJson_auto_accessor_set_max_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "MinMaxFieldJson_auto_accessor_set_max", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_max = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.max = api_max; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__MinMaxFieldJson_auto_accessor_set_min_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "MinMaxFieldJson_auto_accessor_set_min", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_min = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.min = api_min; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__MinMaxFieldJson_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "MinMaxFieldJson_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::index::MinMaxFieldJson::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__MinMaxField_auto_accessor_get_max_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "MinMaxField_auto_accessor_get_max", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.max.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__MinMaxField_auto_accessor_get_min_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "MinMaxField_auto_accessor_get_min", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.min.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__MinMaxField_auto_accessor_set_max_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "MinMaxField_auto_accessor_set_max", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_max = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.max = api_max; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__MinMaxField_auto_accessor_set_min_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "MinMaxField_auto_accessor_set_min", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_min = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.min = api_min; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__MinMaxField_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "MinMaxField_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::index::MinMaxField::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Notify_const_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Notify_const_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::sync::Notify::const_new())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Notify_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Notify_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::sync::Notify::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Notify_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Notify_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::sync::Notify::new())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Notify_notified_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Notify_notified", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::sync::Notify::notified(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Notify_notified_owned_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Notify_notified_owned", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::sync::Notify::notified_owned(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Notify_notify_last_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Notify_notify_last", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::sync::Notify::notify_last(&*api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Notify_notify_one_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Notify_notify_one", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::sync::Notify::notify_one(&*api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Notify_notify_waiters_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Notify_notify_waiters", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::sync::Notify::notify_waiters(&*api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_append_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_append", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_append = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::OpenOptions::append( + &mut *api_that_guard, + api_append, + ); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_create_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_create", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_create = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::OpenOptions::create( + &mut *api_that_guard, + api_create, + ); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_create_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_create_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_create_new = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::OpenOptions::create_new( + &mut *api_that_guard, + api_create_new, + ); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_custom_flags_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_custom_flags", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_flags = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::OpenOptions::custom_flags( + &mut *api_that_guard, + api_flags, + ); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::OpenOptions::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_mode_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_mode", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_mode = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::OpenOptions::mode(&mut *api_that_guard, api_mode); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::OpenOptions::new())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_read_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_read", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_read = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::OpenOptions::read(&mut *api_that_guard, api_read); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_truncate_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_truncate", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_truncate = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::OpenOptions::truncate( + &mut *api_that_guard, + api_truncate, + ); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_unchecked_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_unchecked", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_value = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::OpenOptions::unchecked( + &mut *api_that_guard, + api_value, + ); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__OpenOptions_write_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OpenOptions_write", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_write = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::OpenOptions::write(&mut *api_that_guard, api_write); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedReadHalf_local_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedReadHalf_local_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::tcp::OwnedReadHalf::local_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedReadHalf_peek_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedReadHalf_peek", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref_mut().await) + } + 1 => { + api_buf_guard = + Some(api_buf.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = tokio::net::tcp::OwnedReadHalf::peek( + &mut *api_that_guard, + &mut *api_buf_guard, + ) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedReadHalf_peer_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedReadHalf_peer_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::tcp::OwnedReadHalf::peer_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedReadHalf_poll_peek_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedReadHalf_poll_peek", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 2, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::tcp::OwnedReadHalf::poll_peek( + &mut *api_that_guard, + &mut *api_cx_guard, + &mut *api_buf_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedReadHalf_readable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedReadHalf_readable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::tcp::OwnedReadHalf::readable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedReadHalf_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedReadHalf_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_interest = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::tcp::OwnedReadHalf::ready(&*api_that_guard, api_interest) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedReadHalf_reunite_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedReadHalf_reunite", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_other = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ReuniteError>((move || { + let output_ok = tokio::net::tcp::OwnedReadHalf::reunite(api_that, api_other)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedReadHalf_try_read_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedReadHalf_try_read", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = tokio::net::tcp::OwnedReadHalf::try_read( + &*api_that_guard, + &mut *api_buf_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedReadHalf_try_read_vectored_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedReadHalf_try_read_vectored", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_bufs = ]>, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_bufs_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_bufs, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_bufs_guard = Some(api_bufs.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_bufs_guard = api_bufs_guard.unwrap(); + let output_ok = tokio::net::tcp::OwnedReadHalf::try_read_vectored( + &*api_that_guard, + &mut *api_bufs_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__sync__OwnedSemaphorePermit_merge_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedSemaphorePermit_merge", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_other = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::sync::OwnedSemaphorePermit::merge(&mut *api_that_guard, api_other); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__OwnedSemaphorePermit_num_permits_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedSemaphorePermit_num_permits", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::sync::OwnedSemaphorePermit::num_permits(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__OwnedSemaphorePermit_semaphore_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedSemaphorePermit_semaphore", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::sync::OwnedSemaphorePermit::semaphore(&*api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__OwnedSemaphorePermit_split_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedSemaphorePermit_split", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_n = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::sync::OwnedSemaphorePermit::split( + &mut *api_that_guard, + api_n, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedWriteHalf_local_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedWriteHalf_local_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::tcp::OwnedWriteHalf::local_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedWriteHalf_peer_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedWriteHalf_peer_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::tcp::OwnedWriteHalf::peer_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedWriteHalf_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedWriteHalf_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_interest = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::tcp::OwnedWriteHalf::ready(&*api_that_guard, api_interest) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedWriteHalf_reunite_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedWriteHalf_reunite", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_other = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ReuniteError>((move || { + let output_ok = tokio::net::tcp::OwnedWriteHalf::reunite(api_that, api_other)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedWriteHalf_try_write_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedWriteHalf_try_write", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::tcp::OwnedWriteHalf::try_write(&*api_that_guard, &api_buf)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedWriteHalf_try_write_vectored_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedWriteHalf_try_write_vectored", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_bufs = >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::tcp::OwnedWriteHalf::try_write_vectored( + &*api_that_guard, + &api_bufs, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__tcp__OwnedWriteHalf_writable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "OwnedWriteHalf_writable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::tcp::OwnedWriteHalf::writable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__search__QueryFacet_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "QueryFacet_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::search::QueryFacet::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__search__QueryRewriting_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "QueryRewriting_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::search::QueryRewriting::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__search__Ranges_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Ranges_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::search::Ranges::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__Ready_is_empty_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Ready_is_empty", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::Ready::is_empty(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__Ready_is_error_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Ready_is_error", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::Ready::is_error(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__Ready_is_read_closed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Ready_is_read_closed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::io::Ready::is_read_closed(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__Ready_is_readable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Ready_is_readable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::Ready::is_readable(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__Ready_is_writable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Ready_is_writable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::Ready::is_writable(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__Ready_is_write_closed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Ready_is_write_closed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::io::Ready::is_write_closed(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_blocking_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_blocking_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, RecvError>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Receiver::blocking_recv(&mut *api_that_guard)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_blocking_recv_many_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_blocking_recv_many", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_buffer = >, + >>::sse_decode(&mut deserializer); + let api_limit = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_buffer_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buffer, + 1, + true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + 1 => api_buffer_guard = Some(api_buffer.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let mut api_buffer_guard = api_buffer_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::blocking_recv_many( + &mut *api_that_guard, + &mut *api_buffer_guard, + api_limit, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_borrow_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_borrow", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::borrow( + &*api_that_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_borrow_and_update_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_borrow_and_update", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Receiver::borrow_and_update(&mut *api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_capacity_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_capacity", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Receiver::capacity(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_changed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_changed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, RecvError>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Receiver::changed(&mut *api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_close_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_close", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::Receiver::close(&mut *api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_has_changed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_has_changed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, RecvError>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Receiver::has_changed(&*api_that_guard)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_is_closed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_is_closed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Receiver::is_closed(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_is_empty_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_is_empty", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Receiver::is_empty(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_is_terminated_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_is_terminated", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Receiver::is_terminated(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_len_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_len", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::len( + &*api_that_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_mark_changed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_mark_changed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::Receiver::mark_changed(&mut *api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_mark_unchanged_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_mark_unchanged", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::Receiver::mark_unchanged(&mut *api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_max_capacity_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_max_capacity", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Receiver::max_capacity(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_poll_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_poll_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::poll_recv( + &mut *api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_poll_recv_many_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_poll_recv_many", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buffer = >, + >>::sse_decode(&mut deserializer); + let api_limit = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let mut api_buffer_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buffer, + 2, + true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + 2 => api_buffer_guard = Some(api_buffer.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let mut api_buffer_guard = api_buffer_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::poll_recv_many( + &mut *api_that_guard, + &mut *api_cx_guard, + &mut *api_buffer_guard, + api_limit, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, RecvError>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Receiver::recv(&mut *api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_recv_many_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_recv_many", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_buffer = >, + >>::sse_decode(&mut deserializer); + let api_limit = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let mut api_buffer_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buffer, + 1, + true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref_mut().await) + } + 1 => { + api_buffer_guard = + Some(api_buffer.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let mut api_buffer_guard = api_buffer_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Receiver::recv_many( + &mut *api_that_guard, + &mut *api_buffer_guard, + api_limit, + ) + .await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_resubscribe_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_resubscribe", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Receiver::resubscribe(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_same_channel_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_same_channel", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_other = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_other_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_other, 1, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_other_guard = Some(api_other.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let api_other_guard = api_other_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::same_channel( + &*api_that_guard, + &*api_other_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_sender_strong_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_sender_strong_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Receiver::sender_strong_count(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_sender_weak_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_sender_weak_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Receiver::sender_weak_count(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__ReceiverT_try_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReceiverT_try_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, TryRecvError>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Receiver::try_recv(&mut *api_that_guard)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_from_file_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_from_file", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_file = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::unix::pipe::Receiver::from_file(api_file)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_from_file_unchecked_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_from_file_unchecked", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_file = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = + tokio::net::unix::pipe::Receiver::from_file_unchecked(api_file)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_from_owned_fd_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_from_owned_fd", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_owned_fd = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = + tokio::net::unix::pipe::Receiver::from_owned_fd(api_owned_fd)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_from_owned_fd_unchecked_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_from_owned_fd_unchecked", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_owned_fd = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::unix::pipe::Receiver::from_owned_fd_unchecked( + api_owned_fd, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_into_blocking_fd_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_into_blocking_fd", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = + tokio::net::unix::pipe::Receiver::into_blocking_fd(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_into_nonblocking_fd_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_into_nonblocking_fd", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = + tokio::net::unix::pipe::Receiver::into_nonblocking_fd(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_poll_read_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_poll_read_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::poll_read_ready( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_readable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_readable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Receiver::readable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_interest = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Receiver::ready(&*api_that_guard, api_interest) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_try_read_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_try_read", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = tokio::net::unix::pipe::Receiver::try_read( + &*api_that_guard, + &mut *api_buf_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Receiver_try_read_vectored_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Receiver_try_read_vectored", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_bufs = ]>, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_bufs_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_bufs, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_bufs_guard = Some(api_bufs.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_bufs_guard = api_bufs_guard.unwrap(); + let output_ok = tokio::net::unix::pipe::Receiver::try_read_vectored( + &*api_that_guard, + &mut *api_bufs_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__task__coop__RestoreOnPending_made_progress_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "RestoreOnPending_made_progress", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::task::coop::RestoreOnPending::made_progress(&*api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_get_facets_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_get_facets", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.facets.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_get_original_query_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_get_original_query", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.original_query.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_get_query_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_get_query", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.query.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_get_query_terms_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_get_query_terms", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.query_terms.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_get_result_count_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_get_result_count", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.result_count.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_get_result_count_total_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_get_result_count_total", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.result_count_total.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_get_results_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_get_results", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.results.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_get_suggestions_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_get_suggestions", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.suggestions.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_set_facets_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_set_facets", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_facets = >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.facets = api_facets; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_set_original_query_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_set_original_query", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_original_query = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.original_query = api_original_query; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_set_query_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_set_query", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_query = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.query = api_query; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_set_query_terms_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_set_query_terms", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_query_terms = >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.query_terms = api_query_terms; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_set_result_count_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_set_result_count", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_result_count = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.result_count = api_result_count; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_set_result_count_total_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_set_result_count_total", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_result_count_total = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.result_count_total = api_result_count_total; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_set_results_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_set_results", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_results = >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.results = api_results; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_auto_accessor_set_suggestions_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_auto_accessor_set_suggestions", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_suggestions = >::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.suggestions = api_suggestions; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultObject_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultObject_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::search::ResultObject::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__search__ResultSort_auto_accessor_get_base_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultSort_auto_accessor_get_base", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.base.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultSort_auto_accessor_get_field_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultSort_auto_accessor_get_field", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.field.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultSort_auto_accessor_get_order_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultSort_auto_accessor_get_order", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.order.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultSort_auto_accessor_set_base_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultSort_auto_accessor_set_base", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_base = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.base = api_base; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultSort_auto_accessor_set_field_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultSort_auto_accessor_set_field", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_field = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.field = api_field; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__search__ResultSort_auto_accessor_set_order_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ResultSort_auto_accessor_set_order", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_order = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.order = api_order; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__net__tcp__ReuniteError_auto_accessor_get_field0_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReuniteError_auto_accessor_get_field0", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.field0.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__net__tcp__ReuniteError_auto_accessor_get_field1_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReuniteError_auto_accessor_get_field1", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.field1.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__net__tcp__ReuniteError_auto_accessor_set_field0_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReuniteError_auto_accessor_set_field0", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_field0 = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.field0 = api_field0; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__net__tcp__ReuniteError_auto_accessor_set_field1_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ReuniteError_auto_accessor_set_field1", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_field1 = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.field1 = api_field1; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__runtime__RuntimeMetrics_global_queue_depth_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "RuntimeMetrics_global_queue_depth", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::runtime::RuntimeMetrics::global_queue_depth(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__RuntimeMetrics_num_alive_tasks_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "RuntimeMetrics_num_alive_tasks", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::runtime::RuntimeMetrics::num_alive_tasks(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__RuntimeMetrics_num_workers_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "RuntimeMetrics_num_workers", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::runtime::RuntimeMetrics::num_workers(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__RuntimeMetrics_worker_park_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "RuntimeMetrics_worker_park_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_worker = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::runtime::RuntimeMetrics::worker_park_count( + &*api_that_guard, + api_worker, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__RuntimeMetrics_worker_park_unpark_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "RuntimeMetrics_worker_park_unpark_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_worker = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::runtime::RuntimeMetrics::worker_park_unpark_count( + &*api_that_guard, + api_worker, + ), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__RuntimeMetrics_worker_total_busy_duration_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "RuntimeMetrics_worker_total_busy_duration", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_worker = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::runtime::RuntimeMetrics::worker_total_busy_duration( + &*api_that_guard, + api_worker, + ), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Runtime_enter_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Runtime_enter", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::runtime::Runtime::enter(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Runtime_handle_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Runtime_handle", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::runtime::Runtime::handle(&*api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Runtime_metrics_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Runtime_metrics", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::runtime::Runtime::metrics(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__Runtime_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Runtime_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::runtime::Runtime::new()?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__runtime__Runtime_shutdown_background_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Runtime_shutdown_background", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok({ + tokio::runtime::Runtime::shutdown_background(api_that); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_get_boost_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_get_boost", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.boost.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_get_completion_source_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_get_completion_source", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.completion_source.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_get_dictionary_source_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_get_dictionary_source", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.dictionary_source.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_get_facet_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_get_facet", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.facet.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_get_field_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_get_field", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.field.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_get_field_type_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_get_field_type", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.field_type.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_get_indexed_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_get_indexed", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.indexed.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_get_longest_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_get_longest", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.longest.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_get_stored_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_get_stored", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(api_that_guard.stored.clone())?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_set_boost_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_set_boost", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_boost = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.boost = api_boost; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_set_completion_source_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_set_completion_source", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_completion_source = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.completion_source = api_completion_source; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_set_dictionary_source_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_set_dictionary_source", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_dictionary_source = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.dictionary_source = api_dictionary_source; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_set_facet_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_set_facet", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_facet = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.facet = api_facet; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_set_field_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_set_field", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_field = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.field = api_field; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_set_field_type_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_set_field_type", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_field_type = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.field_type = api_field_type; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_set_indexed_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_set_indexed", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_indexed = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.indexed = api_indexed; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_set_longest_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_set_longest", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_longest = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.longest = api_longest; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_auto_accessor_set_stored_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_auto_accessor_set_stored", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_stored = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + { + api_that_guard.stored = api_stored; + }; + })?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__seekstorm__index__SchemaField_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SchemaField_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_field = ::sse_decode(&mut deserializer); + let api_stored = ::sse_decode(&mut deserializer); + let api_indexed = ::sse_decode(&mut deserializer); + let api_field_type = ::sse_decode(&mut deserializer); + let api_facet = ::sse_decode(&mut deserializer); + let api_longest = ::sse_decode(&mut deserializer); + let api_boost = ::sse_decode(&mut deserializer); + let api_dictionary_source = ::sse_decode(&mut deserializer); + let api_completion_source = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::index::SchemaField::new( + api_field, + api_stored, + api_indexed, + api_field_type, + api_facet, + api_longest, + api_boost, + api_dictionary_source, + api_completion_source, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_acquire_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_acquire", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, AcquireError>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::sync::Semaphore::acquire(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_acquire_many_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_acquire_many", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_n = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, AcquireError>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::sync::Semaphore::acquire_many(&*api_that_guard, api_n).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_acquire_many_owned_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_acquire_many_owned", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_n = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, AcquireError>( + (move || async move { + let output_ok = + tokio::sync::Semaphore::acquire_many_owned(api_that, api_n).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_acquire_owned_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_acquire_owned", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, AcquireError>( + (move || async move { + let output_ok = tokio::sync::Semaphore::acquire_owned(api_that).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_add_permits_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_add_permits", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_n = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::sync::Semaphore::add_permits(&*api_that_guard, api_n); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_available_permits_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_available_permits", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::sync::Semaphore::available_permits(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_close_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_close", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::sync::Semaphore::close(&*api_that_guard); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_const_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_const_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_permits = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::sync::Semaphore::const_new(api_permits))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_forget_permits_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_forget_permits", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_n = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::sync::Semaphore::forget_permits( + &*api_that_guard, + api_n, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_is_closed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_is_closed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::sync::Semaphore::is_closed(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_permits = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::sync::Semaphore::new(api_permits))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_try_acquire_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_try_acquire", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, tokio::sync::TryAcquireError>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::sync::Semaphore::try_acquire(&*api_that_guard)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_try_acquire_many_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_try_acquire_many", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_n = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, tokio::sync::TryAcquireError>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::sync::Semaphore::try_acquire_many(&*api_that_guard, api_n)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_try_acquire_many_owned_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_try_acquire_many_owned", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_n = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, tokio::sync::TryAcquireError>((move || { + let output_ok = + tokio::sync::Semaphore::try_acquire_many_owned(api_that, api_n)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__sync__Semaphore_try_acquire_owned_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Semaphore_try_acquire_owned", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, tokio::sync::TryAcquireError>((move || { + let output_ok = tokio::sync::Semaphore::try_acquire_owned(api_that)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_blocking_send_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_blocking_send", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_value = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, SendError>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Sender::blocking_send(&*api_that_guard, api_value)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_borrow_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_borrow", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::borrow( + &*api_that_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_capacity_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_capacity", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::capacity( + &*api_that_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_closed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_closed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + tokio::net::unix::pipe::Sender::closed(&*api_that_guard).await; + })?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_downgrade_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_downgrade", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Sender::downgrade(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_is_closed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_is_closed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Sender::is_closed(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_is_empty_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_is_empty", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::is_empty( + &*api_that_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_len_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_len", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::len(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_max_capacity_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_max_capacity", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Sender::max_capacity(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_capacity = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::new(api_capacity))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_poll_closed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_poll_closed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::poll_closed( + &mut *api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_receiver_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_receiver_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Sender::receiver_count(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_reserve_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_reserve", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, SendError<()>>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Sender::reserve(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_reserve_many_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_reserve_many", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_n = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, SendError<()>>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Sender::reserve_many(&*api_that_guard, api_n) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_reserve_owned_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_reserve_owned", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, SendError<()>>( + (move || async move { + let output_ok = + tokio::net::unix::pipe::Sender::reserve_owned(api_that).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_same_channel_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_same_channel", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_other = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_other_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_other, 1, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_other_guard = Some(api_other.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let api_other_guard = api_other_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::same_channel( + &*api_that_guard, + &*api_other_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_send_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_send", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_value = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, SendError>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Sender::send(&*api_that_guard, api_value)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_send_replace_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_send_replace", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_value = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Sender::send_replace(&*api_that_guard, api_value), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_send_timeout_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_send_timeout", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_value = ::sse_decode(&mut deserializer); + let api_timeout = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, SendTimeoutError>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::unix::pipe::Sender::send_timeout( + &*api_that_guard, + api_value, + api_timeout, + ) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_sender_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_sender_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Sender::sender_count(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_strong_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_strong_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Sender::strong_count(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_subscribe_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_subscribe", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Sender::subscribe(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_try_reserve_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_try_reserve", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, TrySendError<()>>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::unix::pipe::Sender::try_reserve(&*api_that_guard)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_try_reserve_many_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_try_reserve_many", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_n = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, TrySendError<()>>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Sender::try_reserve_many(&*api_that_guard, api_n)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_try_reserve_owned_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_try_reserve_owned", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, TrySendError>((move || { + let output_ok = tokio::net::unix::pipe::Sender::try_reserve_owned(api_that)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_try_send_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_try_send", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + let api_message = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, TrySendError>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Sender::try_send(&*api_that_guard, api_message)?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__SenderT_weak_count_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SenderT_weak_count", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::pipe::Sender::weak_count(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_from_file_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_from_file", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_file = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::unix::pipe::Sender::from_file(api_file)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_from_file_unchecked_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_from_file_unchecked", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_file = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = + tokio::net::unix::pipe::Sender::from_file_unchecked(api_file)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_from_owned_fd_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_from_owned_fd", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_owned_fd = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = + tokio::net::unix::pipe::Sender::from_owned_fd(api_owned_fd)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_from_owned_fd_unchecked_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_from_owned_fd_unchecked", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_owned_fd = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = + tokio::net::unix::pipe::Sender::from_owned_fd_unchecked(api_owned_fd)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_into_blocking_fd_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_into_blocking_fd", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::unix::pipe::Sender::into_blocking_fd(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_into_nonblocking_fd_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_into_nonblocking_fd", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = + tokio::net::unix::pipe::Sender::into_nonblocking_fd(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_poll_write_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_poll_write_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::poll_write_ready( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_interest = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Sender::ready(&*api_that_guard, api_interest) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_try_write_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_try_write", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Sender::try_write(&*api_that_guard, &api_buf)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_try_write_vectored_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_try_write_vectored", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::unix::pipe::Sender::try_write_vectored( + &*api_that_guard, + &api_buf, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__Sender_writable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sender_writable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::unix::pipe::Sender::writable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_alarm_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_alarm", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::alarm())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_as_raw_value_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_as_raw_value", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::signal::unix::SignalKind::as_raw_value(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_child_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_child", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::child())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_from_raw_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_from_raw", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_signum = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::from_raw(api_signum))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_hangup_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_hangup", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::hangup())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_info_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_info", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::info())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_interrupt_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_interrupt", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::interrupt())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_io_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_io", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::io())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_pipe_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_pipe", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::pipe())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_quit_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_quit", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::quit())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_terminate_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_terminate", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::terminate())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_user_defined1_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_user_defined1", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::user_defined1())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_user_defined2_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_user_defined2", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::user_defined2())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__SignalKind_window_change_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SignalKind_window_change", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::window_change())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__Signal_poll_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Signal_poll_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::Signal::poll_recv( + &mut *api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__signal__unix__Signal_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Signal_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, true, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let mut api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::signal::unix::Signal::recv(&mut *api_that_guard).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__io__SimplexStream_new_unsplit_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SimplexStream_new_unsplit", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_max_buf_size = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::SimplexStream::new_unsplit( + api_max_buf_size, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Sleep_deadline_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sleep_deadline", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::time::Sleep::deadline(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Sleep_is_elapsed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sleep_is_elapsed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::time::Sleep::is_elapsed(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__Sleep_reset_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "Sleep_reset", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_deadline = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok({ + tokio::time::Sleep::reset(api_that, api_deadline); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__SocketAddr_as_pathname_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SocketAddr_as_pathname", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::net::unix::SocketAddr::as_pathname(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__SocketAddr_is_unnamed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "SocketAddr_is_unnamed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::unix::SocketAddr::is_unnamed( + &*api_that_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__StopwordType_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "StopwordType_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::index::StopwordType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__TcpListener_accept_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpListener_accept", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpListener::accept(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__TcpListener_from_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpListener_from_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_listener = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::TcpListener::from_std(api_listener)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpListener_into_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpListener_into_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::TcpListener::into_std(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpListener_local_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpListener_local_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpListener::local_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpListener_poll_accept_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpListener_poll_accept", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::TcpListener::poll_accept( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__TcpListener_set_ttl_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpListener_set_ttl", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_ttl = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpListener::set_ttl(&*api_that_guard, api_ttl)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpListener_ttl_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpListener_ttl", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpListener::ttl(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_bind_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_bind", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_addr = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::bind(&*api_that_guard, api_addr)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_connect_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_connect", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_addr = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let output_ok = tokio::net::TcpSocket::connect(api_that, api_addr).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_from_std_stream_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_from_std_stream", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_std_stream = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::net::TcpSocket::from_std_stream( + api_std_stream, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_keepalive_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_keepalive", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::keepalive(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_linger_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_linger", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::linger(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_listen_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_listen", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_backlog = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::TcpSocket::listen(api_that, api_backlog)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_local_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_local_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::local_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_new_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_new_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::TcpSocket::new_v4()?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_new_v6_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_new_v6", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::TcpSocket::new_v6()?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_nodelay_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_nodelay", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::nodelay(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_recv_buffer_size_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_recv_buffer_size", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::recv_buffer_size(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_reuseaddr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_reuseaddr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::reuseaddr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_reuseport_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_reuseport", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::reuseport(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_send_buffer_size_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_send_buffer_size", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::send_buffer_size(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_set_keepalive_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_set_keepalive", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_keepalive = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpSocket::set_keepalive(&*api_that_guard, api_keepalive)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_set_linger_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_set_linger", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_dur = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpSocket::set_linger(&*api_that_guard, api_dur)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_set_nodelay_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_set_nodelay", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_nodelay = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpSocket::set_nodelay(&*api_that_guard, api_nodelay)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_set_recv_buffer_size_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_set_recv_buffer_size", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_size = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::set_recv_buffer_size( + &*api_that_guard, + api_size, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_set_reuseaddr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_set_reuseaddr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_reuseaddr = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpSocket::set_reuseaddr(&*api_that_guard, api_reuseaddr)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_set_reuseport_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_set_reuseport", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_reuseport = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpSocket::set_reuseport(&*api_that_guard, api_reuseport)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_set_send_buffer_size_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_set_send_buffer_size", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_size = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::set_send_buffer_size( + &*api_that_guard, + api_size, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_set_tclass_v6_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_set_tclass_v6", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_tclass = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpSocket::set_tclass_v6(&*api_that_guard, api_tclass)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_set_tos_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_set_tos", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_tos = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::set_tos(&*api_that_guard, api_tos)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_set_tos_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_set_tos_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_tos = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpSocket::set_tos_v4(&*api_that_guard, api_tos)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_take_error_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_take_error", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::take_error(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_tclass_v6_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_tclass_v6", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::tclass_v6(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_tos_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_tos", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::tos(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpSocket_tos_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpSocket_tos_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpSocket::tos_v4(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_from_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_from_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_stream = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::TcpStream::from_std(api_stream)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_into_split_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_into_split", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::net::TcpStream::into_split(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__TcpStream_into_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_into_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::TcpStream::into_std(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_linger_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_linger", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpStream::linger(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_local_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_local_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpStream::local_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_nodelay_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_nodelay", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpStream::nodelay(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_peek_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_peek", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + 1 => { + api_buf_guard = + Some(api_buf.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = + tokio::net::TcpStream::peek(&*api_that_guard, &mut *api_buf_guard) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_peer_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_peer_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpStream::peer_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_poll_peek_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_poll_peek", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 2, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::TcpStream::poll_peek( + &*api_that_guard, + &mut *api_cx_guard, + &mut *api_buf_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__TcpStream_poll_read_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_poll_read_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::TcpStream::poll_read_ready( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__TcpStream_poll_write_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_poll_write_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::TcpStream::poll_write_ready( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__TcpStream_readable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_readable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpStream::readable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_interest = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpStream::ready(&*api_that_guard, api_interest).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_set_linger_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_set_linger", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_dur = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpStream::set_linger(&*api_that_guard, api_dur)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_set_nodelay_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_set_nodelay", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_nodelay = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpStream::set_nodelay(&*api_that_guard, api_nodelay)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_set_ttl_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_set_ttl", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_ttl = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpStream::set_ttl(&*api_that_guard, api_ttl)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_take_error_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_take_error", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpStream::take_error(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_try_read_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_try_read", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = + tokio::net::TcpStream::try_read(&*api_that_guard, &mut *api_buf_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_try_read_vectored_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_try_read_vectored", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_bufs = ]>, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_bufs_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_bufs, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_bufs_guard = Some(api_bufs.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_bufs_guard = api_bufs_guard.unwrap(); + let output_ok = tokio::net::TcpStream::try_read_vectored( + &*api_that_guard, + &mut *api_bufs_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_try_write_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_try_write", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpStream::try_write(&*api_that_guard, &api_buf)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_try_write_vectored_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_try_write_vectored", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_bufs = >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::TcpStream::try_write_vectored(&*api_that_guard, &api_bufs)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_ttl_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_ttl", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpStream::ttl(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__TcpStream_writable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TcpStream_writable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::TcpStream::writable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__runtime__TryCurrentError_is_missing_context_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TryCurrentError_is_missing_context", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::runtime::TryCurrentError::is_missing_context(&*api_that_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__runtime__TryCurrentError_is_thread_local_destroyed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "TryCurrentError_is_thread_local_destroyed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::runtime::TryCurrentError::is_thread_local_destroyed( + &*api_that_guard, + ), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__UCred_gid_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UCred_gid", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::UCred::gid(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__UCred_pid_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UCred_pid", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::UCred::pid(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__UCred_uid_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UCred_uid", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::unix::UCred::uid(&*api_that_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_broadcast_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_broadcast", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::broadcast(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_from_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_from_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_socket = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UdpSocket::from_std(api_socket)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_into_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_into_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UdpSocket::into_std(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_join_multicast_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_join_multicast_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_multiaddr = ::sse_decode(&mut deserializer); + let api_interface = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::join_multicast_v4( + &*api_that_guard, + api_multiaddr, + api_interface, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_join_multicast_v6_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_join_multicast_v6", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_multiaddr = , + >>::sse_decode(&mut deserializer); + let api_interface = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_multiaddr_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_multiaddr, + 1, + false, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => { + api_multiaddr_guard = + Some(api_multiaddr.lockable_decode_sync_ref()) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let api_multiaddr_guard = api_multiaddr_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::join_multicast_v6( + &*api_that_guard, + &*api_multiaddr_guard, + api_interface, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_leave_multicast_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_leave_multicast_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_multiaddr = ::sse_decode(&mut deserializer); + let api_interface = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::leave_multicast_v4( + &*api_that_guard, + api_multiaddr, + api_interface, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_leave_multicast_v6_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_leave_multicast_v6", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_multiaddr = , + >>::sse_decode(&mut deserializer); + let api_interface = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_multiaddr_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_multiaddr, + 1, + false, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => { + api_multiaddr_guard = + Some(api_multiaddr.lockable_decode_sync_ref()) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let api_multiaddr_guard = api_multiaddr_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::leave_multicast_v6( + &*api_that_guard, + &*api_multiaddr_guard, + api_interface, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_local_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_local_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::local_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_multicast_loop_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_multicast_loop_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::multicast_loop_v4(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_multicast_loop_v6_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_multicast_loop_v6", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::multicast_loop_v6(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_multicast_ttl_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_multicast_ttl_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::multicast_ttl_v4(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_peek_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_peek", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + 1 => { + api_buf_guard = + Some(api_buf.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::peek(&*api_that_guard, &mut *api_buf_guard) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_peek_from_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_peek_from", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + 1 => { + api_buf_guard = + Some(api_buf.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::peek_from(&*api_that_guard, &mut *api_buf_guard) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_peek_sender_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_peek_sender", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::peek_sender(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_peer_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_peer_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::peer_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_poll_peek_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_poll_peek", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 2, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_peek( + &*api_that_guard, + &mut *api_cx_guard, + &mut *api_buf_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_poll_peek_from_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_poll_peek_from", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 2, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_peek_from( + &*api_that_guard, + &mut *api_cx_guard, + &mut *api_buf_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_poll_peek_sender_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_poll_peek_sender", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_peek_sender( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_poll_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_poll_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 2, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_recv( + &*api_that_guard, + &mut *api_cx_guard, + &mut *api_buf_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_poll_recv_from_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_poll_recv_from", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 2, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_recv_from( + &*api_that_guard, + &mut *api_cx_guard, + &mut *api_buf_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_poll_recv_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_poll_recv_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_recv_ready( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_poll_send_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_poll_send", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_send( + &*api_that_guard, + &mut *api_cx_guard, + &api_buf, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_poll_send_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_poll_send_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_send_ready( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_poll_send_to_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_poll_send_to", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + let api_target = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_send_to( + &*api_that_guard, + &mut *api_cx_guard, + &api_buf, + api_target, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_readable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_readable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::readable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_interest = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::ready(&*api_that_guard, api_interest).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + 1 => { + api_buf_guard = + Some(api_buf.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::recv(&*api_that_guard, &mut *api_buf_guard) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_recv_from_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_recv_from", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + 1 => { + api_buf_guard = + Some(api_buf.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::recv_from(&*api_that_guard, &mut *api_buf_guard) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_send_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_send", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::send(&*api_that_guard, &api_buf).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_set_broadcast_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_set_broadcast", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_on = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::set_broadcast(&*api_that_guard, api_on)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_set_multicast_loop_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_set_multicast_loop_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_on = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::set_multicast_loop_v4(&*api_that_guard, api_on)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_set_multicast_loop_v6_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_set_multicast_loop_v6", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_on = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::set_multicast_loop_v6(&*api_that_guard, api_on)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_set_multicast_ttl_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_set_multicast_ttl_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_ttl = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::set_multicast_ttl_v4(&*api_that_guard, api_ttl)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_set_tclass_v6_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_set_tclass_v6", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_tclass = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::set_tclass_v6(&*api_that_guard, api_tclass)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_set_tos_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_set_tos", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_tos = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::set_tos(&*api_that_guard, api_tos)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_set_tos_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_set_tos_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_tos = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::set_tos_v4(&*api_that_guard, api_tos)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_set_ttl_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_set_ttl", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_ttl = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::set_ttl(&*api_that_guard, api_ttl)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_take_error_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_take_error", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::take_error(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_tclass_v6_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_tclass_v6", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::tclass_v6(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_tos_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_tos", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::tos(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_tos_v4_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_tos_v4", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::tos_v4(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_try_peek_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_try_peek", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::try_peek(&*api_that_guard, &mut *api_buf_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_try_peek_from_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_try_peek_from", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::try_peek_from( + &*api_that_guard, + &mut *api_buf_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_try_peek_sender_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_try_peek_sender", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::try_peek_sender(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_try_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_try_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::try_recv(&*api_that_guard, &mut *api_buf_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_try_recv_from_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_try_recv_from", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::try_recv_from( + &*api_that_guard, + &mut *api_buf_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_try_send_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_try_send", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UdpSocket::try_send(&*api_that_guard, &api_buf)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_try_send_to_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_try_send_to", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + let api_target = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::try_send_to( + &*api_that_guard, + &api_buf, + api_target, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_ttl_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_ttl", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::ttl(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UdpSocket_writable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UdpSocket_writable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UdpSocket::writable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_from_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_from_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_datagram = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixDatagram::from_std(api_datagram)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_into_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_into_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixDatagram::into_std(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_local_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_local_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixDatagram::local_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_pair_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_pair", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixDatagram::pair()?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_peer_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_peer_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixDatagram::peer_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_poll_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_poll_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 2, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UnixDatagram::poll_recv( + &*api_that_guard, + &mut *api_cx_guard, + &mut *api_buf_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_poll_recv_from_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_poll_recv_from", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 2, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UnixDatagram::poll_recv_from( + &*api_that_guard, + &mut *api_cx_guard, + &mut *api_buf_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_poll_recv_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_poll_recv_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::UnixDatagram::poll_recv_ready( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_poll_send_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_poll_send", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UnixDatagram::poll_send( + &*api_that_guard, + &mut *api_cx_guard, + &api_buf, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_poll_send_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_poll_send_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::net::UnixDatagram::poll_send_ready( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_readable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_readable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UnixDatagram::readable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_interest = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UnixDatagram::ready(&*api_that_guard, api_interest).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + 1 => { + api_buf_guard = + Some(api_buf.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = + tokio::net::UnixDatagram::recv(&*api_that_guard, &mut *api_buf_guard) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_recv_from_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_recv_from", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + 1 => { + api_buf_guard = + Some(api_buf.lockable_decode_async_ref_mut().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = tokio::net::UnixDatagram::recv_from( + &*api_that_guard, + &mut *api_buf_guard, + ) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_send_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_send", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UnixDatagram::send(&*api_that_guard, &api_buf).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_shutdown_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_shutdown", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_how = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UnixDatagram::shutdown(&*api_that_guard, api_how)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_take_error_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_take_error", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixDatagram::take_error(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_try_recv_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_try_recv", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = tokio::net::UnixDatagram::try_recv( + &*api_that_guard, + &mut *api_buf_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_try_recv_from_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_try_recv_from", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = tokio::net::UnixDatagram::try_recv_from( + &*api_that_guard, + &mut *api_buf_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_try_send_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_try_send", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UnixDatagram::try_send(&*api_that_guard, &api_buf)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_unbound_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_unbound", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixDatagram::unbound()?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixDatagram_writable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixDatagram_writable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UnixDatagram::writable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UnixListener_accept_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixListener_accept", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixListener::accept(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UnixListener_from_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixListener_from_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_listener = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixListener::from_std(api_listener)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixListener_into_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixListener_into_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixListener::into_std(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixListener_local_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixListener_local_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixListener::local_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixListener_poll_accept_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixListener_poll_accept", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UnixListener::poll_accept( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UnixListener_take_error_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixListener_take_error", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixListener::take_error(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixSocket_datagram_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixSocket_datagram", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixSocket::datagram(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixSocket_listen_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixSocket_listen", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_backlog = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixSocket::listen(api_that, api_backlog)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixSocket_new_datagram_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixSocket_new_datagram", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixSocket::new_datagram()?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixSocket_new_stream_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixSocket_new_stream", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixSocket::new_stream()?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_from_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_from_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_stream = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixStream::from_std(api_stream)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_into_split_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_into_split", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::net::UnixStream::into_split(api_that))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UnixStream_into_std_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_into_std", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixStream::into_std(api_that)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_local_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_local_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixStream::local_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_pair_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_pair", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::UnixStream::pair()?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_peer_addr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_peer_addr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixStream::peer_addr(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_peer_cred_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_peer_cred", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixStream::peer_cred(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_poll_read_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_poll_read_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UnixStream::poll_read_ready( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UnixStream_poll_write_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_poll_write_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_that_guard = None; + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 1, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok(tokio::net::UnixStream::poll_write_ready( + &*api_that_guard, + &mut *api_cx_guard, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__UnixStream_readable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_readable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixStream::readable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_ready_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_ready", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_interest = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UnixStream::ready(&*api_that_guard, api_interest).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_take_error_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_take_error", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixStream::take_error(&*api_that_guard)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_try_read_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_try_read", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_buf_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_buf, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_buf_guard = api_buf_guard.unwrap(); + let output_ok = tokio::net::UnixStream::try_read( + &*api_that_guard, + &mut *api_buf_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_try_read_vectored_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_try_read_vectored", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_bufs = ]>, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let mut api_bufs_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + ), + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_bufs, 1, true, + ), + ], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + 1 => api_bufs_guard = Some(api_bufs.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let mut api_bufs_guard = api_bufs_guard.unwrap(); + let output_ok = tokio::net::UnixStream::try_read_vectored( + &*api_that_guard, + &mut *api_bufs_guard, + )?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_try_write_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_try_write", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UnixStream::try_write(&*api_that_guard, &api_buf)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_try_write_vectored_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_try_write_vectored", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + let api_buf = >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = + tokio::net::UnixStream::try_write_vectored(&*api_that_guard, &api_buf)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__tokio__net__UnixStream_writable_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "UnixStream_writable", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let mut api_that_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_that, 0, false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_that_guard = + Some(api_that.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_that_guard = api_that_guard.unwrap(); + let output_ok = tokio::net::UnixStream::writable(&*api_that_guard).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__ValueType_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ValueType_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::index::ValueType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__advance_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "advance", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_duration = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let output_ok = Result::<_, ()>::Ok({ + tokio::time::advance(api_duration).await; + })?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__compression_type_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "compression_type_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::index::CompressionType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__task__coop__consume_budget_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "consume_budget", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let output_ok = Result::<_, ()>::Ok({ + tokio::task::coop::consume_budget().await; + })?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__index__create_index_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "create_index", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_index_path = , + >>::sse_decode(&mut deserializer); + let api_meta = ::sse_decode(&mut deserializer); + let api_schema = >::sse_decode(&mut deserializer); + let api_synonyms = >::sse_decode(&mut deserializer); + let api_segment_number_bits1 = ::sse_decode(&mut deserializer); + let api_mute = ::sse_decode(&mut deserializer); + let api_force_shard_number = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, String>( + (move || async move { + let mut api_index_path_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_index_path, + 0, + false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_index_path_guard = + Some(api_index_path.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_index_path_guard = api_index_path_guard.unwrap(); + let output_ok = seekstorm::index::create_index( + &*api_index_path_guard, + api_meta, + &api_schema, + &api_synonyms, + api_segment_number_bits1, + api_mute, + api_force_shard_number, + ) + .await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__signal__ctrl_c_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ctrl_c", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || async move { + let output_ok = tokio::signal::ctrl_c().await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__seekstorm__geo_search__decode_morton_2_d_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "decode_morton_2_d", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_code = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::geo_search::decode_morton_2_d(api_code))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__distance_field_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "distance_field_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::index::DistanceField::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__duplex_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "duplex", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_max_buf_size = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::duplex(api_max_buf_size))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__empty_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "empty", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::empty())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__geo_search__encode_morton_2_d_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "encode_morton_2_d", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_point = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::geo_search::encode_morton_2_d(&api_point))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__geo_search__euclidian_distance_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "euclidian_distance", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_point1 = >::sse_decode(&mut deserializer); + let api_point2 = >::sse_decode(&mut deserializer); + let api_unit = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::geo_search::euclidian_distance( + &api_point1, + &api_point2, + &api_unit, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__field_type_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "field_type_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::index::FieldType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__crate__api__simple__greet_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "greet", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_name = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(crate::api::simple::greet(api_name))?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__tokio__task__coop__has_budget_remaining_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "has_budget_remaining", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::task::coop::has_budget_remaining())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__highlighter__highlight_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "highlight_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::highlighter::Highlight::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__highlighter__highlighter_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "highlighter", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_index_arc = >>, + >>::sse_decode(&mut deserializer); + let api_highlights = + >::sse_decode(&mut deserializer); + let api_query_terms_vec = >::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_index_arc_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_index_arc, + 0, + false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_index_arc_guard = + Some(api_index_arc.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_index_arc_guard = api_index_arc_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + seekstorm::highlighter::highlighter( + &*api_index_arc_guard, + api_highlights, + api_query_terms_vec, + ) + .await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__crate__api__simple__init_app_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "init_app", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok({ + crate::api::simple::init_app(); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__interval_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "interval", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_period = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::time::interval(api_period))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__interval_at_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "interval_at", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_start = ::sse_decode(&mut deserializer); + let api_period = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::time::interval_at(api_start, api_period))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__missed_tick_behavior_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "missed_tick_behavior_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::time::MissedTickBehavior::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__geo_search__morton_ordering_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "morton_ordering", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_morton1 = ::sse_decode(&mut deserializer); + let api_morton2 = ::sse_decode(&mut deserializer); + let api_base_point = >::sse_decode(&mut deserializer); + let api_order = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::geo_search::morton_ordering( + api_morton1, + api_morton2, + &api_base_point, + &api_order, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__ngram_type_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "ngram_type_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::index::NgramType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__open_index_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "open_index", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_index_path = , + >>::sse_decode(&mut deserializer); + let api_mute = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, String>( + (move || async move { + let mut api_index_path_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_index_path, + 0, + false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_index_path_guard = + Some(api_index_path.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_index_path_guard = api_index_path_guard.unwrap(); + let output_ok = + seekstorm::index::open_index(&*api_index_path_guard, api_mute).await?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__time__pause_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "pause", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok({ + tokio::time::pause(); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__net__unix__pipe__pipe_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "pipe", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::net::unix::pipe::pipe()?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__seekstorm__geo_search__point_distance_to_morton_range_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "point_distance_to_morton_range", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_point = >::sse_decode(&mut deserializer); + let api_distance = ::sse_decode(&mut deserializer); + let api_unit = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok( + seekstorm::geo_search::point_distance_to_morton_range( + &api_point, + api_distance, + &api_unit, + ), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__macros__support__poll_budget_available_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "poll_budget_available", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok( + tokio::macros::support::poll_budget_available(&mut *api_cx_guard), + )?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__task__coop__poll_proceed_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "poll_proceed", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_cx = >, + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let mut api_cx_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ + flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_cx, 0, true, + ), + ]); + for i in decode_indices_ { + match i { + 0 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), + _ => unreachable!(), + } + } + let mut api_cx_guard = api_cx_guard.unwrap(); + let output_ok = + Result::<_, ()>::Ok(tokio::task::coop::poll_proceed(&mut *api_cx_guard))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__search__query_type_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "query_type_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::search::QueryType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__search__range_type_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "range_type_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::search::RangeType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__repeat_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "repeat", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_byte = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::repeat(api_byte))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__search__result_type_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "result_type_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::search::ResultType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__resume_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "resume", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok({ + tokio::time::resume(); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__crate__api__keyword_search__search_fn_delete_index_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "search_fn_delete_index", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let output_ok = Result::<_, ()>::Ok({ + crate::api::keyword_search::SearchFn::delete_index(&api_that).await; + })?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__crate__api__keyword_search__search_fn_ingest_pdf_dir_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "search_fn_ingest_pdf_dir", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + let api_dir_path = , + >>::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let mut api_dir_path_guard = None; + let decode_indices_ = + flutter_rust_bridge::for_generated::lockable_compute_decode_order( + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( + &api_dir_path, + 0, + false, + )], + ); + for i in decode_indices_ { + match i { + 0 => { + api_dir_path_guard = + Some(api_dir_path.lockable_decode_async_ref().await) + } + _ => unreachable!(), + } + } + let api_dir_path_guard = api_dir_path_guard.unwrap(); + let output_ok = Result::<_, ()>::Ok({ + crate::api::keyword_search::SearchFn::ingest_pdf_dir( + &api_that, + &*api_dir_path_guard, + ) + .await; + })?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__crate__api__keyword_search__search_fn_new_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "search_fn_new", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_that = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let output_ok = Result::<_, ()>::Ok( + crate::api::keyword_search::SearchFn::new(&api_that).await, + )?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} +fn wire__tokio__signal__unix__signal_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "signal", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_kind = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( + (move || { + let output_ok = tokio::signal::unix::signal(api_kind)?; + Ok(output_ok) + })(), + ) + } + }, + ) +} +fn wire__seekstorm__index__similarity_type_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "similarity_type_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::index::SimilarityType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__simplex_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "simplex", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_max_buf_size = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::simplex(api_max_buf_size))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__sink_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "sink", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::sink())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__sleep_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "sleep", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_duration = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::time::sleep(api_duration))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__time__sleep_until_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "sleep_until", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_deadline = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::time::sleep_until(api_deadline))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__stderr_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "stderr", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::stderr())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__stdin_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "stdin", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::stdin())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__io__stdout_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "stdout", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(tokio::io::stdout())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__stemmer_type_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "stemmer_type_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::index::StemmerType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__utils__substring_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "substring", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_source = ::sse_decode(&mut deserializer); + let api_start = ::sse_decode(&mut deserializer); + let api_length = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(seekstorm::utils::substring( + &api_source, + api_start, + api_length, + ))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__macros__support__thread_rng_n_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "thread_rng_n", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_n = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(tokio::macros::support::thread_rng_n(api_n))?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__tokenizer_type_default_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "tokenizer_type_default", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = + Result::<_, ()>::Ok(seekstorm::index::TokenizerType::default())?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__utils__truncate_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "truncate", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_source = ::sse_decode(&mut deserializer); + let api_max_chars = ::sse_decode(&mut deserializer); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok({ + seekstorm::utils::truncate(&api_source, api_max_chars); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__seekstorm__index__version_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "version", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok({ + seekstorm::index::version(); + })?; + Ok(output_ok) + })()) + } + }, + ) +} +fn wire__tokio__task__yield_now_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "yield_now", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| async move { + transform_result_sse::<_, ()>( + (move || async move { + let output_ok = Result::<_, ()>::Ok({ + tokio::task::yield_now().await; + })?; + Ok(output_ok) + })() + .await, + ) + } + }, + ) +} + +// Section: static_checks + +#[allow(clippy::unnecessary_literal_unwrap)] +const _: fn() = || { + { + let DistanceField = None::.unwrap(); + let _: String = DistanceField.field; + let _: String = DistanceField.distance; + let _: Vec = DistanceField.base; + let _: seekstorm::index::DistanceUnit = DistanceField.unit; + } + { + let Highlight = None::.unwrap(); + let _: String = Highlight.field; + let _: String = Highlight.name; + let _: usize = Highlight.fragment_number; + let _: usize = Highlight.fragment_size; + let _: bool = Highlight.highlight_markup; + let _: String = Highlight.pre_tags; + let _: String = Highlight.post_tags; + } + { + let QueryCompletion = None::.unwrap(); + let _: usize = QueryCompletion.max_completion_entries; + } + { + let SpellingCorrection = None::.unwrap(); + let _: usize = SpellingCorrection.max_dictionary_edit_distance; + let _: Option> = SpellingCorrection.term_length_threshold; + let _: usize = SpellingCorrection.count_threshold; + let _: usize = SpellingCorrection.max_dictionary_entries; + } + { + let Synonym = None::.unwrap(); + let _: Vec = Synonym.terms; + let _: bool = Synonym.multiway; + } +}; + +// Section: related_funcs + +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner, usize)>> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner<[IoSliceMut<'_>]> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner<[u8]> +); +flutter_rust_bridge::frb_generated_moi_arc_impl_value!( + flutter_rust_bridge::for_generated::RustAutoOpaqueInner +); + +// Section: dart2rust + +impl SseDecode for flutter_rust_bridge::for_generated::anyhow::Error { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::anyhow::anyhow!("{}", inner); + } +} + +impl SseDecode for AHashMap { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for AcquireError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Arc> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >>, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Barrier { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for BarrierWaitResult { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Child { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ChildStderr { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ChildStdin { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ChildStdout { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Command { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for DocumentItem { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for DuplexStream { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Empty { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for EnterGuard<'static> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Error { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ExitStatus { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for FacetField { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for FacetFilter { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for FacetValue { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for File { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for FileType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for FillBuf<'static, Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Flush<'static, Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for FrequentwordType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Handle { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Highlighter { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Id { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Index { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for IndexMap, usize)> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , usize)>, + >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for IndexMetaObject { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Instant { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Interest { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Interval { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for IoSlice<'static> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Ipv4Addr { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Lines { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for LocalEnterGuard { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for LocalSet { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for MinMaxField { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for MinMaxFieldJson { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Notified<'static> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Notify { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for OpenOptions { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Ordering { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for OwnedFd { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for OwnedNotified { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for OwnedPermit { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for OwnedReadHalf { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for OwnedSemaphorePermit { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for OwnedWriteHalf { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for PdfDocument<'static> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for PermitIterator<'static, T> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Permit<'static, T> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll<()> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >>, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >>, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >>, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >>, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >>, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Poll { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for QueryFacet { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for QueryRewriting { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Ranges { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Range { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadF32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadF32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadF64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadF64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadHalf { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadI128Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadI128<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadI16Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadI16<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadI32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadI32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadI64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadI64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadI8<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadU128Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadU128<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadU16Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadU16<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadU32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadU32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadU64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadU64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReadU8<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Ready { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Receiver { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Receiver { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for RecvError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Ref<'static, T> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Repeat { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for RestoreOnPending { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Result { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ResultObject { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ResultSort { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ReuniteError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Runtime { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for RuntimeMetrics { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for SchemaField { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for SeekFrom { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Seek<'static, Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Semaphore { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for SemaphorePermit<'static> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for SendError<()> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for SendError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for SendTimeoutError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Sender { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Sender { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Shutdown { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Shutdown<'static, Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Signal { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for SignalKind { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for SimplexStream { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Sink { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Sleep { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for SocketAddr { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Split { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for StdCommand { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Stderr { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Stdin { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Stdout { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for StopwordType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for T { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = + >>::sse_decode( + deserializer, + ); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Take { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for TcpListener { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for TcpSocket { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for TcpStream { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for TryCurrentError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for TryRecvError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for TrySendError<()> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for TrySendError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for TrySendError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for UCred { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for UdpSocket { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for UnixDatagram { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for UnixListener { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for UnixSocket { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for UnixStream { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for Value { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for ValueType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WeakSender { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteF32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteF32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteF64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteF64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteHalf { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteI128Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteI128<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteI16Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteI16<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteI32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteI32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteI64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteI64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteI8<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteU128Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteU128<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteU16Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteU16<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteU32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteU32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteU64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteU64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for WriteU8<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >, + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for c_int { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for gid_t { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for pid_t { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for uid_t { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = , + >>::sse_decode(deserializer); + return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); + } +} + +impl SseDecode for chrono::Duration { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return chrono::Duration::microseconds(inner); + } +} + +impl SseDecode for i128 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return inner.parse().unwrap(); + } +} + +impl SseDecode for std::collections::HashMap { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >::sse_decode(deserializer); + return inner.into_iter().collect(); + } +} + +impl SseDecode for std::collections::HashMap { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >::sse_decode(deserializer); + return inner.into_iter().collect(); + } +} + +impl SseDecode for std::collections::HashMap { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >::sse_decode(deserializer); + return inner.into_iter().collect(); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + IndexMap, usize)>, + >, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi]>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi>> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return decode_rust_opaque_moi(inner); + } +} + +impl SseDecode for std::collections::HashSet { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >::sse_decode(deserializer); + return inner.into_iter().collect(); + } +} + +impl SseDecode for String { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >::sse_decode(deserializer); + return String::from_utf8(inner).unwrap(); + } +} + +impl SseDecode for u128 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return inner.parse().unwrap(); + } +} + +impl SseDecode for seekstorm::index::AccessType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::index::AccessType::Ram, + 1 => seekstorm::index::AccessType::Mmap, + _ => unreachable!("Invalid variant for AccessType: {}", inner), + }; + } +} + +impl SseDecode for bool { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_u8().unwrap() != 0 + } +} + +impl SseDecode for seekstorm::index::CompressionType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::index::CompressionType::Delta, + 1 => seekstorm::index::CompressionType::Array, + 2 => seekstorm::index::CompressionType::Bitmap, + 3 => seekstorm::index::CompressionType::Rle, + 4 => seekstorm::index::CompressionType::Error, + _ => unreachable!("Invalid variant for CompressionType: {}", inner), + }; + } +} + +impl SseDecode for seekstorm::index::DistanceField { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field = ::sse_decode(deserializer); + let mut var_distance = ::sse_decode(deserializer); + let mut var_base = >::sse_decode(deserializer); + let mut var_unit = ::sse_decode(deserializer); + return seekstorm::index::DistanceField { + field: var_field, + distance: var_distance, + base: var_base, + unit: var_unit, + }; + } +} + +impl SseDecode for seekstorm::index::DistanceUnit { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::index::DistanceUnit::Kilometers, + 1 => seekstorm::index::DistanceUnit::Miles, + _ => unreachable!("Invalid variant for DistanceUnit: {}", inner), + }; + } +} + +impl SseDecode for f32 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_f32::().unwrap() + } +} + +impl SseDecode for f64 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_f64::().unwrap() + } +} + +impl SseDecode for seekstorm::index::FieldType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::index::FieldType::U8, + 1 => seekstorm::index::FieldType::U16, + 2 => seekstorm::index::FieldType::U32, + 3 => seekstorm::index::FieldType::U64, + 4 => seekstorm::index::FieldType::I8, + 5 => seekstorm::index::FieldType::I16, + 6 => seekstorm::index::FieldType::I32, + 7 => seekstorm::index::FieldType::I64, + 8 => seekstorm::index::FieldType::Timestamp, + 9 => seekstorm::index::FieldType::F32, + 10 => seekstorm::index::FieldType::F64, + 11 => seekstorm::index::FieldType::Bool, + 12 => seekstorm::index::FieldType::String16, + 13 => seekstorm::index::FieldType::String32, + 14 => seekstorm::index::FieldType::StringSet16, + 15 => seekstorm::index::FieldType::StringSet32, + 16 => seekstorm::index::FieldType::Point, + 17 => seekstorm::index::FieldType::Text, + _ => unreachable!("Invalid variant for FieldType: {}", inner), + }; + } +} + +impl SseDecode for seekstorm::highlighter::Highlight { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field = ::sse_decode(deserializer); + let mut var_name = ::sse_decode(deserializer); + let mut var_fragmentNumber = ::sse_decode(deserializer); + let mut var_fragmentSize = ::sse_decode(deserializer); + let mut var_highlightMarkup = ::sse_decode(deserializer); + let mut var_preTags = ::sse_decode(deserializer); + let mut var_postTags = ::sse_decode(deserializer); + return seekstorm::highlighter::Highlight { + field: var_field, + name: var_name, + fragment_number: var_fragmentNumber, + fragment_size: var_fragmentSize, + highlight_markup: var_highlightMarkup, + pre_tags: var_preTags, + post_tags: var_postTags, + }; + } +} + +impl SseDecode for i16 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_i16::().unwrap() + } +} + +impl SseDecode for i32 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_i32::().unwrap() + } +} + +impl SseDecode for i64 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_i64::().unwrap() + } +} + +impl SseDecode for i8 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_i8().unwrap() + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(>::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(>::sse_decode( + deserializer, + )); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode( + deserializer, + )); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec<(String, MinMaxFieldJson)> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(<(String, MinMaxFieldJson)>::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec<(String, SchemaField)> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(<(String, SchemaField)>::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec<(String, Value)> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(<(String, Value)>::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec<(u64, std::collections::HashMap)> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(<(u64, std::collections::HashMap)>::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for tokio::time::MissedTickBehavior { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => tokio::time::MissedTickBehavior::Burst, + 1 => tokio::time::MissedTickBehavior::Delay, + 2 => tokio::time::MissedTickBehavior::Skip, + _ => unreachable!("Invalid variant for MissedTickBehavior: {}", inner), + }; + } +} + +impl SseDecode for seekstorm::index::NgramType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::index::NgramType::SingleTerm, + 1 => seekstorm::index::NgramType::NgramFF, + 2 => seekstorm::index::NgramType::NgramFR, + 3 => seekstorm::index::NgramType::NgramRF, + 4 => seekstorm::index::NgramType::NgramFFF, + 5 => seekstorm::index::NgramType::NgramRFF, + 6 => seekstorm::index::NgramType::NgramFFR, + 7 => seekstorm::index::NgramType::NgramFRF, + _ => unreachable!("Invalid variant for NgramType: {}", inner), + }; + } +} + +impl SseDecode for Option> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(>::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode + for Option>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(, + >>::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode( + deserializer, + )); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode( + deserializer, + )); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option<()> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(<()>::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for Option> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(>::sse_decode(deserializer)); + } else { + return None; + } + } +} + +impl SseDecode for seekstorm::index::QueryCompletion { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_maxCompletionEntries = ::sse_decode(deserializer); + return seekstorm::index::QueryCompletion { + max_completion_entries: var_maxCompletionEntries, + }; + } +} + +impl SseDecode for seekstorm::search::QueryType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::search::QueryType::Union, + 1 => seekstorm::search::QueryType::Intersection, + 2 => seekstorm::search::QueryType::Phrase, + 3 => seekstorm::search::QueryType::Not, + _ => unreachable!("Invalid variant for QueryType: {}", inner), + }; + } +} + +impl SseDecode for seekstorm::search::RangeType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::search::RangeType::CountWithinRange, + 1 => seekstorm::search::RangeType::CountAboveRange, + 2 => seekstorm::search::RangeType::CountBelowRange, + _ => unreachable!("Invalid variant for RangeType: {}", inner), + }; + } +} + +impl SseDecode for (DuplexStream, DuplexStream) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (OwnedReadHalf, OwnedWriteHalf) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (ReadHalf, WriteHalf) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = >::sse_decode(deserializer); + let mut var_field1 = >::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (Sender, Receiver) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (TcpStream, SocketAddr) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (UnixDatagram, UnixDatagram) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (UnixStream, SocketAddr) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (UnixStream, UnixStream) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (String, MinMaxFieldJson) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (String, SchemaField) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (String, Value) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (u64, std::collections::HashMap) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = >::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for (usize, SocketAddr) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + +impl SseDecode for seekstorm::search::ResultType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::search::ResultType::Count, + 1 => seekstorm::search::ResultType::Topk, + 2 => seekstorm::search::ResultType::TopkCount, + _ => unreachable!("Invalid variant for ResultType: {}", inner), + }; + } +} + +impl SseDecode for tokio::runtime::RuntimeFlavor { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => tokio::runtime::RuntimeFlavor::CurrentThread, + 1 => tokio::runtime::RuntimeFlavor::MultiThread, + _ => unreachable!("Invalid variant for RuntimeFlavor: {}", inner), + }; + } +} + +impl SseDecode for crate::api::keyword_search::SearchFn { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_pathToIndex = ::sse_decode(deserializer); + return crate::api::keyword_search::SearchFn { + path_to_index: var_pathToIndex, + }; + } +} + +impl SseDecode for seekstorm::index::SimilarityType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::index::SimilarityType::Bm25f, + 1 => seekstorm::index::SimilarityType::Bm25fProximity, + _ => unreachable!("Invalid variant for SimilarityType: {}", inner), + }; + } +} + +impl SseDecode for seekstorm::search::SortOrder { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::search::SortOrder::Ascending, + 1 => seekstorm::search::SortOrder::Descending, + _ => unreachable!("Invalid variant for SortOrder: {}", inner), + }; + } +} + +impl SseDecode for seekstorm::index::SpellingCorrection { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_maxDictionaryEditDistance = ::sse_decode(deserializer); + let mut var_termLengthThreshold = >>::sse_decode(deserializer); + let mut var_countThreshold = ::sse_decode(deserializer); + let mut var_maxDictionaryEntries = ::sse_decode(deserializer); + return seekstorm::index::SpellingCorrection { + max_dictionary_edit_distance: var_maxDictionaryEditDistance, + term_length_threshold: var_termLengthThreshold, + count_threshold: var_countThreshold, + max_dictionary_entries: var_maxDictionaryEntries, + }; + } +} + +impl SseDecode for seekstorm::index::StemmerType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::index::StemmerType::None, + 1 => seekstorm::index::StemmerType::Arabic, + 2 => seekstorm::index::StemmerType::Danish, + 3 => seekstorm::index::StemmerType::Dutch, + 4 => seekstorm::index::StemmerType::English, + 5 => seekstorm::index::StemmerType::Finnish, + 6 => seekstorm::index::StemmerType::French, + 7 => seekstorm::index::StemmerType::German, + 8 => seekstorm::index::StemmerType::Greek, + 9 => seekstorm::index::StemmerType::Hungarian, + 10 => seekstorm::index::StemmerType::Italian, + 11 => seekstorm::index::StemmerType::Norwegian, + 12 => seekstorm::index::StemmerType::Portuguese, + 13 => seekstorm::index::StemmerType::Romanian, + 14 => seekstorm::index::StemmerType::Russian, + 15 => seekstorm::index::StemmerType::Spanish, + 16 => seekstorm::index::StemmerType::Swedish, + 17 => seekstorm::index::StemmerType::Tamil, + 18 => seekstorm::index::StemmerType::Turkish, + _ => unreachable!("Invalid variant for StemmerType: {}", inner), + }; + } +} + +impl SseDecode for seekstorm::index::Synonym { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_terms = >::sse_decode(deserializer); + let mut var_multiway = ::sse_decode(deserializer); + return seekstorm::index::Synonym { + terms: var_terms, + multiway: var_multiway, + }; + } +} + +impl SseDecode for seekstorm::index::TokenizerType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => seekstorm::index::TokenizerType::AsciiAlphabetic, + 1 => seekstorm::index::TokenizerType::UnicodeAlphanumeric, + 2 => seekstorm::index::TokenizerType::UnicodeAlphanumericFolded, + 3 => seekstorm::index::TokenizerType::Whitespace, + 4 => seekstorm::index::TokenizerType::WhitespaceLowercase, + 5 => seekstorm::index::TokenizerType::UnicodeAlphanumericZH, + _ => unreachable!("Invalid variant for TokenizerType: {}", inner), + }; + } +} + +impl SseDecode for tokio::sync::TryAcquireError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = ::sse_decode(deserializer); + return match inner { + 0 => tokio::sync::TryAcquireError::Closed, + 1 => tokio::sync::TryAcquireError::NoPermits, + _ => unreachable!("Invalid variant for TryAcquireError: {}", inner), + }; + } +} + +impl SseDecode for u16 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_u16::().unwrap() + } +} + +impl SseDecode for u32 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_u32::().unwrap() + } +} + +impl SseDecode for u64 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_u64::().unwrap() + } +} + +impl SseDecode for u8 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_u8().unwrap() + } +} + +impl SseDecode for () { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {} +} + +impl SseDecode for usize { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_u64::().unwrap() as _ + } +} + +fn pde_ffi_dispatcher_primary_impl( + func_id: i32, + port: flutter_rust_bridge::for_generated::MessagePort, + ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len: i32, + data_len: i32, +) { + // Codec=Pde (Serialization + dispatch), see doc to use other codecs + match func_id { + 1 => wire__tokio__sync__BarrierWaitResult_is_leader_impl(port, ptr, rust_vec_len, data_len), + 2 => wire__tokio__sync__Barrier_new_impl(port, ptr, rust_vec_len, data_len), + 3 => wire__tokio__sync__Barrier_wait_impl(port, ptr, rust_vec_len, data_len), + 4 => wire__tokio__process__ChildStderr_from_std_impl(port, ptr, rust_vec_len, data_len), + 5 => { + wire__tokio__process__ChildStderr_into_owned_fd_impl(port, ptr, rust_vec_len, data_len) + } + 6 => wire__tokio__process__ChildStdin_from_std_impl(port, ptr, rust_vec_len, data_len), + 7 => wire__tokio__process__ChildStdin_into_owned_fd_impl(port, ptr, rust_vec_len, data_len), + 8 => wire__tokio__process__ChildStdout_from_std_impl(port, ptr, rust_vec_len, data_len), + 9 => { + wire__tokio__process__ChildStdout_into_owned_fd_impl(port, ptr, rust_vec_len, data_len) + } + 16 => wire__tokio__process__Child_id_impl(port, ptr, rust_vec_len, data_len), + 17 => wire__tokio__process__Child_kill_impl(port, ptr, rust_vec_len, data_len), + 18 => wire__tokio__process__Child_start_kill_impl(port, ptr, rust_vec_len, data_len), + 19 => wire__tokio__process__Child_try_wait_impl(port, ptr, rust_vec_len, data_len), + 20 => wire__tokio__process__Child_wait_impl(port, ptr, rust_vec_len, data_len), + 21 => wire__tokio__process__Command_as_std_impl(port, ptr, rust_vec_len, data_len), + 22 => wire__tokio__process__Command_as_std_mut_impl(port, ptr, rust_vec_len, data_len), + 23 => wire__tokio__process__Command_env_clear_impl(port, ptr, rust_vec_len, data_len), + 24 => { + wire__tokio__process__Command_get_kill_on_drop_impl(port, ptr, rust_vec_len, data_len) + } + 25 => wire__tokio__process__Command_gid_impl(port, ptr, rust_vec_len, data_len), + 26 => wire__tokio__process__Command_into_std_impl(port, ptr, rust_vec_len, data_len), + 27 => wire__tokio__process__Command_kill_on_drop_impl(port, ptr, rust_vec_len, data_len), + 28 => wire__tokio__process__Command_process_group_impl(port, ptr, rust_vec_len, data_len), + 29 => wire__tokio__process__Command_spawn_impl(port, ptr, rust_vec_len, data_len), + 30 => wire__tokio__process__Command_uid_impl(port, ptr, rust_vec_len, data_len), + 31 => wire__tokio__time__error__Error_at_capacity_impl(port, ptr, rust_vec_len, data_len), + 32 => wire__tokio__time__error__Error_invalid_impl(port, ptr, rust_vec_len, data_len), + 33 => { + wire__tokio__time__error__Error_is_at_capacity_impl(port, ptr, rust_vec_len, data_len) + } + 34 => wire__tokio__time__error__Error_is_invalid_impl(port, ptr, rust_vec_len, data_len), + 35 => wire__tokio__time__error__Error_is_shutdown_impl(port, ptr, rust_vec_len, data_len), + 36 => wire__tokio__time__error__Error_shutdown_impl(port, ptr, rust_vec_len, data_len), + 45 => wire__seekstorm__index__FacetField_default_impl(port, ptr, rust_vec_len, data_len), + 46 => { + wire__seekstorm__index__FrequentwordType_default_impl(port, ptr, rust_vec_len, data_len) + } + 47 => wire__tokio__runtime__Handle_current_impl(port, ptr, rust_vec_len, data_len), + 48 => wire__tokio__runtime__Handle_default_impl(port, ptr, rust_vec_len, data_len), + 49 => wire__tokio__runtime__Handle_enter_impl(port, ptr, rust_vec_len, data_len), + 50 => wire__tokio__runtime__Handle_id_impl(port, ptr, rust_vec_len, data_len), + 51 => wire__tokio__runtime__Handle_metrics_impl(port, ptr, rust_vec_len, data_len), + 52 => wire__tokio__runtime__Handle_runtime_flavor_impl(port, ptr, rust_vec_len, data_len), + 53 => wire__tokio__runtime__Handle_try_current_impl(port, ptr, rust_vec_len, data_len), + 76 => wire__seekstorm__index__Index_add_synonyms_impl(port, ptr, rust_vec_len, data_len), + 87 => wire__seekstorm__index__Index_clear_index_impl(port, ptr, rust_vec_len, data_len), + 88 => wire__seekstorm__index__Index_committed_doc_count_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 89 => { + wire__seekstorm__index__Index_current_doc_count_impl(port, ptr, rust_vec_len, data_len) + } + 90 => wire__seekstorm__index__Index_delete_index_impl(port, ptr, rust_vec_len, data_len), + 91 => wire__seekstorm__index__Index_facets_count_impl(port, ptr, rust_vec_len, data_len), + 92 => wire__seekstorm__index__Index_get_document_impl(port, ptr, rust_vec_len, data_len), + 93 => wire__seekstorm__index__Index_get_facet_value_impl(port, ptr, rust_vec_len, data_len), + 94 => wire__seekstorm__index__Index_get_file_impl(port, ptr, rust_vec_len, data_len), + 95 => wire__seekstorm__index__Index_get_index_string_facets_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 96 => wire__seekstorm__index__Index_get_synonyms_impl(port, ptr, rust_vec_len, data_len), + 97 => wire__seekstorm__index__Index_index_facets_minmax_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 98 => { + wire__seekstorm__index__Index_indexed_doc_count_impl(port, ptr, rust_vec_len, data_len) + } + 99 => wire__seekstorm__index__Index_level_count_impl(port, ptr, rust_vec_len, data_len), + 100 => wire__seekstorm__index__Index_set_synonyms_impl(port, ptr, rust_vec_len, data_len), + 101 => wire__seekstorm__index__Index_shard_count_impl(port, ptr, rust_vec_len, data_len), + 102 => wire__seekstorm__index__Index_uncommitted_doc_count_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 103 => wire__tokio__io__Interest_add_impl(port, ptr, rust_vec_len, data_len), + 104 => wire__tokio__io__Interest_is_error_impl(port, ptr, rust_vec_len, data_len), + 105 => wire__tokio__io__Interest_is_readable_impl(port, ptr, rust_vec_len, data_len), + 106 => wire__tokio__io__Interest_is_writable_impl(port, ptr, rust_vec_len, data_len), + 107 => wire__tokio__io__Interest_remove_impl(port, ptr, rust_vec_len, data_len), + 108 => { + wire__tokio__time__Interval_missed_tick_behavior_impl(port, ptr, rust_vec_len, data_len) + } + 109 => wire__tokio__time__Interval_period_impl(port, ptr, rust_vec_len, data_len), + 110 => wire__tokio__time__Interval_poll_tick_impl(port, ptr, rust_vec_len, data_len), + 111 => wire__tokio__time__Interval_reset_impl(port, ptr, rust_vec_len, data_len), + 112 => wire__tokio__time__Interval_reset_after_impl(port, ptr, rust_vec_len, data_len), + 113 => wire__tokio__time__Interval_reset_at_impl(port, ptr, rust_vec_len, data_len), + 114 => { + wire__tokio__time__Interval_reset_immediately_impl(port, ptr, rust_vec_len, data_len) + } + 115 => wire__tokio__time__Interval_set_missed_tick_behavior_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 116 => wire__tokio__time__Interval_tick_impl(port, ptr, rust_vec_len, data_len), + 117 => wire__tokio__task__LocalSet_default_impl(port, ptr, rust_vec_len, data_len), + 118 => wire__tokio__task__LocalSet_enter_impl(port, ptr, rust_vec_len, data_len), + 119 => wire__tokio__task__LocalSet_id_impl(port, ptr, rust_vec_len, data_len), + 120 => wire__tokio__task__LocalSet_new_impl(port, ptr, rust_vec_len, data_len), + 125 => { + wire__seekstorm__index__MinMaxFieldJson_default_impl(port, ptr, rust_vec_len, data_len) + } + 130 => wire__seekstorm__index__MinMaxField_default_impl(port, ptr, rust_vec_len, data_len), + 131 => wire__tokio__sync__Notify_const_new_impl(port, ptr, rust_vec_len, data_len), + 132 => wire__tokio__sync__Notify_default_impl(port, ptr, rust_vec_len, data_len), + 133 => wire__tokio__sync__Notify_new_impl(port, ptr, rust_vec_len, data_len), + 134 => wire__tokio__sync__Notify_notified_impl(port, ptr, rust_vec_len, data_len), + 135 => wire__tokio__sync__Notify_notified_owned_impl(port, ptr, rust_vec_len, data_len), + 136 => wire__tokio__sync__Notify_notify_last_impl(port, ptr, rust_vec_len, data_len), + 137 => wire__tokio__sync__Notify_notify_one_impl(port, ptr, rust_vec_len, data_len), + 138 => wire__tokio__sync__Notify_notify_waiters_impl(port, ptr, rust_vec_len, data_len), + 139 => { + wire__tokio__net__unix__pipe__OpenOptions_append_impl(port, ptr, rust_vec_len, data_len) + } + 140 => { + wire__tokio__net__unix__pipe__OpenOptions_create_impl(port, ptr, rust_vec_len, data_len) + } + 141 => wire__tokio__net__unix__pipe__OpenOptions_create_new_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 142 => wire__tokio__net__unix__pipe__OpenOptions_custom_flags_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 143 => wire__tokio__net__unix__pipe__OpenOptions_default_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 144 => { + wire__tokio__net__unix__pipe__OpenOptions_mode_impl(port, ptr, rust_vec_len, data_len) + } + 145 => { + wire__tokio__net__unix__pipe__OpenOptions_new_impl(port, ptr, rust_vec_len, data_len) + } + 146 => { + wire__tokio__net__unix__pipe__OpenOptions_read_impl(port, ptr, rust_vec_len, data_len) + } + 147 => wire__tokio__net__unix__pipe__OpenOptions_truncate_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 148 => wire__tokio__net__unix__pipe__OpenOptions_unchecked_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 149 => { + wire__tokio__net__unix__pipe__OpenOptions_write_impl(port, ptr, rust_vec_len, data_len) + } + 150 => { + wire__tokio__net__tcp__OwnedReadHalf_local_addr_impl(port, ptr, rust_vec_len, data_len) + } + 151 => wire__tokio__net__tcp__OwnedReadHalf_peek_impl(port, ptr, rust_vec_len, data_len), + 152 => { + wire__tokio__net__tcp__OwnedReadHalf_peer_addr_impl(port, ptr, rust_vec_len, data_len) + } + 153 => { + wire__tokio__net__tcp__OwnedReadHalf_poll_peek_impl(port, ptr, rust_vec_len, data_len) + } + 154 => { + wire__tokio__net__tcp__OwnedReadHalf_readable_impl(port, ptr, rust_vec_len, data_len) + } + 155 => wire__tokio__net__tcp__OwnedReadHalf_ready_impl(port, ptr, rust_vec_len, data_len), + 156 => wire__tokio__net__tcp__OwnedReadHalf_reunite_impl(port, ptr, rust_vec_len, data_len), + 157 => { + wire__tokio__net__tcp__OwnedReadHalf_try_read_impl(port, ptr, rust_vec_len, data_len) + } + 158 => wire__tokio__net__tcp__OwnedReadHalf_try_read_vectored_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 159 => { + wire__tokio__sync__OwnedSemaphorePermit_merge_impl(port, ptr, rust_vec_len, data_len) + } + 160 => wire__tokio__sync__OwnedSemaphorePermit_num_permits_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 161 => wire__tokio__sync__OwnedSemaphorePermit_semaphore_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 162 => { + wire__tokio__sync__OwnedSemaphorePermit_split_impl(port, ptr, rust_vec_len, data_len) + } + 163 => { + wire__tokio__net__tcp__OwnedWriteHalf_local_addr_impl(port, ptr, rust_vec_len, data_len) + } + 164 => { + wire__tokio__net__tcp__OwnedWriteHalf_peer_addr_impl(port, ptr, rust_vec_len, data_len) + } + 165 => wire__tokio__net__tcp__OwnedWriteHalf_ready_impl(port, ptr, rust_vec_len, data_len), + 166 => { + wire__tokio__net__tcp__OwnedWriteHalf_reunite_impl(port, ptr, rust_vec_len, data_len) + } + 167 => { + wire__tokio__net__tcp__OwnedWriteHalf_try_write_impl(port, ptr, rust_vec_len, data_len) + } + 168 => wire__tokio__net__tcp__OwnedWriteHalf_try_write_vectored_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 169 => { + wire__tokio__net__tcp__OwnedWriteHalf_writable_impl(port, ptr, rust_vec_len, data_len) + } + 170 => wire__seekstorm__search__QueryFacet_default_impl(port, ptr, rust_vec_len, data_len), + 171 => { + wire__seekstorm__search__QueryRewriting_default_impl(port, ptr, rust_vec_len, data_len) + } + 172 => wire__seekstorm__search__Ranges_default_impl(port, ptr, rust_vec_len, data_len), + 173 => wire__tokio__io__Ready_is_empty_impl(port, ptr, rust_vec_len, data_len), + 174 => wire__tokio__io__Ready_is_error_impl(port, ptr, rust_vec_len, data_len), + 175 => wire__tokio__io__Ready_is_read_closed_impl(port, ptr, rust_vec_len, data_len), + 176 => wire__tokio__io__Ready_is_readable_impl(port, ptr, rust_vec_len, data_len), + 177 => wire__tokio__io__Ready_is_writable_impl(port, ptr, rust_vec_len, data_len), + 178 => wire__tokio__io__Ready_is_write_closed_impl(port, ptr, rust_vec_len, data_len), + 179 => wire__tokio__net__unix__pipe__ReceiverT_blocking_recv_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 180 => wire__tokio__net__unix__pipe__ReceiverT_blocking_recv_many_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 181 => { + wire__tokio__net__unix__pipe__ReceiverT_borrow_impl(port, ptr, rust_vec_len, data_len) + } + 182 => wire__tokio__net__unix__pipe__ReceiverT_borrow_and_update_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 183 => { + wire__tokio__net__unix__pipe__ReceiverT_capacity_impl(port, ptr, rust_vec_len, data_len) + } + 184 => { + wire__tokio__net__unix__pipe__ReceiverT_changed_impl(port, ptr, rust_vec_len, data_len) + } + 185 => { + wire__tokio__net__unix__pipe__ReceiverT_close_impl(port, ptr, rust_vec_len, data_len) + } + 186 => wire__tokio__net__unix__pipe__ReceiverT_has_changed_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 187 => wire__tokio__net__unix__pipe__ReceiverT_is_closed_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 188 => { + wire__tokio__net__unix__pipe__ReceiverT_is_empty_impl(port, ptr, rust_vec_len, data_len) + } + 189 => wire__tokio__net__unix__pipe__ReceiverT_is_terminated_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 190 => wire__tokio__net__unix__pipe__ReceiverT_len_impl(port, ptr, rust_vec_len, data_len), + 191 => wire__tokio__net__unix__pipe__ReceiverT_mark_changed_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 192 => wire__tokio__net__unix__pipe__ReceiverT_mark_unchanged_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 193 => wire__tokio__net__unix__pipe__ReceiverT_max_capacity_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 194 => wire__tokio__net__unix__pipe__ReceiverT_poll_recv_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 195 => wire__tokio__net__unix__pipe__ReceiverT_poll_recv_many_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 196 => wire__tokio__net__unix__pipe__ReceiverT_recv_impl(port, ptr, rust_vec_len, data_len), + 197 => wire__tokio__net__unix__pipe__ReceiverT_recv_many_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 198 => wire__tokio__net__unix__pipe__ReceiverT_resubscribe_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 199 => wire__tokio__net__unix__pipe__ReceiverT_same_channel_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 200 => wire__tokio__net__unix__pipe__ReceiverT_sender_strong_count_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 201 => wire__tokio__net__unix__pipe__ReceiverT_sender_weak_count_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 202 => { + wire__tokio__net__unix__pipe__ReceiverT_try_recv_impl(port, ptr, rust_vec_len, data_len) + } + 203 => { + wire__tokio__net__unix__pipe__Receiver_from_file_impl(port, ptr, rust_vec_len, data_len) + } + 204 => wire__tokio__net__unix__pipe__Receiver_from_file_unchecked_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 205 => wire__tokio__net__unix__pipe__Receiver_from_owned_fd_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 206 => wire__tokio__net__unix__pipe__Receiver_from_owned_fd_unchecked_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 207 => wire__tokio__net__unix__pipe__Receiver_into_blocking_fd_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 208 => wire__tokio__net__unix__pipe__Receiver_into_nonblocking_fd_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 209 => wire__tokio__net__unix__pipe__Receiver_poll_read_ready_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 210 => { + wire__tokio__net__unix__pipe__Receiver_readable_impl(port, ptr, rust_vec_len, data_len) + } + 211 => wire__tokio__net__unix__pipe__Receiver_ready_impl(port, ptr, rust_vec_len, data_len), + 212 => { + wire__tokio__net__unix__pipe__Receiver_try_read_impl(port, ptr, rust_vec_len, data_len) + } + 213 => wire__tokio__net__unix__pipe__Receiver_try_read_vectored_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 214 => wire__tokio__task__coop__RestoreOnPending_made_progress_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 231 => { + wire__seekstorm__search__ResultObject_default_impl(port, ptr, rust_vec_len, data_len) + } + 242 => wire__tokio__runtime__RuntimeMetrics_global_queue_depth_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 243 => wire__tokio__runtime__RuntimeMetrics_num_alive_tasks_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 244 => { + wire__tokio__runtime__RuntimeMetrics_num_workers_impl(port, ptr, rust_vec_len, data_len) + } + 245 => wire__tokio__runtime__RuntimeMetrics_worker_park_count_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 246 => wire__tokio__runtime__RuntimeMetrics_worker_park_unpark_count_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 247 => wire__tokio__runtime__RuntimeMetrics_worker_total_busy_duration_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 248 => wire__tokio__runtime__Runtime_enter_impl(port, ptr, rust_vec_len, data_len), + 249 => wire__tokio__runtime__Runtime_handle_impl(port, ptr, rust_vec_len, data_len), + 250 => wire__tokio__runtime__Runtime_metrics_impl(port, ptr, rust_vec_len, data_len), + 251 => wire__tokio__runtime__Runtime_new_impl(port, ptr, rust_vec_len, data_len), + 252 => wire__tokio__runtime__Runtime_shutdown_background_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 271 => wire__seekstorm__index__SchemaField_new_impl(port, ptr, rust_vec_len, data_len), + 272 => wire__tokio__sync__Semaphore_acquire_impl(port, ptr, rust_vec_len, data_len), + 273 => wire__tokio__sync__Semaphore_acquire_many_impl(port, ptr, rust_vec_len, data_len), + 274 => { + wire__tokio__sync__Semaphore_acquire_many_owned_impl(port, ptr, rust_vec_len, data_len) + } + 275 => wire__tokio__sync__Semaphore_acquire_owned_impl(port, ptr, rust_vec_len, data_len), + 276 => wire__tokio__sync__Semaphore_add_permits_impl(port, ptr, rust_vec_len, data_len), + 277 => { + wire__tokio__sync__Semaphore_available_permits_impl(port, ptr, rust_vec_len, data_len) + } + 278 => wire__tokio__sync__Semaphore_close_impl(port, ptr, rust_vec_len, data_len), + 279 => wire__tokio__sync__Semaphore_const_new_impl(port, ptr, rust_vec_len, data_len), + 280 => wire__tokio__sync__Semaphore_forget_permits_impl(port, ptr, rust_vec_len, data_len), + 281 => wire__tokio__sync__Semaphore_is_closed_impl(port, ptr, rust_vec_len, data_len), + 282 => wire__tokio__sync__Semaphore_new_impl(port, ptr, rust_vec_len, data_len), + 283 => wire__tokio__sync__Semaphore_try_acquire_impl(port, ptr, rust_vec_len, data_len), + 284 => { + wire__tokio__sync__Semaphore_try_acquire_many_impl(port, ptr, rust_vec_len, data_len) + } + 285 => wire__tokio__sync__Semaphore_try_acquire_many_owned_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 286 => { + wire__tokio__sync__Semaphore_try_acquire_owned_impl(port, ptr, rust_vec_len, data_len) + } + 287 => wire__tokio__net__unix__pipe__SenderT_blocking_send_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 288 => wire__tokio__net__unix__pipe__SenderT_borrow_impl(port, ptr, rust_vec_len, data_len), + 289 => { + wire__tokio__net__unix__pipe__SenderT_capacity_impl(port, ptr, rust_vec_len, data_len) + } + 290 => wire__tokio__net__unix__pipe__SenderT_closed_impl(port, ptr, rust_vec_len, data_len), + 291 => { + wire__tokio__net__unix__pipe__SenderT_default_impl(port, ptr, rust_vec_len, data_len) + } + 292 => { + wire__tokio__net__unix__pipe__SenderT_downgrade_impl(port, ptr, rust_vec_len, data_len) + } + 293 => { + wire__tokio__net__unix__pipe__SenderT_is_closed_impl(port, ptr, rust_vec_len, data_len) + } + 294 => { + wire__tokio__net__unix__pipe__SenderT_is_empty_impl(port, ptr, rust_vec_len, data_len) + } + 295 => wire__tokio__net__unix__pipe__SenderT_len_impl(port, ptr, rust_vec_len, data_len), + 296 => wire__tokio__net__unix__pipe__SenderT_max_capacity_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 297 => wire__tokio__net__unix__pipe__SenderT_new_impl(port, ptr, rust_vec_len, data_len), + 298 => wire__tokio__net__unix__pipe__SenderT_poll_closed_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 299 => wire__tokio__net__unix__pipe__SenderT_receiver_count_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 300 => { + wire__tokio__net__unix__pipe__SenderT_reserve_impl(port, ptr, rust_vec_len, data_len) + } + 301 => wire__tokio__net__unix__pipe__SenderT_reserve_many_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 302 => wire__tokio__net__unix__pipe__SenderT_reserve_owned_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 303 => wire__tokio__net__unix__pipe__SenderT_same_channel_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 304 => wire__tokio__net__unix__pipe__SenderT_send_impl(port, ptr, rust_vec_len, data_len), + 305 => wire__tokio__net__unix__pipe__SenderT_send_replace_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 306 => wire__tokio__net__unix__pipe__SenderT_send_timeout_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 307 => wire__tokio__net__unix__pipe__SenderT_sender_count_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 308 => wire__tokio__net__unix__pipe__SenderT_strong_count_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 309 => { + wire__tokio__net__unix__pipe__SenderT_subscribe_impl(port, ptr, rust_vec_len, data_len) + } + 310 => wire__tokio__net__unix__pipe__SenderT_try_reserve_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 311 => wire__tokio__net__unix__pipe__SenderT_try_reserve_many_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 312 => wire__tokio__net__unix__pipe__SenderT_try_reserve_owned_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 313 => { + wire__tokio__net__unix__pipe__SenderT_try_send_impl(port, ptr, rust_vec_len, data_len) + } + 314 => { + wire__tokio__net__unix__pipe__SenderT_weak_count_impl(port, ptr, rust_vec_len, data_len) + } + 315 => { + wire__tokio__net__unix__pipe__Sender_from_file_impl(port, ptr, rust_vec_len, data_len) + } + 316 => wire__tokio__net__unix__pipe__Sender_from_file_unchecked_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 317 => wire__tokio__net__unix__pipe__Sender_from_owned_fd_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 318 => wire__tokio__net__unix__pipe__Sender_from_owned_fd_unchecked_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 319 => wire__tokio__net__unix__pipe__Sender_into_blocking_fd_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 320 => wire__tokio__net__unix__pipe__Sender_into_nonblocking_fd_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 321 => wire__tokio__net__unix__pipe__Sender_poll_write_ready_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 322 => wire__tokio__net__unix__pipe__Sender_ready_impl(port, ptr, rust_vec_len, data_len), + 323 => { + wire__tokio__net__unix__pipe__Sender_try_write_impl(port, ptr, rust_vec_len, data_len) + } + 324 => wire__tokio__net__unix__pipe__Sender_try_write_vectored_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 325 => { + wire__tokio__net__unix__pipe__Sender_writable_impl(port, ptr, rust_vec_len, data_len) + } + 326 => wire__tokio__signal__unix__SignalKind_alarm_impl(port, ptr, rust_vec_len, data_len), + 327 => wire__tokio__signal__unix__SignalKind_as_raw_value_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 328 => wire__tokio__signal__unix__SignalKind_child_impl(port, ptr, rust_vec_len, data_len), + 329 => { + wire__tokio__signal__unix__SignalKind_from_raw_impl(port, ptr, rust_vec_len, data_len) + } + 330 => wire__tokio__signal__unix__SignalKind_hangup_impl(port, ptr, rust_vec_len, data_len), + 331 => wire__tokio__signal__unix__SignalKind_info_impl(port, ptr, rust_vec_len, data_len), + 332 => { + wire__tokio__signal__unix__SignalKind_interrupt_impl(port, ptr, rust_vec_len, data_len) + } + 333 => wire__tokio__signal__unix__SignalKind_io_impl(port, ptr, rust_vec_len, data_len), + 334 => wire__tokio__signal__unix__SignalKind_pipe_impl(port, ptr, rust_vec_len, data_len), + 335 => wire__tokio__signal__unix__SignalKind_quit_impl(port, ptr, rust_vec_len, data_len), + 336 => { + wire__tokio__signal__unix__SignalKind_terminate_impl(port, ptr, rust_vec_len, data_len) + } + 337 => wire__tokio__signal__unix__SignalKind_user_defined1_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 338 => wire__tokio__signal__unix__SignalKind_user_defined2_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 339 => wire__tokio__signal__unix__SignalKind_window_change_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 340 => wire__tokio__signal__unix__Signal_poll_recv_impl(port, ptr, rust_vec_len, data_len), + 341 => wire__tokio__signal__unix__Signal_recv_impl(port, ptr, rust_vec_len, data_len), + 342 => wire__tokio__io__SimplexStream_new_unsplit_impl(port, ptr, rust_vec_len, data_len), + 343 => wire__tokio__time__Sleep_deadline_impl(port, ptr, rust_vec_len, data_len), + 344 => wire__tokio__time__Sleep_is_elapsed_impl(port, ptr, rust_vec_len, data_len), + 345 => wire__tokio__time__Sleep_reset_impl(port, ptr, rust_vec_len, data_len), + 346 => { + wire__tokio__net__unix__SocketAddr_as_pathname_impl(port, ptr, rust_vec_len, data_len) + } + 347 => { + wire__tokio__net__unix__SocketAddr_is_unnamed_impl(port, ptr, rust_vec_len, data_len) + } + 348 => wire__seekstorm__index__StopwordType_default_impl(port, ptr, rust_vec_len, data_len), + 349 => wire__tokio__net__TcpListener_accept_impl(port, ptr, rust_vec_len, data_len), + 350 => wire__tokio__net__TcpListener_from_std_impl(port, ptr, rust_vec_len, data_len), + 351 => wire__tokio__net__TcpListener_into_std_impl(port, ptr, rust_vec_len, data_len), + 352 => wire__tokio__net__TcpListener_local_addr_impl(port, ptr, rust_vec_len, data_len), + 353 => wire__tokio__net__TcpListener_poll_accept_impl(port, ptr, rust_vec_len, data_len), + 354 => wire__tokio__net__TcpListener_set_ttl_impl(port, ptr, rust_vec_len, data_len), + 355 => wire__tokio__net__TcpListener_ttl_impl(port, ptr, rust_vec_len, data_len), + 356 => wire__tokio__net__TcpSocket_bind_impl(port, ptr, rust_vec_len, data_len), + 357 => wire__tokio__net__TcpSocket_connect_impl(port, ptr, rust_vec_len, data_len), + 358 => wire__tokio__net__TcpSocket_from_std_stream_impl(port, ptr, rust_vec_len, data_len), + 359 => wire__tokio__net__TcpSocket_keepalive_impl(port, ptr, rust_vec_len, data_len), + 360 => wire__tokio__net__TcpSocket_linger_impl(port, ptr, rust_vec_len, data_len), + 361 => wire__tokio__net__TcpSocket_listen_impl(port, ptr, rust_vec_len, data_len), + 362 => wire__tokio__net__TcpSocket_local_addr_impl(port, ptr, rust_vec_len, data_len), + 363 => wire__tokio__net__TcpSocket_new_v4_impl(port, ptr, rust_vec_len, data_len), + 364 => wire__tokio__net__TcpSocket_new_v6_impl(port, ptr, rust_vec_len, data_len), + 365 => wire__tokio__net__TcpSocket_nodelay_impl(port, ptr, rust_vec_len, data_len), + 366 => wire__tokio__net__TcpSocket_recv_buffer_size_impl(port, ptr, rust_vec_len, data_len), + 367 => wire__tokio__net__TcpSocket_reuseaddr_impl(port, ptr, rust_vec_len, data_len), + 368 => wire__tokio__net__TcpSocket_reuseport_impl(port, ptr, rust_vec_len, data_len), + 369 => wire__tokio__net__TcpSocket_send_buffer_size_impl(port, ptr, rust_vec_len, data_len), + 370 => wire__tokio__net__TcpSocket_set_keepalive_impl(port, ptr, rust_vec_len, data_len), + 371 => wire__tokio__net__TcpSocket_set_linger_impl(port, ptr, rust_vec_len, data_len), + 372 => wire__tokio__net__TcpSocket_set_nodelay_impl(port, ptr, rust_vec_len, data_len), + 373 => { + wire__tokio__net__TcpSocket_set_recv_buffer_size_impl(port, ptr, rust_vec_len, data_len) + } + 374 => wire__tokio__net__TcpSocket_set_reuseaddr_impl(port, ptr, rust_vec_len, data_len), + 375 => wire__tokio__net__TcpSocket_set_reuseport_impl(port, ptr, rust_vec_len, data_len), + 376 => { + wire__tokio__net__TcpSocket_set_send_buffer_size_impl(port, ptr, rust_vec_len, data_len) + } + 377 => wire__tokio__net__TcpSocket_set_tclass_v6_impl(port, ptr, rust_vec_len, data_len), + 378 => wire__tokio__net__TcpSocket_set_tos_impl(port, ptr, rust_vec_len, data_len), + 379 => wire__tokio__net__TcpSocket_set_tos_v4_impl(port, ptr, rust_vec_len, data_len), + 380 => wire__tokio__net__TcpSocket_take_error_impl(port, ptr, rust_vec_len, data_len), + 381 => wire__tokio__net__TcpSocket_tclass_v6_impl(port, ptr, rust_vec_len, data_len), + 382 => wire__tokio__net__TcpSocket_tos_impl(port, ptr, rust_vec_len, data_len), + 383 => wire__tokio__net__TcpSocket_tos_v4_impl(port, ptr, rust_vec_len, data_len), + 384 => wire__tokio__net__TcpStream_from_std_impl(port, ptr, rust_vec_len, data_len), + 385 => wire__tokio__net__TcpStream_into_split_impl(port, ptr, rust_vec_len, data_len), + 386 => wire__tokio__net__TcpStream_into_std_impl(port, ptr, rust_vec_len, data_len), + 387 => wire__tokio__net__TcpStream_linger_impl(port, ptr, rust_vec_len, data_len), + 388 => wire__tokio__net__TcpStream_local_addr_impl(port, ptr, rust_vec_len, data_len), + 389 => wire__tokio__net__TcpStream_nodelay_impl(port, ptr, rust_vec_len, data_len), + 390 => wire__tokio__net__TcpStream_peek_impl(port, ptr, rust_vec_len, data_len), + 391 => wire__tokio__net__TcpStream_peer_addr_impl(port, ptr, rust_vec_len, data_len), + 392 => wire__tokio__net__TcpStream_poll_peek_impl(port, ptr, rust_vec_len, data_len), + 393 => wire__tokio__net__TcpStream_poll_read_ready_impl(port, ptr, rust_vec_len, data_len), + 394 => wire__tokio__net__TcpStream_poll_write_ready_impl(port, ptr, rust_vec_len, data_len), + 395 => wire__tokio__net__TcpStream_readable_impl(port, ptr, rust_vec_len, data_len), + 396 => wire__tokio__net__TcpStream_ready_impl(port, ptr, rust_vec_len, data_len), + 397 => wire__tokio__net__TcpStream_set_linger_impl(port, ptr, rust_vec_len, data_len), + 398 => wire__tokio__net__TcpStream_set_nodelay_impl(port, ptr, rust_vec_len, data_len), + 399 => wire__tokio__net__TcpStream_set_ttl_impl(port, ptr, rust_vec_len, data_len), + 400 => wire__tokio__net__TcpStream_take_error_impl(port, ptr, rust_vec_len, data_len), + 401 => wire__tokio__net__TcpStream_try_read_impl(port, ptr, rust_vec_len, data_len), + 402 => { + wire__tokio__net__TcpStream_try_read_vectored_impl(port, ptr, rust_vec_len, data_len) + } + 403 => wire__tokio__net__TcpStream_try_write_impl(port, ptr, rust_vec_len, data_len), + 404 => { + wire__tokio__net__TcpStream_try_write_vectored_impl(port, ptr, rust_vec_len, data_len) + } + 405 => wire__tokio__net__TcpStream_ttl_impl(port, ptr, rust_vec_len, data_len), + 406 => wire__tokio__net__TcpStream_writable_impl(port, ptr, rust_vec_len, data_len), + 481 => wire__tokio__runtime__TryCurrentError_is_missing_context_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 482 => wire__tokio__runtime__TryCurrentError_is_thread_local_destroyed_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 483 => wire__tokio__net__unix__UCred_gid_impl(port, ptr, rust_vec_len, data_len), + 484 => wire__tokio__net__unix__UCred_pid_impl(port, ptr, rust_vec_len, data_len), + 485 => wire__tokio__net__unix__UCred_uid_impl(port, ptr, rust_vec_len, data_len), + 486 => wire__tokio__net__UdpSocket_broadcast_impl(port, ptr, rust_vec_len, data_len), + 487 => wire__tokio__net__UdpSocket_from_std_impl(port, ptr, rust_vec_len, data_len), + 488 => wire__tokio__net__UdpSocket_into_std_impl(port, ptr, rust_vec_len, data_len), + 489 => { + wire__tokio__net__UdpSocket_join_multicast_v4_impl(port, ptr, rust_vec_len, data_len) + } + 490 => { + wire__tokio__net__UdpSocket_join_multicast_v6_impl(port, ptr, rust_vec_len, data_len) + } + 491 => { + wire__tokio__net__UdpSocket_leave_multicast_v4_impl(port, ptr, rust_vec_len, data_len) + } + 492 => { + wire__tokio__net__UdpSocket_leave_multicast_v6_impl(port, ptr, rust_vec_len, data_len) + } + 493 => wire__tokio__net__UdpSocket_local_addr_impl(port, ptr, rust_vec_len, data_len), + 494 => { + wire__tokio__net__UdpSocket_multicast_loop_v4_impl(port, ptr, rust_vec_len, data_len) + } + 495 => { + wire__tokio__net__UdpSocket_multicast_loop_v6_impl(port, ptr, rust_vec_len, data_len) + } + 496 => wire__tokio__net__UdpSocket_multicast_ttl_v4_impl(port, ptr, rust_vec_len, data_len), + 497 => wire__tokio__net__UdpSocket_peek_impl(port, ptr, rust_vec_len, data_len), + 498 => wire__tokio__net__UdpSocket_peek_from_impl(port, ptr, rust_vec_len, data_len), + 499 => wire__tokio__net__UdpSocket_peek_sender_impl(port, ptr, rust_vec_len, data_len), + 500 => wire__tokio__net__UdpSocket_peer_addr_impl(port, ptr, rust_vec_len, data_len), + 501 => wire__tokio__net__UdpSocket_poll_peek_impl(port, ptr, rust_vec_len, data_len), + 502 => wire__tokio__net__UdpSocket_poll_peek_from_impl(port, ptr, rust_vec_len, data_len), + 503 => wire__tokio__net__UdpSocket_poll_peek_sender_impl(port, ptr, rust_vec_len, data_len), + 504 => wire__tokio__net__UdpSocket_poll_recv_impl(port, ptr, rust_vec_len, data_len), + 505 => wire__tokio__net__UdpSocket_poll_recv_from_impl(port, ptr, rust_vec_len, data_len), + 506 => wire__tokio__net__UdpSocket_poll_recv_ready_impl(port, ptr, rust_vec_len, data_len), + 507 => wire__tokio__net__UdpSocket_poll_send_impl(port, ptr, rust_vec_len, data_len), + 508 => wire__tokio__net__UdpSocket_poll_send_ready_impl(port, ptr, rust_vec_len, data_len), + 509 => wire__tokio__net__UdpSocket_poll_send_to_impl(port, ptr, rust_vec_len, data_len), + 510 => wire__tokio__net__UdpSocket_readable_impl(port, ptr, rust_vec_len, data_len), + 511 => wire__tokio__net__UdpSocket_ready_impl(port, ptr, rust_vec_len, data_len), + 512 => wire__tokio__net__UdpSocket_recv_impl(port, ptr, rust_vec_len, data_len), + 513 => wire__tokio__net__UdpSocket_recv_from_impl(port, ptr, rust_vec_len, data_len), + 514 => wire__tokio__net__UdpSocket_send_impl(port, ptr, rust_vec_len, data_len), + 515 => wire__tokio__net__UdpSocket_set_broadcast_impl(port, ptr, rust_vec_len, data_len), + 516 => wire__tokio__net__UdpSocket_set_multicast_loop_v4_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 517 => wire__tokio__net__UdpSocket_set_multicast_loop_v6_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 518 => { + wire__tokio__net__UdpSocket_set_multicast_ttl_v4_impl(port, ptr, rust_vec_len, data_len) + } + 519 => wire__tokio__net__UdpSocket_set_tclass_v6_impl(port, ptr, rust_vec_len, data_len), + 520 => wire__tokio__net__UdpSocket_set_tos_impl(port, ptr, rust_vec_len, data_len), + 521 => wire__tokio__net__UdpSocket_set_tos_v4_impl(port, ptr, rust_vec_len, data_len), + 522 => wire__tokio__net__UdpSocket_set_ttl_impl(port, ptr, rust_vec_len, data_len), + 523 => wire__tokio__net__UdpSocket_take_error_impl(port, ptr, rust_vec_len, data_len), + 524 => wire__tokio__net__UdpSocket_tclass_v6_impl(port, ptr, rust_vec_len, data_len), + 525 => wire__tokio__net__UdpSocket_tos_impl(port, ptr, rust_vec_len, data_len), + 526 => wire__tokio__net__UdpSocket_tos_v4_impl(port, ptr, rust_vec_len, data_len), + 527 => wire__tokio__net__UdpSocket_try_peek_impl(port, ptr, rust_vec_len, data_len), + 528 => wire__tokio__net__UdpSocket_try_peek_from_impl(port, ptr, rust_vec_len, data_len), + 529 => wire__tokio__net__UdpSocket_try_peek_sender_impl(port, ptr, rust_vec_len, data_len), + 530 => wire__tokio__net__UdpSocket_try_recv_impl(port, ptr, rust_vec_len, data_len), + 531 => wire__tokio__net__UdpSocket_try_recv_from_impl(port, ptr, rust_vec_len, data_len), + 532 => wire__tokio__net__UdpSocket_try_send_impl(port, ptr, rust_vec_len, data_len), + 533 => wire__tokio__net__UdpSocket_try_send_to_impl(port, ptr, rust_vec_len, data_len), + 534 => wire__tokio__net__UdpSocket_ttl_impl(port, ptr, rust_vec_len, data_len), + 535 => wire__tokio__net__UdpSocket_writable_impl(port, ptr, rust_vec_len, data_len), + 536 => wire__tokio__net__UnixDatagram_from_std_impl(port, ptr, rust_vec_len, data_len), + 537 => wire__tokio__net__UnixDatagram_into_std_impl(port, ptr, rust_vec_len, data_len), + 538 => wire__tokio__net__UnixDatagram_local_addr_impl(port, ptr, rust_vec_len, data_len), + 539 => wire__tokio__net__UnixDatagram_pair_impl(port, ptr, rust_vec_len, data_len), + 540 => wire__tokio__net__UnixDatagram_peer_addr_impl(port, ptr, rust_vec_len, data_len), + 541 => wire__tokio__net__UnixDatagram_poll_recv_impl(port, ptr, rust_vec_len, data_len), + 542 => { + wire__tokio__net__UnixDatagram_poll_recv_from_impl(port, ptr, rust_vec_len, data_len) + } + 543 => { + wire__tokio__net__UnixDatagram_poll_recv_ready_impl(port, ptr, rust_vec_len, data_len) + } + 544 => wire__tokio__net__UnixDatagram_poll_send_impl(port, ptr, rust_vec_len, data_len), + 545 => { + wire__tokio__net__UnixDatagram_poll_send_ready_impl(port, ptr, rust_vec_len, data_len) + } + 546 => wire__tokio__net__UnixDatagram_readable_impl(port, ptr, rust_vec_len, data_len), + 547 => wire__tokio__net__UnixDatagram_ready_impl(port, ptr, rust_vec_len, data_len), + 548 => wire__tokio__net__UnixDatagram_recv_impl(port, ptr, rust_vec_len, data_len), + 549 => wire__tokio__net__UnixDatagram_recv_from_impl(port, ptr, rust_vec_len, data_len), + 550 => wire__tokio__net__UnixDatagram_send_impl(port, ptr, rust_vec_len, data_len), + 551 => wire__tokio__net__UnixDatagram_shutdown_impl(port, ptr, rust_vec_len, data_len), + 552 => wire__tokio__net__UnixDatagram_take_error_impl(port, ptr, rust_vec_len, data_len), + 553 => wire__tokio__net__UnixDatagram_try_recv_impl(port, ptr, rust_vec_len, data_len), + 554 => wire__tokio__net__UnixDatagram_try_recv_from_impl(port, ptr, rust_vec_len, data_len), + 555 => wire__tokio__net__UnixDatagram_try_send_impl(port, ptr, rust_vec_len, data_len), + 556 => wire__tokio__net__UnixDatagram_unbound_impl(port, ptr, rust_vec_len, data_len), + 557 => wire__tokio__net__UnixDatagram_writable_impl(port, ptr, rust_vec_len, data_len), + 558 => wire__tokio__net__UnixListener_accept_impl(port, ptr, rust_vec_len, data_len), + 559 => wire__tokio__net__UnixListener_from_std_impl(port, ptr, rust_vec_len, data_len), + 560 => wire__tokio__net__UnixListener_into_std_impl(port, ptr, rust_vec_len, data_len), + 561 => wire__tokio__net__UnixListener_local_addr_impl(port, ptr, rust_vec_len, data_len), + 562 => wire__tokio__net__UnixListener_poll_accept_impl(port, ptr, rust_vec_len, data_len), + 563 => wire__tokio__net__UnixListener_take_error_impl(port, ptr, rust_vec_len, data_len), + 564 => wire__tokio__net__UnixSocket_datagram_impl(port, ptr, rust_vec_len, data_len), + 565 => wire__tokio__net__UnixSocket_listen_impl(port, ptr, rust_vec_len, data_len), + 566 => wire__tokio__net__UnixSocket_new_datagram_impl(port, ptr, rust_vec_len, data_len), + 567 => wire__tokio__net__UnixSocket_new_stream_impl(port, ptr, rust_vec_len, data_len), + 568 => wire__tokio__net__UnixStream_from_std_impl(port, ptr, rust_vec_len, data_len), + 569 => wire__tokio__net__UnixStream_into_split_impl(port, ptr, rust_vec_len, data_len), + 570 => wire__tokio__net__UnixStream_into_std_impl(port, ptr, rust_vec_len, data_len), + 571 => wire__tokio__net__UnixStream_local_addr_impl(port, ptr, rust_vec_len, data_len), + 572 => wire__tokio__net__UnixStream_pair_impl(port, ptr, rust_vec_len, data_len), + 573 => wire__tokio__net__UnixStream_peer_addr_impl(port, ptr, rust_vec_len, data_len), + 574 => wire__tokio__net__UnixStream_peer_cred_impl(port, ptr, rust_vec_len, data_len), + 575 => wire__tokio__net__UnixStream_poll_read_ready_impl(port, ptr, rust_vec_len, data_len), + 576 => { + wire__tokio__net__UnixStream_poll_write_ready_impl(port, ptr, rust_vec_len, data_len) + } + 577 => wire__tokio__net__UnixStream_readable_impl(port, ptr, rust_vec_len, data_len), + 578 => wire__tokio__net__UnixStream_ready_impl(port, ptr, rust_vec_len, data_len), + 579 => wire__tokio__net__UnixStream_take_error_impl(port, ptr, rust_vec_len, data_len), + 580 => wire__tokio__net__UnixStream_try_read_impl(port, ptr, rust_vec_len, data_len), + 581 => { + wire__tokio__net__UnixStream_try_read_vectored_impl(port, ptr, rust_vec_len, data_len) + } + 582 => wire__tokio__net__UnixStream_try_write_impl(port, ptr, rust_vec_len, data_len), + 583 => { + wire__tokio__net__UnixStream_try_write_vectored_impl(port, ptr, rust_vec_len, data_len) + } + 584 => wire__tokio__net__UnixStream_writable_impl(port, ptr, rust_vec_len, data_len), + 585 => wire__seekstorm__index__ValueType_default_impl(port, ptr, rust_vec_len, data_len), + 586 => wire__tokio__time__advance_impl(port, ptr, rust_vec_len, data_len), + 587 => { + wire__seekstorm__index__compression_type_default_impl(port, ptr, rust_vec_len, data_len) + } + 588 => wire__tokio__task__coop__consume_budget_impl(port, ptr, rust_vec_len, data_len), + 589 => wire__seekstorm__index__create_index_impl(port, ptr, rust_vec_len, data_len), + 590 => wire__tokio__signal__ctrl_c_impl(port, ptr, rust_vec_len, data_len), + 591 => { + wire__seekstorm__geo_search__decode_morton_2_d_impl(port, ptr, rust_vec_len, data_len) + } + 592 => { + wire__seekstorm__index__distance_field_default_impl(port, ptr, rust_vec_len, data_len) + } + 593 => wire__tokio__io__duplex_impl(port, ptr, rust_vec_len, data_len), + 594 => wire__tokio__io__empty_impl(port, ptr, rust_vec_len, data_len), + 595 => { + wire__seekstorm__geo_search__encode_morton_2_d_impl(port, ptr, rust_vec_len, data_len) + } + 596 => { + wire__seekstorm__geo_search__euclidian_distance_impl(port, ptr, rust_vec_len, data_len) + } + 597 => wire__seekstorm__index__field_type_default_impl(port, ptr, rust_vec_len, data_len), + 599 => { + wire__tokio__task__coop__has_budget_remaining_impl(port, ptr, rust_vec_len, data_len) + } + 600 => { + wire__seekstorm__highlighter__highlight_default_impl(port, ptr, rust_vec_len, data_len) + } + 601 => wire__seekstorm__highlighter__highlighter_impl(port, ptr, rust_vec_len, data_len), + 602 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len), + 603 => wire__tokio__time__interval_impl(port, ptr, rust_vec_len, data_len), + 604 => wire__tokio__time__interval_at_impl(port, ptr, rust_vec_len, data_len), + 605 => { + wire__tokio__time__missed_tick_behavior_default_impl(port, ptr, rust_vec_len, data_len) + } + 606 => wire__seekstorm__geo_search__morton_ordering_impl(port, ptr, rust_vec_len, data_len), + 607 => wire__seekstorm__index__ngram_type_default_impl(port, ptr, rust_vec_len, data_len), + 608 => wire__seekstorm__index__open_index_impl(port, ptr, rust_vec_len, data_len), + 609 => wire__tokio__time__pause_impl(port, ptr, rust_vec_len, data_len), + 610 => wire__tokio__net__unix__pipe__pipe_impl(port, ptr, rust_vec_len, data_len), + 611 => wire__seekstorm__geo_search__point_distance_to_morton_range_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 612 => wire__tokio__macros__support__poll_budget_available_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 613 => wire__tokio__task__coop__poll_proceed_impl(port, ptr, rust_vec_len, data_len), + 614 => wire__seekstorm__search__query_type_default_impl(port, ptr, rust_vec_len, data_len), + 615 => wire__seekstorm__search__range_type_default_impl(port, ptr, rust_vec_len, data_len), + 616 => wire__tokio__io__repeat_impl(port, ptr, rust_vec_len, data_len), + 617 => wire__seekstorm__search__result_type_default_impl(port, ptr, rust_vec_len, data_len), + 618 => wire__tokio__time__resume_impl(port, ptr, rust_vec_len, data_len), + 619 => wire__crate__api__keyword_search__search_fn_delete_index_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 620 => wire__crate__api__keyword_search__search_fn_ingest_pdf_dir_impl( + port, + ptr, + rust_vec_len, + data_len, + ), + 621 => { + wire__crate__api__keyword_search__search_fn_new_impl(port, ptr, rust_vec_len, data_len) + } + 622 => wire__tokio__signal__unix__signal_impl(port, ptr, rust_vec_len, data_len), + 623 => { + wire__seekstorm__index__similarity_type_default_impl(port, ptr, rust_vec_len, data_len) + } + 624 => wire__tokio__io__simplex_impl(port, ptr, rust_vec_len, data_len), + 625 => wire__tokio__io__sink_impl(port, ptr, rust_vec_len, data_len), + 626 => wire__tokio__time__sleep_impl(port, ptr, rust_vec_len, data_len), + 627 => wire__tokio__time__sleep_until_impl(port, ptr, rust_vec_len, data_len), + 628 => wire__tokio__io__stderr_impl(port, ptr, rust_vec_len, data_len), + 629 => wire__tokio__io__stdin_impl(port, ptr, rust_vec_len, data_len), + 630 => wire__tokio__io__stdout_impl(port, ptr, rust_vec_len, data_len), + 631 => wire__seekstorm__index__stemmer_type_default_impl(port, ptr, rust_vec_len, data_len), + 632 => wire__seekstorm__utils__substring_impl(port, ptr, rust_vec_len, data_len), + 633 => wire__tokio__macros__support__thread_rng_n_impl(port, ptr, rust_vec_len, data_len), + 634 => { + wire__seekstorm__index__tokenizer_type_default_impl(port, ptr, rust_vec_len, data_len) + } + 635 => wire__seekstorm__utils__truncate_impl(port, ptr, rust_vec_len, data_len), + 636 => wire__seekstorm__index__version_impl(port, ptr, rust_vec_len, data_len), + 637 => wire__tokio__task__yield_now_impl(port, ptr, rust_vec_len, data_len), + _ => unreachable!(), + } +} + +fn pde_ffi_dispatcher_sync_impl( + func_id: i32, + ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len: i32, + data_len: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + // Codec=Pde (Serialization + dispatch), see doc to use other codecs + match func_id { + 10 => { + wire__tokio__process__Child_auto_accessor_get_stderr_impl(ptr, rust_vec_len, data_len) + } + 11 => wire__tokio__process__Child_auto_accessor_get_stdin_impl(ptr, rust_vec_len, data_len), + 12 => { + wire__tokio__process__Child_auto_accessor_get_stdout_impl(ptr, rust_vec_len, data_len) + } + 13 => { + wire__tokio__process__Child_auto_accessor_set_stderr_impl(ptr, rust_vec_len, data_len) + } + 14 => wire__tokio__process__Child_auto_accessor_set_stdin_impl(ptr, rust_vec_len, data_len), + 15 => { + wire__tokio__process__Child_auto_accessor_set_stdout_impl(ptr, rust_vec_len, data_len) + } + 37 => wire__seekstorm__index__FacetField_auto_accessor_get_max_impl( + ptr, + rust_vec_len, + data_len, + ), + 38 => wire__seekstorm__index__FacetField_auto_accessor_get_min_impl( + ptr, + rust_vec_len, + data_len, + ), + 39 => wire__seekstorm__index__FacetField_auto_accessor_get_name_impl( + ptr, + rust_vec_len, + data_len, + ), + 40 => wire__seekstorm__index__FacetField_auto_accessor_get_values_impl( + ptr, + rust_vec_len, + data_len, + ), + 41 => wire__seekstorm__index__FacetField_auto_accessor_set_max_impl( + ptr, + rust_vec_len, + data_len, + ), + 42 => wire__seekstorm__index__FacetField_auto_accessor_set_min_impl( + ptr, + rust_vec_len, + data_len, + ), + 43 => wire__seekstorm__index__FacetField_auto_accessor_set_name_impl( + ptr, + rust_vec_len, + data_len, + ), + 44 => wire__seekstorm__index__FacetField_auto_accessor_set_values_impl( + ptr, + rust_vec_len, + data_len, + ), + 54 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_access_type_impl( + ptr, + rust_vec_len, + data_len, + ), + 55 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_frequent_words_impl( + ptr, + rust_vec_len, + data_len, + ), + 56 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_id_impl( + ptr, + rust_vec_len, + data_len, + ), + 57 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_name_impl( + ptr, + rust_vec_len, + data_len, + ), + 58 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_ngram_indexing_impl( + ptr, + rust_vec_len, + data_len, + ), + 59 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_query_completion_impl( + ptr, + rust_vec_len, + data_len, + ), + 60 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_similarity_impl( + ptr, + rust_vec_len, + data_len, + ), + 61 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_spelling_correction_impl( + ptr, + rust_vec_len, + data_len, + ), + 62 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_stemmer_impl( + ptr, + rust_vec_len, + data_len, + ), + 63 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_stop_words_impl( + ptr, + rust_vec_len, + data_len, + ), + 64 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_tokenizer_impl( + ptr, + rust_vec_len, + data_len, + ), + 65 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_access_type_impl( + ptr, + rust_vec_len, + data_len, + ), + 66 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_frequent_words_impl( + ptr, + rust_vec_len, + data_len, + ), + 67 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_id_impl( + ptr, + rust_vec_len, + data_len, + ), + 68 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_name_impl( + ptr, + rust_vec_len, + data_len, + ), + 69 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_ngram_indexing_impl( + ptr, + rust_vec_len, + data_len, + ), + 70 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_query_completion_impl( + ptr, + rust_vec_len, + data_len, + ), + 71 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_similarity_impl( + ptr, + rust_vec_len, + data_len, + ), + 72 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_spelling_correction_impl( + ptr, + rust_vec_len, + data_len, + ), + 73 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_stemmer_impl( + ptr, + rust_vec_len, + data_len, + ), + 74 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_stop_words_impl( + ptr, + rust_vec_len, + data_len, + ), + 75 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_tokenizer_impl( + ptr, + rust_vec_len, + data_len, + ), + 77 => wire__seekstorm__index__Index_auto_accessor_get_index_format_version_major_impl( + ptr, + rust_vec_len, + data_len, + ), + 78 => wire__seekstorm__index__Index_auto_accessor_get_index_format_version_minor_impl( + ptr, + rust_vec_len, + data_len, + ), + 79 => { + wire__seekstorm__index__Index_auto_accessor_get_meta_impl(ptr, rust_vec_len, data_len) + } + 80 => wire__seekstorm__index__Index_auto_accessor_get_schema_map_impl( + ptr, + rust_vec_len, + data_len, + ), + 81 => wire__seekstorm__index__Index_auto_accessor_get_stored_field_names_impl( + ptr, + rust_vec_len, + data_len, + ), + 82 => wire__seekstorm__index__Index_auto_accessor_set_index_format_version_major_impl( + ptr, + rust_vec_len, + data_len, + ), + 83 => wire__seekstorm__index__Index_auto_accessor_set_index_format_version_minor_impl( + ptr, + rust_vec_len, + data_len, + ), + 84 => { + wire__seekstorm__index__Index_auto_accessor_set_meta_impl(ptr, rust_vec_len, data_len) + } + 85 => wire__seekstorm__index__Index_auto_accessor_set_schema_map_impl( + ptr, + rust_vec_len, + data_len, + ), + 86 => wire__seekstorm__index__Index_auto_accessor_set_stored_field_names_impl( + ptr, + rust_vec_len, + data_len, + ), + 121 => wire__seekstorm__index__MinMaxFieldJson_auto_accessor_get_max_impl( + ptr, + rust_vec_len, + data_len, + ), + 122 => wire__seekstorm__index__MinMaxFieldJson_auto_accessor_get_min_impl( + ptr, + rust_vec_len, + data_len, + ), + 123 => wire__seekstorm__index__MinMaxFieldJson_auto_accessor_set_max_impl( + ptr, + rust_vec_len, + data_len, + ), + 124 => wire__seekstorm__index__MinMaxFieldJson_auto_accessor_set_min_impl( + ptr, + rust_vec_len, + data_len, + ), + 126 => wire__seekstorm__index__MinMaxField_auto_accessor_get_max_impl( + ptr, + rust_vec_len, + data_len, + ), + 127 => wire__seekstorm__index__MinMaxField_auto_accessor_get_min_impl( + ptr, + rust_vec_len, + data_len, + ), + 128 => wire__seekstorm__index__MinMaxField_auto_accessor_set_max_impl( + ptr, + rust_vec_len, + data_len, + ), + 129 => wire__seekstorm__index__MinMaxField_auto_accessor_set_min_impl( + ptr, + rust_vec_len, + data_len, + ), + 215 => wire__seekstorm__search__ResultObject_auto_accessor_get_facets_impl( + ptr, + rust_vec_len, + data_len, + ), + 216 => wire__seekstorm__search__ResultObject_auto_accessor_get_original_query_impl( + ptr, + rust_vec_len, + data_len, + ), + 217 => wire__seekstorm__search__ResultObject_auto_accessor_get_query_impl( + ptr, + rust_vec_len, + data_len, + ), + 218 => wire__seekstorm__search__ResultObject_auto_accessor_get_query_terms_impl( + ptr, + rust_vec_len, + data_len, + ), + 219 => wire__seekstorm__search__ResultObject_auto_accessor_get_result_count_impl( + ptr, + rust_vec_len, + data_len, + ), + 220 => wire__seekstorm__search__ResultObject_auto_accessor_get_result_count_total_impl( + ptr, + rust_vec_len, + data_len, + ), + 221 => wire__seekstorm__search__ResultObject_auto_accessor_get_results_impl( + ptr, + rust_vec_len, + data_len, + ), + 222 => wire__seekstorm__search__ResultObject_auto_accessor_get_suggestions_impl( + ptr, + rust_vec_len, + data_len, + ), + 223 => wire__seekstorm__search__ResultObject_auto_accessor_set_facets_impl( + ptr, + rust_vec_len, + data_len, + ), + 224 => wire__seekstorm__search__ResultObject_auto_accessor_set_original_query_impl( + ptr, + rust_vec_len, + data_len, + ), + 225 => wire__seekstorm__search__ResultObject_auto_accessor_set_query_impl( + ptr, + rust_vec_len, + data_len, + ), + 226 => wire__seekstorm__search__ResultObject_auto_accessor_set_query_terms_impl( + ptr, + rust_vec_len, + data_len, + ), + 227 => wire__seekstorm__search__ResultObject_auto_accessor_set_result_count_impl( + ptr, + rust_vec_len, + data_len, + ), + 228 => wire__seekstorm__search__ResultObject_auto_accessor_set_result_count_total_impl( + ptr, + rust_vec_len, + data_len, + ), + 229 => wire__seekstorm__search__ResultObject_auto_accessor_set_results_impl( + ptr, + rust_vec_len, + data_len, + ), + 230 => wire__seekstorm__search__ResultObject_auto_accessor_set_suggestions_impl( + ptr, + rust_vec_len, + data_len, + ), + 232 => wire__seekstorm__search__ResultSort_auto_accessor_get_base_impl( + ptr, + rust_vec_len, + data_len, + ), + 233 => wire__seekstorm__search__ResultSort_auto_accessor_get_field_impl( + ptr, + rust_vec_len, + data_len, + ), + 234 => wire__seekstorm__search__ResultSort_auto_accessor_get_order_impl( + ptr, + rust_vec_len, + data_len, + ), + 235 => wire__seekstorm__search__ResultSort_auto_accessor_set_base_impl( + ptr, + rust_vec_len, + data_len, + ), + 236 => wire__seekstorm__search__ResultSort_auto_accessor_set_field_impl( + ptr, + rust_vec_len, + data_len, + ), + 237 => wire__seekstorm__search__ResultSort_auto_accessor_set_order_impl( + ptr, + rust_vec_len, + data_len, + ), + 238 => wire__tokio__net__tcp__ReuniteError_auto_accessor_get_field0_impl( + ptr, + rust_vec_len, + data_len, + ), + 239 => wire__tokio__net__tcp__ReuniteError_auto_accessor_get_field1_impl( + ptr, + rust_vec_len, + data_len, + ), + 240 => wire__tokio__net__tcp__ReuniteError_auto_accessor_set_field0_impl( + ptr, + rust_vec_len, + data_len, + ), + 241 => wire__tokio__net__tcp__ReuniteError_auto_accessor_set_field1_impl( + ptr, + rust_vec_len, + data_len, + ), + 253 => wire__seekstorm__index__SchemaField_auto_accessor_get_boost_impl( + ptr, + rust_vec_len, + data_len, + ), + 254 => wire__seekstorm__index__SchemaField_auto_accessor_get_completion_source_impl( + ptr, + rust_vec_len, + data_len, + ), + 255 => wire__seekstorm__index__SchemaField_auto_accessor_get_dictionary_source_impl( + ptr, + rust_vec_len, + data_len, + ), + 256 => wire__seekstorm__index__SchemaField_auto_accessor_get_facet_impl( + ptr, + rust_vec_len, + data_len, + ), + 257 => wire__seekstorm__index__SchemaField_auto_accessor_get_field_impl( + ptr, + rust_vec_len, + data_len, + ), + 258 => wire__seekstorm__index__SchemaField_auto_accessor_get_field_type_impl( + ptr, + rust_vec_len, + data_len, + ), + 259 => wire__seekstorm__index__SchemaField_auto_accessor_get_indexed_impl( + ptr, + rust_vec_len, + data_len, + ), + 260 => wire__seekstorm__index__SchemaField_auto_accessor_get_longest_impl( + ptr, + rust_vec_len, + data_len, + ), + 261 => wire__seekstorm__index__SchemaField_auto_accessor_get_stored_impl( + ptr, + rust_vec_len, + data_len, + ), + 262 => wire__seekstorm__index__SchemaField_auto_accessor_set_boost_impl( + ptr, + rust_vec_len, + data_len, + ), + 263 => wire__seekstorm__index__SchemaField_auto_accessor_set_completion_source_impl( + ptr, + rust_vec_len, + data_len, + ), + 264 => wire__seekstorm__index__SchemaField_auto_accessor_set_dictionary_source_impl( + ptr, + rust_vec_len, + data_len, + ), + 265 => wire__seekstorm__index__SchemaField_auto_accessor_set_facet_impl( + ptr, + rust_vec_len, + data_len, + ), + 266 => wire__seekstorm__index__SchemaField_auto_accessor_set_field_impl( + ptr, + rust_vec_len, + data_len, + ), + 267 => wire__seekstorm__index__SchemaField_auto_accessor_set_field_type_impl( + ptr, + rust_vec_len, + data_len, + ), + 268 => wire__seekstorm__index__SchemaField_auto_accessor_set_indexed_impl( + ptr, + rust_vec_len, + data_len, + ), + 269 => wire__seekstorm__index__SchemaField_auto_accessor_set_longest_impl( + ptr, + rust_vec_len, + data_len, + ), + 270 => wire__seekstorm__index__SchemaField_auto_accessor_set_stored_impl( + ptr, + rust_vec_len, + data_len, + ), + 598 => wire__crate__api__simple__greet_impl(ptr, rust_vec_len, data_len), + _ => unreachable!(), + } +} + +// Section: rust2dart + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for AHashMap +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for AcquireError { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper>> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper>> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>>> for Arc> { + fn into_into_dart(self) -> FrbWrapper>> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Barrier { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for BarrierWaitResult { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Child { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for ChildStderr { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for ChildStdin { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for ChildStdout { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Command { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for DocumentItem { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for DuplexStream { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Empty { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for EnterGuard<'static> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Error { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for ExitStatus { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for FacetField { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for FacetFilter { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for FacetValue { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for File { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for FileType { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for FillBuf<'static, Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for Flush<'static, Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for FrequentwordType { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Handle { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Highlighter { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Id { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Index { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper, usize)>> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper, usize)>> +{ +} + +impl flutter_rust_bridge::IntoIntoDart, usize)>>> + for IndexMap, usize)> +{ + fn into_into_dart(self) -> FrbWrapper, usize)>> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for IndexMetaObject { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Instant { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Interest { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Interval { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for IoSlice<'static> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Ipv4Addr { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Lines { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for LocalEnterGuard { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for LocalSet { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for MinMaxField { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for MinMaxFieldJson { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Notified<'static> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Notify { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for OpenOptions { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Ordering { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for OwnedFd { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for OwnedNotified { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for OwnedPermit { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for OwnedReadHalf { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} + +impl flutter_rust_bridge::IntoIntoDart> for OwnedSemaphorePermit { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for OwnedWriteHalf { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for PdfDocument<'static> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for PermitIterator<'static, T> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for Permit<'static, T> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Poll<()> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Poll { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper>> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper>> {} + +impl flutter_rust_bridge::IntoIntoDart>>> for Poll> { + fn into_into_dart(self) -> FrbWrapper>> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper>> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper>> {} + +impl flutter_rust_bridge::IntoIntoDart>>> for Poll> { + fn into_into_dart(self) -> FrbWrapper>> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for Poll +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper>> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper>> {} + +impl flutter_rust_bridge::IntoIntoDart>>> for Poll> { + fn into_into_dart(self) -> FrbWrapper>> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper>> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper>> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>>> + for Poll> +{ + fn into_into_dart(self) -> FrbWrapper>> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper>> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper>> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>>> + for Poll> +{ + fn into_into_dart(self) -> FrbWrapper>> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper>> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper>> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>>> + for Poll> +{ + fn into_into_dart(self) -> FrbWrapper>> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper>> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper>> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>>> for Poll> { + fn into_into_dart(self) -> FrbWrapper>> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Poll { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for QueryFacet { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for QueryRewriting { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Ranges { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Range { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadF32Le<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadF32<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadF64Le<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadF64<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for ReadHalf +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for ReadI128Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadI128<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadI16Le<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadI16<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadI32Le<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadI32<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadI64Le<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadI64<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadI8<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for ReadU128Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadU128<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadU16Le<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadU16<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadU32Le<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadU32<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadU64Le<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadU64<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for ReadU8<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Ready { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Receiver { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Receiver { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for RecvError { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Ref<'static, T> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Repeat { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for RestoreOnPending { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Result { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for ResultObject { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for ResultSort { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for ReuniteError { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Runtime { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for RuntimeMetrics { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for SchemaField { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for SeekFrom { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for Seek<'static, Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Semaphore { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for SemaphorePermit<'static> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for SendError<()> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for SendError { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for SendTimeoutError { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Sender { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Sender { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Shutdown { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for Shutdown<'static, Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Signal { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for SignalKind { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for SimplexStream { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Sink { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Sleep { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for SocketAddr { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Split { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for StdCommand { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Stderr { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Stdin { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Stdout { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for StopwordType { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for T { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for Take { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for TcpListener { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for TcpSocket { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for TcpStream { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for TryCurrentError { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for TryRecvError { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for TrySendError<()> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for TrySendError { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for TrySendError { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for UCred { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for UdpSocket { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for UnixDatagram { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for UnixListener { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for UnixSocket { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for UnixStream { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for Value { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for ValueType { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} + +impl flutter_rust_bridge::IntoIntoDart>> for WeakSender { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteF32Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteF32<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteF64Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteF64<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteHalf +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteI128Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteI128<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteI16Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteI16<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteI32Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteI32<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteI64Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteI64<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteI8<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteU128Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteU128<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteU16Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteU16<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteU32Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteU32<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> + for WriteU64Le<&mut Self> +{ + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteU64<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper> { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper> +{ +} + +impl flutter_rust_bridge::IntoIntoDart>> for WriteU8<&mut Self> { + fn into_into_dart(self) -> FrbWrapper> { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for c_int { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for gid_t { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for pid_t { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} + +impl flutter_rust_bridge::IntoIntoDart> for uid_t { + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::index::AccessType::Ram => 0.into_dart(), + seekstorm::index::AccessType::Mmap => 1.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::AccessType +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::index::CompressionType::Delta => 0.into_dart(), + seekstorm::index::CompressionType::Array => 1.into_dart(), + seekstorm::index::CompressionType::Bitmap => 2.into_dart(), + seekstorm::index::CompressionType::Rle => 3.into_dart(), + seekstorm::index::CompressionType::Error => 4.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::CompressionType +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + [ + self.0.field.into_into_dart().into_dart(), + self.0.distance.into_into_dart().into_dart(), + self.0.base.into_into_dart().into_dart(), + self.0.unit.into_into_dart().into_dart(), + ] + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::DistanceField +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::index::DistanceUnit::Kilometers => 0.into_dart(), + seekstorm::index::DistanceUnit::Miles => 1.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::DistanceUnit +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::index::FieldType::U8 => 0.into_dart(), + seekstorm::index::FieldType::U16 => 1.into_dart(), + seekstorm::index::FieldType::U32 => 2.into_dart(), + seekstorm::index::FieldType::U64 => 3.into_dart(), + seekstorm::index::FieldType::I8 => 4.into_dart(), + seekstorm::index::FieldType::I16 => 5.into_dart(), + seekstorm::index::FieldType::I32 => 6.into_dart(), + seekstorm::index::FieldType::I64 => 7.into_dart(), + seekstorm::index::FieldType::Timestamp => 8.into_dart(), + seekstorm::index::FieldType::F32 => 9.into_dart(), + seekstorm::index::FieldType::F64 => 10.into_dart(), + seekstorm::index::FieldType::Bool => 11.into_dart(), + seekstorm::index::FieldType::String16 => 12.into_dart(), + seekstorm::index::FieldType::String32 => 13.into_dart(), + seekstorm::index::FieldType::StringSet16 => 14.into_dart(), + seekstorm::index::FieldType::StringSet32 => 15.into_dart(), + seekstorm::index::FieldType::Point => 16.into_dart(), + seekstorm::index::FieldType::Text => 17.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::FieldType +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + [ + self.0.field.into_into_dart().into_dart(), + self.0.name.into_into_dart().into_dart(), + self.0.fragment_number.into_into_dart().into_dart(), + self.0.fragment_size.into_into_dart().into_dart(), + self.0.highlight_markup.into_into_dart().into_dart(), + self.0.pre_tags.into_into_dart().into_dart(), + self.0.post_tags.into_into_dart().into_dart(), + ] + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::highlighter::Highlight +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + tokio::time::MissedTickBehavior::Burst => 0.into_dart(), + tokio::time::MissedTickBehavior::Delay => 1.into_dart(), + tokio::time::MissedTickBehavior::Skip => 2.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for tokio::time::MissedTickBehavior +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::index::NgramType::SingleTerm => 0.into_dart(), + seekstorm::index::NgramType::NgramFF => 1.into_dart(), + seekstorm::index::NgramType::NgramFR => 2.into_dart(), + seekstorm::index::NgramType::NgramRF => 3.into_dart(), + seekstorm::index::NgramType::NgramFFF => 4.into_dart(), + seekstorm::index::NgramType::NgramRFF => 5.into_dart(), + seekstorm::index::NgramType::NgramFFR => 6.into_dart(), + seekstorm::index::NgramType::NgramFRF => 7.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::NgramType +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + [self.0.max_completion_entries.into_into_dart().into_dart()].into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::QueryCompletion +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::search::QueryType::Union => 0.into_dart(), + seekstorm::search::QueryType::Intersection => 1.into_dart(), + seekstorm::search::QueryType::Phrase => 2.into_dart(), + seekstorm::search::QueryType::Not => 3.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::search::QueryType +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::search::RangeType::CountWithinRange => 0.into_dart(), + seekstorm::search::RangeType::CountAboveRange => 1.into_dart(), + seekstorm::search::RangeType::CountBelowRange => 2.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::search::RangeType +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::search::ResultType::Count => 0.into_dart(), + seekstorm::search::ResultType::Topk => 1.into_dart(), + seekstorm::search::ResultType::TopkCount => 2.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::search::ResultType +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + tokio::runtime::RuntimeFlavor::CurrentThread => 0.into_dart(), + tokio::runtime::RuntimeFlavor::MultiThread => 1.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for tokio::runtime::RuntimeFlavor +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for crate::api::keyword_search::SearchFn { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + [self.path_to_index.into_into_dart().into_dart()].into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for crate::api::keyword_search::SearchFn +{ +} +impl flutter_rust_bridge::IntoIntoDart + for crate::api::keyword_search::SearchFn +{ + fn into_into_dart(self) -> crate::api::keyword_search::SearchFn { + self + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::index::SimilarityType::Bm25f => 0.into_dart(), + seekstorm::index::SimilarityType::Bm25fProximity => 1.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::SimilarityType +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::search::SortOrder::Ascending => 0.into_dart(), + seekstorm::search::SortOrder::Descending => 1.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::search::SortOrder +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + [ + self.0 + .max_dictionary_edit_distance + .into_into_dart() + .into_dart(), + self.0.term_length_threshold.into_into_dart().into_dart(), + self.0.count_threshold.into_into_dart().into_dart(), + self.0.max_dictionary_entries.into_into_dart().into_dart(), + ] + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::SpellingCorrection +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::index::StemmerType::None => 0.into_dart(), + seekstorm::index::StemmerType::Arabic => 1.into_dart(), + seekstorm::index::StemmerType::Danish => 2.into_dart(), + seekstorm::index::StemmerType::Dutch => 3.into_dart(), + seekstorm::index::StemmerType::English => 4.into_dart(), + seekstorm::index::StemmerType::Finnish => 5.into_dart(), + seekstorm::index::StemmerType::French => 6.into_dart(), + seekstorm::index::StemmerType::German => 7.into_dart(), + seekstorm::index::StemmerType::Greek => 8.into_dart(), + seekstorm::index::StemmerType::Hungarian => 9.into_dart(), + seekstorm::index::StemmerType::Italian => 10.into_dart(), + seekstorm::index::StemmerType::Norwegian => 11.into_dart(), + seekstorm::index::StemmerType::Portuguese => 12.into_dart(), + seekstorm::index::StemmerType::Romanian => 13.into_dart(), + seekstorm::index::StemmerType::Russian => 14.into_dart(), + seekstorm::index::StemmerType::Spanish => 15.into_dart(), + seekstorm::index::StemmerType::Swedish => 16.into_dart(), + seekstorm::index::StemmerType::Tamil => 17.into_dart(), + seekstorm::index::StemmerType::Turkish => 18.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::StemmerType +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + [ + self.0.terms.into_into_dart().into_dart(), + self.0.multiway.into_into_dart().into_dart(), + ] + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::Synonym +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + seekstorm::index::TokenizerType::AsciiAlphabetic => 0.into_dart(), + seekstorm::index::TokenizerType::UnicodeAlphanumeric => 1.into_dart(), + seekstorm::index::TokenizerType::UnicodeAlphanumericFolded => 2.into_dart(), + seekstorm::index::TokenizerType::Whitespace => 3.into_dart(), + seekstorm::index::TokenizerType::WhitespaceLowercase => 4.into_dart(), + seekstorm::index::TokenizerType::UnicodeAlphanumericZH => 5.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for seekstorm::index::TokenizerType +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + match self.0 { + tokio::sync::TryAcquireError::Closed => 0.into_dart(), + tokio::sync::TryAcquireError::NoPermits => 1.into_dart(), + _ => unreachable!(), + } + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for tokio::sync::TryAcquireError +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} + +impl SseEncode for flutter_rust_bridge::for_generated::anyhow::Error { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(format!("{:?}", self), serializer); + } +} + +impl SseEncode for AHashMap { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for AcquireError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Arc> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Barrier { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for BarrierWaitResult { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Child { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ChildStderr { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ChildStdin { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ChildStdout { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Command { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for DocumentItem { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for DuplexStream { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Empty { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for EnterGuard<'static> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Error { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ExitStatus { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for FacetField { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for FacetFilter { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for FacetValue { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for File { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for FileType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for FillBuf<'static, Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Flush<'static, Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for FrequentwordType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Handle { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Highlighter { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Id { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Index { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for IndexMap, usize)> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + , usize)>, + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for IndexMetaObject { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Instant { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Interest { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Interval { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for IoSlice<'static> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Ipv4Addr { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Lines { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for LocalEnterGuard { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for LocalSet { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for MinMaxField { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for MinMaxFieldJson { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Notified<'static> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Notify { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for OpenOptions { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Ordering { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for OwnedFd { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for OwnedNotified { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for OwnedPermit { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for OwnedReadHalf { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for OwnedSemaphorePermit { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + , + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for OwnedWriteHalf { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for PdfDocument<'static> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for PermitIterator<'static, T> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Permit<'static, T> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Poll<()> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Poll { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Poll { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Poll> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Poll { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for QueryFacet { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for QueryRewriting { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Ranges { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Range { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadF32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadF32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadF64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadF64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadHalf { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadI128Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadI128<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadI16Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadI16<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadI32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadI32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadI64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadI64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadI8<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadU128Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadU128<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadU16Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadU16<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadU32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadU32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadU64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ReadU64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReadU8<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Ready { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Receiver { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Receiver { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for RecvError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Ref<'static, T> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Repeat { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for RestoreOnPending { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Result { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ResultObject { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ResultSort { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for ReuniteError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Runtime { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for RuntimeMetrics { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for SchemaField { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for SeekFrom { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Seek<'static, Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Semaphore { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for SemaphorePermit<'static> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for SendError<()> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for SendError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for SendTimeoutError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Sender { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Sender { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Shutdown { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Shutdown<'static, Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Signal { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for SignalKind { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for SimplexStream { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Sink { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Sleep { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for SocketAddr { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Split { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for StdCommand { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Stderr { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Stdin { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Stdout { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for StopwordType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for T { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for Take { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for TcpListener { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for TcpSocket { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for TcpStream { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for TryCurrentError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for TryRecvError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for TrySendError<()> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for TrySendError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for TrySendError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for UCred { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for UdpSocket { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for UnixDatagram { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for UnixListener { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for UnixSocket { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for UnixStream { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for Value { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for ValueType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WeakSender { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WriteF32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteF32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WriteF64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteF64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WriteHalf { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteI128Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteI128<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteI16Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteI16<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WriteI32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteI32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WriteI64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteI64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WriteI8<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WriteU128Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteU128<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteU16Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteU16<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WriteU32Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteU32<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WriteU64Le<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >, + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for WriteU64<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for WriteU8<&mut Self> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); + } +} + +impl SseEncode for c_int { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for gid_t { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for pid_t { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for uid_t { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >>::sse_encode( + flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), + serializer, + ); + } +} + +impl SseEncode for chrono::Duration { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + self.num_microseconds() + .expect("cannot get microseconds from time"), + serializer, + ); + } +} + +impl SseEncode for i128 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.to_string(), serializer); + } +} + +impl SseEncode for std::collections::HashMap { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >::sse_encode(self.into_iter().collect(), serializer); + } +} + +impl SseEncode for std::collections::HashMap { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >::sse_encode(self.into_iter().collect(), serializer); + } +} + +impl SseEncode for std::collections::HashMap { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >::sse_encode(self.into_iter().collect(), serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + IndexMap, usize)>, + >, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi]>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi>> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, + > +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode + for RustOpaqueMoi>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for RustOpaqueMoi> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + let (ptr, size) = self.sse_encode_raw(); + ::sse_encode(ptr, serializer); + ::sse_encode(size, serializer); + } +} + +impl SseEncode for std::collections::HashSet { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >::sse_encode(self.into_iter().collect(), serializer); + } +} + +impl SseEncode for String { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >::sse_encode(self.into_bytes(), serializer); + } +} + +impl SseEncode for u128 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.to_string(), serializer); + } +} + +impl SseEncode for seekstorm::index::AccessType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::index::AccessType::Ram => 0, + seekstorm::index::AccessType::Mmap => 1, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for bool { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_u8(self as _).unwrap(); + } +} + +impl SseEncode for seekstorm::index::CompressionType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::index::CompressionType::Delta => 0, + seekstorm::index::CompressionType::Array => 1, + seekstorm::index::CompressionType::Bitmap => 2, + seekstorm::index::CompressionType::Rle => 3, + seekstorm::index::CompressionType::Error => 4, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for seekstorm::index::DistanceField { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.field, serializer); + ::sse_encode(self.distance, serializer); + >::sse_encode(self.base, serializer); + ::sse_encode(self.unit, serializer); + } +} + +impl SseEncode for seekstorm::index::DistanceUnit { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::index::DistanceUnit::Kilometers => 0, + seekstorm::index::DistanceUnit::Miles => 1, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for f32 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_f32::(self).unwrap(); + } +} + +impl SseEncode for f64 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_f64::(self).unwrap(); + } +} + +impl SseEncode for seekstorm::index::FieldType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::index::FieldType::U8 => 0, + seekstorm::index::FieldType::U16 => 1, + seekstorm::index::FieldType::U32 => 2, + seekstorm::index::FieldType::U64 => 3, + seekstorm::index::FieldType::I8 => 4, + seekstorm::index::FieldType::I16 => 5, + seekstorm::index::FieldType::I32 => 6, + seekstorm::index::FieldType::I64 => 7, + seekstorm::index::FieldType::Timestamp => 8, + seekstorm::index::FieldType::F32 => 9, + seekstorm::index::FieldType::F64 => 10, + seekstorm::index::FieldType::Bool => 11, + seekstorm::index::FieldType::String16 => 12, + seekstorm::index::FieldType::String32 => 13, + seekstorm::index::FieldType::StringSet16 => 14, + seekstorm::index::FieldType::StringSet32 => 15, + seekstorm::index::FieldType::Point => 16, + seekstorm::index::FieldType::Text => 17, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for seekstorm::highlighter::Highlight { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.field, serializer); + ::sse_encode(self.name, serializer); + ::sse_encode(self.fragment_number, serializer); + ::sse_encode(self.fragment_size, serializer); + ::sse_encode(self.highlight_markup, serializer); + ::sse_encode(self.pre_tags, serializer); + ::sse_encode(self.post_tags, serializer); + } +} + +impl SseEncode for i16 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_i16::(self).unwrap(); + } +} + +impl SseEncode for i32 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_i32::(self).unwrap(); + } +} + +impl SseEncode for i64 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_i64::(self).unwrap(); + } +} + +impl SseEncode for i8 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_i8(self).unwrap(); + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + >::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + >::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec<(String, MinMaxFieldJson)> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + <(String, MinMaxFieldJson)>::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec<(String, SchemaField)> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + <(String, SchemaField)>::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec<(String, Value)> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + <(String, Value)>::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec<(u64, std::collections::HashMap)> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + <(u64, std::collections::HashMap)>::sse_encode(item, serializer); + } + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for tokio::time::MissedTickBehavior { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + tokio::time::MissedTickBehavior::Burst => 0, + tokio::time::MissedTickBehavior::Delay => 1, + tokio::time::MissedTickBehavior::Skip => 2, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for seekstorm::index::NgramType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::index::NgramType::SingleTerm => 0, + seekstorm::index::NgramType::NgramFF => 1, + seekstorm::index::NgramType::NgramFR => 2, + seekstorm::index::NgramType::NgramRF => 3, + seekstorm::index::NgramType::NgramFFF => 4, + seekstorm::index::NgramType::NgramRFF => 5, + seekstorm::index::NgramType::NgramFFR => 6, + seekstorm::index::NgramType::NgramFRF => 7, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for Option> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + >::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode + for Option>> +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + >>::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option<()> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + <()>::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + +impl SseEncode for Option> { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.is_some(), serializer); + if let Some(value) = self { + >::sse_encode(value, serializer); + } + } +} + +impl SseEncode for seekstorm::index::QueryCompletion { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.max_completion_entries, serializer); + } +} + +impl SseEncode for seekstorm::search::QueryType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::search::QueryType::Union => 0, + seekstorm::search::QueryType::Intersection => 1, + seekstorm::search::QueryType::Phrase => 2, + seekstorm::search::QueryType::Not => 3, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for seekstorm::search::RangeType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::search::RangeType::CountWithinRange => 0, + seekstorm::search::RangeType::CountAboveRange => 1, + seekstorm::search::RangeType::CountBelowRange => 2, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for (DuplexStream, DuplexStream) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (OwnedReadHalf, OwnedWriteHalf) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (ReadHalf, WriteHalf) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >::sse_encode(self.0, serializer); + >::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (Sender, Receiver) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (TcpStream, SocketAddr) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (UnixDatagram, UnixDatagram) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (UnixStream, SocketAddr) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (UnixStream, UnixStream) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (String, MinMaxFieldJson) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (String, SchemaField) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (String, Value) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (u64, std::collections::HashMap) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + >::sse_encode(self.1, serializer); + } +} + +impl SseEncode for (usize, SocketAddr) { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + +impl SseEncode for seekstorm::search::ResultType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::search::ResultType::Count => 0, + seekstorm::search::ResultType::Topk => 1, + seekstorm::search::ResultType::TopkCount => 2, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for tokio::runtime::RuntimeFlavor { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + tokio::runtime::RuntimeFlavor::CurrentThread => 0, + tokio::runtime::RuntimeFlavor::MultiThread => 1, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for crate::api::keyword_search::SearchFn { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.path_to_index, serializer); + } +} + +impl SseEncode for seekstorm::index::SimilarityType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::index::SimilarityType::Bm25f => 0, + seekstorm::index::SimilarityType::Bm25fProximity => 1, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for seekstorm::search::SortOrder { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::search::SortOrder::Ascending => 0, + seekstorm::search::SortOrder::Descending => 1, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for seekstorm::index::SpellingCorrection { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.max_dictionary_edit_distance, serializer); + >>::sse_encode(self.term_length_threshold, serializer); + ::sse_encode(self.count_threshold, serializer); + ::sse_encode(self.max_dictionary_entries, serializer); + } +} + +impl SseEncode for seekstorm::index::StemmerType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::index::StemmerType::None => 0, + seekstorm::index::StemmerType::Arabic => 1, + seekstorm::index::StemmerType::Danish => 2, + seekstorm::index::StemmerType::Dutch => 3, + seekstorm::index::StemmerType::English => 4, + seekstorm::index::StemmerType::Finnish => 5, + seekstorm::index::StemmerType::French => 6, + seekstorm::index::StemmerType::German => 7, + seekstorm::index::StemmerType::Greek => 8, + seekstorm::index::StemmerType::Hungarian => 9, + seekstorm::index::StemmerType::Italian => 10, + seekstorm::index::StemmerType::Norwegian => 11, + seekstorm::index::StemmerType::Portuguese => 12, + seekstorm::index::StemmerType::Romanian => 13, + seekstorm::index::StemmerType::Russian => 14, + seekstorm::index::StemmerType::Spanish => 15, + seekstorm::index::StemmerType::Swedish => 16, + seekstorm::index::StemmerType::Tamil => 17, + seekstorm::index::StemmerType::Turkish => 18, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for seekstorm::index::Synonym { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >::sse_encode(self.terms, serializer); + ::sse_encode(self.multiway, serializer); + } +} + +impl SseEncode for seekstorm::index::TokenizerType { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + seekstorm::index::TokenizerType::AsciiAlphabetic => 0, + seekstorm::index::TokenizerType::UnicodeAlphanumeric => 1, + seekstorm::index::TokenizerType::UnicodeAlphanumericFolded => 2, + seekstorm::index::TokenizerType::Whitespace => 3, + seekstorm::index::TokenizerType::WhitespaceLowercase => 4, + seekstorm::index::TokenizerType::UnicodeAlphanumericZH => 5, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for tokio::sync::TryAcquireError { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode( + match self { + tokio::sync::TryAcquireError::Closed => 0, + tokio::sync::TryAcquireError::NoPermits => 1, + _ => { + unimplemented!(""); + } + }, + serializer, + ); + } +} + +impl SseEncode for u16 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_u16::(self).unwrap(); + } +} + +impl SseEncode for u32 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_u32::(self).unwrap(); + } +} + +impl SseEncode for u64 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_u64::(self).unwrap(); + } +} + +impl SseEncode for u8 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_u8(self).unwrap(); + } +} + +impl SseEncode for () { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {} +} + +impl SseEncode for usize { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } + serializer + .cursor + .write_u64::(self as _) + .unwrap(); + } +} + +#[cfg(not(target_family = "wasm"))] +mod io { + // This file is automatically generated, so please do not edit it. + // @generated by `flutter_rust_bridge`@ 2.11.1. + + // Section: imports + + use super::*; + use crate::*; + use flutter_rust_bridge::for_generated::byteorder::{ + NativeEndian, ReadBytesExt, WriteBytesExt, + }; + use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; + use flutter_rust_bridge::{Handler, IntoIntoDart}; + use seekstorm::geo_search::*; + use seekstorm::highlighter::*; + use seekstorm::index::*; + use seekstorm::ingest::*; + use seekstorm::search::*; + use tokio::io::*; + use tokio::net::tcp::listener::*; + use tokio::net::tcp::split_owned::*; + use tokio::net::tcp::*; + use tokio::net::udp::*; + use tokio::net::unix::datagram::socket::*; + use tokio::net::unix::listener::*; + use tokio::net::unix::pipe::*; + use tokio::net::unix::*; + use tokio::net::*; + use tokio::process::sys::*; + use tokio::process::*; + use tokio::runtime::*; + use tokio::signal::unix::InternalStream; + use tokio::signal::unix::*; + use tokio::sync::broadcast::error::*; + use tokio::sync::broadcast::*; + use tokio::sync::mpsc::bounded::*; + use tokio::sync::mpsc::error::*; + use tokio::sync::oneshot::*; + use tokio::sync::watch::*; + use tokio::sync::*; + use tokio::task::coop::*; + use tokio::task::*; + use tokio::time::error::*; + use tokio::time::interval::*; + use tokio::time::*; + + // Section: boilerplate + + flutter_rust_bridge::frb_generated_boilerplate_io!(); + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + IndexMap, usize)>, + >, + >::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + IndexMap, usize)>, + >, + >::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( + ptr: *const std::ffi::c_void, + ) { + MoiArc::]>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( + ptr: *const std::ffi::c_void, + ) { + MoiArc::]>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + >::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + >::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + >::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + >::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[unsafe(no_mangle)] + pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } +} +#[cfg(not(target_family = "wasm"))] +pub use io::*; + +/// cbindgen:ignore +#[cfg(target_family = "wasm")] +mod web { + // This file is automatically generated, so please do not edit it. + // @generated by `flutter_rust_bridge`@ 2.11.1. + + // Section: imports + + use super::*; + use crate::*; + use flutter_rust_bridge::for_generated::byteorder::{ + NativeEndian, ReadBytesExt, WriteBytesExt, + }; + use flutter_rust_bridge::for_generated::wasm_bindgen; + use flutter_rust_bridge::for_generated::wasm_bindgen::prelude::*; + use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; + use flutter_rust_bridge::{Handler, IntoIntoDart}; + use seekstorm::geo_search::*; + use seekstorm::highlighter::*; + use seekstorm::index::*; + use seekstorm::ingest::*; + use seekstorm::search::*; + use tokio::io::*; + use tokio::net::tcp::listener::*; + use tokio::net::tcp::split_owned::*; + use tokio::net::tcp::*; + use tokio::net::udp::*; + use tokio::net::unix::datagram::socket::*; + use tokio::net::unix::listener::*; + use tokio::net::unix::pipe::*; + use tokio::net::unix::*; + use tokio::net::*; + use tokio::process::sys::*; + use tokio::process::*; + use tokio::runtime::*; + use tokio::signal::unix::InternalStream; + use tokio::signal::unix::*; + use tokio::sync::broadcast::error::*; + use tokio::sync::broadcast::*; + use tokio::sync::mpsc::bounded::*; + use tokio::sync::mpsc::error::*; + use tokio::sync::oneshot::*; + use tokio::sync::watch::*; + use tokio::sync::*; + use tokio::task::coop::*; + use tokio::task::*; + use tokio::time::error::*; + use tokio::time::interval::*; + use tokio::time::*; + + // Section: boilerplate + + flutter_rust_bridge::frb_generated_boilerplate_web!(); + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + IndexMap, usize)>, + >, + >::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + IndexMap, usize)>, + >, + >::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( + ptr: *const std::ffi::c_void, + ) { + MoiArc::]>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( + ptr: *const std::ffi::c_void, + ) { + MoiArc::]>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + >::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + >::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + >::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::< + flutter_rust_bridge::for_generated::RustAutoOpaqueInner< + Poll>, + >, + >::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc:: >>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); } -} -impl SseEncode for u8 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_u8(self).unwrap(); + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); } -} -impl SseEncode for () { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {} -} + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } -impl SseEncode for i32 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_i32::(self).unwrap(); + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); } -} -impl SseEncode for bool { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_u8(self as _).unwrap(); + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); } -} -#[cfg(not(target_family = "wasm"))] -mod io { - // This file is automatically generated, so please do not edit it. - // @generated by `flutter_rust_bridge`@ 2.11.1. + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } - // Section: imports + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } - use super::*; - use flutter_rust_bridge::for_generated::byteorder::{ - NativeEndian, ReadBytesExt, WriteBytesExt, - }; - use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; - use flutter_rust_bridge::{Handler, IntoIntoDart}; + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } - // Section: boilerplate + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } - flutter_rust_bridge::frb_generated_boilerplate_io!(); -} -#[cfg(not(target_family = "wasm"))] -pub use io::*; + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } -/// cbindgen:ignore -#[cfg(target_family = "wasm")] -mod web { - // This file is automatically generated, so please do not edit it. - // @generated by `flutter_rust_bridge`@ 2.11.1. + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } - // Section: imports + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } - use super::*; - use flutter_rust_bridge::for_generated::byteorder::{ - NativeEndian, ReadBytesExt, WriteBytesExt, - }; - use flutter_rust_bridge::for_generated::wasm_bindgen; - use flutter_rust_bridge::for_generated::wasm_bindgen::prelude::*; - use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; - use flutter_rust_bridge::{Handler, IntoIntoDart}; + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } - // Section: boilerplate + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } - flutter_rust_bridge::frb_generated_boilerplate_web!(); + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::increment_strong_count(ptr as _); + } + + #[wasm_bindgen] + pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( + ptr: *const std::ffi::c_void, + ) { + MoiArc::>::decrement_strong_count(ptr as _); + } } #[cfg(target_family = "wasm")] pub use web::*; From 5aececb3c4411073eac5ae9ed68a249bb70fb37a Mon Sep 17 00:00:00 2001 From: HabeebShopeju Date: Mon, 26 Jan 2026 03:27:38 +0000 Subject: [PATCH 12/20] Setup inference --- inference/Cargo.lock | 1992 +++++++++++++++++++++++++++++++++++++++++ inference/Cargo.toml | 13 + inference/src/lib.rs | 79 ++ inference/src/main.rs | 17 + 4 files changed, 2101 insertions(+) create mode 100644 inference/Cargo.lock create mode 100644 inference/Cargo.toml create mode 100644 inference/src/lib.rs create mode 100644 inference/src/main.rs diff --git a/inference/Cargo.lock b/inference/Cargo.lock new file mode 100644 index 0000000..13f4cb8 --- /dev/null +++ b/inference/Cargo.lock @@ -0,0 +1,1992 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "getrandom 0.3.4", + "once_cell", + "serde", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "anyhow" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + +[[package]] +name = "bumpalo" +version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" + +[[package]] +name = "castaway" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" +dependencies = [ + "rustversion", +] + +[[package]] +name = "cc" +version = "1.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "compact_str" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" +dependencies = [ + "castaway", + "cfg-if", + "itoa", + "rustversion", + "ryu", + "serde", + "static_assertions", +] + +[[package]] +name = "console" +version = "0.15.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" +dependencies = [ + "encode_unicode", + "libc", + "once_cell", + "unicode-width", + "windows-sys 0.59.0", +] + +[[package]] +name = "console" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" +dependencies = [ + "encode_unicode", + "libc", + "once_cell", + "unicode-width", + "windows-sys 0.61.2", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "darling" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "dary_heap" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06d2e3287df1c007e74221c49ca10a95d557349e54b3a75dc2fb14712c751f04" +dependencies = [ + "serde", +] + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "derive_builder" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" +dependencies = [ + "derive_builder_core", + "syn", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.61.2", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "encode_unicode" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "esaxx-rs" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6" +dependencies = [ + "cc", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "find-msvc-tools" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" + +[[package]] +name = "flate2" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + +[[package]] +name = "hf-hub" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "629d8f3bbeda9d148036d6b0de0a3ab947abd08ce90626327fc3547a49d59d97" +dependencies = [ + "dirs", + "http", + "indicatif 0.17.11", + "libc", + "log", + "rand", + "serde", + "serde_json", + "thiserror", + "ureq 2.12.1", + "windows-sys 0.60.2", +] + +[[package]] +name = "hmac-sha256" +version = "1.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0f0ae375a85536cac3a243e3a9cda80a47910348abdea7e2c22f8ec556d586d" + +[[package]] +name = "http" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indicatif" +version = "0.17.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" +dependencies = [ + "console 0.15.11", + "number_prefix", + "portable-atomic", + "unicode-width", + "web-time", +] + +[[package]] +name = "indicatif" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" +dependencies = [ + "console 0.16.2", + "portable-atomic", + "unicode-width", + "unit-prefix", + "web-time", +] + +[[package]] +name = "inference" +version = "0.1.0" +dependencies = [ + "anyhow", + "ndarray", + "ort", + "tokenizers", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "js-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "libc" +version = "0.2.180" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" + +[[package]] +name = "libredox" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" +dependencies = [ + "bitflags", + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "lzma-rust2" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1670343e58806300d87950e3401e820b519b9384281bbabfb15e3636689ffd69" + +[[package]] +name = "macro_rules_attribute" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65049d7923698040cd0b1ddcced9b0eb14dd22c5f86ae59c3740eab64a676520" +dependencies = [ + "macro_rules_attribute-proc_macro", + "paste", +] + +[[package]] +name = "macro_rules_attribute-proc_macro" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670fdfda89751bc4a84ac13eaa63e205cf0fd22b4c9a5fbfa085b63c1f1d3a30" + +[[package]] +name = "matrixmultiply" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" +dependencies = [ + "autocfg", + "rawpointer", +] + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "monostate" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67" +dependencies = [ + "monostate-impl", + "serde", + "serde_core", +] + +[[package]] +name = "monostate-impl" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "native-tls" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "ndarray" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520080814a7a6b4a6e9070823bb24b4531daac8c4627e08ba5de8c5ef2f2752d" +dependencies = [ + "matrixmultiply", + "num-complex", + "num-integer", + "num-traits", + "portable-atomic", + "portable-atomic-util", + "rawpointer", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "onig" +version = "6.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "336b9c63443aceef14bea841b899035ae3abe89b7c486aaf4c5bd8aafedac3f0" +dependencies = [ + "bitflags", + "libc", + "once_cell", + "onig_sys", +] + +[[package]] +name = "onig_sys" +version = "69.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7f86c6eef3d6df15f23bcfb6af487cbd2fed4e5581d58d5bf1f5f8b7f6727dc" +dependencies = [ + "cc", + "pkg-config", +] + +[[package]] +name = "openssl" +version = "0.10.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" + +[[package]] +name = "openssl-sys" +version = "0.9.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "ort" +version = "2.0.0-rc.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5df903c0d2c07b56950f1058104ab0c8557159f2741782223704de9be73c3c" +dependencies = [ + "ndarray", + "ort-sys", + "smallvec", + "tracing", + "ureq 3.1.4", +] + +[[package]] +name = "ort-sys" +version = "2.0.0-rc.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06503bb33f294c5f1ba484011e053bfa6ae227074bdb841e9863492dc5960d4b" +dependencies = [ + "hmac-sha256", + "lzma-rust2", + "ureq 3.1.4", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "portable-atomic" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[package]] +name = "rayon" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-cond" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2964d0cf57a3e7a06e8183d14a8b527195c706b7983549cd5462d5aa3747438f" +dependencies = [ + "either", + "itertools", + "rayon", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.17", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.17", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustix" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls" +version = "0.23.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b" +dependencies = [ + "log", + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pki-types" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" +dependencies = [ + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" + +[[package]] +name = "schannel" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "socks" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" +dependencies = [ + "byteorder", + "libc", + "winapi", +] + +[[package]] +name = "spm_precompiled" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326" +dependencies = [ + "base64 0.13.1", + "nom", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tempfile" +version = "3.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +dependencies = [ + "fastrand", + "getrandom 0.3.4", + "once_cell", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tokenizers" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b238e22d44a15349529690fb07bd645cf58149a1b1e44d6cb5bd1641ff1a6223" +dependencies = [ + "ahash", + "aho-corasick", + "compact_str", + "dary_heap", + "derive_builder", + "esaxx-rs", + "getrandom 0.3.4", + "hf-hub", + "indicatif 0.18.3", + "itertools", + "log", + "macro_rules_attribute", + "monostate", + "onig", + "paste", + "rand", + "rayon", + "rayon-cond", + "regex", + "regex-syntax", + "serde", + "serde_json", + "spm_precompiled", + "thiserror", + "unicode-normalization-alignments", + "unicode-segmentation", + "unicode_categories", +] + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" + +[[package]] +name = "unicode-normalization-alignments" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de" +dependencies = [ + "smallvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "unicode-width" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" + +[[package]] +name = "unicode_categories" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + +[[package]] +name = "unit-prefix" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "ureq" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d" +dependencies = [ + "base64 0.22.1", + "flate2", + "log", + "once_cell", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "socks", + "url", + "webpki-roots 0.26.11", +] + +[[package]] +name = "ureq" +version = "3.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d39cb1dbab692d82a977c0392ffac19e188bd9186a9f32806f0aaa859d75585a" +dependencies = [ + "base64 0.22.1", + "der", + "log", + "native-tls", + "percent-encoding", + "rustls-pki-types", + "socks", + "ureq-proto", + "utf-8", + "webpki-root-certs", +] + +[[package]] +name = "ureq-proto" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d81f9efa9df032be5934a46a068815a10a042b494b6a58cb0a1a97bb5467ed6f" +dependencies = [ + "base64 0.22.1", + "http", + "httparse", + "log", +] + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.2+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-root-certs" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36a29fc0408b113f68cf32637857ab740edfafdf460c326cd2afaa2d84cc05dc" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "webpki-roots" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.5", +] + +[[package]] +name = "webpki-roots" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12bed680863276c63889429bfd6cab3b99943659923822de1c8a39c49e4d722c" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zmij" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" diff --git a/inference/Cargo.toml b/inference/Cargo.toml new file mode 100644 index 0000000..e1b0768 --- /dev/null +++ b/inference/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "inference" +version = "0.1.0" +edition = "2024" + +[dependencies] +ndarray = "0.17.2" +tokenizers = { version = "0.22.2", default-features = false, features = ["esaxx_fast", "indicatif", "onig", "progressbar", "hf-hub", "http"] } +ort = { version = "2.0.0-rc.11" } +anyhow = "1.0.100" + +[target.'cfg(target_os = "android")'.dependencies] +ort = { version = "2.0.0-rc.11", default-features = false, features = ["ndarray", "copy-dylibs", "std", "tls-native"] } diff --git a/inference/src/lib.rs b/inference/src/lib.rs new file mode 100644 index 0000000..56d32e5 --- /dev/null +++ b/inference/src/lib.rs @@ -0,0 +1,79 @@ +use std::env; +use anyhow::Result; +use tokenizers::{Encoding, Tokenizer}; + +use ort::session::Session; +use ort::session::builder::GraphOptimizationLevel; + +type EncodingArray = ndarray::Array2; +type InputIds = ndarray::Array2; +type AttentionMask = ndarray::Array2; +pub type Embeddings = ndarray::Array2; + + +enum EncodingType { + Ids, + AttentionMask +} + +pub fn load_artifacts() -> Result<(Tokenizer, Session)> { + let mut tokenizer = Tokenizer::from_pretrained("abdulmatinomotoso/bge-finetuned", None) + .expect("Failed to load tokenizer."); + let padding = Some(tokenizers::PaddingParams { + strategy: tokenizers::PaddingStrategy::BatchLongest, + direction: tokenizers::PaddingDirection::Right, + pad_to_multiple_of: None, + pad_id: 1, + pad_type_id: 0, + pad_token: "".to_string(), + }); + tokenizer.with_padding(padding); + + let model_path = env::var("ACHO_MODEL_PATH") + .unwrap_or("weights/model.onnx".to_string()); + let session = Session::builder()? + .with_optimization_level(GraphOptimizationLevel::Level1)? + .with_intra_threads(4)? + .commit_from_file(&model_path).expect("Failed to load the ONNX model."); + Ok((tokenizer, session)) +} + +fn get_encoding_array(encodings: &Vec, encoding_type: EncodingType) -> Result { + let extract: fn(&Encoding) -> &[u32] = match encoding_type { + EncodingType::Ids => |e: &Encoding| e.get_ids(), + EncodingType::AttentionMask => |e: &Encoding| e.get_attention_mask(), + }; + + let nrows = encodings.len(); + let ncols = extract(&encodings[0]).len(); + let vec_matrix: Vec = encodings.iter() + .flat_map(|e| extract(e).iter().map(|&x| x as i64).collect::>()) + .collect(); + Ok( + ndarray::Array2::from_shape_vec((nrows, ncols), vec_matrix) + .expect("Failed to create Array2D from encodings.") + ) +} + +fn tokenize(texts: &[&str], tokenizer: &Tokenizer) -> Result<(InputIds, AttentionMask)> { + let encodings = tokenizer.encode_batch(texts.to_vec(), true) + .expect("Tokenization failed."); + + let input_ids = get_encoding_array(&encodings, EncodingType::Ids)?; + let attention_mask = get_encoding_array(&encodings, EncodingType::AttentionMask)?; + Ok((input_ids, attention_mask)) +} + +pub fn run_inference<'a>(text: &[&str], model: &'a mut Session, tokenizer: &Tokenizer) -> Result{ + let (tokens, attn_mask) = tokenize(text, tokenizer)?; + let token_input_value = ort::value::Tensor::from_array(tokens)?; + let attn_mask_input_value = ort::value::Tensor::from_array(attn_mask)?; + let dense: ort::session::SessionOutputs<'_>= model.run( + ort::inputs!["input_ids" => token_input_value, "attention_mask" => attn_mask_input_value] + ).expect("Embedding model inference failed."); + + let dense_embeddings = (&dense["dense_embeddings"]).try_extract_array::()? + .into_dimensionality::() + .expect("Failed to convert embeddings to 2D array."); + Ok(dense_embeddings.to_owned()) +} \ No newline at end of file diff --git a/inference/src/main.rs b/inference/src/main.rs new file mode 100644 index 0000000..d971edb --- /dev/null +++ b/inference/src/main.rs @@ -0,0 +1,17 @@ +use anyhow::Result; + +use inference::{load_artifacts, Embeddings, run_inference}; + +fn main() -> Result<()> { + let (tokenizer, mut model) = load_artifacts()?; + let texts = vec![ + "What is your name", + "Ki lo ruko e?", + "Ki lo je losan?" + ]; + let all_embeddings: Embeddings = run_inference(&texts, &mut model, &tokenizer)?; + let similarity_matrix = all_embeddings.dot(&all_embeddings.t()); + println!("Similarity matrix:\n{:?}", similarity_matrix); + + Ok(()) +} \ No newline at end of file From 284bde1860b1a9707211c9dcdd1201af4ad9cb0d Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 27 Jan 2026 10:02:33 +0000 Subject: [PATCH 13/20] WIP embed seekstorm --- mobile_app/flutter_rust_bridge.yaml | 6 +- mobile_app/lib/file.dart | 29 +- mobile_app/lib/main.dart | 8 +- .../lib/src/rust/api/keyword_search.dart | 39 +- mobile_app/lib/src/rust/frb_generated.dart | 35326 +----------- mobile_app/lib/src/rust/frb_generated.io.dart | 7712 +-- .../lib/src/rust/frb_generated.web.dart | 5167 +- mobile_app/lib/src/rust/lib.dart | 54 - .../rust/third_party/seekstorm/search.dart | 4 - mobile_app/lib/storage.dart | 3 - mobile_app/lib/utils.dart | 29 +- .../linux/flutter/generated_plugins.cmake | 1 + mobile_app/rust/Cargo.lock | 1594 +- mobile_app/rust/Cargo.toml | 3 +- mobile_app/rust/src/api/keyword_search.rs | 81 - mobile_app/rust/src/frb_generated.rs | 46932 +--------------- mobile_app/rust/src/seekstorm/add_result.rs | 3682 ++ mobile_app/rust/src/seekstorm/commit.rs | 1142 + mobile_app/rust/src/seekstorm/compatible.rs | 21 + .../src/seekstorm/compress_postinglist.rs | 978 + mobile_app/rust/src/seekstorm/doc_store.rs | 353 + mobile_app/rust/src/seekstorm/geo_search.rs | 144 + mobile_app/rust/src/seekstorm/highlighter.rs | 367 + mobile_app/rust/src/seekstorm/index.rs | 4740 ++ .../rust/src/seekstorm/index_posting.rs | 941 + mobile_app/rust/src/seekstorm/ingest.rs | 756 + mobile_app/rust/src/seekstorm/intersection.rs | 2300 + .../rust/src/seekstorm/intersection_simd.rs | 178 + mobile_app/rust/src/seekstorm/lib.rs | 517 + mobile_app/rust/src/seekstorm/min_heap.rs | 1167 + .../rust/src/seekstorm/realtime_search.rs | 2077 + mobile_app/rust/src/seekstorm/search.rs | 3243 ++ mobile_app/rust/src/seekstorm/single.rs | 419 + mobile_app/rust/src/seekstorm/tokenizer.rs | 1680 + mobile_app/rust/src/seekstorm/union.rs | 1478 + mobile_app/rust/src/seekstorm/utils.rs | 167 + .../rust/src/seekstorm/word_segmentation.rs | 185 + .../windows/flutter/generated_plugins.cmake | 1 + 38 files changed, 27544 insertions(+), 95980 deletions(-) create mode 100644 mobile_app/rust/src/seekstorm/add_result.rs create mode 100644 mobile_app/rust/src/seekstorm/commit.rs create mode 100644 mobile_app/rust/src/seekstorm/compatible.rs create mode 100644 mobile_app/rust/src/seekstorm/compress_postinglist.rs create mode 100644 mobile_app/rust/src/seekstorm/doc_store.rs create mode 100644 mobile_app/rust/src/seekstorm/geo_search.rs create mode 100644 mobile_app/rust/src/seekstorm/highlighter.rs create mode 100644 mobile_app/rust/src/seekstorm/index.rs create mode 100644 mobile_app/rust/src/seekstorm/index_posting.rs create mode 100644 mobile_app/rust/src/seekstorm/ingest.rs create mode 100644 mobile_app/rust/src/seekstorm/intersection.rs create mode 100644 mobile_app/rust/src/seekstorm/intersection_simd.rs create mode 100644 mobile_app/rust/src/seekstorm/lib.rs create mode 100644 mobile_app/rust/src/seekstorm/min_heap.rs create mode 100644 mobile_app/rust/src/seekstorm/realtime_search.rs create mode 100644 mobile_app/rust/src/seekstorm/search.rs create mode 100644 mobile_app/rust/src/seekstorm/single.rs create mode 100644 mobile_app/rust/src/seekstorm/tokenizer.rs create mode 100644 mobile_app/rust/src/seekstorm/union.rs create mode 100644 mobile_app/rust/src/seekstorm/utils.rs create mode 100644 mobile_app/rust/src/seekstorm/word_segmentation.rs diff --git a/mobile_app/flutter_rust_bridge.yaml b/mobile_app/flutter_rust_bridge.yaml index 3ac6de9..1b8ad67 100644 --- a/mobile_app/flutter_rust_bridge.yaml +++ b/mobile_app/flutter_rust_bridge.yaml @@ -1,3 +1,5 @@ -rust_input: crate::api,seekstorm +rust_input: crate::api,crate::tantivy rust_root: rust/ -dart_output: lib/src/rust \ No newline at end of file +dart_output: lib/src/rust +#rust_preamble: +# use std::path::PathBuf; \ No newline at end of file diff --git a/mobile_app/lib/file.dart b/mobile_app/lib/file.dart index 6bf2b51..47cf7db 100644 --- a/mobile_app/lib/file.dart +++ b/mobile_app/lib/file.dart @@ -13,9 +13,7 @@ class FileApp extends StatelessWidget { @override Widget build(BuildContext context) { - - //TODO:switch to class, so we can access more attributes outside of title - + //TODO:switch to class, so we can access more attributes outside of title return SizedBox.shrink( child: Column( @@ -27,22 +25,21 @@ class FileApp extends StatelessWidget { )), Column( children: List.generate(files.length, (int index) { - String fileName = files[index].path.split("/").last; - String fileType = files[index].path.split("/").last.split(".").last; + String fileName = files[index].path.split("/").last; + String fileType = files[index].path.split("/").last.split(".").last; - Map fileIcon = {"pdf": Icon(Icons.picture_as_pdf)}; + Map fileIcon = {"pdf": Icon(Icons.picture_as_pdf)}; return ListTile( - leading: fileIcon[fileType] ?? Icon(Icons.book), - trailing: Icon(Icons.chevron_right), - //TODO: style to make borders visible - onTap: () { - PdfScanner().openFilesRs(); - //TODO: Handle click, popular search bar with text controller - }, - title: - Text(fileName), // Display results from search - ); + leading: fileIcon[fileType] ?? Icon(Icons.book), + trailing: Icon(Icons.chevron_right), + //TODO: style to make borders visible + onTap: () { + PdfScanner().openFilesRs(); + //TODO: Handle click, popular search bar with text controller + }, + title: Text(fileName), // Display results from search + ); })), ], )); diff --git a/mobile_app/lib/main.dart b/mobile_app/lib/main.dart index d8b6eb2..d365ff0 100644 --- a/mobile_app/lib/main.dart +++ b/mobile_app/lib/main.dart @@ -11,7 +11,6 @@ import 'package:permission_handler/permission_handler.dart'; import 'package:mobile_app/utils.dart'; Future main() async { - await RustLib.init(); WidgetsFlutterBinding .ensureInitialized(); // Ensure plugin services are initialized @@ -57,7 +56,8 @@ class MyAppState extends State { void _loadPdfs() async { PdfScanner scanner = PdfScanner(); - List files = await scanner.getAllPdfs(); // This might block UI if not careful + List files = + await scanner.getAllPdfs(); // This might block UI if not careful setState(() { folders = files; }); @@ -91,7 +91,9 @@ class MyAppState extends State { backgroundColor: Colors.red, label: 'Files', icon: Icon(Icons.folder), - activeIcon: FileApp(files: [],), + activeIcon: FileApp( + files: [], + ), ), const BottomNavigationBarItem( label: 'Settings', diff --git a/mobile_app/lib/src/rust/api/keyword_search.dart b/mobile_app/lib/src/rust/api/keyword_search.dart index a7dc4e8..441be26 100644 --- a/mobile_app/lib/src/rust/api/keyword_search.dart +++ b/mobile_app/lib/src/rust/api/keyword_search.dart @@ -4,38 +4,23 @@ // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import import '../frb_generated.dart'; -import '../lib.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -class SearchFn { - final String pathToIndex; +// Rust type: RustOpaqueMoi> +abstract class PathBuf implements RustOpaqueInterface {} - const SearchFn({ - required this.pathToIndex, - }); +// Rust type: RustOpaqueMoi> +abstract class SearchFn implements RustOpaqueInterface { + PathBuf get pathToIndex; - ///For reset functionality, clearing index - Future deleteIndex() => - RustLib.instance.api.crateApiKeywordSearchSearchFnDeleteIndex( - that: this, - ); + set pathToIndex(PathBuf pathToIndex); - Future ingestPdfDir({required Path dirPath}) => RustLib.instance.api - .crateApiKeywordSearchSearchFnIngestPdfDir(that: this, dirPath: dirPath); + Future deleteIndex(); + + Future ingestPdfDir({required PathBuf filePath}); // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - Future newInstance() => - RustLib.instance.api.crateApiKeywordSearchSearchFnNew( - that: this, - ); - - @override - int get hashCode => pathToIndex.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is SearchFn && - runtimeType == other.runtimeType && - pathToIndex == other.pathToIndex; + /// Creates a new SearchFn instance and initializes the index on disk + static Future newInstance({required PathBuf path}) => + RustLib.instance.api.crateApiKeywordSearchSearchFnNew(path: path); } diff --git a/mobile_app/lib/src/rust/frb_generated.dart b/mobile_app/lib/src/rust/frb_generated.dart index ddafba6..50fd264 100644 --- a/mobile_app/lib/src/rust/frb_generated.dart +++ b/mobile_app/lib/src/rust/frb_generated.dart @@ -3,35106 +3,238 @@ // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field -import 'api/keyword_search.dart'; import 'api/simple.dart'; import 'dart:async'; import 'dart:convert'; import 'frb_generated.dart'; -import 'frb_generated.io.dart' if (dart.library.js_interop) 'frb_generated.web.dart'; -import 'lib.dart'; +import 'frb_generated.io.dart' + if (dart.library.js_interop) 'frb_generated.web.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'third_party/seekstorm/commit.dart'; -import 'third_party/seekstorm/geo_search.dart'; -import 'third_party/seekstorm/highlighter.dart'; -import 'third_party/seekstorm/index.dart'; -import 'third_party/seekstorm/ingest.dart'; -import 'third_party/seekstorm/search.dart'; -import 'third_party/seekstorm/utils.dart'; -import 'third_party/tokio/io.dart'; -import 'third_party/tokio/macros/support.dart'; -import 'third_party/tokio/net.dart'; -import 'third_party/tokio/net/tcp.dart'; -import 'third_party/tokio/net/tcp/listener.dart'; -import 'third_party/tokio/net/tcp/split_owned.dart'; -import 'third_party/tokio/net/udp.dart'; -import 'third_party/tokio/net/unix.dart'; -import 'third_party/tokio/net/unix/datagram/socket.dart'; -import 'third_party/tokio/net/unix/listener.dart'; -import 'third_party/tokio/net/unix/pipe.dart'; -import 'third_party/tokio/process.dart'; -import 'third_party/tokio/process/sys.dart'; -import 'third_party/tokio/runtime.dart'; -import 'third_party/tokio/signal.dart'; -import 'third_party/tokio/signal/unix.dart'; -import 'third_party/tokio/sync.dart'; -import 'third_party/tokio/sync/broadcast.dart'; -import 'third_party/tokio/sync/broadcast/error.dart'; -import 'third_party/tokio/sync/mpsc/bounded.dart'; -import 'third_party/tokio/sync/mpsc/error.dart'; -import 'third_party/tokio/sync/oneshot.dart'; -import 'third_party/tokio/sync/watch.dart'; -import 'third_party/tokio/task.dart'; -import 'third_party/tokio/task/coop.dart'; -import 'third_party/tokio/time.dart'; -import 'third_party/tokio/time/error.dart'; -import 'third_party/tokio/time/interval.dart'; - - /// Main entrypoint of the Rust API - class RustLib extends BaseEntrypoint { - @internal - static final instance = RustLib._(); - - RustLib._(); - - /// Initialize flutter_rust_bridge - static Future init({ - RustLibApi? api, - BaseHandler? handler, - ExternalLibrary? externalLibrary, - bool forceSameCodegenVersion = true, - }) async { - await instance.initImpl( - api: api, - handler: handler, - externalLibrary: externalLibrary, - forceSameCodegenVersion: forceSameCodegenVersion, - ); - } - - /// Initialize flutter_rust_bridge in mock mode. - /// No libraries for FFI are loaded. - static void initMock({ - required RustLibApi api, - }) { - instance.initMockImpl( - api: api, - ); - } - - /// Dispose flutter_rust_bridge - /// - /// The call to this function is optional, since flutter_rust_bridge (and everything else) - /// is automatically disposed when the app stops. - static void dispose() => instance.disposeImpl(); - - @override - ApiImplConstructor get apiImplConstructor => RustLibApiImpl.new; - - @override - WireConstructor get wireConstructor => RustLibWire.fromExternalLibrary; - - @override - Future executeRustInitializers() async { - await api.crateApiSimpleInitApp(); - - } - - @override - ExternalLibraryLoaderConfig get defaultExternalLibraryLoaderConfig => kDefaultExternalLibraryLoaderConfig; - - @override - String get codegenVersion => '2.11.1'; - - @override - int get rustContentHash => 606630313; - - static const kDefaultExternalLibraryLoaderConfig = ExternalLibraryLoaderConfig( - stem: 'rust_lib_mobile_app', - ioDirectory: 'rust/target/release/', - webPrefix: 'pkg/', - ); - } - - - abstract class RustLibApi extends BaseApi { - Future tokioSyncBarrierWaitResultIsLeader({required BarrierWaitResult that }); - -Future tokioSyncBarrierNew({required BigInt n }); - -Future tokioSyncBarrierWait({required Barrier that }); - -Future tokioProcessChildStderrFromStd({required ChildStderr inner }); - -Future tokioProcessChildStderrIntoOwnedFd({required ChildStderr that }); - -Future tokioProcessChildStdinFromStd({required ChildStdin inner }); - -Future tokioProcessChildStdinIntoOwnedFd({required ChildStdin that }); - -Future tokioProcessChildStdoutFromStd({required ChildStdout inner }); - -Future tokioProcessChildStdoutIntoOwnedFd({required ChildStdout that }); - -ChildStderr? tokioProcessChildAutoAccessorGetStderr({required Child that }); - -ChildStdin? tokioProcessChildAutoAccessorGetStdin({required Child that }); - -ChildStdout? tokioProcessChildAutoAccessorGetStdout({required Child that }); - -void tokioProcessChildAutoAccessorSetStderr({required Child that , ChildStderr? stderr }); - -void tokioProcessChildAutoAccessorSetStdin({required Child that , ChildStdin? stdin }); - -void tokioProcessChildAutoAccessorSetStdout({required Child that , ChildStdout? stdout }); - -Future tokioProcessChildId({required Child that }); - -Future tokioProcessChildKill({required Child that }); - -Future tokioProcessChildStartKill({required Child that }); - -Future tokioProcessChildTryWait({required Child that }); - -Future tokioProcessChildWait({required Child that }); - -Future tokioProcessCommandAsStd({required Command that }); - -Future tokioProcessCommandAsStdMut({required Command that }); - -Future tokioProcessCommandEnvClear({required Command that }); - -Future tokioProcessCommandGetKillOnDrop({required Command that }); - -Future tokioProcessCommandGid({required Command that , required int id }); - -Future tokioProcessCommandIntoStd({required Command that }); - -Future tokioProcessCommandKillOnDrop({required Command that , required bool killOnDrop }); - -Future tokioProcessCommandProcessGroup({required Command that , required int pgroup }); - -Future tokioProcessCommandSpawn({required Command that }); - -Future tokioProcessCommandUid({required Command that , required int id }); - -Future tokioTimeErrorErrorAtCapacity(); - -Future tokioTimeErrorErrorInvalid(); - -Future tokioTimeErrorErrorIsAtCapacity({required Error that }); - -Future tokioTimeErrorErrorIsInvalid({required Error that }); - -Future tokioTimeErrorErrorIsShutdown({required Error that }); - -Future tokioTimeErrorErrorShutdown(); - -ValueType seekstormIndexFacetFieldAutoAccessorGetMax({required FacetField that }); - -ValueType seekstormIndexFacetFieldAutoAccessorGetMin({required FacetField that }); - -String seekstormIndexFacetFieldAutoAccessorGetName({required FacetField that }); - -IndexMapStringVecStringUsize seekstormIndexFacetFieldAutoAccessorGetValues({required FacetField that }); - -void seekstormIndexFacetFieldAutoAccessorSetMax({required FacetField that , required ValueType max }); - -void seekstormIndexFacetFieldAutoAccessorSetMin({required FacetField that , required ValueType min }); - -void seekstormIndexFacetFieldAutoAccessorSetName({required FacetField that , required String name }); - -void seekstormIndexFacetFieldAutoAccessorSetValues({required FacetField that , required IndexMapStringVecStringUsize values }); - -Future seekstormIndexFacetFieldDefault(); - -Future seekstormIndexFrequentwordTypeDefault(); - -Future tokioRuntimeHandleCurrent(); - -Future tokioRuntimeHandleDefault(); - -Future tokioRuntimeHandleEnter({required Handle that }); - -Future tokioRuntimeHandleId({required Handle that }); - -Future tokioRuntimeHandleMetrics({required Handle that }); - -Future tokioRuntimeHandleRuntimeFlavor({required Handle that }); - -Future tokioRuntimeHandleTryCurrent(); - -AccessType seekstormIndexIndexMetaObjectAutoAccessorGetAccessType({required IndexMetaObject that }); - -FrequentwordType seekstormIndexIndexMetaObjectAutoAccessorGetFrequentWords({required IndexMetaObject that }); - -BigInt seekstormIndexIndexMetaObjectAutoAccessorGetId({required IndexMetaObject that }); - -String seekstormIndexIndexMetaObjectAutoAccessorGetName({required IndexMetaObject that }); - -int seekstormIndexIndexMetaObjectAutoAccessorGetNgramIndexing({required IndexMetaObject that }); - -QueryCompletion? seekstormIndexIndexMetaObjectAutoAccessorGetQueryCompletion({required IndexMetaObject that }); - -SimilarityType seekstormIndexIndexMetaObjectAutoAccessorGetSimilarity({required IndexMetaObject that }); - -SpellingCorrection? seekstormIndexIndexMetaObjectAutoAccessorGetSpellingCorrection({required IndexMetaObject that }); - -StemmerType seekstormIndexIndexMetaObjectAutoAccessorGetStemmer({required IndexMetaObject that }); - -StopwordType seekstormIndexIndexMetaObjectAutoAccessorGetStopWords({required IndexMetaObject that }); - -TokenizerType seekstormIndexIndexMetaObjectAutoAccessorGetTokenizer({required IndexMetaObject that }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetAccessType({required IndexMetaObject that , required AccessType accessType }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetFrequentWords({required IndexMetaObject that , required FrequentwordType frequentWords }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetId({required IndexMetaObject that , required BigInt id }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetName({required IndexMetaObject that , required String name }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetNgramIndexing({required IndexMetaObject that , required int ngramIndexing }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetQueryCompletion({required IndexMetaObject that , QueryCompletion? queryCompletion }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetSimilarity({required IndexMetaObject that , required SimilarityType similarity }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetSpellingCorrection({required IndexMetaObject that , SpellingCorrection? spellingCorrection }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetStemmer({required IndexMetaObject that , required StemmerType stemmer }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetStopWords({required IndexMetaObject that , required StopwordType stopWords }); - -void seekstormIndexIndexMetaObjectAutoAccessorSetTokenizer({required IndexMetaObject that , required TokenizerType tokenizer }); - -Future seekstormIndexIndexAddSynonyms({required Index that , required List synonyms }); - -int seekstormIndexIndexAutoAccessorGetIndexFormatVersionMajor({required Index that }); - -int seekstormIndexIndexAutoAccessorGetIndexFormatVersionMinor({required Index that }); - -IndexMetaObject seekstormIndexIndexAutoAccessorGetMeta({required Index that }); - -Map seekstormIndexIndexAutoAccessorGetSchemaMap({required Index that }); - -List seekstormIndexIndexAutoAccessorGetStoredFieldNames({required Index that }); - -void seekstormIndexIndexAutoAccessorSetIndexFormatVersionMajor({required Index that , required int indexFormatVersionMajor }); - -void seekstormIndexIndexAutoAccessorSetIndexFormatVersionMinor({required Index that , required int indexFormatVersionMinor }); - -void seekstormIndexIndexAutoAccessorSetMeta({required Index that , required IndexMetaObject meta }); - -void seekstormIndexIndexAutoAccessorSetSchemaMap({required Index that , required Map schemaMap }); - -void seekstormIndexIndexAutoAccessorSetStoredFieldNames({required Index that , required List storedFieldNames }); - -Future seekstormIndexIndexClearIndex({required Index that }); - -Future seekstormIndexIndexCommittedDocCount({required Index that }); - -Future seekstormIndexIndexCurrentDocCount({required Index that }); - -Future seekstormIndexIndexDeleteIndex({required Index that }); - -Future seekstormIndexIndexFacetsCount({required Index that }); - -Future> seekstormIndexIndexGetDocument({required Index that , required BigInt docId , required bool includeUncommited , Highlighter? highlighterOption , required Set fields , required List distanceFields }); - -Future seekstormIndexIndexGetFacetValue({required Index that , required String field , required BigInt docId }); - -Future seekstormIndexIndexGetFile({required Index that , required BigInt docId }); - -Future seekstormIndexIndexGetIndexStringFacets({required Index that , required List queryFacets }); - -Future> seekstormIndexIndexGetSynonyms({required Index that }); - -Future> seekstormIndexIndexIndexFacetsMinmax({required Index that }); - -Future seekstormIndexIndexIndexedDocCount({required Index that }); - -Future seekstormIndexIndexLevelCount({required Index that }); - -Future seekstormIndexIndexSetSynonyms({required Index that , required List synonyms }); - -Future seekstormIndexIndexShardCount({required Index that }); - -Future seekstormIndexIndexUncommittedDocCount({required Index that }); - -Future tokioIoInterestAdd({required Interest that , required Interest other }); - -Future tokioIoInterestIsError({required Interest that }); - -Future tokioIoInterestIsReadable({required Interest that }); - -Future tokioIoInterestIsWritable({required Interest that }); - -Future tokioIoInterestRemove({required Interest that , required Interest other }); - -Future tokioTimeIntervalMissedTickBehavior({required Interval that }); - -Future tokioTimeIntervalPeriod({required Interval that }); - -Future tokioTimeIntervalPollTick({required Interval that , required Context cx }); - -Future tokioTimeIntervalReset({required Interval that }); - -Future tokioTimeIntervalResetAfter({required Interval that , required Duration after }); - -Future tokioTimeIntervalResetAt({required Interval that , required Instant deadline }); - -Future tokioTimeIntervalResetImmediately({required Interval that }); - -Future tokioTimeIntervalSetMissedTickBehavior({required Interval that , required MissedTickBehavior behavior }); - -Future tokioTimeIntervalTick({required Interval that }); - -Future tokioTaskLocalSetDefault(); - -Future tokioTaskLocalSetEnter({required LocalSet that }); - -Future tokioTaskLocalSetId({required LocalSet that }); - -Future tokioTaskLocalSetNew(); - -Value seekstormIndexMinMaxFieldJsonAutoAccessorGetMax({required MinMaxFieldJson that }); - -Value seekstormIndexMinMaxFieldJsonAutoAccessorGetMin({required MinMaxFieldJson that }); - -void seekstormIndexMinMaxFieldJsonAutoAccessorSetMax({required MinMaxFieldJson that , required Value max }); - -void seekstormIndexMinMaxFieldJsonAutoAccessorSetMin({required MinMaxFieldJson that , required Value min }); - -Future seekstormIndexMinMaxFieldJsonDefault(); - -ValueType seekstormIndexMinMaxFieldAutoAccessorGetMax({required MinMaxField that }); - -ValueType seekstormIndexMinMaxFieldAutoAccessorGetMin({required MinMaxField that }); - -void seekstormIndexMinMaxFieldAutoAccessorSetMax({required MinMaxField that , required ValueType max }); - -void seekstormIndexMinMaxFieldAutoAccessorSetMin({required MinMaxField that , required ValueType min }); - -Future seekstormIndexMinMaxFieldDefault(); - -Future tokioSyncNotifyConstNew(); - -Future tokioSyncNotifyDefault(); - -Future tokioSyncNotifyNew(); - -Future tokioSyncNotifyNotified({required Notify that }); - -Future tokioSyncNotifyNotifiedOwned({required Notify that }); - -Future tokioSyncNotifyNotifyLast({required Notify that }); - -Future tokioSyncNotifyNotifyOne({required Notify that }); - -Future tokioSyncNotifyNotifyWaiters({required Notify that }); - -Future tokioNetUnixPipeOpenOptionsAppend({required OpenOptions that , required bool append }); - -Future tokioNetUnixPipeOpenOptionsCreate({required OpenOptions that , required bool create }); - -Future tokioNetUnixPipeOpenOptionsCreateNew({required OpenOptions that , required bool createNew }); - -Future tokioNetUnixPipeOpenOptionsCustomFlags({required OpenOptions that , required int flags }); - -Future tokioNetUnixPipeOpenOptionsDefault(); - -Future tokioNetUnixPipeOpenOptionsMode({required OpenOptions that , required int mode }); - -Future tokioNetUnixPipeOpenOptionsNew(); - -Future tokioNetUnixPipeOpenOptionsRead({required OpenOptions that , required bool read }); - -Future tokioNetUnixPipeOpenOptionsTruncate({required OpenOptions that , required bool truncate }); - -Future tokioNetUnixPipeOpenOptionsUnchecked({required OpenOptions that , required bool value }); - -Future tokioNetUnixPipeOpenOptionsWrite({required OpenOptions that , required bool write }); - -Future tokioNetTcpOwnedReadHalfLocalAddr({required OwnedReadHalf that }); - -Future tokioNetTcpOwnedReadHalfPeek({required OwnedReadHalf that , required U8 buf }); - -Future tokioNetTcpOwnedReadHalfPeerAddr({required OwnedReadHalf that }); - -Future tokioNetTcpOwnedReadHalfPollPeek({required OwnedReadHalf that , required Context cx , required ReadBuf buf }); - -Future tokioNetTcpOwnedReadHalfReadable({required OwnedReadHalf that }); - -Future tokioNetTcpOwnedReadHalfReady({required OwnedReadHalf that , required Interest interest }); - -Future tokioNetTcpOwnedReadHalfReunite({required OwnedReadHalf that , required OwnedWriteHalf other }); - -Future tokioNetTcpOwnedReadHalfTryRead({required OwnedReadHalf that , required U8 buf }); - -Future tokioNetTcpOwnedReadHalfTryReadVectored({required OwnedReadHalf that , required IoSliceMut bufs }); - -Future tokioSyncOwnedSemaphorePermitMerge({required OwnedSemaphorePermit that , required OwnedSemaphorePermit other }); - -Future tokioSyncOwnedSemaphorePermitNumPermits({required OwnedSemaphorePermit that }); - -Future tokioSyncOwnedSemaphorePermitSemaphore({required OwnedSemaphorePermit that }); - -Future tokioSyncOwnedSemaphorePermitSplit({required OwnedSemaphorePermit that , required BigInt n }); - -Future tokioNetTcpOwnedWriteHalfLocalAddr({required OwnedWriteHalf that }); - -Future tokioNetTcpOwnedWriteHalfPeerAddr({required OwnedWriteHalf that }); - -Future tokioNetTcpOwnedWriteHalfReady({required OwnedWriteHalf that , required Interest interest }); - -Future tokioNetTcpOwnedWriteHalfReunite({required OwnedWriteHalf that , required OwnedReadHalf other }); - -Future tokioNetTcpOwnedWriteHalfTryWrite({required OwnedWriteHalf that , required List buf }); - -Future tokioNetTcpOwnedWriteHalfTryWriteVectored({required OwnedWriteHalf that , required List bufs }); - -Future tokioNetTcpOwnedWriteHalfWritable({required OwnedWriteHalf that }); - -Future seekstormSearchQueryFacetDefault(); - -Future seekstormSearchQueryRewritingDefault(); - -Future seekstormSearchRangesDefault(); - -Future tokioIoReadyIsEmpty({required Ready that }); - -Future tokioIoReadyIsError({required Ready that }); - -Future tokioIoReadyIsReadClosed({required Ready that }); - -Future tokioIoReadyIsReadable({required Ready that }); - -Future tokioIoReadyIsWritable({required Ready that }); - -Future tokioIoReadyIsWriteClosed({required Ready that }); - -Future tokioNetUnixPipeReceiverTBlockingRecv({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTBlockingRecvMany({required ReceiverT that , required VecT buffer , required BigInt limit }); - -Future tokioNetUnixPipeReceiverTBorrow({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTBorrowAndUpdate({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTCapacity({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTChanged({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTClose({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTHasChanged({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTIsClosed({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTIsEmpty({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTIsTerminated({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTLen({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTMarkChanged({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTMarkUnchanged({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTMaxCapacity({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTPollRecv({required ReceiverT that , required Context cx }); - -Future tokioNetUnixPipeReceiverTPollRecvMany({required ReceiverT that , required Context cx , required VecT buffer , required BigInt limit }); - -Future tokioNetUnixPipeReceiverTRecv({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTRecvMany({required ReceiverT that , required VecT buffer , required BigInt limit }); - -Future tokioNetUnixPipeReceiverTResubscribe({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTSameChannel({required ReceiverT that , required ReceiverT other }); - -Future tokioNetUnixPipeReceiverTSenderStrongCount({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTSenderWeakCount({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverTTryRecv({required ReceiverT that }); - -Future tokioNetUnixPipeReceiverFromFile({required File file }); - -Future tokioNetUnixPipeReceiverFromFileUnchecked({required File file }); - -Future tokioNetUnixPipeReceiverFromOwnedFd({required OwnedFd ownedFd }); - -Future tokioNetUnixPipeReceiverFromOwnedFdUnchecked({required OwnedFd ownedFd }); - -Future tokioNetUnixPipeReceiverIntoBlockingFd({required Receiver that }); - -Future tokioNetUnixPipeReceiverIntoNonblockingFd({required Receiver that }); - -Future tokioNetUnixPipeReceiverPollReadReady({required Receiver that , required Context cx }); - -Future tokioNetUnixPipeReceiverReadable({required Receiver that }); - -Future tokioNetUnixPipeReceiverReady({required Receiver that , required Interest interest }); - -Future tokioNetUnixPipeReceiverTryRead({required Receiver that , required U8 buf }); - -Future tokioNetUnixPipeReceiverTryReadVectored({required Receiver that , required IoSliceMut bufs }); - -Future tokioTaskCoopRestoreOnPendingMadeProgress({required RestoreOnPending that }); - -AHashMapStringFacet seekstormSearchResultObjectAutoAccessorGetFacets({required ResultObject that }); - -String seekstormSearchResultObjectAutoAccessorGetOriginalQuery({required ResultObject that }); - -String seekstormSearchResultObjectAutoAccessorGetQuery({required ResultObject that }); - -List seekstormSearchResultObjectAutoAccessorGetQueryTerms({required ResultObject that }); - -BigInt seekstormSearchResultObjectAutoAccessorGetResultCount({required ResultObject that }); - -BigInt seekstormSearchResultObjectAutoAccessorGetResultCountTotal({required ResultObject that }); - -List seekstormSearchResultObjectAutoAccessorGetResults({required ResultObject that }); - -List seekstormSearchResultObjectAutoAccessorGetSuggestions({required ResultObject that }); - -void seekstormSearchResultObjectAutoAccessorSetFacets({required ResultObject that , required AHashMapStringFacet facets }); - -void seekstormSearchResultObjectAutoAccessorSetOriginalQuery({required ResultObject that , required String originalQuery }); - -void seekstormSearchResultObjectAutoAccessorSetQuery({required ResultObject that , required String query }); - -void seekstormSearchResultObjectAutoAccessorSetQueryTerms({required ResultObject that , required List queryTerms }); - -void seekstormSearchResultObjectAutoAccessorSetResultCount({required ResultObject that , required BigInt resultCount }); - -void seekstormSearchResultObjectAutoAccessorSetResultCountTotal({required ResultObject that , required BigInt resultCountTotal }); - -void seekstormSearchResultObjectAutoAccessorSetResults({required ResultObject that , required List results }); - -void seekstormSearchResultObjectAutoAccessorSetSuggestions({required ResultObject that , required List suggestions }); - -Future seekstormSearchResultObjectDefault(); - -FacetValue seekstormSearchResultSortAutoAccessorGetBase({required ResultSort that }); - -String seekstormSearchResultSortAutoAccessorGetField({required ResultSort that }); - -SortOrder seekstormSearchResultSortAutoAccessorGetOrder({required ResultSort that }); - -void seekstormSearchResultSortAutoAccessorSetBase({required ResultSort that , required FacetValue base }); - -void seekstormSearchResultSortAutoAccessorSetField({required ResultSort that , required String field }); - -void seekstormSearchResultSortAutoAccessorSetOrder({required ResultSort that , required SortOrder order }); - -OwnedReadHalf tokioNetTcpReuniteErrorAutoAccessorGetField0({required ReuniteError that }); - -OwnedWriteHalf tokioNetTcpReuniteErrorAutoAccessorGetField1({required ReuniteError that }); - -void tokioNetTcpReuniteErrorAutoAccessorSetField0({required ReuniteError that , required OwnedReadHalf field0 }); - -void tokioNetTcpReuniteErrorAutoAccessorSetField1({required ReuniteError that , required OwnedWriteHalf field1 }); - -Future tokioRuntimeRuntimeMetricsGlobalQueueDepth({required RuntimeMetrics that }); - -Future tokioRuntimeRuntimeMetricsNumAliveTasks({required RuntimeMetrics that }); - -Future tokioRuntimeRuntimeMetricsNumWorkers({required RuntimeMetrics that }); - -Future tokioRuntimeRuntimeMetricsWorkerParkCount({required RuntimeMetrics that , required BigInt worker }); - -Future tokioRuntimeRuntimeMetricsWorkerParkUnparkCount({required RuntimeMetrics that , required BigInt worker }); - -Future tokioRuntimeRuntimeMetricsWorkerTotalBusyDuration({required RuntimeMetrics that , required BigInt worker }); - -Future tokioRuntimeRuntimeEnter({required Runtime that }); - -Future tokioRuntimeRuntimeHandle({required Runtime that }); - -Future tokioRuntimeRuntimeMetrics({required Runtime that }); - -Future tokioRuntimeRuntimeNew(); - -Future tokioRuntimeRuntimeShutdownBackground({required Runtime that }); - -double seekstormIndexSchemaFieldAutoAccessorGetBoost({required SchemaField that }); - -bool seekstormIndexSchemaFieldAutoAccessorGetCompletionSource({required SchemaField that }); - -bool seekstormIndexSchemaFieldAutoAccessorGetDictionarySource({required SchemaField that }); - -bool seekstormIndexSchemaFieldAutoAccessorGetFacet({required SchemaField that }); - -String seekstormIndexSchemaFieldAutoAccessorGetField({required SchemaField that }); - -FieldType seekstormIndexSchemaFieldAutoAccessorGetFieldType({required SchemaField that }); - -bool seekstormIndexSchemaFieldAutoAccessorGetIndexed({required SchemaField that }); - -bool seekstormIndexSchemaFieldAutoAccessorGetLongest({required SchemaField that }); - -bool seekstormIndexSchemaFieldAutoAccessorGetStored({required SchemaField that }); - -void seekstormIndexSchemaFieldAutoAccessorSetBoost({required SchemaField that , required double boost }); - -void seekstormIndexSchemaFieldAutoAccessorSetCompletionSource({required SchemaField that , required bool completionSource }); - -void seekstormIndexSchemaFieldAutoAccessorSetDictionarySource({required SchemaField that , required bool dictionarySource }); - -void seekstormIndexSchemaFieldAutoAccessorSetFacet({required SchemaField that , required bool facet }); - -void seekstormIndexSchemaFieldAutoAccessorSetField({required SchemaField that , required String field }); - -void seekstormIndexSchemaFieldAutoAccessorSetFieldType({required SchemaField that , required FieldType fieldType }); - -void seekstormIndexSchemaFieldAutoAccessorSetIndexed({required SchemaField that , required bool indexed }); - -void seekstormIndexSchemaFieldAutoAccessorSetLongest({required SchemaField that , required bool longest }); - -void seekstormIndexSchemaFieldAutoAccessorSetStored({required SchemaField that , required bool stored }); - -Future seekstormIndexSchemaFieldNew({required String field , required bool stored , required bool indexed , required FieldType fieldType , required bool facet , required bool longest , required double boost , required bool dictionarySource , required bool completionSource }); - -Future tokioSyncSemaphoreAcquire({required Semaphore that }); - -Future tokioSyncSemaphoreAcquireMany({required Semaphore that , required int n }); - -Future tokioSyncSemaphoreAcquireManyOwned({required Semaphore that , required int n }); - -Future tokioSyncSemaphoreAcquireOwned({required Semaphore that }); - -Future tokioSyncSemaphoreAddPermits({required Semaphore that , required BigInt n }); - -Future tokioSyncSemaphoreAvailablePermits({required Semaphore that }); - -Future tokioSyncSemaphoreClose({required Semaphore that }); - -Future tokioSyncSemaphoreConstNew({required BigInt permits }); - -Future tokioSyncSemaphoreForgetPermits({required Semaphore that , required BigInt n }); - -Future tokioSyncSemaphoreIsClosed({required Semaphore that }); - -Future tokioSyncSemaphoreNew({required BigInt permits }); - -Future tokioSyncSemaphoreTryAcquire({required Semaphore that }); - -Future tokioSyncSemaphoreTryAcquireMany({required Semaphore that , required int n }); - -Future tokioSyncSemaphoreTryAcquireManyOwned({required Semaphore that , required int n }); - -Future tokioSyncSemaphoreTryAcquireOwned({required Semaphore that }); - -Future tokioNetUnixPipeSenderTBlockingSend({required SenderT that , required T value }); - -Future tokioNetUnixPipeSenderTBorrow({required SenderT that }); - -Future tokioNetUnixPipeSenderTCapacity({required SenderT that }); - -Future tokioNetUnixPipeSenderTClosed({required SenderT that }); - -Future tokioNetUnixPipeSenderTDefault(); - -Future tokioNetUnixPipeSenderTDowngrade({required SenderT that }); - -Future tokioNetUnixPipeSenderTIsClosed({required SenderT that }); - -Future tokioNetUnixPipeSenderTIsEmpty({required SenderT that }); - -Future tokioNetUnixPipeSenderTLen({required SenderT that }); - -Future tokioNetUnixPipeSenderTMaxCapacity({required SenderT that }); - -Future tokioNetUnixPipeSenderTNew({required BigInt capacity }); - -Future tokioNetUnixPipeSenderTPollClosed({required SenderT that , required Context cx }); - -Future tokioNetUnixPipeSenderTReceiverCount({required SenderT that }); - -Future tokioNetUnixPipeSenderTReserve({required SenderT that }); - -Future tokioNetUnixPipeSenderTReserveMany({required SenderT that , required BigInt n }); - -Future tokioNetUnixPipeSenderTReserveOwned({required SenderT that }); - -Future tokioNetUnixPipeSenderTSameChannel({required SenderT that , required SenderT other }); - -Future tokioNetUnixPipeSenderTSend({required SenderT that , required T value }); - -Future tokioNetUnixPipeSenderTSendReplace({required SenderT that , required T value }); - -Future tokioNetUnixPipeSenderTSendTimeout({required SenderT that , required T value , required Duration timeout }); - -Future tokioNetUnixPipeSenderTSenderCount({required SenderT that }); - -Future tokioNetUnixPipeSenderTStrongCount({required SenderT that }); - -Future tokioNetUnixPipeSenderTSubscribe({required SenderT that }); - -Future tokioNetUnixPipeSenderTTryReserve({required SenderT that }); - -Future tokioNetUnixPipeSenderTTryReserveMany({required SenderT that , required BigInt n }); - -Future tokioNetUnixPipeSenderTTryReserveOwned({required SenderT that }); - -Future tokioNetUnixPipeSenderTTrySend({required SenderT that , required T message }); - -Future tokioNetUnixPipeSenderTWeakCount({required SenderT that }); - -Future tokioNetUnixPipeSenderFromFile({required File file }); - -Future tokioNetUnixPipeSenderFromFileUnchecked({required File file }); - -Future tokioNetUnixPipeSenderFromOwnedFd({required OwnedFd ownedFd }); - -Future tokioNetUnixPipeSenderFromOwnedFdUnchecked({required OwnedFd ownedFd }); - -Future tokioNetUnixPipeSenderIntoBlockingFd({required Sender that }); - -Future tokioNetUnixPipeSenderIntoNonblockingFd({required Sender that }); - -Future tokioNetUnixPipeSenderPollWriteReady({required Sender that , required Context cx }); - -Future tokioNetUnixPipeSenderReady({required Sender that , required Interest interest }); - -Future tokioNetUnixPipeSenderTryWrite({required Sender that , required List buf }); - -Future tokioNetUnixPipeSenderTryWriteVectored({required Sender that , required List buf }); - -Future tokioNetUnixPipeSenderWritable({required Sender that }); - -Future tokioSignalUnixSignalKindAlarm(); - -Future tokioSignalUnixSignalKindAsRawValue({required SignalKind that }); - -Future tokioSignalUnixSignalKindChild(); - -Future tokioSignalUnixSignalKindFromRaw({required CInt signum }); - -Future tokioSignalUnixSignalKindHangup(); - -Future tokioSignalUnixSignalKindInfo(); - -Future tokioSignalUnixSignalKindInterrupt(); - -Future tokioSignalUnixSignalKindIo(); - -Future tokioSignalUnixSignalKindPipe(); - -Future tokioSignalUnixSignalKindQuit(); - -Future tokioSignalUnixSignalKindTerminate(); - -Future tokioSignalUnixSignalKindUserDefined1(); - -Future tokioSignalUnixSignalKindUserDefined2(); - -Future tokioSignalUnixSignalKindWindowChange(); - -Future tokioSignalUnixSignalPollRecv({required Signal that , required Context cx }); - -Future tokioSignalUnixSignalRecv({required Signal that }); - -Future tokioIoSimplexStreamNewUnsplit({required BigInt maxBufSize }); - -Future tokioTimeSleepDeadline({required Sleep that }); - -Future tokioTimeSleepIsElapsed({required Sleep that }); - -Future tokioTimeSleepReset({required Sleep that , required Instant deadline }); - -Future tokioNetUnixSocketAddrAsPathname({required SocketAddr that }); - -Future tokioNetUnixSocketAddrIsUnnamed({required SocketAddr that }); - -Future seekstormIndexStopwordTypeDefault(); - -Future<(TcpStream,SocketAddr)> tokioNetTcpListenerAccept({required TcpListener that }); - -Future tokioNetTcpListenerFromStd({required TcpListener listener }); - -Future tokioNetTcpListenerIntoStd({required TcpListener that }); - -Future tokioNetTcpListenerLocalAddr({required TcpListener that }); - -Future tokioNetTcpListenerPollAccept({required TcpListener that , required Context cx }); - -Future tokioNetTcpListenerSetTtl({required TcpListener that , required int ttl }); - -Future tokioNetTcpListenerTtl({required TcpListener that }); - -Future tokioNetTcpSocketBind({required TcpSocket that , required SocketAddr addr }); - -Future tokioNetTcpSocketConnect({required TcpSocket that , required SocketAddr addr }); - -Future tokioNetTcpSocketFromStdStream({required TcpStream stdStream }); - -Future tokioNetTcpSocketKeepalive({required TcpSocket that }); - -Future tokioNetTcpSocketLinger({required TcpSocket that }); - -Future tokioNetTcpSocketListen({required TcpSocket that , required int backlog }); - -Future tokioNetTcpSocketLocalAddr({required TcpSocket that }); - -Future tokioNetTcpSocketNewV4(); - -Future tokioNetTcpSocketNewV6(); - -Future tokioNetTcpSocketNodelay({required TcpSocket that }); - -Future tokioNetTcpSocketRecvBufferSize({required TcpSocket that }); - -Future tokioNetTcpSocketReuseaddr({required TcpSocket that }); - -Future tokioNetTcpSocketReuseport({required TcpSocket that }); - -Future tokioNetTcpSocketSendBufferSize({required TcpSocket that }); - -Future tokioNetTcpSocketSetKeepalive({required TcpSocket that , required bool keepalive }); - -Future tokioNetTcpSocketSetLinger({required TcpSocket that , Duration? dur }); - -Future tokioNetTcpSocketSetNodelay({required TcpSocket that , required bool nodelay }); - -Future tokioNetTcpSocketSetRecvBufferSize({required TcpSocket that , required int size }); - -Future tokioNetTcpSocketSetReuseaddr({required TcpSocket that , required bool reuseaddr }); - -Future tokioNetTcpSocketSetReuseport({required TcpSocket that , required bool reuseport }); - -Future tokioNetTcpSocketSetSendBufferSize({required TcpSocket that , required int size }); - -Future tokioNetTcpSocketSetTclassV6({required TcpSocket that , required int tclass }); - -Future tokioNetTcpSocketSetTos({required TcpSocket that , required int tos }); - -Future tokioNetTcpSocketSetTosV4({required TcpSocket that , required int tos }); - -Future tokioNetTcpSocketTakeError({required TcpSocket that }); - -Future tokioNetTcpSocketTclassV6({required TcpSocket that }); - -Future tokioNetTcpSocketTos({required TcpSocket that }); - -Future tokioNetTcpSocketTosV4({required TcpSocket that }); - -Future tokioNetTcpStreamFromStd({required TcpStream stream }); - -Future<(OwnedReadHalf,OwnedWriteHalf)> tokioNetTcpStreamIntoSplit({required TcpStream that }); - -Future tokioNetTcpStreamIntoStd({required TcpStream that }); - -Future tokioNetTcpStreamLinger({required TcpStream that }); - -Future tokioNetTcpStreamLocalAddr({required TcpStream that }); - -Future tokioNetTcpStreamNodelay({required TcpStream that }); - -Future tokioNetTcpStreamPeek({required TcpStream that , required U8 buf }); - -Future tokioNetTcpStreamPeerAddr({required TcpStream that }); - -Future tokioNetTcpStreamPollPeek({required TcpStream that , required Context cx , required ReadBuf buf }); - -Future tokioNetTcpStreamPollReadReady({required TcpStream that , required Context cx }); - -Future tokioNetTcpStreamPollWriteReady({required TcpStream that , required Context cx }); - -Future tokioNetTcpStreamReadable({required TcpStream that }); - -Future tokioNetTcpStreamReady({required TcpStream that , required Interest interest }); - -Future tokioNetTcpStreamSetLinger({required TcpStream that , Duration? dur }); - -Future tokioNetTcpStreamSetNodelay({required TcpStream that , required bool nodelay }); - -Future tokioNetTcpStreamSetTtl({required TcpStream that , required int ttl }); - -Future tokioNetTcpStreamTakeError({required TcpStream that }); - -Future tokioNetTcpStreamTryRead({required TcpStream that , required U8 buf }); - -Future tokioNetTcpStreamTryReadVectored({required TcpStream that , required IoSliceMut bufs }); - -Future tokioNetTcpStreamTryWrite({required TcpStream that , required List buf }); - -Future tokioNetTcpStreamTryWriteVectored({required TcpStream that , required List bufs }); - -Future tokioNetTcpStreamTtl({required TcpStream that }); - -Future tokioNetTcpStreamWritable({required TcpStream that }); - -Future tokioRuntimeTryCurrentErrorIsMissingContext({required TryCurrentError that }); - -Future tokioRuntimeTryCurrentErrorIsThreadLocalDestroyed({required TryCurrentError that }); - -Future tokioNetUnixUCredGid({required UCred that }); - -Future tokioNetUnixUCredPid({required UCred that }); - -Future tokioNetUnixUCredUid({required UCred that }); - -Future tokioNetUdpSocketBroadcast({required UdpSocket that }); - -Future tokioNetUdpSocketFromStd({required UdpSocket socket }); - -Future tokioNetUdpSocketIntoStd({required UdpSocket that }); - -Future tokioNetUdpSocketJoinMulticastV4({required UdpSocket that , required Ipv4Addr multiaddr , required Ipv4Addr interface_ }); - -Future tokioNetUdpSocketJoinMulticastV6({required UdpSocket that , required Ipv6Addr multiaddr , required int interface_ }); - -Future tokioNetUdpSocketLeaveMulticastV4({required UdpSocket that , required Ipv4Addr multiaddr , required Ipv4Addr interface_ }); - -Future tokioNetUdpSocketLeaveMulticastV6({required UdpSocket that , required Ipv6Addr multiaddr , required int interface_ }); - -Future tokioNetUdpSocketLocalAddr({required UdpSocket that }); - -Future tokioNetUdpSocketMulticastLoopV4({required UdpSocket that }); - -Future tokioNetUdpSocketMulticastLoopV6({required UdpSocket that }); - -Future tokioNetUdpSocketMulticastTtlV4({required UdpSocket that }); - -Future tokioNetUdpSocketPeek({required UdpSocket that , required U8 buf }); - -Future<(BigInt,SocketAddr)> tokioNetUdpSocketPeekFrom({required UdpSocket that , required U8 buf }); - -Future tokioNetUdpSocketPeekSender({required UdpSocket that }); - -Future tokioNetUdpSocketPeerAddr({required UdpSocket that }); - -Future tokioNetUdpSocketPollPeek({required UdpSocket that , required Context cx , required ReadBuf buf }); - -Future tokioNetUdpSocketPollPeekFrom({required UdpSocket that , required Context cx , required ReadBuf buf }); - -Future tokioNetUdpSocketPollPeekSender({required UdpSocket that , required Context cx }); - -Future tokioNetUdpSocketPollRecv({required UdpSocket that , required Context cx , required ReadBuf buf }); - -Future tokioNetUdpSocketPollRecvFrom({required UdpSocket that , required Context cx , required ReadBuf buf }); - -Future tokioNetUdpSocketPollRecvReady({required UdpSocket that , required Context cx }); - -Future tokioNetUdpSocketPollSend({required UdpSocket that , required Context cx , required List buf }); - -Future tokioNetUdpSocketPollSendReady({required UdpSocket that , required Context cx }); - -Future tokioNetUdpSocketPollSendTo({required UdpSocket that , required Context cx , required List buf , required SocketAddr target }); - -Future tokioNetUdpSocketReadable({required UdpSocket that }); - -Future tokioNetUdpSocketReady({required UdpSocket that , required Interest interest }); - -Future tokioNetUdpSocketRecv({required UdpSocket that , required U8 buf }); - -Future<(BigInt,SocketAddr)> tokioNetUdpSocketRecvFrom({required UdpSocket that , required U8 buf }); - -Future tokioNetUdpSocketSend({required UdpSocket that , required List buf }); - -Future tokioNetUdpSocketSetBroadcast({required UdpSocket that , required bool on_ }); - -Future tokioNetUdpSocketSetMulticastLoopV4({required UdpSocket that , required bool on_ }); - -Future tokioNetUdpSocketSetMulticastLoopV6({required UdpSocket that , required bool on_ }); - -Future tokioNetUdpSocketSetMulticastTtlV4({required UdpSocket that , required int ttl }); - -Future tokioNetUdpSocketSetTclassV6({required UdpSocket that , required int tclass }); - -Future tokioNetUdpSocketSetTos({required UdpSocket that , required int tos }); - -Future tokioNetUdpSocketSetTosV4({required UdpSocket that , required int tos }); - -Future tokioNetUdpSocketSetTtl({required UdpSocket that , required int ttl }); - -Future tokioNetUdpSocketTakeError({required UdpSocket that }); - -Future tokioNetUdpSocketTclassV6({required UdpSocket that }); - -Future tokioNetUdpSocketTos({required UdpSocket that }); - -Future tokioNetUdpSocketTosV4({required UdpSocket that }); - -Future tokioNetUdpSocketTryPeek({required UdpSocket that , required U8 buf }); - -Future<(BigInt,SocketAddr)> tokioNetUdpSocketTryPeekFrom({required UdpSocket that , required U8 buf }); - -Future tokioNetUdpSocketTryPeekSender({required UdpSocket that }); - -Future tokioNetUdpSocketTryRecv({required UdpSocket that , required U8 buf }); - -Future<(BigInt,SocketAddr)> tokioNetUdpSocketTryRecvFrom({required UdpSocket that , required U8 buf }); - -Future tokioNetUdpSocketTrySend({required UdpSocket that , required List buf }); - -Future tokioNetUdpSocketTrySendTo({required UdpSocket that , required List buf , required SocketAddr target }); - -Future tokioNetUdpSocketTtl({required UdpSocket that }); - -Future tokioNetUdpSocketWritable({required UdpSocket that }); - -Future tokioNetUnixDatagramFromStd({required UnixDatagram datagram }); - -Future tokioNetUnixDatagramIntoStd({required UnixDatagram that }); - -Future tokioNetUnixDatagramLocalAddr({required UnixDatagram that }); - -Future<(UnixDatagram,UnixDatagram)> tokioNetUnixDatagramPair(); - -Future tokioNetUnixDatagramPeerAddr({required UnixDatagram that }); - -Future tokioNetUnixDatagramPollRecv({required UnixDatagram that , required Context cx , required ReadBuf buf }); - -Future tokioNetUnixDatagramPollRecvFrom({required UnixDatagram that , required Context cx , required ReadBuf buf }); - -Future tokioNetUnixDatagramPollRecvReady({required UnixDatagram that , required Context cx }); - -Future tokioNetUnixDatagramPollSend({required UnixDatagram that , required Context cx , required List buf }); - -Future tokioNetUnixDatagramPollSendReady({required UnixDatagram that , required Context cx }); - -Future tokioNetUnixDatagramReadable({required UnixDatagram that }); - -Future tokioNetUnixDatagramReady({required UnixDatagram that , required Interest interest }); - -Future tokioNetUnixDatagramRecv({required UnixDatagram that , required U8 buf }); - -Future<(BigInt,SocketAddr)> tokioNetUnixDatagramRecvFrom({required UnixDatagram that , required U8 buf }); - -Future tokioNetUnixDatagramSend({required UnixDatagram that , required List buf }); - -Future tokioNetUnixDatagramShutdown({required UnixDatagram that , required Shutdown how }); - -Future tokioNetUnixDatagramTakeError({required UnixDatagram that }); - -Future tokioNetUnixDatagramTryRecv({required UnixDatagram that , required U8 buf }); - -Future<(BigInt,SocketAddr)> tokioNetUnixDatagramTryRecvFrom({required UnixDatagram that , required U8 buf }); - -Future tokioNetUnixDatagramTrySend({required UnixDatagram that , required List buf }); - -Future tokioNetUnixDatagramUnbound(); - -Future tokioNetUnixDatagramWritable({required UnixDatagram that }); - -Future<(UnixStream,SocketAddr)> tokioNetUnixListenerAccept({required UnixListener that }); - -Future tokioNetUnixListenerFromStd({required UnixListener listener }); - -Future tokioNetUnixListenerIntoStd({required UnixListener that }); - -Future tokioNetUnixListenerLocalAddr({required UnixListener that }); - -Future tokioNetUnixListenerPollAccept({required UnixListener that , required Context cx }); - -Future tokioNetUnixListenerTakeError({required UnixListener that }); - -Future tokioNetUnixSocketDatagram({required UnixSocket that }); - -Future tokioNetUnixSocketListen({required UnixSocket that , required int backlog }); - -Future tokioNetUnixSocketNewDatagram(); - -Future tokioNetUnixSocketNewStream(); - -Future tokioNetUnixStreamFromStd({required UnixStream stream }); - -Future<(OwnedReadHalf,OwnedWriteHalf)> tokioNetUnixStreamIntoSplit({required UnixStream that }); - -Future tokioNetUnixStreamIntoStd({required UnixStream that }); - -Future tokioNetUnixStreamLocalAddr({required UnixStream that }); - -Future<(UnixStream,UnixStream)> tokioNetUnixStreamPair(); - -Future tokioNetUnixStreamPeerAddr({required UnixStream that }); - -Future tokioNetUnixStreamPeerCred({required UnixStream that }); - -Future tokioNetUnixStreamPollReadReady({required UnixStream that , required Context cx }); - -Future tokioNetUnixStreamPollWriteReady({required UnixStream that , required Context cx }); - -Future tokioNetUnixStreamReadable({required UnixStream that }); - -Future tokioNetUnixStreamReady({required UnixStream that , required Interest interest }); - -Future tokioNetUnixStreamTakeError({required UnixStream that }); - -Future tokioNetUnixStreamTryRead({required UnixStream that , required U8 buf }); - -Future tokioNetUnixStreamTryReadVectored({required UnixStream that , required IoSliceMut bufs }); - -Future tokioNetUnixStreamTryWrite({required UnixStream that , required List buf }); - -Future tokioNetUnixStreamTryWriteVectored({required UnixStream that , required List buf }); - -Future tokioNetUnixStreamWritable({required UnixStream that }); - -Future seekstormIndexValueTypeDefault(); - -Future tokioTimeAdvance({required Duration duration }); - -Future seekstormIndexCompressionTypeDefault(); - -Future tokioTaskCoopConsumeBudget(); - -Future seekstormIndexCreateIndex({required Path indexPath , required IndexMetaObject meta , required List schema , required List synonyms , required BigInt segmentNumberBits1 , required bool mute , BigInt? forceShardNumber }); - -Future tokioSignalCtrlC(); - -Future seekstormGeoSearchDecodeMorton2D({required BigInt code }); - -Future seekstormIndexDistanceFieldDefault(); - -Future<(DuplexStream,DuplexStream)> tokioIoDuplex({required BigInt maxBufSize }); - -Future tokioIoEmpty(); - -Future seekstormGeoSearchEncodeMorton2D({required List point }); - -Future seekstormGeoSearchEuclidianDistance({required List point1 , required List point2 , required DistanceUnit unit }); - -Future seekstormIndexFieldTypeDefault(); - -String crateApiSimpleGreet({required String name }); - -Future tokioTaskCoopHasBudgetRemaining(); - -Future seekstormHighlighterHighlightDefault(); - -Future seekstormHighlighterHighlighter({required ArcIndex indexArc , required List highlights , required List queryTermsVec }); - -Future crateApiSimpleInitApp(); - -Future tokioTimeInterval({required Duration period }); - -Future tokioTimeIntervalAt({required Instant start , required Duration period }); - -Future tokioTimeMissedTickBehaviorDefault(); - -Future seekstormGeoSearchMortonOrdering({required BigInt morton1 , required BigInt morton2 , required List basePoint , required SortOrder order }); - -Future seekstormIndexNgramTypeDefault(); - -Future seekstormIndexOpenIndex({required Path indexPath , required bool mute }); - -Future tokioTimePause(); - -Future<(Sender,Receiver)> tokioNetUnixPipePipe(); - -Future seekstormGeoSearchPointDistanceToMortonRange({required List point , required double distance , required DistanceUnit unit }); - -Future tokioMacrosSupportPollBudgetAvailable({required Context cx }); - -Future tokioTaskCoopPollProceed({required Context cx }); - -Future seekstormSearchQueryTypeDefault(); - -Future seekstormSearchRangeTypeDefault(); - -Future tokioIoRepeat({required int byte }); - -Future seekstormSearchResultTypeDefault(); - -Future tokioTimeResume(); - -Future crateApiKeywordSearchSearchFnDeleteIndex({required SearchFn that }); - -Future crateApiKeywordSearchSearchFnIngestPdfDir({required SearchFn that , required Path dirPath }); - -Future crateApiKeywordSearchSearchFnNew({required SearchFn that }); - -Future tokioSignalUnixSignal({required SignalKind kind }); - -Future seekstormIndexSimilarityTypeDefault(); - -Future<(ReadHalfSimplexStream,WriteHalfSimplexStream)> tokioIoSimplex({required BigInt maxBufSize }); - -Future tokioIoSink(); - -Future tokioTimeSleep({required Duration duration }); - -Future tokioTimeSleepUntil({required Instant deadline }); - -Future tokioIoStderr(); - -Future tokioIoStdin(); - -Future tokioIoStdout(); - -Future seekstormIndexStemmerTypeDefault(); - -Future seekstormUtilsSubstring({required String source , required BigInt start , required BigInt length }); - -Future tokioMacrosSupportThreadRngN({required int n }); - -Future seekstormIndexTokenizerTypeDefault(); - -Future seekstormUtilsTruncate({required String source , required BigInt maxChars }); - -Future seekstormIndexVersion(); - -Future tokioTaskYieldNow(); - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_AHashMapStringFacet; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_AHashMapStringFacet; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AHashMapStringFacetPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_AcquireError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_AcquireError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AcquireErrorPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ArcIndex; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ArcIndex; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ArcIndexPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Barrier; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Barrier; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_BarrierWaitResult; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_BarrierWaitResult; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierWaitResultPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Child; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Child; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStderr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStderr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStderrPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStdin; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStdin; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdinPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStdout; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStdout; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdoutPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Command; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Command; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CommandPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Context; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Context; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ContextPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_DocumentItem; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_DocumentItem; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DocumentItemPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_DuplexStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_DuplexStream; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DuplexStreamPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Empty; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Empty; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EmptyPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_EnterGuard; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_EnterGuard; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EnterGuardPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Error; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Error; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ErrorPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ExitStatus; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ExitStatus; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ExitStatusPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetField; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetField; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFieldPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetFilter; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetFilter; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFilterPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetValue; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetValue; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetValuePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_File; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_File; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FilePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FileType; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FileType; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FileTypePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FillBufSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FillBufSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FillBufSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FlushSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FlushSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FlushSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FrequentwordType; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FrequentwordType; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FrequentwordTypePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Handle; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Handle; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HandlePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Highlighter; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Highlighter; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HighlighterPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Id; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Id; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IdPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Index; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Index; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IndexMapStringVecStringUsize; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IndexMapStringVecStringUsize; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMapStringVecStringUsizePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IndexMetaObject; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IndexMetaObject; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMetaObjectPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Instant; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Instant; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InstantPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Interest; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Interest; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InterestPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Interval; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Interval; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IntervalPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IoSliceMut; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IoSliceMut; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSliceMutPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IoSlice; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IoSlice; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSlicePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ipv4Addr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ipv4Addr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv4AddrPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ipv6Addr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ipv6Addr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv6AddrPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LinesSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LinesSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LinesSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LocalEnterGuard; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LocalEnterGuard; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalEnterGuardPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LocalSet; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LocalSet; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalSetPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_MinMaxField; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_MinMaxField; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_MinMaxFieldJson; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_MinMaxFieldJson; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldJsonPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Notified; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Notified; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifiedPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Notify; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Notify; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifyPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OpenOptions; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OpenOptions; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OpenOptionsPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ordering; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ordering; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OrderingPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedFd; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedFd; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedFdPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedNotified; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedNotified; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedNotifiedPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedPermitT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedPermitT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedPermitTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedReadHalf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedReadHalf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedReadHalfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedSemaphorePermit; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedSemaphorePermit; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedSemaphorePermitPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedWriteHalf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedWriteHalf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedWriteHalfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Path; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Path; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PathPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PdfDocument; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PdfDocument; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PdfDocumentPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PermitIteratorT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PermitIteratorT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitIteratorTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PermitT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PermitT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Poll; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Poll; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollInstant; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollInstant; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollInstantPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollOption; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollOption; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollOptionT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollOptionT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollRestoreOnPending; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollRestoreOnPending; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollRestoreOnPendingPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResult; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResult; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultSocketAddr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultSocketAddr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultSocketAddrPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultTcpStreamSocketAddr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddrPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultUnixStreamSocketAddr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddrPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultUsize; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultUsize; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUsizePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollUsize; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollUsize; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollUsizePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_QueryFacet; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_QueryFacet; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryFacetPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_QueryRewriting; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_QueryRewriting; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryRewritingPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ranges; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ranges; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangesPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RangeU64; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RangeU64; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangeU64Ptr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadBuf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadBuf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadBufPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF32LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF32LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF32MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF32MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF64LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF64LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF64MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF64MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadHalfSimplexStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadHalfSimplexStream; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadHalfSimplexStreamPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI128LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI128LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI128MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI128MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI16LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI16LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI16MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI16MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI32LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI32LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI32MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI32MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI64LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI64LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI64MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI64MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI8MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI8MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI8MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU128LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU128LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU128MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU128MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU16LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU16LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU16MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU16MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU32LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU32LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU32MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU32MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU64LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU64LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU64MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU64MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU8MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU8MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU8MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ready; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ready; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadyPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Receiver; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Receiver; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReceiverT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReceiverT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RecvError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RecvError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RecvErrorPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RefT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RefT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RefTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Repeat; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Repeat; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RepeatPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RestoreOnPending; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RestoreOnPending; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RestoreOnPendingPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Result; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Result; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ResultObject; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ResultObject; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultObjectPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ResultSort; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ResultSort; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultSortPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReuniteError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReuniteError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReuniteErrorPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Runtime; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Runtime; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RuntimeMetrics; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RuntimeMetrics; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimeMetricsPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SchemaField; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SchemaField; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SchemaFieldPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SeekFrom; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SeekFrom; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekFromPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SeekSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SeekSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Semaphore; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Semaphore; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SemaphorePermit; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SemaphorePermit; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePermitPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendErrorT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendErrorT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendTimeoutErrorT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendTimeoutErrorT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendTimeoutErrorTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sender; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sender; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SenderT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SenderT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Shutdown; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Shutdown; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ShutdownSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ShutdownSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Signal; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Signal; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SignalKind; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SignalKind; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalKindPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SimplexStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SimplexStream; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SimplexStreamPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sink; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sink; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SinkPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sleep; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sleep; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SleepPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SocketAddr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SocketAddr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SocketAddrPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SplitSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SplitSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SplitSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_StdCommand; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_StdCommand; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdCommandPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stderr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stderr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StderrPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stdin; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stdin; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdinPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stdout; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stdout; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdoutPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_StopwordType; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_StopwordType; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StopwordTypePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_T; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_T; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TakeSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TakeSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TakeSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpListener; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpListener; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpListenerPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpSocket; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpSocket; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpSocketPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpStream; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpStreamPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TryCurrentError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TryCurrentError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryCurrentErrorPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TryRecvError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TryRecvError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryRecvErrorPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendErrorSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendErrorSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendErrorT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendErrorT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UCred; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UCred; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UCredPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UdpSocket; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UdpSocket; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UdpSocketPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixDatagram; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixDatagram; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixDatagramPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixListener; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixListener; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixListenerPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixSocket; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixSocket; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixSocketPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixStream; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixStreamPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Value; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Value; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValuePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ValueType; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ValueType; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValueTypePtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_VecT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_VecT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_VecTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WeakSenderT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WeakSenderT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WeakSenderTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF32LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF32LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF32MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF32MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF64LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF64LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF64MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF64MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteHalfSimplexStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteHalfSimplexStream; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteHalfSimplexStreamPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI128LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI128LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI128MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI128MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI16LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI16LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI16MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI16MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI32LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI32LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI32MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI32MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI64LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI64LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI64MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI64MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI8MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI8MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI8MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU128LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU128LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU128MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU128MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU16LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU16LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU16MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU16MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU32LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU32LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU32MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU32MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU64LeMutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU64LeMutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64LeMutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU64MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU64MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU8MutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU8MutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU8MutSelfPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_CInt; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_CInt; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CIntPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_GidT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_GidT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_GidTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PidT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PidT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PidTPtr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_U8; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_U8; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_U8Ptr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UidT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UidT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UidTPtr; - - - } - - - class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { - RustLibApiImpl({ - required super.handler, - required super.wire, - required super.generalizedFrbRustBinding, - required super.portManager, - }); - - @override Future tokioSyncBarrierWaitResultIsLeader({required BarrierWaitResult that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 1, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncBarrierWaitResultIsLeaderConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncBarrierWaitResultIsLeaderConstMeta => const TaskConstMeta( - debugName: "BarrierWaitResult_is_leader", - argNames: ["that"], - ); - - -@override Future tokioSyncBarrierNew({required BigInt n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 2, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncBarrierNewConstMeta, - argValues: [n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncBarrierNewConstMeta => const TaskConstMeta( - debugName: "Barrier_new", - argNames: ["n"], - ); - - -@override Future tokioSyncBarrierWait({required Barrier that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 3, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncBarrierWaitConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncBarrierWaitConstMeta => const TaskConstMeta( - debugName: "Barrier_wait", - argNames: ["that"], - ); - - -@override Future tokioProcessChildStderrFromStd({required ChildStderr inner }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(inner, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 4, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessChildStderrFromStdConstMeta, - argValues: [inner], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildStderrFromStdConstMeta => const TaskConstMeta( - debugName: "ChildStderr_from_std", - argNames: ["inner"], - ); - - -@override Future tokioProcessChildStderrIntoOwnedFd({required ChildStderr that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 5, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessChildStderrIntoOwnedFdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildStderrIntoOwnedFdConstMeta => const TaskConstMeta( - debugName: "ChildStderr_into_owned_fd", - argNames: ["that"], - ); - - -@override Future tokioProcessChildStdinFromStd({required ChildStdin inner }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(inner, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 6, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessChildStdinFromStdConstMeta, - argValues: [inner], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildStdinFromStdConstMeta => const TaskConstMeta( - debugName: "ChildStdin_from_std", - argNames: ["inner"], - ); - - -@override Future tokioProcessChildStdinIntoOwnedFd({required ChildStdin that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 7, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessChildStdinIntoOwnedFdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildStdinIntoOwnedFdConstMeta => const TaskConstMeta( - debugName: "ChildStdin_into_owned_fd", - argNames: ["that"], - ); - - -@override Future tokioProcessChildStdoutFromStd({required ChildStdout inner }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(inner, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 8, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessChildStdoutFromStdConstMeta, - argValues: [inner], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildStdoutFromStdConstMeta => const TaskConstMeta( - debugName: "ChildStdout_from_std", - argNames: ["inner"], - ); - - -@override Future tokioProcessChildStdoutIntoOwnedFd({required ChildStdout that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 9, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessChildStdoutIntoOwnedFdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildStdoutIntoOwnedFdConstMeta => const TaskConstMeta( - debugName: "ChildStdout_into_owned_fd", - argNames: ["that"], - ); - - -@override ChildStderr? tokioProcessChildAutoAccessorGetStderr({required Child that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 10)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessChildAutoAccessorGetStderrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildAutoAccessorGetStderrConstMeta => const TaskConstMeta( - debugName: "Child_auto_accessor_get_stderr", - argNames: ["that"], - ); - - -@override ChildStdin? tokioProcessChildAutoAccessorGetStdin({required Child that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 11)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessChildAutoAccessorGetStdinConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildAutoAccessorGetStdinConstMeta => const TaskConstMeta( - debugName: "Child_auto_accessor_get_stdin", - argNames: ["that"], - ); - - -@override ChildStdout? tokioProcessChildAutoAccessorGetStdout({required Child that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 12)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessChildAutoAccessorGetStdoutConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildAutoAccessorGetStdoutConstMeta => const TaskConstMeta( - debugName: "Child_auto_accessor_get_stdout", - argNames: ["that"], - ); - - -@override void tokioProcessChildAutoAccessorSetStderr({required Child that , ChildStderr? stderr }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); -sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(stderr, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 13)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessChildAutoAccessorSetStderrConstMeta, - argValues: [that, stderr], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildAutoAccessorSetStderrConstMeta => const TaskConstMeta( - debugName: "Child_auto_accessor_set_stderr", - argNames: ["that", "stderr"], - ); - - -@override void tokioProcessChildAutoAccessorSetStdin({required Child that , ChildStdin? stdin }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); -sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(stdin, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 14)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessChildAutoAccessorSetStdinConstMeta, - argValues: [that, stdin], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildAutoAccessorSetStdinConstMeta => const TaskConstMeta( - debugName: "Child_auto_accessor_set_stdin", - argNames: ["that", "stdin"], - ); - - -@override void tokioProcessChildAutoAccessorSetStdout({required Child that , ChildStdout? stdout }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); -sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(stdout, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 15)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessChildAutoAccessorSetStdoutConstMeta, - argValues: [that, stdout], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildAutoAccessorSetStdoutConstMeta => const TaskConstMeta( - debugName: "Child_auto_accessor_set_stdout", - argNames: ["that", "stdout"], - ); - - -@override Future tokioProcessChildId({required Child that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 16, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_u_32, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessChildIdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildIdConstMeta => const TaskConstMeta( - debugName: "Child_id", - argNames: ["that"], - ); - - -@override Future tokioProcessChildKill({required Child that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 17, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessChildKillConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildKillConstMeta => const TaskConstMeta( - debugName: "Child_kill", - argNames: ["that"], - ); - - -@override Future tokioProcessChildStartKill({required Child that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 18, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessChildStartKillConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildStartKillConstMeta => const TaskConstMeta( - debugName: "Child_start_kill", - argNames: ["that"], - ); - - -@override Future tokioProcessChildTryWait({required Child that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 19, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessChildTryWaitConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildTryWaitConstMeta => const TaskConstMeta( - debugName: "Child_try_wait", - argNames: ["that"], - ); - - -@override Future tokioProcessChildWait({required Child that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 20, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessChildWaitConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessChildWaitConstMeta => const TaskConstMeta( - debugName: "Child_wait", - argNames: ["that"], - ); - - -@override Future tokioProcessCommandAsStd({required Command that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 21, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessCommandAsStdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessCommandAsStdConstMeta => const TaskConstMeta( - debugName: "Command_as_std", - argNames: ["that"], - ); - - -@override Future tokioProcessCommandAsStdMut({required Command that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 22, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessCommandAsStdMutConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessCommandAsStdMutConstMeta => const TaskConstMeta( - debugName: "Command_as_std_mut", - argNames: ["that"], - ); - - -@override Future tokioProcessCommandEnvClear({required Command that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 23, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessCommandEnvClearConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessCommandEnvClearConstMeta => const TaskConstMeta( - debugName: "Command_env_clear", - argNames: ["that"], - ); - - -@override Future tokioProcessCommandGetKillOnDrop({required Command that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 24, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessCommandGetKillOnDropConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessCommandGetKillOnDropConstMeta => const TaskConstMeta( - debugName: "Command_get_kill_on_drop", - argNames: ["that"], - ); - - -@override Future tokioProcessCommandGid({required Command that , required int id }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); -sse_encode_u_32(id, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 25, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessCommandGidConstMeta, - argValues: [that, id], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessCommandGidConstMeta => const TaskConstMeta( - debugName: "Command_gid", - argNames: ["that", "id"], - ); - - -@override Future tokioProcessCommandIntoStd({required Command that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 26, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessCommandIntoStdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessCommandIntoStdConstMeta => const TaskConstMeta( - debugName: "Command_into_std", - argNames: ["that"], - ); - - -@override Future tokioProcessCommandKillOnDrop({required Command that , required bool killOnDrop }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); -sse_encode_bool(killOnDrop, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 27, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessCommandKillOnDropConstMeta, - argValues: [that, killOnDrop], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessCommandKillOnDropConstMeta => const TaskConstMeta( - debugName: "Command_kill_on_drop", - argNames: ["that", "killOnDrop"], - ); - - -@override Future tokioProcessCommandProcessGroup({required Command that , required int pgroup }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); -sse_encode_i_32(pgroup, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 28, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessCommandProcessGroupConstMeta, - argValues: [that, pgroup], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessCommandProcessGroupConstMeta => const TaskConstMeta( - debugName: "Command_process_group", - argNames: ["that", "pgroup"], - ); - - -@override Future tokioProcessCommandSpawn({required Command that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 29, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioProcessCommandSpawnConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessCommandSpawnConstMeta => const TaskConstMeta( - debugName: "Command_spawn", - argNames: ["that"], - ); - - -@override Future tokioProcessCommandUid({required Command that , required int id }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(that, serializer); -sse_encode_u_32(id, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 30, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioProcessCommandUidConstMeta, - argValues: [that, id], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioProcessCommandUidConstMeta => const TaskConstMeta( - debugName: "Command_uid", - argNames: ["that", "id"], - ); - - -@override Future tokioTimeErrorErrorAtCapacity() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 31, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeErrorErrorAtCapacityConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeErrorErrorAtCapacityConstMeta => const TaskConstMeta( - debugName: "Error_at_capacity", - argNames: [], - ); - - -@override Future tokioTimeErrorErrorInvalid() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 32, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeErrorErrorInvalidConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeErrorErrorInvalidConstMeta => const TaskConstMeta( - debugName: "Error_invalid", - argNames: [], - ); - - -@override Future tokioTimeErrorErrorIsAtCapacity({required Error that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 33, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeErrorErrorIsAtCapacityConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeErrorErrorIsAtCapacityConstMeta => const TaskConstMeta( - debugName: "Error_is_at_capacity", - argNames: ["that"], - ); - - -@override Future tokioTimeErrorErrorIsInvalid({required Error that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 34, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeErrorErrorIsInvalidConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeErrorErrorIsInvalidConstMeta => const TaskConstMeta( - debugName: "Error_is_invalid", - argNames: ["that"], - ); - - -@override Future tokioTimeErrorErrorIsShutdown({required Error that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 35, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeErrorErrorIsShutdownConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeErrorErrorIsShutdownConstMeta => const TaskConstMeta( - debugName: "Error_is_shutdown", - argNames: ["that"], - ); - - -@override Future tokioTimeErrorErrorShutdown() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 36, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeErrorErrorShutdownConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeErrorErrorShutdownConstMeta => const TaskConstMeta( - debugName: "Error_shutdown", - argNames: [], - ); - - -@override ValueType seekstormIndexFacetFieldAutoAccessorGetMax({required FacetField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 37)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFacetFieldAutoAccessorGetMaxConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorGetMaxConstMeta => const TaskConstMeta( - debugName: "FacetField_auto_accessor_get_max", - argNames: ["that"], - ); - - -@override ValueType seekstormIndexFacetFieldAutoAccessorGetMin({required FacetField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 38)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFacetFieldAutoAccessorGetMinConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorGetMinConstMeta => const TaskConstMeta( - debugName: "FacetField_auto_accessor_get_min", - argNames: ["that"], - ); - - -@override String seekstormIndexFacetFieldAutoAccessorGetName({required FacetField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 39)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFacetFieldAutoAccessorGetNameConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorGetNameConstMeta => const TaskConstMeta( - debugName: "FacetField_auto_accessor_get_name", - argNames: ["that"], - ); - - -@override IndexMapStringVecStringUsize seekstormIndexFacetFieldAutoAccessorGetValues({required FacetField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 40)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFacetFieldAutoAccessorGetValuesConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorGetValuesConstMeta => const TaskConstMeta( - debugName: "FacetField_auto_accessor_get_values", - argNames: ["that"], - ); - - -@override void seekstormIndexFacetFieldAutoAccessorSetMax({required FacetField that , required ValueType max }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(max, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 41)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFacetFieldAutoAccessorSetMaxConstMeta, - argValues: [that, max], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorSetMaxConstMeta => const TaskConstMeta( - debugName: "FacetField_auto_accessor_set_max", - argNames: ["that", "max"], - ); - - -@override void seekstormIndexFacetFieldAutoAccessorSetMin({required FacetField that , required ValueType min }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(min, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 42)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFacetFieldAutoAccessorSetMinConstMeta, - argValues: [that, min], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorSetMinConstMeta => const TaskConstMeta( - debugName: "FacetField_auto_accessor_set_min", - argNames: ["that", "min"], - ); - - -@override void seekstormIndexFacetFieldAutoAccessorSetName({required FacetField that , required String name }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); -sse_encode_String(name, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 43)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFacetFieldAutoAccessorSetNameConstMeta, - argValues: [that, name], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorSetNameConstMeta => const TaskConstMeta( - debugName: "FacetField_auto_accessor_set_name", - argNames: ["that", "name"], - ); - - -@override void seekstormIndexFacetFieldAutoAccessorSetValues({required FacetField that , required IndexMapStringVecStringUsize values }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(values, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 44)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFacetFieldAutoAccessorSetValuesConstMeta, - argValues: [that, values], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFacetFieldAutoAccessorSetValuesConstMeta => const TaskConstMeta( - debugName: "FacetField_auto_accessor_set_values", - argNames: ["that", "values"], - ); - - -@override Future seekstormIndexFacetFieldDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 45, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFacetFieldDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFacetFieldDefaultConstMeta => const TaskConstMeta( - debugName: "FacetField_default", - argNames: [], - ); - - -@override Future seekstormIndexFrequentwordTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 46, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFrequentwordTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFrequentwordTypeDefaultConstMeta => const TaskConstMeta( - debugName: "FrequentwordType_default", - argNames: [], - ); - - -@override Future tokioRuntimeHandleCurrent() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 47, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeHandleCurrentConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeHandleCurrentConstMeta => const TaskConstMeta( - debugName: "Handle_current", - argNames: [], - ); - - -@override Future tokioRuntimeHandleDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 48, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeHandleDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeHandleDefaultConstMeta => const TaskConstMeta( - debugName: "Handle_default", - argNames: [], - ); - - -@override Future tokioRuntimeHandleEnter({required Handle that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 49, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeHandleEnterConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeHandleEnterConstMeta => const TaskConstMeta( - debugName: "Handle_enter", - argNames: ["that"], - ); - - -@override Future tokioRuntimeHandleId({required Handle that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 50, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeHandleIdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeHandleIdConstMeta => const TaskConstMeta( - debugName: "Handle_id", - argNames: ["that"], - ); - - -@override Future tokioRuntimeHandleMetrics({required Handle that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 51, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeHandleMetricsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeHandleMetricsConstMeta => const TaskConstMeta( - debugName: "Handle_metrics", - argNames: ["that"], - ); - - -@override Future tokioRuntimeHandleRuntimeFlavor({required Handle that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 52, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_runtime_flavor, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeHandleRuntimeFlavorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeHandleRuntimeFlavorConstMeta => const TaskConstMeta( - debugName: "Handle_runtime_flavor", - argNames: ["that"], - ); - - -@override Future tokioRuntimeHandleTryCurrent() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 53, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError, - ) - , - constMeta: kTokioRuntimeHandleTryCurrentConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeHandleTryCurrentConstMeta => const TaskConstMeta( - debugName: "Handle_try_current", - argNames: [], - ); - - -@override AccessType seekstormIndexIndexMetaObjectAutoAccessorGetAccessType({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 54)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_access_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetAccessTypeConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetAccessTypeConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_access_type", - argNames: ["that"], - ); - - -@override FrequentwordType seekstormIndexIndexMetaObjectAutoAccessorGetFrequentWords({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 55)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetFrequentWordsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetFrequentWordsConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_frequent_words", - argNames: ["that"], - ); - - -@override BigInt seekstormIndexIndexMetaObjectAutoAccessorGetId({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 56)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_64, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetIdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetIdConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_id", - argNames: ["that"], - ); - - -@override String seekstormIndexIndexMetaObjectAutoAccessorGetName({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 57)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetNameConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetNameConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_name", - argNames: ["that"], - ); - - -@override int seekstormIndexIndexMetaObjectAutoAccessorGetNgramIndexing({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 58)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_8, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetNgramIndexingConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetNgramIndexingConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_ngram_indexing", - argNames: ["that"], - ); - - -@override QueryCompletion? seekstormIndexIndexMetaObjectAutoAccessorGetQueryCompletion({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 59)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_query_completion, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetQueryCompletionConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetQueryCompletionConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_query_completion", - argNames: ["that"], - ); - - -@override SimilarityType seekstormIndexIndexMetaObjectAutoAccessorGetSimilarity({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 60)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_similarity_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetSimilarityConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetSimilarityConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_similarity", - argNames: ["that"], - ); - - -@override SpellingCorrection? seekstormIndexIndexMetaObjectAutoAccessorGetSpellingCorrection({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 61)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_spelling_correction, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetSpellingCorrectionConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetSpellingCorrectionConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_spelling_correction", - argNames: ["that"], - ); - - -@override StemmerType seekstormIndexIndexMetaObjectAutoAccessorGetStemmer({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 62)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_stemmer_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetStemmerConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetStemmerConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_stemmer", - argNames: ["that"], - ); - - -@override StopwordType seekstormIndexIndexMetaObjectAutoAccessorGetStopWords({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 63)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetStopWordsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetStopWordsConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_stop_words", - argNames: ["that"], - ); - - -@override TokenizerType seekstormIndexIndexMetaObjectAutoAccessorGetTokenizer({required IndexMetaObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 64)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_tokenizer_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorGetTokenizerConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorGetTokenizerConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_get_tokenizer", - argNames: ["that"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetAccessType({required IndexMetaObject that , required AccessType accessType }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_access_type(accessType, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 65)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetAccessTypeConstMeta, - argValues: [that, accessType], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetAccessTypeConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_access_type", - argNames: ["that", "accessType"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetFrequentWords({required IndexMetaObject that , required FrequentwordType frequentWords }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(frequentWords, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 66)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetFrequentWordsConstMeta, - argValues: [that, frequentWords], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetFrequentWordsConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_frequent_words", - argNames: ["that", "frequentWords"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetId({required IndexMetaObject that , required BigInt id }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_u_64(id, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 67)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetIdConstMeta, - argValues: [that, id], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetIdConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_id", - argNames: ["that", "id"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetName({required IndexMetaObject that , required String name }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_String(name, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 68)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetNameConstMeta, - argValues: [that, name], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetNameConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_name", - argNames: ["that", "name"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetNgramIndexing({required IndexMetaObject that , required int ngramIndexing }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_u_8(ngramIndexing, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 69)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetNgramIndexingConstMeta, - argValues: [that, ngramIndexing], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetNgramIndexingConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_ngram_indexing", - argNames: ["that", "ngramIndexing"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetQueryCompletion({required IndexMetaObject that , QueryCompletion? queryCompletion }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_opt_box_autoadd_query_completion(queryCompletion, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 70)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetQueryCompletionConstMeta, - argValues: [that, queryCompletion], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetQueryCompletionConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_query_completion", - argNames: ["that", "queryCompletion"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetSimilarity({required IndexMetaObject that , required SimilarityType similarity }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_similarity_type(similarity, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 71)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetSimilarityConstMeta, - argValues: [that, similarity], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetSimilarityConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_similarity", - argNames: ["that", "similarity"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetSpellingCorrection({required IndexMetaObject that , SpellingCorrection? spellingCorrection }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_opt_box_autoadd_spelling_correction(spellingCorrection, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 72)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetSpellingCorrectionConstMeta, - argValues: [that, spellingCorrection], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetSpellingCorrectionConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_spelling_correction", - argNames: ["that", "spellingCorrection"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetStemmer({required IndexMetaObject that , required StemmerType stemmer }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_stemmer_type(stemmer, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 73)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetStemmerConstMeta, - argValues: [that, stemmer], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetStemmerConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_stemmer", - argNames: ["that", "stemmer"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetStopWords({required IndexMetaObject that , required StopwordType stopWords }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(stopWords, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 74)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetStopWordsConstMeta, - argValues: [that, stopWords], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetStopWordsConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_stop_words", - argNames: ["that", "stopWords"], - ); - - -@override void seekstormIndexIndexMetaObjectAutoAccessorSetTokenizer({required IndexMetaObject that , required TokenizerType tokenizer }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(that, serializer); -sse_encode_tokenizer_type(tokenizer, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 75)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexMetaObjectAutoAccessorSetTokenizerConstMeta, - argValues: [that, tokenizer], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexMetaObjectAutoAccessorSetTokenizerConstMeta => const TaskConstMeta( - debugName: "IndexMetaObject_auto_accessor_set_tokenizer", - argNames: ["that", "tokenizer"], - ); - - -@override Future seekstormIndexIndexAddSynonyms({required Index that , required List synonyms }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_list_synonym(synonyms, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 76, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_String, - ) - , - constMeta: kSeekstormIndexIndexAddSynonymsConstMeta, - argValues: [that, synonyms], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAddSynonymsConstMeta => const TaskConstMeta( - debugName: "Index_add_synonyms", - argNames: ["that", "synonyms"], - ); - - -@override int seekstormIndexIndexAutoAccessorGetIndexFormatVersionMajor({required Index that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 77)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_16, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexAutoAccessorGetIndexFormatVersionMajorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAutoAccessorGetIndexFormatVersionMajorConstMeta => const TaskConstMeta( - debugName: "Index_auto_accessor_get_index_format_version_major", - argNames: ["that"], - ); - - -@override int seekstormIndexIndexAutoAccessorGetIndexFormatVersionMinor({required Index that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 78)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_16, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexAutoAccessorGetIndexFormatVersionMinorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAutoAccessorGetIndexFormatVersionMinorConstMeta => const TaskConstMeta( - debugName: "Index_auto_accessor_get_index_format_version_minor", - argNames: ["that"], - ); - - -@override IndexMetaObject seekstormIndexIndexAutoAccessorGetMeta({required Index that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 79)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexAutoAccessorGetMetaConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAutoAccessorGetMetaConstMeta => const TaskConstMeta( - debugName: "Index_auto_accessor_get_meta", - argNames: ["that"], - ); - - -@override Map seekstormIndexIndexAutoAccessorGetSchemaMap({required Index that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 80)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexAutoAccessorGetSchemaMapConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAutoAccessorGetSchemaMapConstMeta => const TaskConstMeta( - debugName: "Index_auto_accessor_get_schema_map", - argNames: ["that"], - ); - - -@override List seekstormIndexIndexAutoAccessorGetStoredFieldNames({required Index that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 81)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_list_String, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexAutoAccessorGetStoredFieldNamesConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAutoAccessorGetStoredFieldNamesConstMeta => const TaskConstMeta( - debugName: "Index_auto_accessor_get_stored_field_names", - argNames: ["that"], - ); - - -@override void seekstormIndexIndexAutoAccessorSetIndexFormatVersionMajor({required Index that , required int indexFormatVersionMajor }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_u_16(indexFormatVersionMajor, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 82)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexAutoAccessorSetIndexFormatVersionMajorConstMeta, - argValues: [that, indexFormatVersionMajor], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAutoAccessorSetIndexFormatVersionMajorConstMeta => const TaskConstMeta( - debugName: "Index_auto_accessor_set_index_format_version_major", - argNames: ["that", "indexFormatVersionMajor"], - ); - - -@override void seekstormIndexIndexAutoAccessorSetIndexFormatVersionMinor({required Index that , required int indexFormatVersionMinor }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_u_16(indexFormatVersionMinor, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 83)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexAutoAccessorSetIndexFormatVersionMinorConstMeta, - argValues: [that, indexFormatVersionMinor], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAutoAccessorSetIndexFormatVersionMinorConstMeta => const TaskConstMeta( - debugName: "Index_auto_accessor_set_index_format_version_minor", - argNames: ["that", "indexFormatVersionMinor"], - ); - - -@override void seekstormIndexIndexAutoAccessorSetMeta({required Index that , required IndexMetaObject meta }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(meta, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 84)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexAutoAccessorSetMetaConstMeta, - argValues: [that, meta], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAutoAccessorSetMetaConstMeta => const TaskConstMeta( - debugName: "Index_auto_accessor_set_meta", - argNames: ["that", "meta"], - ); - - -@override void seekstormIndexIndexAutoAccessorSetSchemaMap({required Index that , required Map schemaMap }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(schemaMap, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 85)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexAutoAccessorSetSchemaMapConstMeta, - argValues: [that, schemaMap], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAutoAccessorSetSchemaMapConstMeta => const TaskConstMeta( - debugName: "Index_auto_accessor_set_schema_map", - argNames: ["that", "schemaMap"], - ); - - -@override void seekstormIndexIndexAutoAccessorSetStoredFieldNames({required Index that , required List storedFieldNames }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_list_String(storedFieldNames, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 86)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexAutoAccessorSetStoredFieldNamesConstMeta, - argValues: [that, storedFieldNames], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexAutoAccessorSetStoredFieldNamesConstMeta => const TaskConstMeta( - debugName: "Index_auto_accessor_set_stored_field_names", - argNames: ["that", "storedFieldNames"], - ); - - -@override Future seekstormIndexIndexClearIndex({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 87, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexClearIndexConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexClearIndexConstMeta => const TaskConstMeta( - debugName: "Index_clear_index", - argNames: ["that"], - ); - - -@override Future seekstormIndexIndexCommittedDocCount({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 88, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexCommittedDocCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexCommittedDocCountConstMeta => const TaskConstMeta( - debugName: "Index_committed_doc_count", - argNames: ["that"], - ); - - -@override Future seekstormIndexIndexCurrentDocCount({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 89, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexCurrentDocCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexCurrentDocCountConstMeta => const TaskConstMeta( - debugName: "Index_current_doc_count", - argNames: ["that"], - ); - - -@override Future seekstormIndexIndexDeleteIndex({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 90, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexDeleteIndexConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexDeleteIndexConstMeta => const TaskConstMeta( - debugName: "Index_delete_index", - argNames: ["that"], - ); - - -@override Future seekstormIndexIndexFacetsCount({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 91, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexFacetsCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexFacetsCountConstMeta => const TaskConstMeta( - debugName: "Index_facets_count", - argNames: ["that"], - ); - - -@override Future> seekstormIndexIndexGetDocument({required Index that , required BigInt docId , required bool includeUncommited , Highlighter? highlighterOption , required Set fields , required List distanceFields }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_usize(docId, serializer); -sse_encode_bool(includeUncommited, serializer); -sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(highlighterOption, serializer); -sse_encode_Set_String_None(fields, serializer); -sse_encode_list_distance_field(distanceFields, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 92, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None, - decodeErrorData: sse_decode_String, - ) - , - constMeta: kSeekstormIndexIndexGetDocumentConstMeta, - argValues: [that, docId, includeUncommited, highlighterOption, fields, distanceFields], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexGetDocumentConstMeta => const TaskConstMeta( - debugName: "Index_get_document", - argNames: ["that", "docId", "includeUncommited", "highlighterOption", "fields", "distanceFields"], - ); - - -@override Future seekstormIndexIndexGetFacetValue({required Index that , required String field , required BigInt docId }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_String(field, serializer); -sse_encode_usize(docId, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 93, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexGetFacetValueConstMeta, - argValues: [that, field, docId], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexGetFacetValueConstMeta => const TaskConstMeta( - debugName: "Index_get_facet_value", - argNames: ["that", "field", "docId"], - ); - - -@override Future seekstormIndexIndexGetFile({required Index that , required BigInt docId }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_usize(docId, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 94, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_list_prim_u_8_strict, - decodeErrorData: sse_decode_String, - ) - , - constMeta: kSeekstormIndexIndexGetFileConstMeta, - argValues: [that, docId], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexGetFileConstMeta => const TaskConstMeta( - debugName: "Index_get_file", - argNames: ["that", "docId"], - ); - - -@override Future seekstormIndexIndexGetIndexStringFacets({required Index that , required List queryFacets }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(queryFacets, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 95, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexGetIndexStringFacetsConstMeta, - argValues: [that, queryFacets], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexGetIndexStringFacetsConstMeta => const TaskConstMeta( - debugName: "Index_get_index_string_facets", - argNames: ["that", "queryFacets"], - ); - - -@override Future> seekstormIndexIndexGetSynonyms({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 96, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_list_synonym, - decodeErrorData: sse_decode_String, - ) - , - constMeta: kSeekstormIndexIndexGetSynonymsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexGetSynonymsConstMeta => const TaskConstMeta( - debugName: "Index_get_synonyms", - argNames: ["that"], - ); - - -@override Future> seekstormIndexIndexIndexFacetsMinmax({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 97, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexIndexFacetsMinmaxConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexIndexFacetsMinmaxConstMeta => const TaskConstMeta( - debugName: "Index_index_facets_minmax", - argNames: ["that"], - ); - - -@override Future seekstormIndexIndexIndexedDocCount({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 98, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexIndexedDocCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexIndexedDocCountConstMeta => const TaskConstMeta( - debugName: "Index_indexed_doc_count", - argNames: ["that"], - ); - - -@override Future seekstormIndexIndexLevelCount({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 99, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexLevelCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexLevelCountConstMeta => const TaskConstMeta( - debugName: "Index_level_count", - argNames: ["that"], - ); - - -@override Future seekstormIndexIndexSetSynonyms({required Index that , required List synonyms }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); -sse_encode_list_synonym(synonyms, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 100, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_String, - ) - , - constMeta: kSeekstormIndexIndexSetSynonymsConstMeta, - argValues: [that, synonyms], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexSetSynonymsConstMeta => const TaskConstMeta( - debugName: "Index_set_synonyms", - argNames: ["that", "synonyms"], - ); - - -@override Future seekstormIndexIndexShardCount({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 101, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexShardCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexShardCountConstMeta => const TaskConstMeta( - debugName: "Index_shard_count", - argNames: ["that"], - ); - - -@override Future seekstormIndexIndexUncommittedDocCount({required Index that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 102, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexIndexUncommittedDocCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexIndexUncommittedDocCountConstMeta => const TaskConstMeta( - debugName: "Index_uncommitted_doc_count", - argNames: ["that"], - ); - - -@override Future tokioIoInterestAdd({required Interest that , required Interest other }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(other, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 103, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest, - decodeErrorData: null, - ) - , - constMeta: kTokioIoInterestAddConstMeta, - argValues: [that, other], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoInterestAddConstMeta => const TaskConstMeta( - debugName: "Interest_add", - argNames: ["that", "other"], - ); - - -@override Future tokioIoInterestIsError({required Interest that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 104, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioIoInterestIsErrorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoInterestIsErrorConstMeta => const TaskConstMeta( - debugName: "Interest_is_error", - argNames: ["that"], - ); - - -@override Future tokioIoInterestIsReadable({required Interest that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 105, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioIoInterestIsReadableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoInterestIsReadableConstMeta => const TaskConstMeta( - debugName: "Interest_is_readable", - argNames: ["that"], - ); - - -@override Future tokioIoInterestIsWritable({required Interest that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 106, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioIoInterestIsWritableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoInterestIsWritableConstMeta => const TaskConstMeta( - debugName: "Interest_is_writable", - argNames: ["that"], - ); - - -@override Future tokioIoInterestRemove({required Interest that , required Interest other }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(other, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 107, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest, - decodeErrorData: null, - ) - , - constMeta: kTokioIoInterestRemoveConstMeta, - argValues: [that, other], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoInterestRemoveConstMeta => const TaskConstMeta( - debugName: "Interest_remove", - argNames: ["that", "other"], - ); - - -@override Future tokioTimeIntervalMissedTickBehavior({required Interval that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 108, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_missed_tick_behavior, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalMissedTickBehaviorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalMissedTickBehaviorConstMeta => const TaskConstMeta( - debugName: "Interval_missed_tick_behavior", - argNames: ["that"], - ); - - -@override Future tokioTimeIntervalPeriod({required Interval that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 109, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Chrono_Duration, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalPeriodConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalPeriodConstMeta => const TaskConstMeta( - debugName: "Interval_period", - argNames: ["that"], - ); - - -@override Future tokioTimeIntervalPollTick({required Interval that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 110, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalPollTickConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalPollTickConstMeta => const TaskConstMeta( - debugName: "Interval_poll_tick", - argNames: ["that", "cx"], - ); - - -@override Future tokioTimeIntervalReset({required Interval that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 111, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalResetConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalResetConstMeta => const TaskConstMeta( - debugName: "Interval_reset", - argNames: ["that"], - ); - - -@override Future tokioTimeIntervalResetAfter({required Interval that , required Duration after }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); -sse_encode_Chrono_Duration(after, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 112, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalResetAfterConstMeta, - argValues: [that, after], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalResetAfterConstMeta => const TaskConstMeta( - debugName: "Interval_reset_after", - argNames: ["that", "after"], - ); - - -@override Future tokioTimeIntervalResetAt({required Interval that , required Instant deadline }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(deadline, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 113, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalResetAtConstMeta, - argValues: [that, deadline], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalResetAtConstMeta => const TaskConstMeta( - debugName: "Interval_reset_at", - argNames: ["that", "deadline"], - ); - - -@override Future tokioTimeIntervalResetImmediately({required Interval that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 114, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalResetImmediatelyConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalResetImmediatelyConstMeta => const TaskConstMeta( - debugName: "Interval_reset_immediately", - argNames: ["that"], - ); - - -@override Future tokioTimeIntervalSetMissedTickBehavior({required Interval that , required MissedTickBehavior behavior }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); -sse_encode_missed_tick_behavior(behavior, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 115, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalSetMissedTickBehaviorConstMeta, - argValues: [that, behavior], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalSetMissedTickBehaviorConstMeta => const TaskConstMeta( - debugName: "Interval_set_missed_tick_behavior", - argNames: ["that", "behavior"], - ); - - -@override Future tokioTimeIntervalTick({required Interval that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 116, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalTickConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalTickConstMeta => const TaskConstMeta( - debugName: "Interval_tick", - argNames: ["that"], - ); - - -@override Future tokioTaskLocalSetDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 117, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet, - decodeErrorData: null, - ) - , - constMeta: kTokioTaskLocalSetDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTaskLocalSetDefaultConstMeta => const TaskConstMeta( - debugName: "LocalSet_default", - argNames: [], - ); - - -@override Future tokioTaskLocalSetEnter({required LocalSet that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 118, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard, - decodeErrorData: null, - ) - , - constMeta: kTokioTaskLocalSetEnterConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTaskLocalSetEnterConstMeta => const TaskConstMeta( - debugName: "LocalSet_enter", - argNames: ["that"], - ); - - -@override Future tokioTaskLocalSetId({required LocalSet that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 119, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId, - decodeErrorData: null, - ) - , - constMeta: kTokioTaskLocalSetIdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTaskLocalSetIdConstMeta => const TaskConstMeta( - debugName: "LocalSet_id", - argNames: ["that"], - ); - - -@override Future tokioTaskLocalSetNew() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 120, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet, - decodeErrorData: null, - ) - , - constMeta: kTokioTaskLocalSetNewConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTaskLocalSetNewConstMeta => const TaskConstMeta( - debugName: "LocalSet_new", - argNames: [], - ); - - -@override Value seekstormIndexMinMaxFieldJsonAutoAccessorGetMax({required MinMaxFieldJson that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 121)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexMinMaxFieldJsonAutoAccessorGetMaxConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexMinMaxFieldJsonAutoAccessorGetMaxConstMeta => const TaskConstMeta( - debugName: "MinMaxFieldJson_auto_accessor_get_max", - argNames: ["that"], - ); - - -@override Value seekstormIndexMinMaxFieldJsonAutoAccessorGetMin({required MinMaxFieldJson that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 122)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexMinMaxFieldJsonAutoAccessorGetMinConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexMinMaxFieldJsonAutoAccessorGetMinConstMeta => const TaskConstMeta( - debugName: "MinMaxFieldJson_auto_accessor_get_min", - argNames: ["that"], - ); - - -@override void seekstormIndexMinMaxFieldJsonAutoAccessorSetMax({required MinMaxFieldJson that , required Value max }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(max, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 123)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexMinMaxFieldJsonAutoAccessorSetMaxConstMeta, - argValues: [that, max], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexMinMaxFieldJsonAutoAccessorSetMaxConstMeta => const TaskConstMeta( - debugName: "MinMaxFieldJson_auto_accessor_set_max", - argNames: ["that", "max"], - ); - - -@override void seekstormIndexMinMaxFieldJsonAutoAccessorSetMin({required MinMaxFieldJson that , required Value min }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(min, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 124)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexMinMaxFieldJsonAutoAccessorSetMinConstMeta, - argValues: [that, min], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexMinMaxFieldJsonAutoAccessorSetMinConstMeta => const TaskConstMeta( - debugName: "MinMaxFieldJson_auto_accessor_set_min", - argNames: ["that", "min"], - ); - - -@override Future seekstormIndexMinMaxFieldJsonDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 125, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexMinMaxFieldJsonDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexMinMaxFieldJsonDefaultConstMeta => const TaskConstMeta( - debugName: "MinMaxFieldJson_default", - argNames: [], - ); - - -@override ValueType seekstormIndexMinMaxFieldAutoAccessorGetMax({required MinMaxField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 126)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexMinMaxFieldAutoAccessorGetMaxConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexMinMaxFieldAutoAccessorGetMaxConstMeta => const TaskConstMeta( - debugName: "MinMaxField_auto_accessor_get_max", - argNames: ["that"], - ); - - -@override ValueType seekstormIndexMinMaxFieldAutoAccessorGetMin({required MinMaxField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 127)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexMinMaxFieldAutoAccessorGetMinConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexMinMaxFieldAutoAccessorGetMinConstMeta => const TaskConstMeta( - debugName: "MinMaxField_auto_accessor_get_min", - argNames: ["that"], - ); - - -@override void seekstormIndexMinMaxFieldAutoAccessorSetMax({required MinMaxField that , required ValueType max }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(max, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 128)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexMinMaxFieldAutoAccessorSetMaxConstMeta, - argValues: [that, max], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexMinMaxFieldAutoAccessorSetMaxConstMeta => const TaskConstMeta( - debugName: "MinMaxField_auto_accessor_set_max", - argNames: ["that", "max"], - ); - - -@override void seekstormIndexMinMaxFieldAutoAccessorSetMin({required MinMaxField that , required ValueType min }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(min, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 129)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexMinMaxFieldAutoAccessorSetMinConstMeta, - argValues: [that, min], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexMinMaxFieldAutoAccessorSetMinConstMeta => const TaskConstMeta( - debugName: "MinMaxField_auto_accessor_set_min", - argNames: ["that", "min"], - ); - - -@override Future seekstormIndexMinMaxFieldDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 130, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexMinMaxFieldDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexMinMaxFieldDefaultConstMeta => const TaskConstMeta( - debugName: "MinMaxField_default", - argNames: [], - ); - - -@override Future tokioSyncNotifyConstNew() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 131, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncNotifyConstNewConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncNotifyConstNewConstMeta => const TaskConstMeta( - debugName: "Notify_const_new", - argNames: [], - ); - - -@override Future tokioSyncNotifyDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 132, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncNotifyDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncNotifyDefaultConstMeta => const TaskConstMeta( - debugName: "Notify_default", - argNames: [], - ); - - -@override Future tokioSyncNotifyNew() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 133, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncNotifyNewConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncNotifyNewConstMeta => const TaskConstMeta( - debugName: "Notify_new", - argNames: [], - ); - - -@override Future tokioSyncNotifyNotified({required Notify that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 134, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncNotifyNotifiedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncNotifyNotifiedConstMeta => const TaskConstMeta( - debugName: "Notify_notified", - argNames: ["that"], - ); - - -@override Future tokioSyncNotifyNotifiedOwned({required Notify that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 135, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncNotifyNotifiedOwnedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncNotifyNotifiedOwnedConstMeta => const TaskConstMeta( - debugName: "Notify_notified_owned", - argNames: ["that"], - ); - - -@override Future tokioSyncNotifyNotifyLast({required Notify that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 136, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncNotifyNotifyLastConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncNotifyNotifyLastConstMeta => const TaskConstMeta( - debugName: "Notify_notify_last", - argNames: ["that"], - ); - - -@override Future tokioSyncNotifyNotifyOne({required Notify that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 137, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncNotifyNotifyOneConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncNotifyNotifyOneConstMeta => const TaskConstMeta( - debugName: "Notify_notify_one", - argNames: ["that"], - ); - - -@override Future tokioSyncNotifyNotifyWaiters({required Notify that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 138, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncNotifyNotifyWaitersConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncNotifyNotifyWaitersConstMeta => const TaskConstMeta( - debugName: "Notify_notify_waiters", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeOpenOptionsAppend({required OpenOptions that , required bool append }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); -sse_encode_bool(append, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 139, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsAppendConstMeta, - argValues: [that, append], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsAppendConstMeta => const TaskConstMeta( - debugName: "OpenOptions_append", - argNames: ["that", "append"], - ); - - -@override Future tokioNetUnixPipeOpenOptionsCreate({required OpenOptions that , required bool create }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); -sse_encode_bool(create, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 140, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsCreateConstMeta, - argValues: [that, create], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsCreateConstMeta => const TaskConstMeta( - debugName: "OpenOptions_create", - argNames: ["that", "create"], - ); - - -@override Future tokioNetUnixPipeOpenOptionsCreateNew({required OpenOptions that , required bool createNew }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); -sse_encode_bool(createNew, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 141, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsCreateNewConstMeta, - argValues: [that, createNew], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsCreateNewConstMeta => const TaskConstMeta( - debugName: "OpenOptions_create_new", - argNames: ["that", "createNew"], - ); - - -@override Future tokioNetUnixPipeOpenOptionsCustomFlags({required OpenOptions that , required int flags }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); -sse_encode_i_32(flags, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 142, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsCustomFlagsConstMeta, - argValues: [that, flags], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsCustomFlagsConstMeta => const TaskConstMeta( - debugName: "OpenOptions_custom_flags", - argNames: ["that", "flags"], - ); - - -@override Future tokioNetUnixPipeOpenOptionsDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 143, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsDefaultConstMeta => const TaskConstMeta( - debugName: "OpenOptions_default", - argNames: [], - ); - - -@override Future tokioNetUnixPipeOpenOptionsMode({required OpenOptions that , required int mode }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); -sse_encode_u_32(mode, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 144, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsModeConstMeta, - argValues: [that, mode], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsModeConstMeta => const TaskConstMeta( - debugName: "OpenOptions_mode", - argNames: ["that", "mode"], - ); - - -@override Future tokioNetUnixPipeOpenOptionsNew() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 145, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsNewConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsNewConstMeta => const TaskConstMeta( - debugName: "OpenOptions_new", - argNames: [], - ); - - -@override Future tokioNetUnixPipeOpenOptionsRead({required OpenOptions that , required bool read }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); -sse_encode_bool(read, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 146, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsReadConstMeta, - argValues: [that, read], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsReadConstMeta => const TaskConstMeta( - debugName: "OpenOptions_read", - argNames: ["that", "read"], - ); - - -@override Future tokioNetUnixPipeOpenOptionsTruncate({required OpenOptions that , required bool truncate }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); -sse_encode_bool(truncate, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 147, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsTruncateConstMeta, - argValues: [that, truncate], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsTruncateConstMeta => const TaskConstMeta( - debugName: "OpenOptions_truncate", - argNames: ["that", "truncate"], - ); - - -@override Future tokioNetUnixPipeOpenOptionsUnchecked({required OpenOptions that , required bool value }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); -sse_encode_bool(value, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 148, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsUncheckedConstMeta, - argValues: [that, value], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsUncheckedConstMeta => const TaskConstMeta( - debugName: "OpenOptions_unchecked", - argNames: ["that", "value"], - ); - - -@override Future tokioNetUnixPipeOpenOptionsWrite({required OpenOptions that , required bool write }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(that, serializer); -sse_encode_bool(write, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 149, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeOpenOptionsWriteConstMeta, - argValues: [that, write], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeOpenOptionsWriteConstMeta => const TaskConstMeta( - debugName: "OpenOptions_write", - argNames: ["that", "write"], - ); - - -@override Future tokioNetTcpOwnedReadHalfLocalAddr({required OwnedReadHalf that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 150, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedReadHalfLocalAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedReadHalfLocalAddrConstMeta => const TaskConstMeta( - debugName: "OwnedReadHalf_local_addr", - argNames: ["that"], - ); - - -@override Future tokioNetTcpOwnedReadHalfPeek({required OwnedReadHalf that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 151, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedReadHalfPeekConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedReadHalfPeekConstMeta => const TaskConstMeta( - debugName: "OwnedReadHalf_peek", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetTcpOwnedReadHalfPeerAddr({required OwnedReadHalf that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 152, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedReadHalfPeerAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedReadHalfPeerAddrConstMeta => const TaskConstMeta( - debugName: "OwnedReadHalf_peer_addr", - argNames: ["that"], - ); - - -@override Future tokioNetTcpOwnedReadHalfPollPeek({required OwnedReadHalf that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 153, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpOwnedReadHalfPollPeekConstMeta, - argValues: [that, cx, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedReadHalfPollPeekConstMeta => const TaskConstMeta( - debugName: "OwnedReadHalf_poll_peek", - argNames: ["that", "cx", "buf"], - ); - - -@override Future tokioNetTcpOwnedReadHalfReadable({required OwnedReadHalf that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 154, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedReadHalfReadableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedReadHalfReadableConstMeta => const TaskConstMeta( - debugName: "OwnedReadHalf_readable", - argNames: ["that"], - ); - - -@override Future tokioNetTcpOwnedReadHalfReady({required OwnedReadHalf that , required Interest interest }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 155, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedReadHalfReadyConstMeta, - argValues: [that, interest], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedReadHalfReadyConstMeta => const TaskConstMeta( - debugName: "OwnedReadHalf_ready", - argNames: ["that", "interest"], - ); - - -@override Future tokioNetTcpOwnedReadHalfReunite({required OwnedReadHalf that , required OwnedWriteHalf other }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(other, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 156, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError, - ) - , - constMeta: kTokioNetTcpOwnedReadHalfReuniteConstMeta, - argValues: [that, other], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedReadHalfReuniteConstMeta => const TaskConstMeta( - debugName: "OwnedReadHalf_reunite", - argNames: ["that", "other"], - ); - - -@override Future tokioNetTcpOwnedReadHalfTryRead({required OwnedReadHalf that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 157, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedReadHalfTryReadConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedReadHalfTryReadConstMeta => const TaskConstMeta( - debugName: "OwnedReadHalf_try_read", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetTcpOwnedReadHalfTryReadVectored({required OwnedReadHalf that , required IoSliceMut bufs }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(bufs, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 158, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedReadHalfTryReadVectoredConstMeta, - argValues: [that, bufs], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedReadHalfTryReadVectoredConstMeta => const TaskConstMeta( - debugName: "OwnedReadHalf_try_read_vectored", - argNames: ["that", "bufs"], - ); - - -@override Future tokioSyncOwnedSemaphorePermitMerge({required OwnedSemaphorePermit that , required OwnedSemaphorePermit other }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(other, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 159, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncOwnedSemaphorePermitMergeConstMeta, - argValues: [that, other], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncOwnedSemaphorePermitMergeConstMeta => const TaskConstMeta( - debugName: "OwnedSemaphorePermit_merge", - argNames: ["that", "other"], - ); - - -@override Future tokioSyncOwnedSemaphorePermitNumPermits({required OwnedSemaphorePermit that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 160, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncOwnedSemaphorePermitNumPermitsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncOwnedSemaphorePermitNumPermitsConstMeta => const TaskConstMeta( - debugName: "OwnedSemaphorePermit_num_permits", - argNames: ["that"], - ); - - -@override Future tokioSyncOwnedSemaphorePermitSemaphore({required OwnedSemaphorePermit that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 161, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncOwnedSemaphorePermitSemaphoreConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncOwnedSemaphorePermitSemaphoreConstMeta => const TaskConstMeta( - debugName: "OwnedSemaphorePermit_semaphore", - argNames: ["that"], - ); - - -@override Future tokioSyncOwnedSemaphorePermitSplit({required OwnedSemaphorePermit that , required BigInt n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(that, serializer); -sse_encode_usize(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 162, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncOwnedSemaphorePermitSplitConstMeta, - argValues: [that, n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncOwnedSemaphorePermitSplitConstMeta => const TaskConstMeta( - debugName: "OwnedSemaphorePermit_split", - argNames: ["that", "n"], - ); - - -@override Future tokioNetTcpOwnedWriteHalfLocalAddr({required OwnedWriteHalf that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 163, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedWriteHalfLocalAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedWriteHalfLocalAddrConstMeta => const TaskConstMeta( - debugName: "OwnedWriteHalf_local_addr", - argNames: ["that"], - ); - - -@override Future tokioNetTcpOwnedWriteHalfPeerAddr({required OwnedWriteHalf that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 164, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedWriteHalfPeerAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedWriteHalfPeerAddrConstMeta => const TaskConstMeta( - debugName: "OwnedWriteHalf_peer_addr", - argNames: ["that"], - ); - - -@override Future tokioNetTcpOwnedWriteHalfReady({required OwnedWriteHalf that , required Interest interest }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 165, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedWriteHalfReadyConstMeta, - argValues: [that, interest], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedWriteHalfReadyConstMeta => const TaskConstMeta( - debugName: "OwnedWriteHalf_ready", - argNames: ["that", "interest"], - ); - - -@override Future tokioNetTcpOwnedWriteHalfReunite({required OwnedWriteHalf that , required OwnedReadHalf other }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(other, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 166, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError, - ) - , - constMeta: kTokioNetTcpOwnedWriteHalfReuniteConstMeta, - argValues: [that, other], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedWriteHalfReuniteConstMeta => const TaskConstMeta( - debugName: "OwnedWriteHalf_reunite", - argNames: ["that", "other"], - ); - - -@override Future tokioNetTcpOwnedWriteHalfTryWrite({required OwnedWriteHalf that , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 167, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedWriteHalfTryWriteConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedWriteHalfTryWriteConstMeta => const TaskConstMeta( - debugName: "OwnedWriteHalf_try_write", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetTcpOwnedWriteHalfTryWriteVectored({required OwnedWriteHalf that , required List bufs }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); -sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(bufs, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 168, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedWriteHalfTryWriteVectoredConstMeta, - argValues: [that, bufs], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedWriteHalfTryWriteVectoredConstMeta => const TaskConstMeta( - debugName: "OwnedWriteHalf_try_write_vectored", - argNames: ["that", "bufs"], - ); - - -@override Future tokioNetTcpOwnedWriteHalfWritable({required OwnedWriteHalf that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 169, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpOwnedWriteHalfWritableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpOwnedWriteHalfWritableConstMeta => const TaskConstMeta( - debugName: "OwnedWriteHalf_writable", - argNames: ["that"], - ); - - -@override Future seekstormSearchQueryFacetDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 170, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchQueryFacetDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchQueryFacetDefaultConstMeta => const TaskConstMeta( - debugName: "QueryFacet_default", - argNames: [], - ); - - -@override Future seekstormSearchQueryRewritingDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 171, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchQueryRewritingDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchQueryRewritingDefaultConstMeta => const TaskConstMeta( - debugName: "QueryRewriting_default", - argNames: [], - ); - - -@override Future seekstormSearchRangesDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 172, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchRangesDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchRangesDefaultConstMeta => const TaskConstMeta( - debugName: "Ranges_default", - argNames: [], - ); - - -@override Future tokioIoReadyIsEmpty({required Ready that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 173, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioIoReadyIsEmptyConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoReadyIsEmptyConstMeta => const TaskConstMeta( - debugName: "Ready_is_empty", - argNames: ["that"], - ); - - -@override Future tokioIoReadyIsError({required Ready that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 174, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioIoReadyIsErrorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoReadyIsErrorConstMeta => const TaskConstMeta( - debugName: "Ready_is_error", - argNames: ["that"], - ); - - -@override Future tokioIoReadyIsReadClosed({required Ready that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 175, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioIoReadyIsReadClosedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoReadyIsReadClosedConstMeta => const TaskConstMeta( - debugName: "Ready_is_read_closed", - argNames: ["that"], - ); - - -@override Future tokioIoReadyIsReadable({required Ready that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 176, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioIoReadyIsReadableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoReadyIsReadableConstMeta => const TaskConstMeta( - debugName: "Ready_is_readable", - argNames: ["that"], - ); - - -@override Future tokioIoReadyIsWritable({required Ready that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 177, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioIoReadyIsWritableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoReadyIsWritableConstMeta => const TaskConstMeta( - debugName: "Ready_is_writable", - argNames: ["that"], - ); - - -@override Future tokioIoReadyIsWriteClosed({required Ready that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 178, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioIoReadyIsWriteClosedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoReadyIsWriteClosedConstMeta => const TaskConstMeta( - debugName: "Ready_is_write_closed", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTBlockingRecv({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 179, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError, - ) - , - constMeta: kTokioNetUnixPipeReceiverTBlockingRecvConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTBlockingRecvConstMeta => const TaskConstMeta( - debugName: "ReceiverT_blocking_recv", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTBlockingRecvMany({required ReceiverT that , required VecT buffer , required BigInt limit }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(buffer, serializer); -sse_encode_usize(limit, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 180, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTBlockingRecvManyConstMeta, - argValues: [that, buffer, limit], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTBlockingRecvManyConstMeta => const TaskConstMeta( - debugName: "ReceiverT_blocking_recv_many", - argNames: ["that", "buffer", "limit"], - ); - - -@override Future tokioNetUnixPipeReceiverTBorrow({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 181, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTBorrowConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTBorrowConstMeta => const TaskConstMeta( - debugName: "ReceiverT_borrow", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTBorrowAndUpdate({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 182, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTBorrowAndUpdateConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTBorrowAndUpdateConstMeta => const TaskConstMeta( - debugName: "ReceiverT_borrow_and_update", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTCapacity({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 183, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTCapacityConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTCapacityConstMeta => const TaskConstMeta( - debugName: "ReceiverT_capacity", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTChanged({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 184, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError, - ) - , - constMeta: kTokioNetUnixPipeReceiverTChangedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTChangedConstMeta => const TaskConstMeta( - debugName: "ReceiverT_changed", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTClose({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 185, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTCloseConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTCloseConstMeta => const TaskConstMeta( - debugName: "ReceiverT_close", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTHasChanged({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 186, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError, - ) - , - constMeta: kTokioNetUnixPipeReceiverTHasChangedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTHasChangedConstMeta => const TaskConstMeta( - debugName: "ReceiverT_has_changed", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTIsClosed({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 187, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTIsClosedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTIsClosedConstMeta => const TaskConstMeta( - debugName: "ReceiverT_is_closed", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTIsEmpty({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 188, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTIsEmptyConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTIsEmptyConstMeta => const TaskConstMeta( - debugName: "ReceiverT_is_empty", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTIsTerminated({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 189, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTIsTerminatedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTIsTerminatedConstMeta => const TaskConstMeta( - debugName: "ReceiverT_is_terminated", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTLen({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 190, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTLenConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTLenConstMeta => const TaskConstMeta( - debugName: "ReceiverT_len", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTMarkChanged({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 191, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTMarkChangedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTMarkChangedConstMeta => const TaskConstMeta( - debugName: "ReceiverT_mark_changed", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTMarkUnchanged({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 192, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTMarkUnchangedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTMarkUnchangedConstMeta => const TaskConstMeta( - debugName: "ReceiverT_mark_unchanged", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTMaxCapacity({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 193, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTMaxCapacityConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTMaxCapacityConstMeta => const TaskConstMeta( - debugName: "ReceiverT_max_capacity", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTPollRecv({required ReceiverT that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 194, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTPollRecvConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTPollRecvConstMeta => const TaskConstMeta( - debugName: "ReceiverT_poll_recv", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUnixPipeReceiverTPollRecvMany({required ReceiverT that , required Context cx , required VecT buffer , required BigInt limit }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(buffer, serializer); -sse_encode_usize(limit, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 195, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTPollRecvManyConstMeta, - argValues: [that, cx, buffer, limit], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTPollRecvManyConstMeta => const TaskConstMeta( - debugName: "ReceiverT_poll_recv_many", - argNames: ["that", "cx", "buffer", "limit"], - ); - - -@override Future tokioNetUnixPipeReceiverTRecv({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 196, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError, - ) - , - constMeta: kTokioNetUnixPipeReceiverTRecvConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTRecvConstMeta => const TaskConstMeta( - debugName: "ReceiverT_recv", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTRecvMany({required ReceiverT that , required VecT buffer , required BigInt limit }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(buffer, serializer); -sse_encode_usize(limit, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 197, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTRecvManyConstMeta, - argValues: [that, buffer, limit], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTRecvManyConstMeta => const TaskConstMeta( - debugName: "ReceiverT_recv_many", - argNames: ["that", "buffer", "limit"], - ); - - -@override Future tokioNetUnixPipeReceiverTResubscribe({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 198, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTResubscribeConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTResubscribeConstMeta => const TaskConstMeta( - debugName: "ReceiverT_resubscribe", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTSameChannel({required ReceiverT that , required ReceiverT other }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); -sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(other, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 199, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTSameChannelConstMeta, - argValues: [that, other], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTSameChannelConstMeta => const TaskConstMeta( - debugName: "ReceiverT_same_channel", - argNames: ["that", "other"], - ); - - -@override Future tokioNetUnixPipeReceiverTSenderStrongCount({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 200, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTSenderStrongCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTSenderStrongCountConstMeta => const TaskConstMeta( - debugName: "ReceiverT_sender_strong_count", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTSenderWeakCount({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 201, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverTSenderWeakCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTSenderWeakCountConstMeta => const TaskConstMeta( - debugName: "ReceiverT_sender_weak_count", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverTTryRecv({required ReceiverT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 202, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError, - ) - , - constMeta: kTokioNetUnixPipeReceiverTTryRecvConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTTryRecvConstMeta => const TaskConstMeta( - debugName: "ReceiverT_try_recv", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverFromFile({required File file }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(file, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 203, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeReceiverFromFileConstMeta, - argValues: [file], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverFromFileConstMeta => const TaskConstMeta( - debugName: "Receiver_from_file", - argNames: ["file"], - ); - - -@override Future tokioNetUnixPipeReceiverFromFileUnchecked({required File file }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(file, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 204, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeReceiverFromFileUncheckedConstMeta, - argValues: [file], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverFromFileUncheckedConstMeta => const TaskConstMeta( - debugName: "Receiver_from_file_unchecked", - argNames: ["file"], - ); - - -@override Future tokioNetUnixPipeReceiverFromOwnedFd({required OwnedFd ownedFd }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ownedFd, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 205, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeReceiverFromOwnedFdConstMeta, - argValues: [ownedFd], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverFromOwnedFdConstMeta => const TaskConstMeta( - debugName: "Receiver_from_owned_fd", - argNames: ["ownedFd"], - ); - - -@override Future tokioNetUnixPipeReceiverFromOwnedFdUnchecked({required OwnedFd ownedFd }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ownedFd, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 206, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeReceiverFromOwnedFdUncheckedConstMeta, - argValues: [ownedFd], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverFromOwnedFdUncheckedConstMeta => const TaskConstMeta( - debugName: "Receiver_from_owned_fd_unchecked", - argNames: ["ownedFd"], - ); - - -@override Future tokioNetUnixPipeReceiverIntoBlockingFd({required Receiver that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 207, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeReceiverIntoBlockingFdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverIntoBlockingFdConstMeta => const TaskConstMeta( - debugName: "Receiver_into_blocking_fd", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverIntoNonblockingFd({required Receiver that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 208, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeReceiverIntoNonblockingFdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverIntoNonblockingFdConstMeta => const TaskConstMeta( - debugName: "Receiver_into_nonblocking_fd", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverPollReadReady({required Receiver that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 209, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeReceiverPollReadReadyConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverPollReadReadyConstMeta => const TaskConstMeta( - debugName: "Receiver_poll_read_ready", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUnixPipeReceiverReadable({required Receiver that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 210, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeReceiverReadableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverReadableConstMeta => const TaskConstMeta( - debugName: "Receiver_readable", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeReceiverReady({required Receiver that , required Interest interest }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 211, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeReceiverReadyConstMeta, - argValues: [that, interest], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverReadyConstMeta => const TaskConstMeta( - debugName: "Receiver_ready", - argNames: ["that", "interest"], - ); - - -@override Future tokioNetUnixPipeReceiverTryRead({required Receiver that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 212, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeReceiverTryReadConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTryReadConstMeta => const TaskConstMeta( - debugName: "Receiver_try_read", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUnixPipeReceiverTryReadVectored({required Receiver that , required IoSliceMut bufs }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(bufs, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 213, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeReceiverTryReadVectoredConstMeta, - argValues: [that, bufs], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeReceiverTryReadVectoredConstMeta => const TaskConstMeta( - debugName: "Receiver_try_read_vectored", - argNames: ["that", "bufs"], - ); - - -@override Future tokioTaskCoopRestoreOnPendingMadeProgress({required RestoreOnPending that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 214, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTaskCoopRestoreOnPendingMadeProgressConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTaskCoopRestoreOnPendingMadeProgressConstMeta => const TaskConstMeta( - debugName: "RestoreOnPending_made_progress", - argNames: ["that"], - ); - - -@override AHashMapStringFacet seekstormSearchResultObjectAutoAccessorGetFacets({required ResultObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 215)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorGetFacetsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetFacetsConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_get_facets", - argNames: ["that"], - ); - - -@override String seekstormSearchResultObjectAutoAccessorGetOriginalQuery({required ResultObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 216)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorGetOriginalQueryConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetOriginalQueryConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_get_original_query", - argNames: ["that"], - ); - - -@override String seekstormSearchResultObjectAutoAccessorGetQuery({required ResultObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 217)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorGetQueryConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetQueryConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_get_query", - argNames: ["that"], - ); - - -@override List seekstormSearchResultObjectAutoAccessorGetQueryTerms({required ResultObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 218)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_list_String, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorGetQueryTermsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetQueryTermsConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_get_query_terms", - argNames: ["that"], - ); - - -@override BigInt seekstormSearchResultObjectAutoAccessorGetResultCount({required ResultObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 219)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorGetResultCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetResultCountConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_get_result_count", - argNames: ["that"], - ); - - -@override BigInt seekstormSearchResultObjectAutoAccessorGetResultCountTotal({required ResultObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 220)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorGetResultCountTotalConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetResultCountTotalConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_get_result_count_total", - argNames: ["that"], - ); - - -@override List seekstormSearchResultObjectAutoAccessorGetResults({required ResultObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 221)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorGetResultsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetResultsConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_get_results", - argNames: ["that"], - ); - - -@override List seekstormSearchResultObjectAutoAccessorGetSuggestions({required ResultObject that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 222)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_list_String, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorGetSuggestionsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorGetSuggestionsConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_get_suggestions", - argNames: ["that"], - ); - - -@override void seekstormSearchResultObjectAutoAccessorSetFacets({required ResultObject that , required AHashMapStringFacet facets }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(facets, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 223)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorSetFacetsConstMeta, - argValues: [that, facets], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetFacetsConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_set_facets", - argNames: ["that", "facets"], - ); - - -@override void seekstormSearchResultObjectAutoAccessorSetOriginalQuery({required ResultObject that , required String originalQuery }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); -sse_encode_String(originalQuery, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 224)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorSetOriginalQueryConstMeta, - argValues: [that, originalQuery], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetOriginalQueryConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_set_original_query", - argNames: ["that", "originalQuery"], - ); - - -@override void seekstormSearchResultObjectAutoAccessorSetQuery({required ResultObject that , required String query }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); -sse_encode_String(query, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 225)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorSetQueryConstMeta, - argValues: [that, query], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetQueryConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_set_query", - argNames: ["that", "query"], - ); - - -@override void seekstormSearchResultObjectAutoAccessorSetQueryTerms({required ResultObject that , required List queryTerms }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); -sse_encode_list_String(queryTerms, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 226)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorSetQueryTermsConstMeta, - argValues: [that, queryTerms], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetQueryTermsConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_set_query_terms", - argNames: ["that", "queryTerms"], - ); - - -@override void seekstormSearchResultObjectAutoAccessorSetResultCount({required ResultObject that , required BigInt resultCount }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); -sse_encode_usize(resultCount, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 227)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorSetResultCountConstMeta, - argValues: [that, resultCount], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetResultCountConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_set_result_count", - argNames: ["that", "resultCount"], - ); - - -@override void seekstormSearchResultObjectAutoAccessorSetResultCountTotal({required ResultObject that , required BigInt resultCountTotal }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); -sse_encode_usize(resultCountTotal, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 228)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorSetResultCountTotalConstMeta, - argValues: [that, resultCountTotal], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetResultCountTotalConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_set_result_count_total", - argNames: ["that", "resultCountTotal"], - ); - - -@override void seekstormSearchResultObjectAutoAccessorSetResults({required ResultObject that , required List results }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); -sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(results, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 229)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorSetResultsConstMeta, - argValues: [that, results], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetResultsConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_set_results", - argNames: ["that", "results"], - ); - - -@override void seekstormSearchResultObjectAutoAccessorSetSuggestions({required ResultObject that , required List suggestions }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(that, serializer); -sse_encode_list_String(suggestions, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 230)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectAutoAccessorSetSuggestionsConstMeta, - argValues: [that, suggestions], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectAutoAccessorSetSuggestionsConstMeta => const TaskConstMeta( - debugName: "ResultObject_auto_accessor_set_suggestions", - argNames: ["that", "suggestions"], - ); - - -@override Future seekstormSearchResultObjectDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 231, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultObjectDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultObjectDefaultConstMeta => const TaskConstMeta( - debugName: "ResultObject_default", - argNames: [], - ); - - -@override FacetValue seekstormSearchResultSortAutoAccessorGetBase({required ResultSort that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 232)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultSortAutoAccessorGetBaseConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultSortAutoAccessorGetBaseConstMeta => const TaskConstMeta( - debugName: "ResultSort_auto_accessor_get_base", - argNames: ["that"], - ); - - -@override String seekstormSearchResultSortAutoAccessorGetField({required ResultSort that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 233)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultSortAutoAccessorGetFieldConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultSortAutoAccessorGetFieldConstMeta => const TaskConstMeta( - debugName: "ResultSort_auto_accessor_get_field", - argNames: ["that"], - ); - - -@override SortOrder seekstormSearchResultSortAutoAccessorGetOrder({required ResultSort that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 234)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_sort_order, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultSortAutoAccessorGetOrderConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultSortAutoAccessorGetOrderConstMeta => const TaskConstMeta( - debugName: "ResultSort_auto_accessor_get_order", - argNames: ["that"], - ); - - -@override void seekstormSearchResultSortAutoAccessorSetBase({required ResultSort that , required FacetValue base }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(base, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 235)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultSortAutoAccessorSetBaseConstMeta, - argValues: [that, base], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultSortAutoAccessorSetBaseConstMeta => const TaskConstMeta( - debugName: "ResultSort_auto_accessor_set_base", - argNames: ["that", "base"], - ); - - -@override void seekstormSearchResultSortAutoAccessorSetField({required ResultSort that , required String field }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); -sse_encode_String(field, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 236)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultSortAutoAccessorSetFieldConstMeta, - argValues: [that, field], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultSortAutoAccessorSetFieldConstMeta => const TaskConstMeta( - debugName: "ResultSort_auto_accessor_set_field", - argNames: ["that", "field"], - ); - - -@override void seekstormSearchResultSortAutoAccessorSetOrder({required ResultSort that , required SortOrder order }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(that, serializer); -sse_encode_sort_order(order, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 237)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultSortAutoAccessorSetOrderConstMeta, - argValues: [that, order], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultSortAutoAccessorSetOrderConstMeta => const TaskConstMeta( - debugName: "ResultSort_auto_accessor_set_order", - argNames: ["that", "order"], - ); - - -@override OwnedReadHalf tokioNetTcpReuniteErrorAutoAccessorGetField0({required ReuniteError that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 238)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpReuniteErrorAutoAccessorGetField0ConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpReuniteErrorAutoAccessorGetField0ConstMeta => const TaskConstMeta( - debugName: "ReuniteError_auto_accessor_get_field0", - argNames: ["that"], - ); - - -@override OwnedWriteHalf tokioNetTcpReuniteErrorAutoAccessorGetField1({required ReuniteError that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 239)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpReuniteErrorAutoAccessorGetField1ConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpReuniteErrorAutoAccessorGetField1ConstMeta => const TaskConstMeta( - debugName: "ReuniteError_auto_accessor_get_field1", - argNames: ["that"], - ); - - -@override void tokioNetTcpReuniteErrorAutoAccessorSetField0({required ReuniteError that , required OwnedReadHalf field0 }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(field0, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 240)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpReuniteErrorAutoAccessorSetField0ConstMeta, - argValues: [that, field0], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpReuniteErrorAutoAccessorSetField0ConstMeta => const TaskConstMeta( - debugName: "ReuniteError_auto_accessor_set_field0", - argNames: ["that", "field0"], - ); - - -@override void tokioNetTcpReuniteErrorAutoAccessorSetField1({required ReuniteError that , required OwnedWriteHalf field1 }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(field1, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 241)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpReuniteErrorAutoAccessorSetField1ConstMeta, - argValues: [that, field1], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpReuniteErrorAutoAccessorSetField1ConstMeta => const TaskConstMeta( - debugName: "ReuniteError_auto_accessor_set_field1", - argNames: ["that", "field1"], - ); - - -@override Future tokioRuntimeRuntimeMetricsGlobalQueueDepth({required RuntimeMetrics that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 242, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeRuntimeMetricsGlobalQueueDepthConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeMetricsGlobalQueueDepthConstMeta => const TaskConstMeta( - debugName: "RuntimeMetrics_global_queue_depth", - argNames: ["that"], - ); - - -@override Future tokioRuntimeRuntimeMetricsNumAliveTasks({required RuntimeMetrics that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 243, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeRuntimeMetricsNumAliveTasksConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeMetricsNumAliveTasksConstMeta => const TaskConstMeta( - debugName: "RuntimeMetrics_num_alive_tasks", - argNames: ["that"], - ); - - -@override Future tokioRuntimeRuntimeMetricsNumWorkers({required RuntimeMetrics that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 244, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeRuntimeMetricsNumWorkersConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeMetricsNumWorkersConstMeta => const TaskConstMeta( - debugName: "RuntimeMetrics_num_workers", - argNames: ["that"], - ); - - -@override Future tokioRuntimeRuntimeMetricsWorkerParkCount({required RuntimeMetrics that , required BigInt worker }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); -sse_encode_usize(worker, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 245, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_64, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeRuntimeMetricsWorkerParkCountConstMeta, - argValues: [that, worker], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeMetricsWorkerParkCountConstMeta => const TaskConstMeta( - debugName: "RuntimeMetrics_worker_park_count", - argNames: ["that", "worker"], - ); - - -@override Future tokioRuntimeRuntimeMetricsWorkerParkUnparkCount({required RuntimeMetrics that , required BigInt worker }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); -sse_encode_usize(worker, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 246, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_64, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeRuntimeMetricsWorkerParkUnparkCountConstMeta, - argValues: [that, worker], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeMetricsWorkerParkUnparkCountConstMeta => const TaskConstMeta( - debugName: "RuntimeMetrics_worker_park_unpark_count", - argNames: ["that", "worker"], - ); - - -@override Future tokioRuntimeRuntimeMetricsWorkerTotalBusyDuration({required RuntimeMetrics that , required BigInt worker }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(that, serializer); -sse_encode_usize(worker, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 247, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Chrono_Duration, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeRuntimeMetricsWorkerTotalBusyDurationConstMeta, - argValues: [that, worker], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeMetricsWorkerTotalBusyDurationConstMeta => const TaskConstMeta( - debugName: "RuntimeMetrics_worker_total_busy_duration", - argNames: ["that", "worker"], - ); - - -@override Future tokioRuntimeRuntimeEnter({required Runtime that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 248, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeRuntimeEnterConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeEnterConstMeta => const TaskConstMeta( - debugName: "Runtime_enter", - argNames: ["that"], - ); - - -@override Future tokioRuntimeRuntimeHandle({required Runtime that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 249, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeRuntimeHandleConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeHandleConstMeta => const TaskConstMeta( - debugName: "Runtime_handle", - argNames: ["that"], - ); - - -@override Future tokioRuntimeRuntimeMetrics({required Runtime that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 250, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeRuntimeMetricsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeMetricsConstMeta => const TaskConstMeta( - debugName: "Runtime_metrics", - argNames: ["that"], - ); - - -@override Future tokioRuntimeRuntimeNew() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 251, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioRuntimeRuntimeNewConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeNewConstMeta => const TaskConstMeta( - debugName: "Runtime_new", - argNames: [], - ); - - -@override Future tokioRuntimeRuntimeShutdownBackground({required Runtime that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 252, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeRuntimeShutdownBackgroundConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeRuntimeShutdownBackgroundConstMeta => const TaskConstMeta( - debugName: "Runtime_shutdown_background", - argNames: ["that"], - ); - - -@override double seekstormIndexSchemaFieldAutoAccessorGetBoost({required SchemaField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 253)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_f_32, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetBoostConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetBoostConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_get_boost", - argNames: ["that"], - ); - - -@override bool seekstormIndexSchemaFieldAutoAccessorGetCompletionSource({required SchemaField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 254)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetCompletionSourceConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetCompletionSourceConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_get_completion_source", - argNames: ["that"], - ); - - -@override bool seekstormIndexSchemaFieldAutoAccessorGetDictionarySource({required SchemaField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 255)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetDictionarySourceConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetDictionarySourceConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_get_dictionary_source", - argNames: ["that"], - ); - - -@override bool seekstormIndexSchemaFieldAutoAccessorGetFacet({required SchemaField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 256)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetFacetConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetFacetConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_get_facet", - argNames: ["that"], - ); - - -@override String seekstormIndexSchemaFieldAutoAccessorGetField({required SchemaField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 257)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetFieldConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetFieldConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_get_field", - argNames: ["that"], - ); - - -@override FieldType seekstormIndexSchemaFieldAutoAccessorGetFieldType({required SchemaField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 258)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_field_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetFieldTypeConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetFieldTypeConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_get_field_type", - argNames: ["that"], - ); - - -@override bool seekstormIndexSchemaFieldAutoAccessorGetIndexed({required SchemaField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 259)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetIndexedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetIndexedConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_get_indexed", - argNames: ["that"], - ); - - -@override bool seekstormIndexSchemaFieldAutoAccessorGetLongest({required SchemaField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 260)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetLongestConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetLongestConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_get_longest", - argNames: ["that"], - ); - - -@override bool seekstormIndexSchemaFieldAutoAccessorGetStored({required SchemaField that }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 261)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorGetStoredConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorGetStoredConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_get_stored", - argNames: ["that"], - ); - - -@override void seekstormIndexSchemaFieldAutoAccessorSetBoost({required SchemaField that , required double boost }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); -sse_encode_f_32(boost, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 262)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetBoostConstMeta, - argValues: [that, boost], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetBoostConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_set_boost", - argNames: ["that", "boost"], - ); - - -@override void seekstormIndexSchemaFieldAutoAccessorSetCompletionSource({required SchemaField that , required bool completionSource }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); -sse_encode_bool(completionSource, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 263)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetCompletionSourceConstMeta, - argValues: [that, completionSource], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetCompletionSourceConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_set_completion_source", - argNames: ["that", "completionSource"], - ); - - -@override void seekstormIndexSchemaFieldAutoAccessorSetDictionarySource({required SchemaField that , required bool dictionarySource }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); -sse_encode_bool(dictionarySource, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 264)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetDictionarySourceConstMeta, - argValues: [that, dictionarySource], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetDictionarySourceConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_set_dictionary_source", - argNames: ["that", "dictionarySource"], - ); - - -@override void seekstormIndexSchemaFieldAutoAccessorSetFacet({required SchemaField that , required bool facet }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); -sse_encode_bool(facet, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 265)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetFacetConstMeta, - argValues: [that, facet], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetFacetConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_set_facet", - argNames: ["that", "facet"], - ); - - -@override void seekstormIndexSchemaFieldAutoAccessorSetField({required SchemaField that , required String field }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); -sse_encode_String(field, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 266)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetFieldConstMeta, - argValues: [that, field], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetFieldConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_set_field", - argNames: ["that", "field"], - ); - - -@override void seekstormIndexSchemaFieldAutoAccessorSetFieldType({required SchemaField that , required FieldType fieldType }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); -sse_encode_field_type(fieldType, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 267)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetFieldTypeConstMeta, - argValues: [that, fieldType], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetFieldTypeConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_set_field_type", - argNames: ["that", "fieldType"], - ); - - -@override void seekstormIndexSchemaFieldAutoAccessorSetIndexed({required SchemaField that , required bool indexed }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); -sse_encode_bool(indexed, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 268)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetIndexedConstMeta, - argValues: [that, indexed], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetIndexedConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_set_indexed", - argNames: ["that", "indexed"], - ); - - -@override void seekstormIndexSchemaFieldAutoAccessorSetLongest({required SchemaField that , required bool longest }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); -sse_encode_bool(longest, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 269)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetLongestConstMeta, - argValues: [that, longest], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetLongestConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_set_longest", - argNames: ["that", "longest"], - ); - - -@override void seekstormIndexSchemaFieldAutoAccessorSetStored({required SchemaField that , required bool stored }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(that, serializer); -sse_encode_bool(stored, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 270)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldAutoAccessorSetStoredConstMeta, - argValues: [that, stored], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldAutoAccessorSetStoredConstMeta => const TaskConstMeta( - debugName: "SchemaField_auto_accessor_set_stored", - argNames: ["that", "stored"], - ); - - -@override Future seekstormIndexSchemaFieldNew({required String field , required bool stored , required bool indexed , required FieldType fieldType , required bool facet , required bool longest , required double boost , required bool dictionarySource , required bool completionSource }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_String(field, serializer); -sse_encode_bool(stored, serializer); -sse_encode_bool(indexed, serializer); -sse_encode_field_type(fieldType, serializer); -sse_encode_bool(facet, serializer); -sse_encode_bool(longest, serializer); -sse_encode_f_32(boost, serializer); -sse_encode_bool(dictionarySource, serializer); -sse_encode_bool(completionSource, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 271, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSchemaFieldNewConstMeta, - argValues: [field, stored, indexed, fieldType, facet, longest, boost, dictionarySource, completionSource], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSchemaFieldNewConstMeta => const TaskConstMeta( - debugName: "SchemaField_new", - argNames: ["field", "stored", "indexed", "fieldType", "facet", "longest", "boost", "dictionarySource", "completionSource"], - ); - - -@override Future tokioSyncSemaphoreAcquire({required Semaphore that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 272, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError, - ) - , - constMeta: kTokioSyncSemaphoreAcquireConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreAcquireConstMeta => const TaskConstMeta( - debugName: "Semaphore_acquire", - argNames: ["that"], - ); - - -@override Future tokioSyncSemaphoreAcquireMany({required Semaphore that , required int n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); -sse_encode_u_32(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 273, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError, - ) - , - constMeta: kTokioSyncSemaphoreAcquireManyConstMeta, - argValues: [that, n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreAcquireManyConstMeta => const TaskConstMeta( - debugName: "Semaphore_acquire_many", - argNames: ["that", "n"], - ); - - -@override Future tokioSyncSemaphoreAcquireManyOwned({required Semaphore that , required int n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); -sse_encode_u_32(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 274, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError, - ) - , - constMeta: kTokioSyncSemaphoreAcquireManyOwnedConstMeta, - argValues: [that, n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreAcquireManyOwnedConstMeta => const TaskConstMeta( - debugName: "Semaphore_acquire_many_owned", - argNames: ["that", "n"], - ); - - -@override Future tokioSyncSemaphoreAcquireOwned({required Semaphore that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 275, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError, - ) - , - constMeta: kTokioSyncSemaphoreAcquireOwnedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreAcquireOwnedConstMeta => const TaskConstMeta( - debugName: "Semaphore_acquire_owned", - argNames: ["that"], - ); - - -@override Future tokioSyncSemaphoreAddPermits({required Semaphore that , required BigInt n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); -sse_encode_usize(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 276, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncSemaphoreAddPermitsConstMeta, - argValues: [that, n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreAddPermitsConstMeta => const TaskConstMeta( - debugName: "Semaphore_add_permits", - argNames: ["that", "n"], - ); - - -@override Future tokioSyncSemaphoreAvailablePermits({required Semaphore that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 277, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncSemaphoreAvailablePermitsConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreAvailablePermitsConstMeta => const TaskConstMeta( - debugName: "Semaphore_available_permits", - argNames: ["that"], - ); - - -@override Future tokioSyncSemaphoreClose({required Semaphore that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 278, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncSemaphoreCloseConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreCloseConstMeta => const TaskConstMeta( - debugName: "Semaphore_close", - argNames: ["that"], - ); - - -@override Future tokioSyncSemaphoreConstNew({required BigInt permits }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(permits, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 279, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncSemaphoreConstNewConstMeta, - argValues: [permits], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreConstNewConstMeta => const TaskConstMeta( - debugName: "Semaphore_const_new", - argNames: ["permits"], - ); - - -@override Future tokioSyncSemaphoreForgetPermits({required Semaphore that , required BigInt n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); -sse_encode_usize(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 280, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncSemaphoreForgetPermitsConstMeta, - argValues: [that, n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreForgetPermitsConstMeta => const TaskConstMeta( - debugName: "Semaphore_forget_permits", - argNames: ["that", "n"], - ); - - -@override Future tokioSyncSemaphoreIsClosed({required Semaphore that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 281, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncSemaphoreIsClosedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreIsClosedConstMeta => const TaskConstMeta( - debugName: "Semaphore_is_closed", - argNames: ["that"], - ); - - -@override Future tokioSyncSemaphoreNew({required BigInt permits }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(permits, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 282, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore, - decodeErrorData: null, - ) - , - constMeta: kTokioSyncSemaphoreNewConstMeta, - argValues: [permits], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreNewConstMeta => const TaskConstMeta( - debugName: "Semaphore_new", - argNames: ["permits"], - ); - - -@override Future tokioSyncSemaphoreTryAcquire({required Semaphore that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 283, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic, - decodeErrorData: sse_decode_try_acquire_error, - ) - , - constMeta: kTokioSyncSemaphoreTryAcquireConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreTryAcquireConstMeta => const TaskConstMeta( - debugName: "Semaphore_try_acquire", - argNames: ["that"], - ); - - -@override Future tokioSyncSemaphoreTryAcquireMany({required Semaphore that , required int n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); -sse_encode_u_32(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 284, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic, - decodeErrorData: sse_decode_try_acquire_error, - ) - , - constMeta: kTokioSyncSemaphoreTryAcquireManyConstMeta, - argValues: [that, n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreTryAcquireManyConstMeta => const TaskConstMeta( - debugName: "Semaphore_try_acquire_many", - argNames: ["that", "n"], - ); - - -@override Future tokioSyncSemaphoreTryAcquireManyOwned({required Semaphore that , required int n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); -sse_encode_u_32(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 285, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit, - decodeErrorData: sse_decode_try_acquire_error, - ) - , - constMeta: kTokioSyncSemaphoreTryAcquireManyOwnedConstMeta, - argValues: [that, n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreTryAcquireManyOwnedConstMeta => const TaskConstMeta( - debugName: "Semaphore_try_acquire_many_owned", - argNames: ["that", "n"], - ); - - -@override Future tokioSyncSemaphoreTryAcquireOwned({required Semaphore that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 286, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit, - decodeErrorData: sse_decode_try_acquire_error, - ) - , - constMeta: kTokioSyncSemaphoreTryAcquireOwnedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSyncSemaphoreTryAcquireOwnedConstMeta => const TaskConstMeta( - debugName: "Semaphore_try_acquire_owned", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTBlockingSend({required SenderT that , required T value }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(value, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 287, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT, - ) - , - constMeta: kTokioNetUnixPipeSenderTBlockingSendConstMeta, - argValues: [that, value], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTBlockingSendConstMeta => const TaskConstMeta( - debugName: "SenderT_blocking_send", - argNames: ["that", "value"], - ); - - -@override Future tokioNetUnixPipeSenderTBorrow({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 288, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTBorrowConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTBorrowConstMeta => const TaskConstMeta( - debugName: "SenderT_borrow", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTCapacity({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 289, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTCapacityConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTCapacityConstMeta => const TaskConstMeta( - debugName: "SenderT_capacity", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTClosed({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 290, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTClosedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTClosedConstMeta => const TaskConstMeta( - debugName: "SenderT_closed", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 291, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTDefaultConstMeta => const TaskConstMeta( - debugName: "SenderT_default", - argNames: [], - ); - - -@override Future tokioNetUnixPipeSenderTDowngrade({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 292, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTDowngradeConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTDowngradeConstMeta => const TaskConstMeta( - debugName: "SenderT_downgrade", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTIsClosed({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 293, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTIsClosedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTIsClosedConstMeta => const TaskConstMeta( - debugName: "SenderT_is_closed", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTIsEmpty({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 294, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTIsEmptyConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTIsEmptyConstMeta => const TaskConstMeta( - debugName: "SenderT_is_empty", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTLen({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 295, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTLenConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTLenConstMeta => const TaskConstMeta( - debugName: "SenderT_len", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTMaxCapacity({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 296, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTMaxCapacityConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTMaxCapacityConstMeta => const TaskConstMeta( - debugName: "SenderT_max_capacity", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTNew({required BigInt capacity }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(capacity, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 297, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTNewConstMeta, - argValues: [capacity], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTNewConstMeta => const TaskConstMeta( - debugName: "SenderT_new", - argNames: ["capacity"], - ); - - -@override Future tokioNetUnixPipeSenderTPollClosed({required SenderT that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 298, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTPollClosedConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTPollClosedConstMeta => const TaskConstMeta( - debugName: "SenderT_poll_closed", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUnixPipeSenderTReceiverCount({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 299, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTReceiverCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTReceiverCountConstMeta => const TaskConstMeta( - debugName: "SenderT_receiver_count", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTReserve({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 300, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError, - ) - , - constMeta: kTokioNetUnixPipeSenderTReserveConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTReserveConstMeta => const TaskConstMeta( - debugName: "SenderT_reserve", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTReserveMany({required SenderT that , required BigInt n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); -sse_encode_usize(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 301, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError, - ) - , - constMeta: kTokioNetUnixPipeSenderTReserveManyConstMeta, - argValues: [that, n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTReserveManyConstMeta => const TaskConstMeta( - debugName: "SenderT_reserve_many", - argNames: ["that", "n"], - ); - - -@override Future tokioNetUnixPipeSenderTReserveOwned({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 302, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError, - ) - , - constMeta: kTokioNetUnixPipeSenderTReserveOwnedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTReserveOwnedConstMeta => const TaskConstMeta( - debugName: "SenderT_reserve_owned", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTSameChannel({required SenderT that , required SenderT other }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); -sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(other, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 303, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTSameChannelConstMeta, - argValues: [that, other], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTSameChannelConstMeta => const TaskConstMeta( - debugName: "SenderT_same_channel", - argNames: ["that", "other"], - ); - - -@override Future tokioNetUnixPipeSenderTSend({required SenderT that , required T value }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(value, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 304, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT, - ) - , - constMeta: kTokioNetUnixPipeSenderTSendConstMeta, - argValues: [that, value], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTSendConstMeta => const TaskConstMeta( - debugName: "SenderT_send", - argNames: ["that", "value"], - ); - - -@override Future tokioNetUnixPipeSenderTSendReplace({required SenderT that , required T value }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(value, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 305, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTSendReplaceConstMeta, - argValues: [that, value], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTSendReplaceConstMeta => const TaskConstMeta( - debugName: "SenderT_send_replace", - argNames: ["that", "value"], - ); - - -@override Future tokioNetUnixPipeSenderTSendTimeout({required SenderT that , required T value , required Duration timeout }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(value, serializer); -sse_encode_Chrono_Duration(timeout, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 306, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT, - ) - , - constMeta: kTokioNetUnixPipeSenderTSendTimeoutConstMeta, - argValues: [that, value, timeout], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTSendTimeoutConstMeta => const TaskConstMeta( - debugName: "SenderT_send_timeout", - argNames: ["that", "value", "timeout"], - ); - - -@override Future tokioNetUnixPipeSenderTSenderCount({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 307, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTSenderCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTSenderCountConstMeta => const TaskConstMeta( - debugName: "SenderT_sender_count", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTStrongCount({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 308, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTStrongCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTStrongCountConstMeta => const TaskConstMeta( - debugName: "SenderT_strong_count", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTSubscribe({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 309, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTSubscribeConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTSubscribeConstMeta => const TaskConstMeta( - debugName: "SenderT_subscribe", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTTryReserve({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 310, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError, - ) - , - constMeta: kTokioNetUnixPipeSenderTTryReserveConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTTryReserveConstMeta => const TaskConstMeta( - debugName: "SenderT_try_reserve", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTTryReserveMany({required SenderT that , required BigInt n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); -sse_encode_usize(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 311, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError, - ) - , - constMeta: kTokioNetUnixPipeSenderTTryReserveManyConstMeta, - argValues: [that, n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTTryReserveManyConstMeta => const TaskConstMeta( - debugName: "SenderT_try_reserve_many", - argNames: ["that", "n"], - ); - - -@override Future tokioNetUnixPipeSenderTTryReserveOwned({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 312, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf, - ) - , - constMeta: kTokioNetUnixPipeSenderTTryReserveOwnedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTTryReserveOwnedConstMeta => const TaskConstMeta( - debugName: "SenderT_try_reserve_owned", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderTTrySend({required SenderT that , required T message }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(message, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 313, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT, - ) - , - constMeta: kTokioNetUnixPipeSenderTTrySendConstMeta, - argValues: [that, message], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTTrySendConstMeta => const TaskConstMeta( - debugName: "SenderT_try_send", - argNames: ["that", "message"], - ); - - -@override Future tokioNetUnixPipeSenderTWeakCount({required SenderT that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 314, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderTWeakCountConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTWeakCountConstMeta => const TaskConstMeta( - debugName: "SenderT_weak_count", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderFromFile({required File file }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(file, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 315, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeSenderFromFileConstMeta, - argValues: [file], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderFromFileConstMeta => const TaskConstMeta( - debugName: "Sender_from_file", - argNames: ["file"], - ); - - -@override Future tokioNetUnixPipeSenderFromFileUnchecked({required File file }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(file, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 316, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeSenderFromFileUncheckedConstMeta, - argValues: [file], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderFromFileUncheckedConstMeta => const TaskConstMeta( - debugName: "Sender_from_file_unchecked", - argNames: ["file"], - ); - - -@override Future tokioNetUnixPipeSenderFromOwnedFd({required OwnedFd ownedFd }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ownedFd, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 317, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeSenderFromOwnedFdConstMeta, - argValues: [ownedFd], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderFromOwnedFdConstMeta => const TaskConstMeta( - debugName: "Sender_from_owned_fd", - argNames: ["ownedFd"], - ); - - -@override Future tokioNetUnixPipeSenderFromOwnedFdUnchecked({required OwnedFd ownedFd }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ownedFd, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 318, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeSenderFromOwnedFdUncheckedConstMeta, - argValues: [ownedFd], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderFromOwnedFdUncheckedConstMeta => const TaskConstMeta( - debugName: "Sender_from_owned_fd_unchecked", - argNames: ["ownedFd"], - ); - - -@override Future tokioNetUnixPipeSenderIntoBlockingFd({required Sender that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 319, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeSenderIntoBlockingFdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderIntoBlockingFdConstMeta => const TaskConstMeta( - debugName: "Sender_into_blocking_fd", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderIntoNonblockingFd({required Sender that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 320, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeSenderIntoNonblockingFdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderIntoNonblockingFdConstMeta => const TaskConstMeta( - debugName: "Sender_into_nonblocking_fd", - argNames: ["that"], - ); - - -@override Future tokioNetUnixPipeSenderPollWriteReady({required Sender that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 321, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixPipeSenderPollWriteReadyConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderPollWriteReadyConstMeta => const TaskConstMeta( - debugName: "Sender_poll_write_ready", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUnixPipeSenderReady({required Sender that , required Interest interest }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 322, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeSenderReadyConstMeta, - argValues: [that, interest], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderReadyConstMeta => const TaskConstMeta( - debugName: "Sender_ready", - argNames: ["that", "interest"], - ); - - -@override Future tokioNetUnixPipeSenderTryWrite({required Sender that , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 323, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeSenderTryWriteConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTryWriteConstMeta => const TaskConstMeta( - debugName: "Sender_try_write", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUnixPipeSenderTryWriteVectored({required Sender that , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); -sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 324, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeSenderTryWriteVectoredConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderTryWriteVectoredConstMeta => const TaskConstMeta( - debugName: "Sender_try_write_vectored", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUnixPipeSenderWritable({required Sender that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 325, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipeSenderWritableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipeSenderWritableConstMeta => const TaskConstMeta( - debugName: "Sender_writable", - argNames: ["that"], - ); - - -@override Future tokioSignalUnixSignalKindAlarm() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 326, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindAlarmConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindAlarmConstMeta => const TaskConstMeta( - debugName: "SignalKind_alarm", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindAsRawValue({required SignalKind that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 327, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindAsRawValueConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindAsRawValueConstMeta => const TaskConstMeta( - debugName: "SignalKind_as_raw_value", - argNames: ["that"], - ); - - -@override Future tokioSignalUnixSignalKindChild() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 328, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindChildConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindChildConstMeta => const TaskConstMeta( - debugName: "SignalKind_child", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindFromRaw({required CInt signum }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(signum, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 329, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindFromRawConstMeta, - argValues: [signum], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindFromRawConstMeta => const TaskConstMeta( - debugName: "SignalKind_from_raw", - argNames: ["signum"], - ); - - -@override Future tokioSignalUnixSignalKindHangup() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 330, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindHangupConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindHangupConstMeta => const TaskConstMeta( - debugName: "SignalKind_hangup", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindInfo() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 331, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindInfoConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindInfoConstMeta => const TaskConstMeta( - debugName: "SignalKind_info", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindInterrupt() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 332, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindInterruptConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindInterruptConstMeta => const TaskConstMeta( - debugName: "SignalKind_interrupt", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindIo() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 333, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindIoConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindIoConstMeta => const TaskConstMeta( - debugName: "SignalKind_io", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindPipe() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 334, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindPipeConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindPipeConstMeta => const TaskConstMeta( - debugName: "SignalKind_pipe", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindQuit() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 335, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindQuitConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindQuitConstMeta => const TaskConstMeta( - debugName: "SignalKind_quit", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindTerminate() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 336, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindTerminateConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindTerminateConstMeta => const TaskConstMeta( - debugName: "SignalKind_terminate", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindUserDefined1() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 337, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindUserDefined1ConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindUserDefined1ConstMeta => const TaskConstMeta( - debugName: "SignalKind_user_defined1", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindUserDefined2() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 338, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindUserDefined2ConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindUserDefined2ConstMeta => const TaskConstMeta( - debugName: "SignalKind_user_defined2", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalKindWindowChange() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 339, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalKindWindowChangeConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalKindWindowChangeConstMeta => const TaskConstMeta( - debugName: "SignalKind_window_change", - argNames: [], - ); - - -@override Future tokioSignalUnixSignalPollRecv({required Signal that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 340, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalPollRecvConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalPollRecvConstMeta => const TaskConstMeta( - debugName: "Signal_poll_recv", - argNames: ["that", "cx"], - ); - - -@override Future tokioSignalUnixSignalRecv({required Signal that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 341, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioSignalUnixSignalRecvConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalRecvConstMeta => const TaskConstMeta( - debugName: "Signal_recv", - argNames: ["that"], - ); - - -@override Future tokioIoSimplexStreamNewUnsplit({required BigInt maxBufSize }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(maxBufSize, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 342, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream, - decodeErrorData: null, - ) - , - constMeta: kTokioIoSimplexStreamNewUnsplitConstMeta, - argValues: [maxBufSize], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoSimplexStreamNewUnsplitConstMeta => const TaskConstMeta( - debugName: "SimplexStream_new_unsplit", - argNames: ["maxBufSize"], - ); - - -@override Future tokioTimeSleepDeadline({required Sleep that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 343, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeSleepDeadlineConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeSleepDeadlineConstMeta => const TaskConstMeta( - debugName: "Sleep_deadline", - argNames: ["that"], - ); - - -@override Future tokioTimeSleepIsElapsed({required Sleep that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 344, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeSleepIsElapsedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeSleepIsElapsedConstMeta => const TaskConstMeta( - debugName: "Sleep_is_elapsed", - argNames: ["that"], - ); - - -@override Future tokioTimeSleepReset({required Sleep that , required Instant deadline }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(deadline, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 345, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeSleepResetConstMeta, - argValues: [that, deadline], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeSleepResetConstMeta => const TaskConstMeta( - debugName: "Sleep_reset", - argNames: ["that", "deadline"], - ); - - -@override Future tokioNetUnixSocketAddrAsPathname({required SocketAddr that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 346, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixSocketAddrAsPathnameConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixSocketAddrAsPathnameConstMeta => const TaskConstMeta( - debugName: "SocketAddr_as_pathname", - argNames: ["that"], - ); - - -@override Future tokioNetUnixSocketAddrIsUnnamed({required SocketAddr that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 347, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixSocketAddrIsUnnamedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixSocketAddrIsUnnamedConstMeta => const TaskConstMeta( - debugName: "SocketAddr_is_unnamed", - argNames: ["that"], - ); - - -@override Future seekstormIndexStopwordTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 348, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexStopwordTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexStopwordTypeDefaultConstMeta => const TaskConstMeta( - debugName: "StopwordType_default", - argNames: [], - ); - - -@override Future<(TcpStream,SocketAddr)> tokioNetTcpListenerAccept({required TcpListener that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 349, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpListenerAcceptConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpListenerAcceptConstMeta => const TaskConstMeta( - debugName: "TcpListener_accept", - argNames: ["that"], - ); - - -@override Future tokioNetTcpListenerFromStd({required TcpListener listener }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(listener, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 350, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpListenerFromStdConstMeta, - argValues: [listener], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpListenerFromStdConstMeta => const TaskConstMeta( - debugName: "TcpListener_from_std", - argNames: ["listener"], - ); - - -@override Future tokioNetTcpListenerIntoStd({required TcpListener that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 351, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpListenerIntoStdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpListenerIntoStdConstMeta => const TaskConstMeta( - debugName: "TcpListener_into_std", - argNames: ["that"], - ); - - -@override Future tokioNetTcpListenerLocalAddr({required TcpListener that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 352, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpListenerLocalAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpListenerLocalAddrConstMeta => const TaskConstMeta( - debugName: "TcpListener_local_addr", - argNames: ["that"], - ); - - -@override Future tokioNetTcpListenerPollAccept({required TcpListener that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 353, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpListenerPollAcceptConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpListenerPollAcceptConstMeta => const TaskConstMeta( - debugName: "TcpListener_poll_accept", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetTcpListenerSetTtl({required TcpListener that , required int ttl }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); -sse_encode_u_32(ttl, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 354, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpListenerSetTtlConstMeta, - argValues: [that, ttl], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpListenerSetTtlConstMeta => const TaskConstMeta( - debugName: "TcpListener_set_ttl", - argNames: ["that", "ttl"], - ); - - -@override Future tokioNetTcpListenerTtl({required TcpListener that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 355, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpListenerTtlConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpListenerTtlConstMeta => const TaskConstMeta( - debugName: "TcpListener_ttl", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketBind({required TcpSocket that , required SocketAddr addr }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(addr, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 356, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketBindConstMeta, - argValues: [that, addr], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketBindConstMeta => const TaskConstMeta( - debugName: "TcpSocket_bind", - argNames: ["that", "addr"], - ); - - -@override Future tokioNetTcpSocketConnect({required TcpSocket that , required SocketAddr addr }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(addr, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 357, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketConnectConstMeta, - argValues: [that, addr], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketConnectConstMeta => const TaskConstMeta( - debugName: "TcpSocket_connect", - argNames: ["that", "addr"], - ); - - -@override Future tokioNetTcpSocketFromStdStream({required TcpStream stdStream }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(stdStream, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 358, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpSocketFromStdStreamConstMeta, - argValues: [stdStream], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketFromStdStreamConstMeta => const TaskConstMeta( - debugName: "TcpSocket_from_std_stream", - argNames: ["stdStream"], - ); - - -@override Future tokioNetTcpSocketKeepalive({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 359, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketKeepaliveConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketKeepaliveConstMeta => const TaskConstMeta( - debugName: "TcpSocket_keepalive", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketLinger({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 360, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Chrono_Duration, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketLingerConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketLingerConstMeta => const TaskConstMeta( - debugName: "TcpSocket_linger", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketListen({required TcpSocket that , required int backlog }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_u_32(backlog, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 361, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketListenConstMeta, - argValues: [that, backlog], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketListenConstMeta => const TaskConstMeta( - debugName: "TcpSocket_listen", - argNames: ["that", "backlog"], - ); - - -@override Future tokioNetTcpSocketLocalAddr({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 362, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketLocalAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketLocalAddrConstMeta => const TaskConstMeta( - debugName: "TcpSocket_local_addr", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketNewV4() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 363, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketNewV4ConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketNewV4ConstMeta => const TaskConstMeta( - debugName: "TcpSocket_new_v4", - argNames: [], - ); - - -@override Future tokioNetTcpSocketNewV6() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 364, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketNewV6ConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketNewV6ConstMeta => const TaskConstMeta( - debugName: "TcpSocket_new_v6", - argNames: [], - ); - - -@override Future tokioNetTcpSocketNodelay({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 365, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketNodelayConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketNodelayConstMeta => const TaskConstMeta( - debugName: "TcpSocket_nodelay", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketRecvBufferSize({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 366, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketRecvBufferSizeConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketRecvBufferSizeConstMeta => const TaskConstMeta( - debugName: "TcpSocket_recv_buffer_size", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketReuseaddr({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 367, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketReuseaddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketReuseaddrConstMeta => const TaskConstMeta( - debugName: "TcpSocket_reuseaddr", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketReuseport({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 368, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketReuseportConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketReuseportConstMeta => const TaskConstMeta( - debugName: "TcpSocket_reuseport", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketSendBufferSize({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 369, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSendBufferSizeConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSendBufferSizeConstMeta => const TaskConstMeta( - debugName: "TcpSocket_send_buffer_size", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketSetKeepalive({required TcpSocket that , required bool keepalive }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_bool(keepalive, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 370, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSetKeepaliveConstMeta, - argValues: [that, keepalive], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSetKeepaliveConstMeta => const TaskConstMeta( - debugName: "TcpSocket_set_keepalive", - argNames: ["that", "keepalive"], - ); - - -@override Future tokioNetTcpSocketSetLinger({required TcpSocket that , Duration? dur }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_opt_box_autoadd_Chrono_Duration(dur, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 371, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSetLingerConstMeta, - argValues: [that, dur], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSetLingerConstMeta => const TaskConstMeta( - debugName: "TcpSocket_set_linger", - argNames: ["that", "dur"], - ); - - -@override Future tokioNetTcpSocketSetNodelay({required TcpSocket that , required bool nodelay }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_bool(nodelay, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 372, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSetNodelayConstMeta, - argValues: [that, nodelay], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSetNodelayConstMeta => const TaskConstMeta( - debugName: "TcpSocket_set_nodelay", - argNames: ["that", "nodelay"], - ); - - -@override Future tokioNetTcpSocketSetRecvBufferSize({required TcpSocket that , required int size }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_u_32(size, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 373, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSetRecvBufferSizeConstMeta, - argValues: [that, size], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSetRecvBufferSizeConstMeta => const TaskConstMeta( - debugName: "TcpSocket_set_recv_buffer_size", - argNames: ["that", "size"], - ); - - -@override Future tokioNetTcpSocketSetReuseaddr({required TcpSocket that , required bool reuseaddr }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_bool(reuseaddr, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 374, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSetReuseaddrConstMeta, - argValues: [that, reuseaddr], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSetReuseaddrConstMeta => const TaskConstMeta( - debugName: "TcpSocket_set_reuseaddr", - argNames: ["that", "reuseaddr"], - ); - - -@override Future tokioNetTcpSocketSetReuseport({required TcpSocket that , required bool reuseport }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_bool(reuseport, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 375, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSetReuseportConstMeta, - argValues: [that, reuseport], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSetReuseportConstMeta => const TaskConstMeta( - debugName: "TcpSocket_set_reuseport", - argNames: ["that", "reuseport"], - ); - - -@override Future tokioNetTcpSocketSetSendBufferSize({required TcpSocket that , required int size }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_u_32(size, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 376, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSetSendBufferSizeConstMeta, - argValues: [that, size], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSetSendBufferSizeConstMeta => const TaskConstMeta( - debugName: "TcpSocket_set_send_buffer_size", - argNames: ["that", "size"], - ); - - -@override Future tokioNetTcpSocketSetTclassV6({required TcpSocket that , required int tclass }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_u_32(tclass, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 377, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSetTclassV6ConstMeta, - argValues: [that, tclass], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSetTclassV6ConstMeta => const TaskConstMeta( - debugName: "TcpSocket_set_tclass_v6", - argNames: ["that", "tclass"], - ); - - -@override Future tokioNetTcpSocketSetTos({required TcpSocket that , required int tos }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_u_32(tos, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 378, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSetTosConstMeta, - argValues: [that, tos], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSetTosConstMeta => const TaskConstMeta( - debugName: "TcpSocket_set_tos", - argNames: ["that", "tos"], - ); - - -@override Future tokioNetTcpSocketSetTosV4({required TcpSocket that , required int tos }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); -sse_encode_u_32(tos, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 379, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketSetTosV4ConstMeta, - argValues: [that, tos], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketSetTosV4ConstMeta => const TaskConstMeta( - debugName: "TcpSocket_set_tos_v4", - argNames: ["that", "tos"], - ); - - -@override Future tokioNetTcpSocketTakeError({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 380, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketTakeErrorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketTakeErrorConstMeta => const TaskConstMeta( - debugName: "TcpSocket_take_error", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketTclassV6({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 381, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketTclassV6ConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketTclassV6ConstMeta => const TaskConstMeta( - debugName: "TcpSocket_tclass_v6", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketTos({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 382, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketTosConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketTosConstMeta => const TaskConstMeta( - debugName: "TcpSocket_tos", - argNames: ["that"], - ); - - -@override Future tokioNetTcpSocketTosV4({required TcpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 383, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpSocketTosV4ConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpSocketTosV4ConstMeta => const TaskConstMeta( - debugName: "TcpSocket_tos_v4", - argNames: ["that"], - ); - - -@override Future tokioNetTcpStreamFromStd({required TcpStream stream }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(stream, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 384, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamFromStdConstMeta, - argValues: [stream], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamFromStdConstMeta => const TaskConstMeta( - debugName: "TcpStream_from_std", - argNames: ["stream"], - ); - - -@override Future<(OwnedReadHalf,OwnedWriteHalf)> tokioNetTcpStreamIntoSplit({required TcpStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 385, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpStreamIntoSplitConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamIntoSplitConstMeta => const TaskConstMeta( - debugName: "TcpStream_into_split", - argNames: ["that"], - ); - - -@override Future tokioNetTcpStreamIntoStd({required TcpStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 386, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamIntoStdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamIntoStdConstMeta => const TaskConstMeta( - debugName: "TcpStream_into_std", - argNames: ["that"], - ); - - -@override Future tokioNetTcpStreamLinger({required TcpStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 387, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Chrono_Duration, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamLingerConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamLingerConstMeta => const TaskConstMeta( - debugName: "TcpStream_linger", - argNames: ["that"], - ); - - -@override Future tokioNetTcpStreamLocalAddr({required TcpStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 388, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamLocalAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamLocalAddrConstMeta => const TaskConstMeta( - debugName: "TcpStream_local_addr", - argNames: ["that"], - ); - - -@override Future tokioNetTcpStreamNodelay({required TcpStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 389, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamNodelayConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamNodelayConstMeta => const TaskConstMeta( - debugName: "TcpStream_nodelay", - argNames: ["that"], - ); - - -@override Future tokioNetTcpStreamPeek({required TcpStream that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 390, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamPeekConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamPeekConstMeta => const TaskConstMeta( - debugName: "TcpStream_peek", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetTcpStreamPeerAddr({required TcpStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 391, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamPeerAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamPeerAddrConstMeta => const TaskConstMeta( - debugName: "TcpStream_peer_addr", - argNames: ["that"], - ); - - -@override Future tokioNetTcpStreamPollPeek({required TcpStream that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 392, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpStreamPollPeekConstMeta, - argValues: [that, cx, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamPollPeekConstMeta => const TaskConstMeta( - debugName: "TcpStream_poll_peek", - argNames: ["that", "cx", "buf"], - ); - - -@override Future tokioNetTcpStreamPollReadReady({required TcpStream that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 393, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpStreamPollReadReadyConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamPollReadReadyConstMeta => const TaskConstMeta( - debugName: "TcpStream_poll_read_ready", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetTcpStreamPollWriteReady({required TcpStream that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 394, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetTcpStreamPollWriteReadyConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamPollWriteReadyConstMeta => const TaskConstMeta( - debugName: "TcpStream_poll_write_ready", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetTcpStreamReadable({required TcpStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 395, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamReadableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamReadableConstMeta => const TaskConstMeta( - debugName: "TcpStream_readable", - argNames: ["that"], - ); - - -@override Future tokioNetTcpStreamReady({required TcpStream that , required Interest interest }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 396, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamReadyConstMeta, - argValues: [that, interest], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamReadyConstMeta => const TaskConstMeta( - debugName: "TcpStream_ready", - argNames: ["that", "interest"], - ); - - -@override Future tokioNetTcpStreamSetLinger({required TcpStream that , Duration? dur }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_opt_box_autoadd_Chrono_Duration(dur, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 397, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamSetLingerConstMeta, - argValues: [that, dur], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamSetLingerConstMeta => const TaskConstMeta( - debugName: "TcpStream_set_linger", - argNames: ["that", "dur"], - ); - - -@override Future tokioNetTcpStreamSetNodelay({required TcpStream that , required bool nodelay }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_bool(nodelay, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 398, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamSetNodelayConstMeta, - argValues: [that, nodelay], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamSetNodelayConstMeta => const TaskConstMeta( - debugName: "TcpStream_set_nodelay", - argNames: ["that", "nodelay"], - ); - - -@override Future tokioNetTcpStreamSetTtl({required TcpStream that , required int ttl }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_u_32(ttl, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 399, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamSetTtlConstMeta, - argValues: [that, ttl], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamSetTtlConstMeta => const TaskConstMeta( - debugName: "TcpStream_set_ttl", - argNames: ["that", "ttl"], - ); - - -@override Future tokioNetTcpStreamTakeError({required TcpStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 400, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamTakeErrorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamTakeErrorConstMeta => const TaskConstMeta( - debugName: "TcpStream_take_error", - argNames: ["that"], - ); - - -@override Future tokioNetTcpStreamTryRead({required TcpStream that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 401, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamTryReadConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamTryReadConstMeta => const TaskConstMeta( - debugName: "TcpStream_try_read", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetTcpStreamTryReadVectored({required TcpStream that , required IoSliceMut bufs }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(bufs, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 402, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamTryReadVectoredConstMeta, - argValues: [that, bufs], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamTryReadVectoredConstMeta => const TaskConstMeta( - debugName: "TcpStream_try_read_vectored", - argNames: ["that", "bufs"], - ); - - -@override Future tokioNetTcpStreamTryWrite({required TcpStream that , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 403, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamTryWriteConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamTryWriteConstMeta => const TaskConstMeta( - debugName: "TcpStream_try_write", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetTcpStreamTryWriteVectored({required TcpStream that , required List bufs }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); -sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(bufs, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 404, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamTryWriteVectoredConstMeta, - argValues: [that, bufs], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamTryWriteVectoredConstMeta => const TaskConstMeta( - debugName: "TcpStream_try_write_vectored", - argNames: ["that", "bufs"], - ); - - -@override Future tokioNetTcpStreamTtl({required TcpStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 405, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamTtlConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamTtlConstMeta => const TaskConstMeta( - debugName: "TcpStream_ttl", - argNames: ["that"], - ); - - -@override Future tokioNetTcpStreamWritable({required TcpStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 406, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetTcpStreamWritableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetTcpStreamWritableConstMeta => const TaskConstMeta( - debugName: "TcpStream_writable", - argNames: ["that"], - ); - - -@override Future tokioRuntimeTryCurrentErrorIsMissingContext({required TryCurrentError that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 481, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeTryCurrentErrorIsMissingContextConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeTryCurrentErrorIsMissingContextConstMeta => const TaskConstMeta( - debugName: "TryCurrentError_is_missing_context", - argNames: ["that"], - ); - - -@override Future tokioRuntimeTryCurrentErrorIsThreadLocalDestroyed({required TryCurrentError that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 482, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioRuntimeTryCurrentErrorIsThreadLocalDestroyedConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioRuntimeTryCurrentErrorIsThreadLocalDestroyedConstMeta => const TaskConstMeta( - debugName: "TryCurrentError_is_thread_local_destroyed", - argNames: ["that"], - ); - - -@override Future tokioNetUnixUCredGid({required UCred that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 483, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixUCredGidConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixUCredGidConstMeta => const TaskConstMeta( - debugName: "UCred_gid", - argNames: ["that"], - ); - - -@override Future tokioNetUnixUCredPid({required UCred that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 484, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixUCredPidConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixUCredPidConstMeta => const TaskConstMeta( - debugName: "UCred_pid", - argNames: ["that"], - ); - - -@override Future tokioNetUnixUCredUid({required UCred that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 485, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixUCredUidConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixUCredUidConstMeta => const TaskConstMeta( - debugName: "UCred_uid", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketBroadcast({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 486, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketBroadcastConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketBroadcastConstMeta => const TaskConstMeta( - debugName: "UdpSocket_broadcast", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketFromStd({required UdpSocket socket }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(socket, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 487, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketFromStdConstMeta, - argValues: [socket], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketFromStdConstMeta => const TaskConstMeta( - debugName: "UdpSocket_from_std", - argNames: ["socket"], - ); - - -@override Future tokioNetUdpSocketIntoStd({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 488, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketIntoStdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketIntoStdConstMeta => const TaskConstMeta( - debugName: "UdpSocket_into_std", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketJoinMulticastV4({required UdpSocket that , required Ipv4Addr multiaddr , required Ipv4Addr interface_ }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(multiaddr, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(interface_, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 489, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketJoinMulticastV4ConstMeta, - argValues: [that, multiaddr, interface_], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketJoinMulticastV4ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_join_multicast_v4", - argNames: ["that", "multiaddr", "interface_"], - ); - - -@override Future tokioNetUdpSocketJoinMulticastV6({required UdpSocket that , required Ipv6Addr multiaddr , required int interface_ }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(multiaddr, serializer); -sse_encode_u_32(interface_, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 490, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketJoinMulticastV6ConstMeta, - argValues: [that, multiaddr, interface_], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketJoinMulticastV6ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_join_multicast_v6", - argNames: ["that", "multiaddr", "interface_"], - ); - - -@override Future tokioNetUdpSocketLeaveMulticastV4({required UdpSocket that , required Ipv4Addr multiaddr , required Ipv4Addr interface_ }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(multiaddr, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(interface_, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 491, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketLeaveMulticastV4ConstMeta, - argValues: [that, multiaddr, interface_], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketLeaveMulticastV4ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_leave_multicast_v4", - argNames: ["that", "multiaddr", "interface_"], - ); - - -@override Future tokioNetUdpSocketLeaveMulticastV6({required UdpSocket that , required Ipv6Addr multiaddr , required int interface_ }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(multiaddr, serializer); -sse_encode_u_32(interface_, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 492, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketLeaveMulticastV6ConstMeta, - argValues: [that, multiaddr, interface_], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketLeaveMulticastV6ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_leave_multicast_v6", - argNames: ["that", "multiaddr", "interface_"], - ); - - -@override Future tokioNetUdpSocketLocalAddr({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 493, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketLocalAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketLocalAddrConstMeta => const TaskConstMeta( - debugName: "UdpSocket_local_addr", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketMulticastLoopV4({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 494, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketMulticastLoopV4ConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketMulticastLoopV4ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_multicast_loop_v4", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketMulticastLoopV6({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 495, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketMulticastLoopV6ConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketMulticastLoopV6ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_multicast_loop_v6", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketMulticastTtlV4({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 496, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketMulticastTtlV4ConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketMulticastTtlV4ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_multicast_ttl_v4", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketPeek({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 497, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketPeekConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPeekConstMeta => const TaskConstMeta( - debugName: "UdpSocket_peek", - argNames: ["that", "buf"], - ); - - -@override Future<(BigInt,SocketAddr)> tokioNetUdpSocketPeekFrom({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 498, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketPeekFromConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPeekFromConstMeta => const TaskConstMeta( - debugName: "UdpSocket_peek_from", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUdpSocketPeekSender({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 499, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketPeekSenderConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPeekSenderConstMeta => const TaskConstMeta( - debugName: "UdpSocket_peek_sender", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketPeerAddr({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 500, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketPeerAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPeerAddrConstMeta => const TaskConstMeta( - debugName: "UdpSocket_peer_addr", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketPollPeek({required UdpSocket that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 501, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUdpSocketPollPeekConstMeta, - argValues: [that, cx, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPollPeekConstMeta => const TaskConstMeta( - debugName: "UdpSocket_poll_peek", - argNames: ["that", "cx", "buf"], - ); - - -@override Future tokioNetUdpSocketPollPeekFrom({required UdpSocket that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 502, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUdpSocketPollPeekFromConstMeta, - argValues: [that, cx, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPollPeekFromConstMeta => const TaskConstMeta( - debugName: "UdpSocket_poll_peek_from", - argNames: ["that", "cx", "buf"], - ); - - -@override Future tokioNetUdpSocketPollPeekSender({required UdpSocket that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 503, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUdpSocketPollPeekSenderConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPollPeekSenderConstMeta => const TaskConstMeta( - debugName: "UdpSocket_poll_peek_sender", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUdpSocketPollRecv({required UdpSocket that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 504, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUdpSocketPollRecvConstMeta, - argValues: [that, cx, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPollRecvConstMeta => const TaskConstMeta( - debugName: "UdpSocket_poll_recv", - argNames: ["that", "cx", "buf"], - ); - - -@override Future tokioNetUdpSocketPollRecvFrom({required UdpSocket that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 505, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUdpSocketPollRecvFromConstMeta, - argValues: [that, cx, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPollRecvFromConstMeta => const TaskConstMeta( - debugName: "UdpSocket_poll_recv_from", - argNames: ["that", "cx", "buf"], - ); - - -@override Future tokioNetUdpSocketPollRecvReady({required UdpSocket that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 506, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUdpSocketPollRecvReadyConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPollRecvReadyConstMeta => const TaskConstMeta( - debugName: "UdpSocket_poll_recv_ready", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUdpSocketPollSend({required UdpSocket that , required Context cx , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 507, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUdpSocketPollSendConstMeta, - argValues: [that, cx, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPollSendConstMeta => const TaskConstMeta( - debugName: "UdpSocket_poll_send", - argNames: ["that", "cx", "buf"], - ); - - -@override Future tokioNetUdpSocketPollSendReady({required UdpSocket that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 508, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUdpSocketPollSendReadyConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPollSendReadyConstMeta => const TaskConstMeta( - debugName: "UdpSocket_poll_send_ready", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUdpSocketPollSendTo({required UdpSocket that , required Context cx , required List buf , required SocketAddr target }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(target, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 509, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUdpSocketPollSendToConstMeta, - argValues: [that, cx, buf, target], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketPollSendToConstMeta => const TaskConstMeta( - debugName: "UdpSocket_poll_send_to", - argNames: ["that", "cx", "buf", "target"], - ); - - -@override Future tokioNetUdpSocketReadable({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 510, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketReadableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketReadableConstMeta => const TaskConstMeta( - debugName: "UdpSocket_readable", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketReady({required UdpSocket that , required Interest interest }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 511, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketReadyConstMeta, - argValues: [that, interest], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketReadyConstMeta => const TaskConstMeta( - debugName: "UdpSocket_ready", - argNames: ["that", "interest"], - ); - - -@override Future tokioNetUdpSocketRecv({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 512, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketRecvConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketRecvConstMeta => const TaskConstMeta( - debugName: "UdpSocket_recv", - argNames: ["that", "buf"], - ); - - -@override Future<(BigInt,SocketAddr)> tokioNetUdpSocketRecvFrom({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 513, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketRecvFromConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketRecvFromConstMeta => const TaskConstMeta( - debugName: "UdpSocket_recv_from", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUdpSocketSend({required UdpSocket that , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 514, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketSendConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketSendConstMeta => const TaskConstMeta( - debugName: "UdpSocket_send", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUdpSocketSetBroadcast({required UdpSocket that , required bool on_ }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_bool(on_, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 515, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketSetBroadcastConstMeta, - argValues: [that, on_], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketSetBroadcastConstMeta => const TaskConstMeta( - debugName: "UdpSocket_set_broadcast", - argNames: ["that", "on_"], - ); - - -@override Future tokioNetUdpSocketSetMulticastLoopV4({required UdpSocket that , required bool on_ }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_bool(on_, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 516, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketSetMulticastLoopV4ConstMeta, - argValues: [that, on_], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketSetMulticastLoopV4ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_set_multicast_loop_v4", - argNames: ["that", "on_"], - ); - - -@override Future tokioNetUdpSocketSetMulticastLoopV6({required UdpSocket that , required bool on_ }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_bool(on_, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 517, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketSetMulticastLoopV6ConstMeta, - argValues: [that, on_], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketSetMulticastLoopV6ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_set_multicast_loop_v6", - argNames: ["that", "on_"], - ); - - -@override Future tokioNetUdpSocketSetMulticastTtlV4({required UdpSocket that , required int ttl }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_u_32(ttl, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 518, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketSetMulticastTtlV4ConstMeta, - argValues: [that, ttl], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketSetMulticastTtlV4ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_set_multicast_ttl_v4", - argNames: ["that", "ttl"], - ); - - -@override Future tokioNetUdpSocketSetTclassV6({required UdpSocket that , required int tclass }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_u_32(tclass, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 519, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketSetTclassV6ConstMeta, - argValues: [that, tclass], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketSetTclassV6ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_set_tclass_v6", - argNames: ["that", "tclass"], - ); - - -@override Future tokioNetUdpSocketSetTos({required UdpSocket that , required int tos }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_u_32(tos, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 520, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketSetTosConstMeta, - argValues: [that, tos], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketSetTosConstMeta => const TaskConstMeta( - debugName: "UdpSocket_set_tos", - argNames: ["that", "tos"], - ); - - -@override Future tokioNetUdpSocketSetTosV4({required UdpSocket that , required int tos }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_u_32(tos, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 521, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketSetTosV4ConstMeta, - argValues: [that, tos], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketSetTosV4ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_set_tos_v4", - argNames: ["that", "tos"], - ); - - -@override Future tokioNetUdpSocketSetTtl({required UdpSocket that , required int ttl }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_u_32(ttl, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 522, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketSetTtlConstMeta, - argValues: [that, ttl], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketSetTtlConstMeta => const TaskConstMeta( - debugName: "UdpSocket_set_ttl", - argNames: ["that", "ttl"], - ); - - -@override Future tokioNetUdpSocketTakeError({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 523, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTakeErrorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTakeErrorConstMeta => const TaskConstMeta( - debugName: "UdpSocket_take_error", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketTclassV6({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 524, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTclassV6ConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTclassV6ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_tclass_v6", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketTos({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 525, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTosConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTosConstMeta => const TaskConstMeta( - debugName: "UdpSocket_tos", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketTosV4({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 526, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTosV4ConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTosV4ConstMeta => const TaskConstMeta( - debugName: "UdpSocket_tos_v4", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketTryPeek({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 527, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTryPeekConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTryPeekConstMeta => const TaskConstMeta( - debugName: "UdpSocket_try_peek", - argNames: ["that", "buf"], - ); - - -@override Future<(BigInt,SocketAddr)> tokioNetUdpSocketTryPeekFrom({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 528, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTryPeekFromConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTryPeekFromConstMeta => const TaskConstMeta( - debugName: "UdpSocket_try_peek_from", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUdpSocketTryPeekSender({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 529, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTryPeekSenderConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTryPeekSenderConstMeta => const TaskConstMeta( - debugName: "UdpSocket_try_peek_sender", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketTryRecv({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 530, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTryRecvConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTryRecvConstMeta => const TaskConstMeta( - debugName: "UdpSocket_try_recv", - argNames: ["that", "buf"], - ); - - -@override Future<(BigInt,SocketAddr)> tokioNetUdpSocketTryRecvFrom({required UdpSocket that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 531, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTryRecvFromConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTryRecvFromConstMeta => const TaskConstMeta( - debugName: "UdpSocket_try_recv_from", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUdpSocketTrySend({required UdpSocket that , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 532, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTrySendConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTrySendConstMeta => const TaskConstMeta( - debugName: "UdpSocket_try_send", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUdpSocketTrySendTo({required UdpSocket that , required List buf , required SocketAddr target }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(target, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 533, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTrySendToConstMeta, - argValues: [that, buf, target], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTrySendToConstMeta => const TaskConstMeta( - debugName: "UdpSocket_try_send_to", - argNames: ["that", "buf", "target"], - ); - - -@override Future tokioNetUdpSocketTtl({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 534, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketTtlConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketTtlConstMeta => const TaskConstMeta( - debugName: "UdpSocket_ttl", - argNames: ["that"], - ); - - -@override Future tokioNetUdpSocketWritable({required UdpSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 535, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUdpSocketWritableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUdpSocketWritableConstMeta => const TaskConstMeta( - debugName: "UdpSocket_writable", - argNames: ["that"], - ); - - -@override Future tokioNetUnixDatagramFromStd({required UnixDatagram datagram }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(datagram, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 536, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramFromStdConstMeta, - argValues: [datagram], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramFromStdConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_from_std", - argNames: ["datagram"], - ); - - -@override Future tokioNetUnixDatagramIntoStd({required UnixDatagram that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 537, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramIntoStdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramIntoStdConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_into_std", - argNames: ["that"], - ); - - -@override Future tokioNetUnixDatagramLocalAddr({required UnixDatagram that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 538, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramLocalAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramLocalAddrConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_local_addr", - argNames: ["that"], - ); - - -@override Future<(UnixDatagram,UnixDatagram)> tokioNetUnixDatagramPair() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 539, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramPairConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramPairConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_pair", - argNames: [], - ); - - -@override Future tokioNetUnixDatagramPeerAddr({required UnixDatagram that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 540, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramPeerAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramPeerAddrConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_peer_addr", - argNames: ["that"], - ); - - -@override Future tokioNetUnixDatagramPollRecv({required UnixDatagram that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 541, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixDatagramPollRecvConstMeta, - argValues: [that, cx, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramPollRecvConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_poll_recv", - argNames: ["that", "cx", "buf"], - ); - - -@override Future tokioNetUnixDatagramPollRecvFrom({required UnixDatagram that , required Context cx , required ReadBuf buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 542, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixDatagramPollRecvFromConstMeta, - argValues: [that, cx, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramPollRecvFromConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_poll_recv_from", - argNames: ["that", "cx", "buf"], - ); - - -@override Future tokioNetUnixDatagramPollRecvReady({required UnixDatagram that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 543, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixDatagramPollRecvReadyConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramPollRecvReadyConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_poll_recv_ready", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUnixDatagramPollSend({required UnixDatagram that , required Context cx , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 544, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixDatagramPollSendConstMeta, - argValues: [that, cx, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramPollSendConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_poll_send", - argNames: ["that", "cx", "buf"], - ); - - -@override Future tokioNetUnixDatagramPollSendReady({required UnixDatagram that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 545, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixDatagramPollSendReadyConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramPollSendReadyConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_poll_send_ready", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUnixDatagramReadable({required UnixDatagram that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 546, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramReadableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramReadableConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_readable", - argNames: ["that"], - ); - - -@override Future tokioNetUnixDatagramReady({required UnixDatagram that , required Interest interest }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 547, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramReadyConstMeta, - argValues: [that, interest], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramReadyConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_ready", - argNames: ["that", "interest"], - ); - - -@override Future tokioNetUnixDatagramRecv({required UnixDatagram that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 548, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramRecvConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramRecvConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_recv", - argNames: ["that", "buf"], - ); - - -@override Future<(BigInt,SocketAddr)> tokioNetUnixDatagramRecvFrom({required UnixDatagram that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 549, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramRecvFromConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramRecvFromConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_recv_from", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUnixDatagramSend({required UnixDatagram that , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 550, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramSendConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramSendConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_send", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUnixDatagramShutdown({required UnixDatagram that , required Shutdown how }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(how, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 551, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramShutdownConstMeta, - argValues: [that, how], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramShutdownConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_shutdown", - argNames: ["that", "how"], - ); - - -@override Future tokioNetUnixDatagramTakeError({required UnixDatagram that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 552, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramTakeErrorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramTakeErrorConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_take_error", - argNames: ["that"], - ); - - -@override Future tokioNetUnixDatagramTryRecv({required UnixDatagram that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 553, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramTryRecvConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramTryRecvConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_try_recv", - argNames: ["that", "buf"], - ); - - -@override Future<(BigInt,SocketAddr)> tokioNetUnixDatagramTryRecvFrom({required UnixDatagram that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 554, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramTryRecvFromConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramTryRecvFromConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_try_recv_from", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUnixDatagramTrySend({required UnixDatagram that , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 555, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramTrySendConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramTrySendConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_try_send", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUnixDatagramUnbound() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 556, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramUnboundConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramUnboundConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_unbound", - argNames: [], - ); - - -@override Future tokioNetUnixDatagramWritable({required UnixDatagram that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 557, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixDatagramWritableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixDatagramWritableConstMeta => const TaskConstMeta( - debugName: "UnixDatagram_writable", - argNames: ["that"], - ); - - -@override Future<(UnixStream,SocketAddr)> tokioNetUnixListenerAccept({required UnixListener that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 558, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixListenerAcceptConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixListenerAcceptConstMeta => const TaskConstMeta( - debugName: "UnixListener_accept", - argNames: ["that"], - ); - - -@override Future tokioNetUnixListenerFromStd({required UnixListener listener }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(listener, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 559, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixListenerFromStdConstMeta, - argValues: [listener], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixListenerFromStdConstMeta => const TaskConstMeta( - debugName: "UnixListener_from_std", - argNames: ["listener"], - ); - - -@override Future tokioNetUnixListenerIntoStd({required UnixListener that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 560, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixListenerIntoStdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixListenerIntoStdConstMeta => const TaskConstMeta( - debugName: "UnixListener_into_std", - argNames: ["that"], - ); - - -@override Future tokioNetUnixListenerLocalAddr({required UnixListener that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 561, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixListenerLocalAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixListenerLocalAddrConstMeta => const TaskConstMeta( - debugName: "UnixListener_local_addr", - argNames: ["that"], - ); - - -@override Future tokioNetUnixListenerPollAccept({required UnixListener that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 562, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixListenerPollAcceptConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixListenerPollAcceptConstMeta => const TaskConstMeta( - debugName: "UnixListener_poll_accept", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUnixListenerTakeError({required UnixListener that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 563, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixListenerTakeErrorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixListenerTakeErrorConstMeta => const TaskConstMeta( - debugName: "UnixListener_take_error", - argNames: ["that"], - ); - - -@override Future tokioNetUnixSocketDatagram({required UnixSocket that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 564, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixSocketDatagramConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixSocketDatagramConstMeta => const TaskConstMeta( - debugName: "UnixSocket_datagram", - argNames: ["that"], - ); - - -@override Future tokioNetUnixSocketListen({required UnixSocket that , required int backlog }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(that, serializer); -sse_encode_u_32(backlog, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 565, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixSocketListenConstMeta, - argValues: [that, backlog], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixSocketListenConstMeta => const TaskConstMeta( - debugName: "UnixSocket_listen", - argNames: ["that", "backlog"], - ); - - -@override Future tokioNetUnixSocketNewDatagram() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 566, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixSocketNewDatagramConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixSocketNewDatagramConstMeta => const TaskConstMeta( - debugName: "UnixSocket_new_datagram", - argNames: [], - ); - - -@override Future tokioNetUnixSocketNewStream() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 567, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixSocketNewStreamConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixSocketNewStreamConstMeta => const TaskConstMeta( - debugName: "UnixSocket_new_stream", - argNames: [], - ); - - -@override Future tokioNetUnixStreamFromStd({required UnixStream stream }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(stream, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 568, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamFromStdConstMeta, - argValues: [stream], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamFromStdConstMeta => const TaskConstMeta( - debugName: "UnixStream_from_std", - argNames: ["stream"], - ); - - -@override Future<(OwnedReadHalf,OwnedWriteHalf)> tokioNetUnixStreamIntoSplit({required UnixStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 569, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixStreamIntoSplitConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamIntoSplitConstMeta => const TaskConstMeta( - debugName: "UnixStream_into_split", - argNames: ["that"], - ); - - -@override Future tokioNetUnixStreamIntoStd({required UnixStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 570, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamIntoStdConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamIntoStdConstMeta => const TaskConstMeta( - debugName: "UnixStream_into_std", - argNames: ["that"], - ); - - -@override Future tokioNetUnixStreamLocalAddr({required UnixStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 571, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamLocalAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamLocalAddrConstMeta => const TaskConstMeta( - debugName: "UnixStream_local_addr", - argNames: ["that"], - ); - - -@override Future<(UnixStream,UnixStream)> tokioNetUnixStreamPair() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 572, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamPairConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamPairConstMeta => const TaskConstMeta( - debugName: "UnixStream_pair", - argNames: [], - ); - - -@override Future tokioNetUnixStreamPeerAddr({required UnixStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 573, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamPeerAddrConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamPeerAddrConstMeta => const TaskConstMeta( - debugName: "UnixStream_peer_addr", - argNames: ["that"], - ); - - -@override Future tokioNetUnixStreamPeerCred({required UnixStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 574, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamPeerCredConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamPeerCredConstMeta => const TaskConstMeta( - debugName: "UnixStream_peer_cred", - argNames: ["that"], - ); - - -@override Future tokioNetUnixStreamPollReadReady({required UnixStream that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 575, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixStreamPollReadReadyConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamPollReadReadyConstMeta => const TaskConstMeta( - debugName: "UnixStream_poll_read_ready", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUnixStreamPollWriteReady({required UnixStream that , required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 576, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult, - decodeErrorData: null, - ) - , - constMeta: kTokioNetUnixStreamPollWriteReadyConstMeta, - argValues: [that, cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamPollWriteReadyConstMeta => const TaskConstMeta( - debugName: "UnixStream_poll_write_ready", - argNames: ["that", "cx"], - ); - - -@override Future tokioNetUnixStreamReadable({required UnixStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 577, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamReadableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamReadableConstMeta => const TaskConstMeta( - debugName: "UnixStream_readable", - argNames: ["that"], - ); - - -@override Future tokioNetUnixStreamReady({required UnixStream that , required Interest interest }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(interest, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 578, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamReadyConstMeta, - argValues: [that, interest], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamReadyConstMeta => const TaskConstMeta( - debugName: "UnixStream_ready", - argNames: ["that", "interest"], - ); - - -@override Future tokioNetUnixStreamTakeError({required UnixStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 579, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamTakeErrorConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamTakeErrorConstMeta => const TaskConstMeta( - debugName: "UnixStream_take_error", - argNames: ["that"], - ); - - -@override Future tokioNetUnixStreamTryRead({required UnixStream that , required U8 buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 580, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamTryReadConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamTryReadConstMeta => const TaskConstMeta( - debugName: "UnixStream_try_read", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUnixStreamTryReadVectored({required UnixStream that , required IoSliceMut bufs }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); -sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(bufs, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 581, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamTryReadVectoredConstMeta, - argValues: [that, bufs], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamTryReadVectoredConstMeta => const TaskConstMeta( - debugName: "UnixStream_try_read_vectored", - argNames: ["that", "bufs"], - ); - - -@override Future tokioNetUnixStreamTryWrite({required UnixStream that , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); -sse_encode_list_prim_u_8_loose(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 582, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamTryWriteConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamTryWriteConstMeta => const TaskConstMeta( - debugName: "UnixStream_try_write", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUnixStreamTryWriteVectored({required UnixStream that , required List buf }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); -sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(buf, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 583, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_usize, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamTryWriteVectoredConstMeta, - argValues: [that, buf], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamTryWriteVectoredConstMeta => const TaskConstMeta( - debugName: "UnixStream_try_write_vectored", - argNames: ["that", "buf"], - ); - - -@override Future tokioNetUnixStreamWritable({required UnixStream that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 584, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixStreamWritableConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixStreamWritableConstMeta => const TaskConstMeta( - debugName: "UnixStream_writable", - argNames: ["that"], - ); - - -@override Future seekstormIndexValueTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 585, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexValueTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexValueTypeDefaultConstMeta => const TaskConstMeta( - debugName: "ValueType_default", - argNames: [], - ); - - -@override Future tokioTimeAdvance({required Duration duration }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Chrono_Duration(duration, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 586, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeAdvanceConstMeta, - argValues: [duration], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeAdvanceConstMeta => const TaskConstMeta( - debugName: "advance", - argNames: ["duration"], - ); - - -@override Future seekstormIndexCompressionTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 587, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_compression_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexCompressionTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexCompressionTypeDefaultConstMeta => const TaskConstMeta( - debugName: "compression_type_default", - argNames: [], - ); - - -@override Future tokioTaskCoopConsumeBudget() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 588, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTaskCoopConsumeBudgetConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTaskCoopConsumeBudgetConstMeta => const TaskConstMeta( - debugName: "consume_budget", - argNames: [], - ); - - -@override Future seekstormIndexCreateIndex({required Path indexPath , required IndexMetaObject meta , required List schema , required List synonyms , required BigInt segmentNumberBits1 , required bool mute , BigInt? forceShardNumber }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(indexPath, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(meta, serializer); -sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(schema, serializer); -sse_encode_list_synonym(synonyms, serializer); -sse_encode_usize(segmentNumberBits1, serializer); -sse_encode_bool(mute, serializer); -sse_encode_opt_box_autoadd_usize(forceShardNumber, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 589, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex, - decodeErrorData: sse_decode_String, - ) - , - constMeta: kSeekstormIndexCreateIndexConstMeta, - argValues: [indexPath, meta, schema, synonyms, segmentNumberBits1, mute, forceShardNumber], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexCreateIndexConstMeta => const TaskConstMeta( - debugName: "create_index", - argNames: ["indexPath", "meta", "schema", "synonyms", "segmentNumberBits1", "mute", "forceShardNumber"], - ); - - -@override Future tokioSignalCtrlC() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 590, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioSignalCtrlCConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalCtrlCConstMeta => const TaskConstMeta( - debugName: "ctrl_c", - argNames: [], - ); - - -@override Future seekstormGeoSearchDecodeMorton2D({required BigInt code }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_u_64(code, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 591, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_list_prim_f_64_strict, - decodeErrorData: null, - ) - , - constMeta: kSeekstormGeoSearchDecodeMorton2DConstMeta, - argValues: [code], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormGeoSearchDecodeMorton2DConstMeta => const TaskConstMeta( - debugName: "decode_morton_2_d", - argNames: ["code"], - ); - - -@override Future seekstormIndexDistanceFieldDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 592, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_distance_field, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexDistanceFieldDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexDistanceFieldDefaultConstMeta => const TaskConstMeta( - debugName: "distance_field_default", - argNames: [], - ); - - -@override Future<(DuplexStream,DuplexStream)> tokioIoDuplex({required BigInt maxBufSize }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(maxBufSize, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 593, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream, - decodeErrorData: null, - ) - , - constMeta: kTokioIoDuplexConstMeta, - argValues: [maxBufSize], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoDuplexConstMeta => const TaskConstMeta( - debugName: "duplex", - argNames: ["maxBufSize"], - ); - - -@override Future tokioIoEmpty() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 594, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty, - decodeErrorData: null, - ) - , - constMeta: kTokioIoEmptyConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoEmptyConstMeta => const TaskConstMeta( - debugName: "empty", - argNames: [], - ); - - -@override Future seekstormGeoSearchEncodeMorton2D({required List point }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_list_prim_f_64_loose(point, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 595, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_64, - decodeErrorData: null, - ) - , - constMeta: kSeekstormGeoSearchEncodeMorton2DConstMeta, - argValues: [point], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormGeoSearchEncodeMorton2DConstMeta => const TaskConstMeta( - debugName: "encode_morton_2_d", - argNames: ["point"], - ); - - -@override Future seekstormGeoSearchEuclidianDistance({required List point1 , required List point2 , required DistanceUnit unit }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_list_prim_f_64_loose(point1, serializer); -sse_encode_list_prim_f_64_loose(point2, serializer); -sse_encode_distance_unit(unit, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 596, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_f_64, - decodeErrorData: null, - ) - , - constMeta: kSeekstormGeoSearchEuclidianDistanceConstMeta, - argValues: [point1, point2, unit], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormGeoSearchEuclidianDistanceConstMeta => const TaskConstMeta( - debugName: "euclidian_distance", - argNames: ["point1", "point2", "unit"], - ); - - -@override Future seekstormIndexFieldTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 597, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_field_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexFieldTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexFieldTypeDefaultConstMeta => const TaskConstMeta( - debugName: "field_type_default", - argNames: [], - ); - - -@override String crateApiSimpleGreet({required String name }) { return handler.executeSync(SyncTask( - callFfi: () { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_String(name, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 598)!; - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ) - , - constMeta: kCrateApiSimpleGreetConstMeta, - argValues: [name], - apiImpl: this, - )); } - - - TaskConstMeta get kCrateApiSimpleGreetConstMeta => const TaskConstMeta( - debugName: "greet", - argNames: ["name"], - ); - - -@override Future tokioTaskCoopHasBudgetRemaining() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 599, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_bool, - decodeErrorData: null, - ) - , - constMeta: kTokioTaskCoopHasBudgetRemainingConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTaskCoopHasBudgetRemainingConstMeta => const TaskConstMeta( - debugName: "has_budget_remaining", - argNames: [], - ); - - -@override Future seekstormHighlighterHighlightDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 600, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_highlight, - decodeErrorData: null, - ) - , - constMeta: kSeekstormHighlighterHighlightDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormHighlighterHighlightDefaultConstMeta => const TaskConstMeta( - debugName: "highlight_default", - argNames: [], - ); - - -@override Future seekstormHighlighterHighlighter({required ArcIndex indexArc , required List highlights , required List queryTermsVec }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(indexArc, serializer); -sse_encode_list_highlight(highlights, serializer); -sse_encode_list_String(queryTermsVec, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 601, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter, - decodeErrorData: null, - ) - , - constMeta: kSeekstormHighlighterHighlighterConstMeta, - argValues: [indexArc, highlights, queryTermsVec], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormHighlighterHighlighterConstMeta => const TaskConstMeta( - debugName: "highlighter", - argNames: ["indexArc", "highlights", "queryTermsVec"], - ); - - -@override Future crateApiSimpleInitApp() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 602, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kCrateApiSimpleInitAppConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kCrateApiSimpleInitAppConstMeta => const TaskConstMeta( - debugName: "init_app", - argNames: [], - ); - - -@override Future tokioTimeInterval({required Duration period }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Chrono_Duration(period, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 603, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalConstMeta, - argValues: [period], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalConstMeta => const TaskConstMeta( - debugName: "interval", - argNames: ["period"], - ); - - -@override Future tokioTimeIntervalAt({required Instant start , required Duration period }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(start, serializer); -sse_encode_Chrono_Duration(period, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 604, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeIntervalAtConstMeta, - argValues: [start, period], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeIntervalAtConstMeta => const TaskConstMeta( - debugName: "interval_at", - argNames: ["start", "period"], - ); - - -@override Future tokioTimeMissedTickBehaviorDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 605, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_missed_tick_behavior, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeMissedTickBehaviorDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeMissedTickBehaviorDefaultConstMeta => const TaskConstMeta( - debugName: "missed_tick_behavior_default", - argNames: [], - ); - - -@override Future seekstormGeoSearchMortonOrdering({required BigInt morton1 , required BigInt morton2 , required List basePoint , required SortOrder order }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_u_64(morton1, serializer); -sse_encode_u_64(morton2, serializer); -sse_encode_list_prim_f_64_loose(basePoint, serializer); -sse_encode_sort_order(order, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 606, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering, - decodeErrorData: null, - ) - , - constMeta: kSeekstormGeoSearchMortonOrderingConstMeta, - argValues: [morton1, morton2, basePoint, order], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormGeoSearchMortonOrderingConstMeta => const TaskConstMeta( - debugName: "morton_ordering", - argNames: ["morton1", "morton2", "basePoint", "order"], - ); - - -@override Future seekstormIndexNgramTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 607, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_ngram_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexNgramTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexNgramTypeDefaultConstMeta => const TaskConstMeta( - debugName: "ngram_type_default", - argNames: [], - ); - - -@override Future seekstormIndexOpenIndex({required Path indexPath , required bool mute }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(indexPath, serializer); -sse_encode_bool(mute, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 608, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex, - decodeErrorData: sse_decode_String, - ) - , - constMeta: kSeekstormIndexOpenIndexConstMeta, - argValues: [indexPath, mute], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexOpenIndexConstMeta => const TaskConstMeta( - debugName: "open_index", - argNames: ["indexPath", "mute"], - ); - - -@override Future tokioTimePause() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 609, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTimePauseConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimePauseConstMeta => const TaskConstMeta( - debugName: "pause", - argNames: [], - ); - - -@override Future<(Sender,Receiver)> tokioNetUnixPipePipe() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 610, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioNetUnixPipePipeConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioNetUnixPipePipeConstMeta => const TaskConstMeta( - debugName: "pipe", - argNames: [], - ); - - -@override Future seekstormGeoSearchPointDistanceToMortonRange({required List point , required double distance , required DistanceUnit unit }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_list_prim_f_64_loose(point, serializer); -sse_encode_f_64(distance, serializer); -sse_encode_distance_unit(unit, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 611, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64, - decodeErrorData: null, - ) - , - constMeta: kSeekstormGeoSearchPointDistanceToMortonRangeConstMeta, - argValues: [point, distance, unit], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormGeoSearchPointDistanceToMortonRangeConstMeta => const TaskConstMeta( - debugName: "point_distance_to_morton_range", - argNames: ["point", "distance", "unit"], - ); - - -@override Future tokioMacrosSupportPollBudgetAvailable({required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 612, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll, - decodeErrorData: null, - ) - , - constMeta: kTokioMacrosSupportPollBudgetAvailableConstMeta, - argValues: [cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioMacrosSupportPollBudgetAvailableConstMeta => const TaskConstMeta( - debugName: "poll_budget_available", - argNames: ["cx"], - ); - - -@override Future tokioTaskCoopPollProceed({required Context cx }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(cx, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 613, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending, - decodeErrorData: null, - ) - , - constMeta: kTokioTaskCoopPollProceedConstMeta, - argValues: [cx], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTaskCoopPollProceedConstMeta => const TaskConstMeta( - debugName: "poll_proceed", - argNames: ["cx"], - ); - - -@override Future seekstormSearchQueryTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 614, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_query_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchQueryTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchQueryTypeDefaultConstMeta => const TaskConstMeta( - debugName: "query_type_default", - argNames: [], - ); - - -@override Future seekstormSearchRangeTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 615, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_range_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchRangeTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchRangeTypeDefaultConstMeta => const TaskConstMeta( - debugName: "range_type_default", - argNames: [], - ); - - -@override Future tokioIoRepeat({required int byte }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_u_8(byte, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 616, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat, - decodeErrorData: null, - ) - , - constMeta: kTokioIoRepeatConstMeta, - argValues: [byte], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoRepeatConstMeta => const TaskConstMeta( - debugName: "repeat", - argNames: ["byte"], - ); - - -@override Future seekstormSearchResultTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 617, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_result_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormSearchResultTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormSearchResultTypeDefaultConstMeta => const TaskConstMeta( - debugName: "result_type_default", - argNames: [], - ); - - -@override Future tokioTimeResume() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 618, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeResumeConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeResumeConstMeta => const TaskConstMeta( - debugName: "resume", - argNames: [], - ); - - -@override Future crateApiKeywordSearchSearchFnDeleteIndex({required SearchFn that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_box_autoadd_search_fn(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 619, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kCrateApiKeywordSearchSearchFnDeleteIndexConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kCrateApiKeywordSearchSearchFnDeleteIndexConstMeta => const TaskConstMeta( - debugName: "search_fn_delete_index", - argNames: ["that"], - ); - - -@override Future crateApiKeywordSearchSearchFnIngestPdfDir({required SearchFn that , required Path dirPath }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_box_autoadd_search_fn(that, serializer); -sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dirPath, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 620, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kCrateApiKeywordSearchSearchFnIngestPdfDirConstMeta, - argValues: [that, dirPath], - apiImpl: this, - )); } - - - TaskConstMeta get kCrateApiKeywordSearchSearchFnIngestPdfDirConstMeta => const TaskConstMeta( - debugName: "search_fn_ingest_pdf_dir", - argNames: ["that", "dirPath"], - ); - - -@override Future crateApiKeywordSearchSearchFnNew({required SearchFn that }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_box_autoadd_search_fn(that, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 621, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_search_fn, - decodeErrorData: null, - ) - , - constMeta: kCrateApiKeywordSearchSearchFnNewConstMeta, - argValues: [that], - apiImpl: this, - )); } - - - TaskConstMeta get kCrateApiKeywordSearchSearchFnNewConstMeta => const TaskConstMeta( - debugName: "search_fn_new", - argNames: ["that"], - ); - - -@override Future tokioSignalUnixSignal({required SignalKind kind }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(kind, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 622, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal, - decodeErrorData: sse_decode_AnyhowException, - ) - , - constMeta: kTokioSignalUnixSignalConstMeta, - argValues: [kind], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioSignalUnixSignalConstMeta => const TaskConstMeta( - debugName: "signal", - argNames: ["kind"], - ); - - -@override Future seekstormIndexSimilarityTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 623, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_similarity_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexSimilarityTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexSimilarityTypeDefaultConstMeta => const TaskConstMeta( - debugName: "similarity_type_default", - argNames: [], - ); - - -@override Future<(ReadHalfSimplexStream,WriteHalfSimplexStream)> tokioIoSimplex({required BigInt maxBufSize }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_usize(maxBufSize, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 624, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream, - decodeErrorData: null, - ) - , - constMeta: kTokioIoSimplexConstMeta, - argValues: [maxBufSize], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoSimplexConstMeta => const TaskConstMeta( - debugName: "simplex", - argNames: ["maxBufSize"], - ); - - -@override Future tokioIoSink() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 625, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink, - decodeErrorData: null, - ) - , - constMeta: kTokioIoSinkConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoSinkConstMeta => const TaskConstMeta( - debugName: "sink", - argNames: [], - ); - - -@override Future tokioTimeSleep({required Duration duration }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Chrono_Duration(duration, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 626, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeSleepConstMeta, - argValues: [duration], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeSleepConstMeta => const TaskConstMeta( - debugName: "sleep", - argNames: ["duration"], - ); - - -@override Future tokioTimeSleepUntil({required Instant deadline }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(deadline, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 627, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep, - decodeErrorData: null, - ) - , - constMeta: kTokioTimeSleepUntilConstMeta, - argValues: [deadline], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTimeSleepUntilConstMeta => const TaskConstMeta( - debugName: "sleep_until", - argNames: ["deadline"], - ); - - -@override Future tokioIoStderr() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 628, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr, - decodeErrorData: null, - ) - , - constMeta: kTokioIoStderrConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoStderrConstMeta => const TaskConstMeta( - debugName: "stderr", - argNames: [], - ); - - -@override Future tokioIoStdin() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 629, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin, - decodeErrorData: null, - ) - , - constMeta: kTokioIoStdinConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoStdinConstMeta => const TaskConstMeta( - debugName: "stdin", - argNames: [], - ); - - -@override Future tokioIoStdout() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 630, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout, - decodeErrorData: null, - ) - , - constMeta: kTokioIoStdoutConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioIoStdoutConstMeta => const TaskConstMeta( - debugName: "stdout", - argNames: [], - ); - - -@override Future seekstormIndexStemmerTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 631, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_stemmer_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexStemmerTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexStemmerTypeDefaultConstMeta => const TaskConstMeta( - debugName: "stemmer_type_default", - argNames: [], - ); - - -@override Future seekstormUtilsSubstring({required String source , required BigInt start , required BigInt length }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_String(source, serializer); -sse_encode_usize(start, serializer); -sse_encode_usize(length, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 632, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ) - , - constMeta: kSeekstormUtilsSubstringConstMeta, - argValues: [source, start, length], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormUtilsSubstringConstMeta => const TaskConstMeta( - debugName: "substring", - argNames: ["source", "start", "length"], - ); - - -@override Future tokioMacrosSupportThreadRngN({required int n }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_u_32(n, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 633, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_u_32, - decodeErrorData: null, - ) - , - constMeta: kTokioMacrosSupportThreadRngNConstMeta, - argValues: [n], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioMacrosSupportThreadRngNConstMeta => const TaskConstMeta( - debugName: "thread_rng_n", - argNames: ["n"], - ); - - -@override Future seekstormIndexTokenizerTypeDefault() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 634, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_tokenizer_type, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexTokenizerTypeDefaultConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexTokenizerTypeDefaultConstMeta => const TaskConstMeta( - debugName: "tokenizer_type_default", - argNames: [], - ); - - -@override Future seekstormUtilsTruncate({required String source , required BigInt maxChars }) { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding);sse_encode_String(source, serializer); -sse_encode_usize(maxChars, serializer); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 635, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormUtilsTruncateConstMeta, - argValues: [source, maxChars], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormUtilsTruncateConstMeta => const TaskConstMeta( - debugName: "truncate", - argNames: ["source", "maxChars"], - ); - - -@override Future seekstormIndexVersion() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 636, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kSeekstormIndexVersionConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kSeekstormIndexVersionConstMeta => const TaskConstMeta( - debugName: "version", - argNames: [], - ); - - -@override Future tokioTaskYieldNow() { return handler.executeNormal(NormalTask( - callFfi: (port_) { - - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 637, port: port_); - - }, - codec: - SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ) - , - constMeta: kTokioTaskYieldNowConstMeta, - argValues: [], - apiImpl: this, - )); } - - - TaskConstMeta get kTokioTaskYieldNowConstMeta => const TaskConstMeta( - debugName: "yield_now", - argNames: [], - ); - - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_AHashMapStringFacet => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_AHashMapStringFacet => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_AcquireError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_AcquireError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ArcIndex => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ArcIndex => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Barrier => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Barrier => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_BarrierWaitResult => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_BarrierWaitResult => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Child => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Child => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStderr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStderr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStdin => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStdin => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ChildStdout => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ChildStdout => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Command => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Command => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Context => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Context => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_DocumentItem => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_DocumentItem => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_DuplexStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_DuplexStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Empty => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Empty => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_EnterGuard => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_EnterGuard => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Error => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Error => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ExitStatus => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ExitStatus => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetField => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetField => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetFilter => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetFilter => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FacetValue => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FacetValue => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_File => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_File => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FileType => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FileType => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FillBufSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FillBufSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FlushSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FlushSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_FrequentwordType => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_FrequentwordType => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Handle => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Handle => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Highlighter => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Highlighter => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Id => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Id => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Index => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Index => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IndexMapStringVecStringUsize => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IndexMapStringVecStringUsize => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IndexMetaObject => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IndexMetaObject => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Instant => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Instant => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Interest => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Interest => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Interval => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Interval => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IoSliceMut => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IoSliceMut => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_IoSlice => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_IoSlice => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ipv4Addr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ipv4Addr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ipv6Addr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ipv6Addr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LinesSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LinesSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LocalEnterGuard => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LocalEnterGuard => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_LocalSet => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_LocalSet => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_MinMaxField => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_MinMaxField => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_MinMaxFieldJson => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_MinMaxFieldJson => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Notified => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Notified => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Notify => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Notify => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OpenOptions => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OpenOptions => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ordering => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ordering => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedFd => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedFd => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedNotified => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedNotified => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedPermitT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedPermitT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedReadHalf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedReadHalf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedSemaphorePermit => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedSemaphorePermit => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_OwnedWriteHalf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_OwnedWriteHalf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Path => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Path => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PdfDocument => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PdfDocument => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PermitIteratorT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PermitIteratorT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PermitT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PermitT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Poll => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Poll => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollInstant => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollInstant => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollOption => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollOption => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollOptionT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollOptionT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollRestoreOnPending => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollRestoreOnPending => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResult => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResult => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultSocketAddr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultSocketAddr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultTcpStreamSocketAddr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultUnixStreamSocketAddr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollResultUsize => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollResultUsize => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PollUsize => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PollUsize => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_QueryFacet => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_QueryFacet => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_QueryRewriting => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_QueryRewriting => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ranges => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ranges => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RangeU64 => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RangeU64 => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadBuf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadBuf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadF64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadF64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadHalfSimplexStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadHalfSimplexStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI128LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI128LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI128MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI128MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI16LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI16LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI16MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI16MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadI8MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadI8MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU128LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU128LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU128MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU128MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU16LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU16LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU16MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU16MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReadU8MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReadU8MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Ready => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Ready => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Receiver => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Receiver => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReceiverT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReceiverT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RecvError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RecvError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RefT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RefT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Repeat => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Repeat => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RestoreOnPending => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RestoreOnPending => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Result => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Result => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ResultObject => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ResultObject => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ResultSort => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ResultSort => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ReuniteError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ReuniteError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Runtime => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Runtime => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_RuntimeMetrics => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_RuntimeMetrics => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SchemaField => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SchemaField => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SeekFrom => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SeekFrom => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SeekSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SeekSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Semaphore => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Semaphore => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SemaphorePermit => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SemaphorePermit => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendErrorT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendErrorT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SendTimeoutErrorT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SendTimeoutErrorT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sender => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sender => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SenderT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SenderT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Shutdown => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Shutdown => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ShutdownSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ShutdownSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Signal => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Signal => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SignalKind => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SignalKind => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SimplexStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SimplexStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sink => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sink => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Sleep => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Sleep => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SocketAddr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SocketAddr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_SplitSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_SplitSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_StdCommand => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_StdCommand => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stderr => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stderr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stdin => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stdin => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Stdout => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Stdout => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_StopwordType => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_StopwordType => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_T => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_T => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TakeSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TakeSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpListener => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpListener => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpSocket => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpSocket => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TcpStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TcpStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TryCurrentError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TryCurrentError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TryRecvError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TryRecvError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendError => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendError => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendErrorSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendErrorSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_TrySendErrorT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_TrySendErrorT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UCred => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UCred => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UdpSocket => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UdpSocket => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixDatagram => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixDatagram => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixListener => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixListener => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixSocket => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixSocket => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UnixStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UnixStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_Value => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_Value => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_ValueType => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_ValueType => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_VecT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_VecT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WeakSenderT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WeakSenderT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteF64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteF64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteHalfSimplexStream => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteHalfSimplexStream => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI128LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI128LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI128MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI128MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI16LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI16LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI16MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI16MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteI8MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteI8MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU128LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU128LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU128MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU128MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU16LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU16LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU16MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU16MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU32LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU32LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU32MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU32MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU64LeMutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU64LeMutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU64MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU64MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_WriteU8MutSelf => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_WriteU8MutSelf => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_CInt => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_CInt => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_GidT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_GidT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PidT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_PidT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_U8 => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_U8 => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8; - -RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_UidT => wire.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t; - -RustArcDecrementStrongCountFnType get rust_arc_decrement_strong_count_UidT => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t; - - - - @protected AnyhowException dco_decode_AnyhowException(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return AnyhowException(raw as String); } - -@protected AHashMapStringFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return AHashMapStringFacetImpl.frbInternalDcoDecode(raw as List); } - -@protected AcquireError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return AcquireErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected ArcIndex dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ArcIndexImpl.frbInternalDcoDecode(raw as List); } - -@protected Barrier dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return BarrierImpl.frbInternalDcoDecode(raw as List); } - -@protected BarrierWaitResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return BarrierWaitResultImpl.frbInternalDcoDecode(raw as List); } - -@protected Child dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ChildImpl.frbInternalDcoDecode(raw as List); } - -@protected ChildStderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ChildStderrImpl.frbInternalDcoDecode(raw as List); } - -@protected ChildStdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ChildStdinImpl.frbInternalDcoDecode(raw as List); } - -@protected ChildStdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ChildStdoutImpl.frbInternalDcoDecode(raw as List); } - -@protected Command dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return CommandImpl.frbInternalDcoDecode(raw as List); } - -@protected DocumentItem dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return DocumentItemImpl.frbInternalDcoDecode(raw as List); } - -@protected DuplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return DuplexStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected Empty dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return EmptyImpl.frbInternalDcoDecode(raw as List); } - -@protected EnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return EnterGuardImpl.frbInternalDcoDecode(raw as List); } - -@protected Error dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected ExitStatus dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ExitStatusImpl.frbInternalDcoDecode(raw as List); } - -@protected FacetField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FacetFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected FacetFilter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FacetFilterImpl.frbInternalDcoDecode(raw as List); } - -@protected FacetValue dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FacetValueImpl.frbInternalDcoDecode(raw as List); } - -@protected File dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FileImpl.frbInternalDcoDecode(raw as List); } - -@protected FileType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FileTypeImpl.frbInternalDcoDecode(raw as List); } - -@protected FillBufSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FillBufSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected FlushSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FlushSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected FrequentwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FrequentwordTypeImpl.frbInternalDcoDecode(raw as List); } - -@protected Handle dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return HandleImpl.frbInternalDcoDecode(raw as List); } - -@protected Highlighter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return HighlighterImpl.frbInternalDcoDecode(raw as List); } - -@protected Id dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IdImpl.frbInternalDcoDecode(raw as List); } - -@protected Index dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IndexImpl.frbInternalDcoDecode(raw as List); } - -@protected IndexMapStringVecStringUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IndexMapStringVecStringUsizeImpl.frbInternalDcoDecode(raw as List); } - -@protected IndexMetaObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IndexMetaObjectImpl.frbInternalDcoDecode(raw as List); } - -@protected Instant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return InstantImpl.frbInternalDcoDecode(raw as List); } - -@protected Interest dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return InterestImpl.frbInternalDcoDecode(raw as List); } - -@protected Interval dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IntervalImpl.frbInternalDcoDecode(raw as List); } - -@protected IoSlice dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IoSliceImpl.frbInternalDcoDecode(raw as List); } - -@protected Ipv4Addr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return Ipv4AddrImpl.frbInternalDcoDecode(raw as List); } - -@protected LinesSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return LinesSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected LocalEnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return LocalEnterGuardImpl.frbInternalDcoDecode(raw as List); } - -@protected LocalSet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return LocalSetImpl.frbInternalDcoDecode(raw as List); } - -@protected MinMaxField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return MinMaxFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected MinMaxFieldJson dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return MinMaxFieldJsonImpl.frbInternalDcoDecode(raw as List); } - -@protected Notified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return NotifiedImpl.frbInternalDcoDecode(raw as List); } - -@protected Notify dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return NotifyImpl.frbInternalDcoDecode(raw as List); } - -@protected OpenOptions dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OpenOptionsImpl.frbInternalDcoDecode(raw as List); } - -@protected Ordering dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OrderingImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedFd dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedFdImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedNotified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedNotifiedImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedPermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedPermitTImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedReadHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedReadHalfImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedSemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedSemaphorePermitImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedWriteHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedWriteHalfImpl.frbInternalDcoDecode(raw as List); } - -@protected PdfDocument dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PdfDocumentImpl.frbInternalDcoDecode(raw as List); } - -@protected PermitIteratorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PermitIteratorTImpl.frbInternalDcoDecode(raw as List); } - -@protected PermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PermitTImpl.frbInternalDcoDecode(raw as List); } - -@protected Poll dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollImpl.frbInternalDcoDecode(raw as List); } - -@protected PollInstant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollInstantImpl.frbInternalDcoDecode(raw as List); } - -@protected PollOption dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollOptionImpl.frbInternalDcoDecode(raw as List); } - -@protected PollOptionT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollOptionTImpl.frbInternalDcoDecode(raw as List); } - -@protected PollRestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollRestoreOnPendingImpl.frbInternalDcoDecode(raw as List); } - -@protected PollResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollResultImpl.frbInternalDcoDecode(raw as List); } - -@protected PollResultSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollResultSocketAddrImpl.frbInternalDcoDecode(raw as List); } - -@protected PollResultTcpStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollResultTcpStreamSocketAddrImpl.frbInternalDcoDecode(raw as List); } - -@protected PollResultUnixStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollResultUnixStreamSocketAddrImpl.frbInternalDcoDecode(raw as List); } - -@protected PollResultUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollResultUsizeImpl.frbInternalDcoDecode(raw as List); } - -@protected PollUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollUsizeImpl.frbInternalDcoDecode(raw as List); } - -@protected QueryFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return QueryFacetImpl.frbInternalDcoDecode(raw as List); } - -@protected QueryRewriting dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return QueryRewritingImpl.frbInternalDcoDecode(raw as List); } - -@protected Ranges dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RangesImpl.frbInternalDcoDecode(raw as List); } - -@protected RangeU64 dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RangeU64Impl.frbInternalDcoDecode(raw as List); } - -@protected ReadF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadF32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadF32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadF64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadF64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadHalfSimplexStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI128MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI16MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI8MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU128MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU16MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU8MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected Ready dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadyImpl.frbInternalDcoDecode(raw as List); } - -@protected Receiver dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReceiverImpl.frbInternalDcoDecode(raw as List); } - -@protected ReceiverT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReceiverTImpl.frbInternalDcoDecode(raw as List); } - -@protected RecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RecvErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected RefT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RefTImpl.frbInternalDcoDecode(raw as List); } - -@protected Repeat dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RepeatImpl.frbInternalDcoDecode(raw as List); } - -@protected RestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RestoreOnPendingImpl.frbInternalDcoDecode(raw as List); } - -@protected Result dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultImpl.frbInternalDcoDecode(raw as List); } - -@protected ResultObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultObjectImpl.frbInternalDcoDecode(raw as List); } - -@protected ResultSort dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultSortImpl.frbInternalDcoDecode(raw as List); } - -@protected ReuniteError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReuniteErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected Runtime dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RuntimeImpl.frbInternalDcoDecode(raw as List); } - -@protected RuntimeMetrics dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RuntimeMetricsImpl.frbInternalDcoDecode(raw as List); } - -@protected SchemaField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SchemaFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected SeekFrom dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SeekFromImpl.frbInternalDcoDecode(raw as List); } - -@protected SeekSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SeekSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected Semaphore dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SemaphoreImpl.frbInternalDcoDecode(raw as List); } - -@protected SemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SemaphorePermitImpl.frbInternalDcoDecode(raw as List); } - -@protected SendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SendErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected SendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SendErrorTImpl.frbInternalDcoDecode(raw as List); } - -@protected SendTimeoutErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SendTimeoutErrorTImpl.frbInternalDcoDecode(raw as List); } - -@protected Sender dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SenderImpl.frbInternalDcoDecode(raw as List); } - -@protected SenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SenderTImpl.frbInternalDcoDecode(raw as List); } - -@protected Shutdown dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ShutdownImpl.frbInternalDcoDecode(raw as List); } - -@protected ShutdownSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ShutdownSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected Signal dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SignalImpl.frbInternalDcoDecode(raw as List); } - -@protected SignalKind dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SignalKindImpl.frbInternalDcoDecode(raw as List); } - -@protected SimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SimplexStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected Sink dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SinkImpl.frbInternalDcoDecode(raw as List); } - -@protected Sleep dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SleepImpl.frbInternalDcoDecode(raw as List); } - -@protected SocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SocketAddrImpl.frbInternalDcoDecode(raw as List); } - -@protected SplitSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SplitSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected StdCommand dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StdCommandImpl.frbInternalDcoDecode(raw as List); } - -@protected Stderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StderrImpl.frbInternalDcoDecode(raw as List); } - -@protected Stdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StdinImpl.frbInternalDcoDecode(raw as List); } - -@protected Stdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StdoutImpl.frbInternalDcoDecode(raw as List); } - -@protected StopwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StopwordTypeImpl.frbInternalDcoDecode(raw as List); } - -@protected T dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TImpl.frbInternalDcoDecode(raw as List); } - -@protected TakeSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TakeSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected TcpListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TcpListenerImpl.frbInternalDcoDecode(raw as List); } - -@protected TcpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TcpSocketImpl.frbInternalDcoDecode(raw as List); } - -@protected TcpStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TcpStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected TryCurrentError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TryCurrentErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected TryRecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TryRecvErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected TrySendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TrySendErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected TrySendErrorSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TrySendErrorSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected TrySendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TrySendErrorTImpl.frbInternalDcoDecode(raw as List); } - -@protected UCred dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UCredImpl.frbInternalDcoDecode(raw as List); } - -@protected UdpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UdpSocketImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixDatagram dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixDatagramImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixListenerImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixSocketImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected Value dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ValueImpl.frbInternalDcoDecode(raw as List); } - -@protected ValueType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ValueTypeImpl.frbInternalDcoDecode(raw as List); } - -@protected WeakSenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WeakSenderTImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteF32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteF32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteF64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteF64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteHalfSimplexStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI128MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI16MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI8MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU128MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU16MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU8MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected CInt dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return CIntImpl.frbInternalDcoDecode(raw as List); } - -@protected GidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return GidTImpl.frbInternalDcoDecode(raw as List); } - -@protected PidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PidTImpl.frbInternalDcoDecode(raw as List); } - -@protected UidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UidTImpl.frbInternalDcoDecode(raw as List); } - -@protected Child dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ChildImpl.frbInternalDcoDecode(raw as List); } - -@protected Command dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return CommandImpl.frbInternalDcoDecode(raw as List); } - -@protected Context dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ContextImpl.frbInternalDcoDecode(raw as List); } - -@protected FacetField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FacetFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected Index dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IndexImpl.frbInternalDcoDecode(raw as List); } - -@protected IndexMetaObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IndexMetaObjectImpl.frbInternalDcoDecode(raw as List); } - -@protected Interval dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IntervalImpl.frbInternalDcoDecode(raw as List); } - -@protected IoSliceMut dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IoSliceMutImpl.frbInternalDcoDecode(raw as List); } - -@protected MinMaxField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return MinMaxFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected MinMaxFieldJson dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return MinMaxFieldJsonImpl.frbInternalDcoDecode(raw as List); } - -@protected OpenOptions dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OpenOptionsImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedReadHalf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedReadHalfImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedSemaphorePermit dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedSemaphorePermitImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadBuf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadBufImpl.frbInternalDcoDecode(raw as List); } - -@protected ReceiverT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReceiverTImpl.frbInternalDcoDecode(raw as List); } - -@protected ResultObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultObjectImpl.frbInternalDcoDecode(raw as List); } - -@protected ResultSort dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultSortImpl.frbInternalDcoDecode(raw as List); } - -@protected ReuniteError dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReuniteErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected SchemaField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SchemaFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected SenderT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SenderTImpl.frbInternalDcoDecode(raw as List); } - -@protected Signal dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SignalImpl.frbInternalDcoDecode(raw as List); } - -@protected VecT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return VecTImpl.frbInternalDcoDecode(raw as List); } - -@protected U8 dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return U8Impl.frbInternalDcoDecode(raw as List); } - -@protected ArcIndex dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ArcIndexImpl.frbInternalDcoDecode(raw as List); } - -@protected Barrier dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return BarrierImpl.frbInternalDcoDecode(raw as List); } - -@protected BarrierWaitResult dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return BarrierWaitResultImpl.frbInternalDcoDecode(raw as List); } - -@protected Child dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ChildImpl.frbInternalDcoDecode(raw as List); } - -@protected Command dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return CommandImpl.frbInternalDcoDecode(raw as List); } - -@protected Error dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected FacetField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FacetFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected Handle dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return HandleImpl.frbInternalDcoDecode(raw as List); } - -@protected Index dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IndexImpl.frbInternalDcoDecode(raw as List); } - -@protected IndexMetaObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IndexMetaObjectImpl.frbInternalDcoDecode(raw as List); } - -@protected Interval dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IntervalImpl.frbInternalDcoDecode(raw as List); } - -@protected Ipv6Addr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return Ipv6AddrImpl.frbInternalDcoDecode(raw as List); } - -@protected LocalSet dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return LocalSetImpl.frbInternalDcoDecode(raw as List); } - -@protected MinMaxField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return MinMaxFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected MinMaxFieldJson dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return MinMaxFieldJsonImpl.frbInternalDcoDecode(raw as List); } - -@protected Notify dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return NotifyImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedReadHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedReadHalfImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedSemaphorePermit dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedSemaphorePermitImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedWriteHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedWriteHalfImpl.frbInternalDcoDecode(raw as List); } - -@protected Path dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PathImpl.frbInternalDcoDecode(raw as List); } - -@protected Receiver dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReceiverImpl.frbInternalDcoDecode(raw as List); } - -@protected ReceiverT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReceiverTImpl.frbInternalDcoDecode(raw as List); } - -@protected RestoreOnPending dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RestoreOnPendingImpl.frbInternalDcoDecode(raw as List); } - -@protected ResultObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultObjectImpl.frbInternalDcoDecode(raw as List); } - -@protected ResultSort dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultSortImpl.frbInternalDcoDecode(raw as List); } - -@protected ReuniteError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReuniteErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected Runtime dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RuntimeImpl.frbInternalDcoDecode(raw as List); } - -@protected RuntimeMetrics dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RuntimeMetricsImpl.frbInternalDcoDecode(raw as List); } - -@protected SchemaField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SchemaFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected Semaphore dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SemaphoreImpl.frbInternalDcoDecode(raw as List); } - -@protected Sender dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SenderImpl.frbInternalDcoDecode(raw as List); } - -@protected SenderT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SenderTImpl.frbInternalDcoDecode(raw as List); } - -@protected SignalKind dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SignalKindImpl.frbInternalDcoDecode(raw as List); } - -@protected Sleep dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SleepImpl.frbInternalDcoDecode(raw as List); } - -@protected SocketAddr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SocketAddrImpl.frbInternalDcoDecode(raw as List); } - -@protected TcpListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TcpListenerImpl.frbInternalDcoDecode(raw as List); } - -@protected TcpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TcpSocketImpl.frbInternalDcoDecode(raw as List); } - -@protected TcpStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TcpStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected TryCurrentError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TryCurrentErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected UCred dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UCredImpl.frbInternalDcoDecode(raw as List); } - -@protected UdpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UdpSocketImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixDatagram dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixDatagramImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixListenerImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected Duration dco_decode_Chrono_Duration(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dcoDecodeDuration(dco_decode_i_64(raw).toInt()); } - -@protected BigInt dco_decode_I128(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return BigInt.parse(raw); } - -@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return Map.fromEntries(dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(raw).map((e) => MapEntry(e.$1, e.$2))); } - -@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return Map.fromEntries(dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(raw).map((e) => MapEntry(e.$1, e.$2))); } - -@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return Map.fromEntries(dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(raw).map((e) => MapEntry(e.$1, e.$2))); } - -@protected AHashMapStringFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return AHashMapStringFacetImpl.frbInternalDcoDecode(raw as List); } - -@protected AcquireError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return AcquireErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected ArcIndex dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ArcIndexImpl.frbInternalDcoDecode(raw as List); } - -@protected Barrier dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return BarrierImpl.frbInternalDcoDecode(raw as List); } - -@protected BarrierWaitResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return BarrierWaitResultImpl.frbInternalDcoDecode(raw as List); } - -@protected Child dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ChildImpl.frbInternalDcoDecode(raw as List); } - -@protected ChildStderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ChildStderrImpl.frbInternalDcoDecode(raw as List); } - -@protected ChildStdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ChildStdinImpl.frbInternalDcoDecode(raw as List); } - -@protected ChildStdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ChildStdoutImpl.frbInternalDcoDecode(raw as List); } - -@protected Command dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return CommandImpl.frbInternalDcoDecode(raw as List); } - -@protected Context dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ContextImpl.frbInternalDcoDecode(raw as List); } - -@protected DocumentItem dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return DocumentItemImpl.frbInternalDcoDecode(raw as List); } - -@protected DuplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return DuplexStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected Empty dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return EmptyImpl.frbInternalDcoDecode(raw as List); } - -@protected EnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return EnterGuardImpl.frbInternalDcoDecode(raw as List); } - -@protected Error dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected ExitStatus dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ExitStatusImpl.frbInternalDcoDecode(raw as List); } - -@protected FacetField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FacetFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected FacetFilter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FacetFilterImpl.frbInternalDcoDecode(raw as List); } - -@protected FacetValue dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FacetValueImpl.frbInternalDcoDecode(raw as List); } - -@protected File dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FileImpl.frbInternalDcoDecode(raw as List); } - -@protected FileType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FileTypeImpl.frbInternalDcoDecode(raw as List); } - -@protected FillBufSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FillBufSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected FlushSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FlushSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected FrequentwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FrequentwordTypeImpl.frbInternalDcoDecode(raw as List); } - -@protected Handle dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return HandleImpl.frbInternalDcoDecode(raw as List); } - -@protected Highlighter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return HighlighterImpl.frbInternalDcoDecode(raw as List); } - -@protected Id dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IdImpl.frbInternalDcoDecode(raw as List); } - -@protected Index dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IndexImpl.frbInternalDcoDecode(raw as List); } - -@protected IndexMapStringVecStringUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IndexMapStringVecStringUsizeImpl.frbInternalDcoDecode(raw as List); } - -@protected IndexMetaObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IndexMetaObjectImpl.frbInternalDcoDecode(raw as List); } - -@protected Instant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return InstantImpl.frbInternalDcoDecode(raw as List); } - -@protected Interest dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return InterestImpl.frbInternalDcoDecode(raw as List); } - -@protected Interval dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IntervalImpl.frbInternalDcoDecode(raw as List); } - -@protected IoSliceMut dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IoSliceMutImpl.frbInternalDcoDecode(raw as List); } - -@protected IoSlice dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return IoSliceImpl.frbInternalDcoDecode(raw as List); } - -@protected Ipv4Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return Ipv4AddrImpl.frbInternalDcoDecode(raw as List); } - -@protected Ipv6Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return Ipv6AddrImpl.frbInternalDcoDecode(raw as List); } - -@protected LinesSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return LinesSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected LocalEnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return LocalEnterGuardImpl.frbInternalDcoDecode(raw as List); } - -@protected LocalSet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return LocalSetImpl.frbInternalDcoDecode(raw as List); } - -@protected MinMaxField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return MinMaxFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected MinMaxFieldJson dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return MinMaxFieldJsonImpl.frbInternalDcoDecode(raw as List); } - -@protected Notified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return NotifiedImpl.frbInternalDcoDecode(raw as List); } - -@protected Notify dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return NotifyImpl.frbInternalDcoDecode(raw as List); } - -@protected OpenOptions dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OpenOptionsImpl.frbInternalDcoDecode(raw as List); } - -@protected Ordering dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OrderingImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedFd dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedFdImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedNotified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedNotifiedImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedPermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedPermitTImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedReadHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedReadHalfImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedSemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedSemaphorePermitImpl.frbInternalDcoDecode(raw as List); } - -@protected OwnedWriteHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return OwnedWriteHalfImpl.frbInternalDcoDecode(raw as List); } - -@protected Path dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PathImpl.frbInternalDcoDecode(raw as List); } - -@protected PdfDocument dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PdfDocumentImpl.frbInternalDcoDecode(raw as List); } - -@protected PermitIteratorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PermitIteratorTImpl.frbInternalDcoDecode(raw as List); } - -@protected PermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PermitTImpl.frbInternalDcoDecode(raw as List); } - -@protected Poll dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollImpl.frbInternalDcoDecode(raw as List); } - -@protected PollInstant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollInstantImpl.frbInternalDcoDecode(raw as List); } - -@protected PollOption dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollOptionImpl.frbInternalDcoDecode(raw as List); } - -@protected PollOptionT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollOptionTImpl.frbInternalDcoDecode(raw as List); } - -@protected PollRestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollRestoreOnPendingImpl.frbInternalDcoDecode(raw as List); } - -@protected PollResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollResultImpl.frbInternalDcoDecode(raw as List); } - -@protected PollResultSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollResultSocketAddrImpl.frbInternalDcoDecode(raw as List); } - -@protected PollResultTcpStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollResultTcpStreamSocketAddrImpl.frbInternalDcoDecode(raw as List); } - -@protected PollResultUnixStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollResultUnixStreamSocketAddrImpl.frbInternalDcoDecode(raw as List); } - -@protected PollResultUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollResultUsizeImpl.frbInternalDcoDecode(raw as List); } - -@protected PollUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PollUsizeImpl.frbInternalDcoDecode(raw as List); } - -@protected QueryFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return QueryFacetImpl.frbInternalDcoDecode(raw as List); } - -@protected QueryRewriting dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return QueryRewritingImpl.frbInternalDcoDecode(raw as List); } - -@protected Ranges dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RangesImpl.frbInternalDcoDecode(raw as List); } - -@protected RangeU64 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RangeU64Impl.frbInternalDcoDecode(raw as List); } - -@protected ReadBuf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadBufImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadF32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadF32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadF64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadF64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadHalfSimplexStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI128MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI16MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadI8MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU128MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU16MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected ReadU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadU8MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected Ready dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReadyImpl.frbInternalDcoDecode(raw as List); } - -@protected Receiver dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReceiverImpl.frbInternalDcoDecode(raw as List); } - -@protected ReceiverT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReceiverTImpl.frbInternalDcoDecode(raw as List); } - -@protected RecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RecvErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected RefT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RefTImpl.frbInternalDcoDecode(raw as List); } - -@protected Repeat dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RepeatImpl.frbInternalDcoDecode(raw as List); } - -@protected RestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RestoreOnPendingImpl.frbInternalDcoDecode(raw as List); } - -@protected Result dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultImpl.frbInternalDcoDecode(raw as List); } - -@protected ResultObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultObjectImpl.frbInternalDcoDecode(raw as List); } - -@protected ResultSort dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultSortImpl.frbInternalDcoDecode(raw as List); } - -@protected ReuniteError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ReuniteErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected Runtime dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RuntimeImpl.frbInternalDcoDecode(raw as List); } - -@protected RuntimeMetrics dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RuntimeMetricsImpl.frbInternalDcoDecode(raw as List); } - -@protected SchemaField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SchemaFieldImpl.frbInternalDcoDecode(raw as List); } - -@protected SeekFrom dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SeekFromImpl.frbInternalDcoDecode(raw as List); } - -@protected SeekSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SeekSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected Semaphore dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SemaphoreImpl.frbInternalDcoDecode(raw as List); } - -@protected SemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SemaphorePermitImpl.frbInternalDcoDecode(raw as List); } - -@protected SendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SendErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected SendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SendErrorTImpl.frbInternalDcoDecode(raw as List); } - -@protected SendTimeoutErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SendTimeoutErrorTImpl.frbInternalDcoDecode(raw as List); } - -@protected Sender dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SenderImpl.frbInternalDcoDecode(raw as List); } - -@protected SenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SenderTImpl.frbInternalDcoDecode(raw as List); } - -@protected Shutdown dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ShutdownImpl.frbInternalDcoDecode(raw as List); } - -@protected ShutdownSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ShutdownSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected Signal dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SignalImpl.frbInternalDcoDecode(raw as List); } - -@protected SignalKind dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SignalKindImpl.frbInternalDcoDecode(raw as List); } - -@protected SimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SimplexStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected Sink dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SinkImpl.frbInternalDcoDecode(raw as List); } - -@protected Sleep dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SleepImpl.frbInternalDcoDecode(raw as List); } - -@protected SocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SocketAddrImpl.frbInternalDcoDecode(raw as List); } - -@protected SplitSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SplitSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected StdCommand dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StdCommandImpl.frbInternalDcoDecode(raw as List); } - -@protected Stderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StderrImpl.frbInternalDcoDecode(raw as List); } - -@protected Stdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StdinImpl.frbInternalDcoDecode(raw as List); } - -@protected Stdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StdoutImpl.frbInternalDcoDecode(raw as List); } - -@protected StopwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StopwordTypeImpl.frbInternalDcoDecode(raw as List); } - -@protected T dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TImpl.frbInternalDcoDecode(raw as List); } - -@protected TakeSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TakeSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected TcpListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TcpListenerImpl.frbInternalDcoDecode(raw as List); } - -@protected TcpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TcpSocketImpl.frbInternalDcoDecode(raw as List); } - -@protected TcpStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TcpStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected TryCurrentError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TryCurrentErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected TryRecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TryRecvErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected TrySendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TrySendErrorImpl.frbInternalDcoDecode(raw as List); } - -@protected TrySendErrorSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TrySendErrorSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected TrySendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TrySendErrorTImpl.frbInternalDcoDecode(raw as List); } - -@protected UCred dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UCredImpl.frbInternalDcoDecode(raw as List); } - -@protected UdpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UdpSocketImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixDatagram dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixDatagramImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixListenerImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixSocketImpl.frbInternalDcoDecode(raw as List); } - -@protected UnixStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UnixStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected Value dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ValueImpl.frbInternalDcoDecode(raw as List); } - -@protected ValueType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ValueTypeImpl.frbInternalDcoDecode(raw as List); } - -@protected VecT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return VecTImpl.frbInternalDcoDecode(raw as List); } - -@protected WeakSenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WeakSenderTImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteF32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteF32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteF64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteF64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteHalfSimplexStreamImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI128MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI16MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteI8MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU128LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU128MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU16LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU16MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU32LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU32MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU64LeMutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU64MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected WriteU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return WriteU8MutSelfImpl.frbInternalDcoDecode(raw as List); } - -@protected CInt dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return CIntImpl.frbInternalDcoDecode(raw as List); } - -@protected GidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return GidTImpl.frbInternalDcoDecode(raw as List); } - -@protected PidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return PidTImpl.frbInternalDcoDecode(raw as List); } - -@protected U8 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return U8Impl.frbInternalDcoDecode(raw as List); } - -@protected UidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return UidTImpl.frbInternalDcoDecode(raw as List); } - -@protected Set dco_decode_Set_String_None(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return Set.from(dco_decode_list_String(raw)); } - -@protected String dco_decode_String(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as String; } - -@protected AsyncBufReadExt dco_decode_TraitDef_AsyncBufReadExt(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected AsyncReadExt dco_decode_TraitDef_AsyncReadExt(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected AsyncSeekExt dco_decode_TraitDef_AsyncSeekExt(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected AsyncWriteExt dco_decode_TraitDef_AsyncWriteExt(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected Close dco_decode_TraitDef_Close(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected Commit dco_decode_TraitDef_Commit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected DeleteDocument dco_decode_TraitDef_DeleteDocument(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected DeleteDocuments dco_decode_TraitDef_DeleteDocuments(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected DeleteDocumentsByQuery dco_decode_TraitDef_DeleteDocumentsByQuery(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected IndexDocument dco_decode_TraitDef_IndexDocument(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected IndexDocument2 dco_decode_TraitDef_IndexDocument2(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected IndexDocumentShard dco_decode_TraitDef_IndexDocumentShard(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected IndexDocuments dco_decode_TraitDef_IndexDocuments(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected IndexPdf dco_decode_TraitDef_IndexPdf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected IndexPdfBytes dco_decode_TraitDef_IndexPdfBytes(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected IndexPdfFile dco_decode_TraitDef_IndexPdfFile(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected IngestCsv dco_decode_TraitDef_IngestCsv(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected IngestJson dco_decode_TraitDef_IngestJson(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected IngestPdf dco_decode_TraitDef_IngestPdf(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected InternalStream dco_decode_TraitDef_InternalStream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected Search dco_decode_TraitDef_Search(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected SearchShard dco_decode_TraitDef_SearchShard(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected UpdateDocument dco_decode_TraitDef_UpdateDocument(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected UpdateDocuments dco_decode_TraitDef_UpdateDocuments(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -throw UnimplementedError(); } - -@protected BigInt dco_decode_U128(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return BigInt.parse(raw); } - -@protected AccessType dco_decode_access_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return AccessType.values[raw as int]; } - -@protected bool dco_decode_bool(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as bool; } - -@protected AHashMapStringFacet dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(raw); } - -@protected ChildStderr dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(raw); } - -@protected ChildStdin dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(raw); } - -@protected ChildStdout dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(raw); } - -@protected Error dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(raw); } - -@protected ExitStatus dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(raw); } - -@protected Highlighter dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(raw); } - -@protected Interest dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(raw); } - -@protected OwnedSemaphorePermit dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(raw); } - -@protected PidT dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(raw); } - -@protected Path dco_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(raw); } - -@protected Duration dco_decode_box_autoadd_Chrono_Duration(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_Chrono_Duration(raw); } - -@protected QueryCompletion dco_decode_box_autoadd_query_completion(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_query_completion(raw); } - -@protected (BigInt,Map) dco_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as (BigInt,Map); } - -@protected SearchFn dco_decode_box_autoadd_search_fn(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_search_fn(raw); } - -@protected SpellingCorrection dco_decode_box_autoadd_spelling_correction(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_spelling_correction(raw); } - -@protected int dco_decode_box_autoadd_u_32(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as int; } - -@protected void dco_decode_box_autoadd_unit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as void; } - -@protected BigInt dco_decode_box_autoadd_usize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dco_decode_usize(raw); } - -@protected CompressionType dco_decode_compression_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return CompressionType.values[raw as int]; } - -@protected DistanceField dco_decode_distance_field(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 4) throw Exception('unexpected arr length: expect 4 but see ${arr.length}'); - return DistanceField(field: dco_decode_String(arr[0]), -distance: dco_decode_String(arr[1]), -base: dco_decode_list_prim_f_64_strict(arr[2]), -unit: dco_decode_distance_unit(arr[3]),); } - -@protected DistanceUnit dco_decode_distance_unit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return DistanceUnit.values[raw as int]; } - -@protected double dco_decode_f_32(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as double; } - -@protected double dco_decode_f_64(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as double; } - -@protected FieldType dco_decode_field_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return FieldType.values[raw as int]; } - -@protected Highlight dco_decode_highlight(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 7) throw Exception('unexpected arr length: expect 7 but see ${arr.length}'); - return Highlight(field: dco_decode_String(arr[0]), -name: dco_decode_String(arr[1]), -fragmentNumber: dco_decode_usize(arr[2]), -fragmentSize: dco_decode_usize(arr[3]), -highlightMarkup: dco_decode_bool(arr[4]), -preTags: dco_decode_String(arr[5]), -postTags: dco_decode_String(arr[6]),); } - -@protected int dco_decode_i_16(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as int; } - -@protected int dco_decode_i_32(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as int; } - -@protected PlatformInt64 dco_decode_i_64(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dcoDecodeI64(raw); } - -@protected int dco_decode_i_8(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as int; } - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter).toList(); } - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic).toList(); } - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet).toList(); } - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult).toList(); } - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort).toList(); } - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField).toList(); } - -@protected List> dco_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None).toList(); } - -@protected List dco_decode_list_String(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_String).toList(); } - -@protected List dco_decode_list_distance_field(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_distance_field).toList(); } - -@protected List dco_decode_list_highlight(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_highlight).toList(); } - -@protected List dco_decode_list_prim_f_64_loose(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as List; } - -@protected Float64List dco_decode_list_prim_f_64_strict(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as Float64List; } - -@protected Uint64List dco_decode_list_prim_u_64_strict(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dcoDecodeUint64List(raw); } - -@protected List dco_decode_list_prim_u_8_loose(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as List; } - -@protected Uint8List dco_decode_list_prim_u_8_strict(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as Uint8List; } - -@protected Uint64List dco_decode_list_prim_usize_strict(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as Uint64List; } - -@protected List<(String,MinMaxFieldJson)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json).toList(); } - -@protected List<(String,SchemaField)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field).toList(); } - -@protected List<(String,Value)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value).toList(); } - -@protected List<(BigInt,Map)> dco_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none).toList(); } - -@protected List dco_decode_list_synonym(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return (raw as List).map(dco_decode_synonym).toList(); } - -@protected MissedTickBehavior dco_decode_missed_tick_behavior(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return MissedTickBehavior.values[raw as int]; } - -@protected NgramType dco_decode_ngram_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return NgramType.values[raw as int]; } - -@protected AHashMapStringFacet? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(raw); } - -@protected ChildStderr? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(raw); } - -@protected ChildStdin? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(raw); } - -@protected ChildStdout? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(raw); } - -@protected Error? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(raw); } - -@protected ExitStatus? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(raw); } - -@protected Highlighter? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(raw); } - -@protected Interest? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(raw); } - -@protected OwnedSemaphorePermit? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(raw); } - -@protected PidT? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(raw); } - -@protected Path? dco_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(raw); } - -@protected Duration? dco_decode_opt_box_autoadd_Chrono_Duration(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_Chrono_Duration(raw); } - -@protected QueryCompletion? dco_decode_opt_box_autoadd_query_completion(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_query_completion(raw); } - -@protected SpellingCorrection? dco_decode_opt_box_autoadd_spelling_correction(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_spelling_correction(raw); } - -@protected int? dco_decode_opt_box_autoadd_u_32(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_u_32(raw); } - -@protected void? dco_decode_opt_box_autoadd_unit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_unit(raw); } - -@protected BigInt? dco_decode_opt_box_autoadd_usize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_box_autoadd_usize(raw); } - -@protected Uint64List? dco_decode_opt_list_prim_usize_strict(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw == null ? null : dco_decode_list_prim_usize_strict(raw); } - -@protected QueryCompletion dco_decode_query_completion(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 1) throw Exception('unexpected arr length: expect 1 but see ${arr.length}'); - return QueryCompletion(maxCompletionEntries: dco_decode_usize(arr[0]),); } - -@protected QueryType dco_decode_query_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return QueryType.values[raw as int]; } - -@protected RangeType dco_decode_range_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RangeType.values[raw as int]; } - -@protected (DuplexStream,DuplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(arr[1]),); } - -@protected (OwnedReadHalf,OwnedWriteHalf) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(arr[1]),); } - -@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(arr[1]),); } - -@protected (Sender,Receiver) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(arr[1]),); } - -@protected (TcpStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(arr[1]),); } - -@protected (UnixDatagram,UnixDatagram) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(arr[1]),); } - -@protected (UnixStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(arr[1]),); } - -@protected (UnixStream,UnixStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(arr[1]),); } - -@protected (String,MinMaxFieldJson) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_String(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(arr[1]),); } - -@protected (String,SchemaField) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_String(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(arr[1]),); } - -@protected (String,Value) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_String(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(arr[1]),); } - -@protected (BigInt,Map) dco_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_u_64(arr[0]),dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(arr[1]),); } - -@protected (BigInt,SocketAddr) dco_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) { - throw Exception('Expected 2 elements, got ${arr.length}'); - } - return (dco_decode_usize(arr[0]),dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(arr[1]),); } - -@protected ResultType dco_decode_result_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return ResultType.values[raw as int]; } - -@protected RuntimeFlavor dco_decode_runtime_flavor(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return RuntimeFlavor.values[raw as int]; } - -@protected SearchFn dco_decode_search_fn(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 1) throw Exception('unexpected arr length: expect 1 but see ${arr.length}'); - return SearchFn(pathToIndex: dco_decode_String(arr[0]),); } - -@protected SimilarityType dco_decode_similarity_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SimilarityType.values[raw as int]; } - -@protected SortOrder dco_decode_sort_order(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return SortOrder.values[raw as int]; } - -@protected SpellingCorrection dco_decode_spelling_correction(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 4) throw Exception('unexpected arr length: expect 4 but see ${arr.length}'); - return SpellingCorrection(maxDictionaryEditDistance: dco_decode_usize(arr[0]), -termLengthThreshold: dco_decode_opt_list_prim_usize_strict(arr[1]), -countThreshold: dco_decode_usize(arr[2]), -maxDictionaryEntries: dco_decode_usize(arr[3]),); } - -@protected StemmerType dco_decode_stemmer_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return StemmerType.values[raw as int]; } - -@protected Synonym dco_decode_synonym(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -final arr = raw as List; - if (arr.length != 2) throw Exception('unexpected arr length: expect 2 but see ${arr.length}'); - return Synonym(terms: dco_decode_list_String(arr[0]), -multiway: dco_decode_bool(arr[1]),); } - -@protected TokenizerType dco_decode_tokenizer_type(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TokenizerType.values[raw as int]; } - -@protected TryAcquireError dco_decode_try_acquire_error(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return TryAcquireError.values[raw as int]; } - -@protected int dco_decode_u_16(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as int; } - -@protected int dco_decode_u_32(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as int; } - -@protected BigInt dco_decode_u_64(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dcoDecodeU64(raw); } - -@protected int dco_decode_u_8(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return raw as int; } - -@protected void dco_decode_unit(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return; } - -@protected BigInt dco_decode_usize(dynamic raw){ // Codec=Dco (DartCObject based), see doc to use other codecs -return dcoDecodeU64(raw); } - -@protected AnyhowException sse_decode_AnyhowException(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_String(deserializer); - return AnyhowException(inner); } - -@protected AHashMapStringFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return AHashMapStringFacetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected AcquireError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return AcquireErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ArcIndex sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ArcIndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Barrier sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return BarrierImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected BarrierWaitResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return BarrierWaitResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Child sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ChildImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ChildStderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ChildStderrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ChildStdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ChildStdinImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ChildStdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ChildStdoutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Command sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return CommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected DocumentItem sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return DocumentItemImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected DuplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return DuplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Empty sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return EmptyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected EnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return EnterGuardImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Error sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ExitStatus sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ExitStatusImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FacetField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FacetFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FacetFilter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FacetFilterImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FacetValue sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FacetValueImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected File sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FileImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FileType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FileTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FillBufSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FillBufSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FlushSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FlushSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FrequentwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FrequentwordTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Handle sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return HandleImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Highlighter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return HighlighterImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Id sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IdImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Index sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected IndexMapStringVecStringUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IndexMapStringVecStringUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected IndexMetaObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IndexMetaObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Instant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return InstantImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Interest sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return InterestImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Interval sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IntervalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected IoSlice sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IoSliceImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Ipv4Addr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return Ipv4AddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected LinesSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return LinesSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected LocalEnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return LocalEnterGuardImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected LocalSet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return LocalSetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected MinMaxField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return MinMaxFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected MinMaxFieldJson sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return MinMaxFieldJsonImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Notified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return NotifiedImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Notify sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return NotifyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OpenOptions sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OpenOptionsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Ordering sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OrderingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedFd sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedFdImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedNotified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedNotifiedImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedPermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedPermitTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedReadHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedReadHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedSemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedSemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedWriteHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedWriteHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PdfDocument sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PdfDocumentImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PermitIteratorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PermitIteratorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PermitTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Poll sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollInstant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollInstantImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollOption sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollOptionImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollOptionT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollOptionTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollRestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollRestoreOnPendingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollResultSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollResultSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollResultTcpStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollResultTcpStreamSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollResultUnixStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollResultUnixStreamSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollResultUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollResultUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected QueryFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return QueryFacetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected QueryRewriting sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return QueryRewritingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Ranges sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RangesImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RangeU64 sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RangeU64Impl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadF32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadF32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadF64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadF64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadHalfSimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Ready sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Receiver sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReceiverImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReceiverT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReceiverTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RecvErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RefT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RefTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Repeat sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RepeatImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RestoreOnPendingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Result sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ResultObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ResultObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ResultSort sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ResultSortImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReuniteError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReuniteErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Runtime sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RuntimeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RuntimeMetrics sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RuntimeMetricsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SchemaField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SchemaFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SeekFrom sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SeekFromImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SeekSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SeekSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Semaphore sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SemaphoreImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SendErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SendErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SendTimeoutErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SendTimeoutErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Sender sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SenderImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Shutdown sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ShutdownImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ShutdownSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ShutdownSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Signal sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SignalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SignalKind sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SignalKindImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Sink sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SinkImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Sleep sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SleepImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SplitSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SplitSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected StdCommand sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return StdCommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Stderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return StderrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Stdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return StdinImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Stdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return StdoutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected StopwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return StopwordTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected T sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TakeSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TakeSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TcpListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TcpListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TcpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TcpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TcpStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TcpStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TryCurrentError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TryCurrentErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TryRecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TryRecvErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TrySendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TrySendErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TrySendErrorSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TrySendErrorSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TrySendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TrySendErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UCred sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UCredImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UdpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UdpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixDatagram sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixDatagramImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Value sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ValueImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ValueType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ValueTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WeakSenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WeakSenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteF32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteF32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteF64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteF64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteHalfSimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected CInt sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return CIntImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected GidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return GidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Child sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ChildImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Command sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return CommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Context sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ContextImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FacetField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FacetFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Index sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected IndexMetaObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IndexMetaObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Interval sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IntervalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected IoSliceMut sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IoSliceMutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected MinMaxField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return MinMaxFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected MinMaxFieldJson sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return MinMaxFieldJsonImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OpenOptions sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OpenOptionsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedReadHalf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedReadHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedSemaphorePermit sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedSemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadBuf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadBufImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReceiverT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReceiverTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ResultObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ResultObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ResultSort sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ResultSortImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReuniteError sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReuniteErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SchemaField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SchemaFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SenderT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Signal sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SignalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected VecT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return VecTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected U8 sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return U8Impl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ArcIndex sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ArcIndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Barrier sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return BarrierImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected BarrierWaitResult sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return BarrierWaitResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Child sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ChildImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Command sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return CommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Error sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FacetField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FacetFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Handle sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return HandleImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Index sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected IndexMetaObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IndexMetaObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Interval sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IntervalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Ipv6Addr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return Ipv6AddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected LocalSet sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return LocalSetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected MinMaxField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return MinMaxFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected MinMaxFieldJson sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return MinMaxFieldJsonImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Notify sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return NotifyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedReadHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedReadHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedSemaphorePermit sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedSemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedWriteHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedWriteHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Path sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PathImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Receiver sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReceiverImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReceiverT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReceiverTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RestoreOnPending sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RestoreOnPendingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ResultObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ResultObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ResultSort sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ResultSortImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReuniteError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReuniteErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Runtime sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RuntimeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RuntimeMetrics sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RuntimeMetricsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SchemaField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SchemaFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Semaphore sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SemaphoreImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Sender sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SenderImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SenderT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SignalKind sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SignalKindImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Sleep sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SleepImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SocketAddr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TcpListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TcpListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TcpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TcpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TcpStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TcpStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TryCurrentError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TryCurrentErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UCred sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UCredImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UdpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UdpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixDatagram sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixDatagramImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Duration sse_decode_Chrono_Duration(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_64(deserializer); - return Duration(microseconds: inner.toInt()); } - -@protected BigInt sse_decode_I128(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_String(deserializer); - return BigInt.parse(inner); } - -@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(deserializer); - return Map.fromEntries(inner.map((e) => MapEntry(e.$1, e.$2))); } - -@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(deserializer); - return Map.fromEntries(inner.map((e) => MapEntry(e.$1, e.$2))); } - -@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(deserializer); - return Map.fromEntries(inner.map((e) => MapEntry(e.$1, e.$2))); } - -@protected AHashMapStringFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return AHashMapStringFacetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected AcquireError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return AcquireErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ArcIndex sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ArcIndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Barrier sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return BarrierImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected BarrierWaitResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return BarrierWaitResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Child sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ChildImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ChildStderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ChildStderrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ChildStdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ChildStdinImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ChildStdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ChildStdoutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Command sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return CommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Context sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ContextImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected DocumentItem sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return DocumentItemImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected DuplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return DuplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Empty sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return EmptyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected EnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return EnterGuardImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Error sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ExitStatus sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ExitStatusImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FacetField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FacetFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FacetFilter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FacetFilterImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FacetValue sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FacetValueImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected File sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FileImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FileType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FileTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FillBufSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FillBufSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FlushSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FlushSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected FrequentwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return FrequentwordTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Handle sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return HandleImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Highlighter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return HighlighterImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Id sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IdImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Index sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IndexImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected IndexMapStringVecStringUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IndexMapStringVecStringUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected IndexMetaObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IndexMetaObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Instant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return InstantImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Interest sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return InterestImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Interval sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IntervalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected IoSliceMut sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IoSliceMutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected IoSlice sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return IoSliceImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Ipv4Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return Ipv4AddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Ipv6Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return Ipv6AddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected LinesSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return LinesSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected LocalEnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return LocalEnterGuardImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected LocalSet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return LocalSetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected MinMaxField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return MinMaxFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected MinMaxFieldJson sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return MinMaxFieldJsonImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Notified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return NotifiedImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Notify sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return NotifyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OpenOptions sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OpenOptionsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Ordering sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OrderingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedFd sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedFdImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedNotified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedNotifiedImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedPermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedPermitTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedReadHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedReadHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedSemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedSemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected OwnedWriteHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return OwnedWriteHalfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Path sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PathImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PdfDocument sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PdfDocumentImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PermitIteratorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PermitIteratorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PermitTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Poll sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollInstant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollInstantImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollOption sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollOptionImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollOptionT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollOptionTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollRestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollRestoreOnPendingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollResultSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollResultSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollResultTcpStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollResultTcpStreamSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollResultUnixStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollResultUnixStreamSocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollResultUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollResultUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PollUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PollUsizeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected QueryFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return QueryFacetImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected QueryRewriting sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return QueryRewritingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Ranges sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RangesImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RangeU64 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RangeU64Impl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadBuf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadBufImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadF32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadF32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadF64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadF64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadHalfSimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadI8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReadU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadU8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Ready sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReadyImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Receiver sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReceiverImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReceiverT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReceiverTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RecvErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RefT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RefTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Repeat sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RepeatImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RestoreOnPendingImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Result sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ResultImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ResultObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ResultObjectImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ResultSort sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ResultSortImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ReuniteError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ReuniteErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Runtime sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RuntimeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected RuntimeMetrics sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return RuntimeMetricsImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SchemaField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SchemaFieldImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SeekFrom sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SeekFromImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SeekSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SeekSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Semaphore sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SemaphoreImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SemaphorePermitImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SendErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SendErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SendTimeoutErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SendTimeoutErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Sender sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SenderImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Shutdown sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ShutdownImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ShutdownSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ShutdownSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Signal sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SignalImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SignalKind sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SignalKindImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Sink sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SinkImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Sleep sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SleepImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SocketAddrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected SplitSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return SplitSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected StdCommand sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return StdCommandImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Stderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return StderrImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Stdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return StdinImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Stdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return StdoutImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected StopwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return StopwordTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected T sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TakeSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TakeSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TcpListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TcpListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TcpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TcpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TcpStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TcpStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TryCurrentError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TryCurrentErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TryRecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TryRecvErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TrySendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TrySendErrorImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TrySendErrorSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TrySendErrorSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected TrySendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return TrySendErrorTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UCred sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UCredImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UdpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UdpSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixDatagram sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixDatagramImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixListenerImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixSocketImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UnixStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UnixStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Value sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ValueImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected ValueType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return ValueTypeImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected VecT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return VecTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WeakSenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WeakSenderTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteF32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteF32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteF64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteF64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteHalfSimplexStreamImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteI8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU128LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU128MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU16LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU16MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU32LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU32MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU64LeMutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU64MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected WriteU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return WriteU8MutSelfImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected CInt sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return CIntImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected GidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return GidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected PidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return PidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected U8 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return U8Impl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected UidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return UidTImpl.frbInternalSseDecode(sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - -@protected Set sse_decode_Set_String_None(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_list_String(deserializer); - return Set.from(inner); } - -@protected String sse_decode_String(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_list_prim_u_8_strict(deserializer); - return utf8.decoder.convert(inner); } - -@protected BigInt sse_decode_U128(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_String(deserializer); - return BigInt.parse(inner); } - -@protected AccessType sse_decode_access_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return AccessType.values[inner]; } - -@protected bool sse_decode_bool(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getUint8() != 0; } - -@protected AHashMapStringFacet sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(deserializer)); } - -@protected ChildStderr sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(deserializer)); } - -@protected ChildStdin sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(deserializer)); } - -@protected ChildStdout sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(deserializer)); } - -@protected Error sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(deserializer)); } - -@protected ExitStatus sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(deserializer)); } - -@protected Highlighter sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(deserializer)); } - -@protected Interest sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(deserializer)); } - -@protected OwnedSemaphorePermit sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(deserializer)); } - -@protected PidT sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(deserializer)); } - -@protected Path sse_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(deserializer)); } - -@protected Duration sse_decode_box_autoadd_Chrono_Duration(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_Chrono_Duration(deserializer)); } - -@protected QueryCompletion sse_decode_box_autoadd_query_completion(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_query_completion(deserializer)); } - -@protected (BigInt,Map) sse_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(deserializer)); } - -@protected SearchFn sse_decode_box_autoadd_search_fn(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_search_fn(deserializer)); } - -@protected SpellingCorrection sse_decode_box_autoadd_spelling_correction(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_spelling_correction(deserializer)); } - -@protected int sse_decode_box_autoadd_u_32(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_u_32(deserializer)); } - -@protected void sse_decode_box_autoadd_unit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_unit(deserializer)); } - -@protected BigInt sse_decode_box_autoadd_usize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return (sse_decode_usize(deserializer)); } - -@protected CompressionType sse_decode_compression_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return CompressionType.values[inner]; } - -@protected DistanceField sse_decode_distance_field(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field = sse_decode_String(deserializer); -var var_distance = sse_decode_String(deserializer); -var var_base = sse_decode_list_prim_f_64_strict(deserializer); -var var_unit = sse_decode_distance_unit(deserializer); -return DistanceField(field: var_field, distance: var_distance, base: var_base, unit: var_unit); } - -@protected DistanceUnit sse_decode_distance_unit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return DistanceUnit.values[inner]; } - -@protected double sse_decode_f_32(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getFloat32(); } - -@protected double sse_decode_f_64(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getFloat64(); } - -@protected FieldType sse_decode_field_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return FieldType.values[inner]; } - -@protected Highlight sse_decode_highlight(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field = sse_decode_String(deserializer); -var var_name = sse_decode_String(deserializer); -var var_fragmentNumber = sse_decode_usize(deserializer); -var var_fragmentSize = sse_decode_usize(deserializer); -var var_highlightMarkup = sse_decode_bool(deserializer); -var var_preTags = sse_decode_String(deserializer); -var var_postTags = sse_decode_String(deserializer); -return Highlight(field: var_field, name: var_name, fragmentNumber: var_fragmentNumber, fragmentSize: var_fragmentSize, highlightMarkup: var_highlightMarkup, preTags: var_preTags, postTags: var_postTags); } - -@protected int sse_decode_i_16(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getInt16(); } - -@protected int sse_decode_i_32(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getInt32(); } - -@protected PlatformInt64 sse_decode_i_64(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getPlatformInt64(); } - -@protected int sse_decode_i_8(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getInt8(); } - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = []; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(deserializer)); } - return ans_; - } - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = []; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(deserializer)); } - return ans_; - } - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = []; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(deserializer)); } - return ans_; - } - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = []; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(deserializer)); } - return ans_; - } - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = []; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(deserializer)); } - return ans_; - } - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = []; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(deserializer)); } - return ans_; - } - -@protected List> sse_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = >[]; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(deserializer)); } - return ans_; - } - -@protected List sse_decode_list_String(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = []; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_String(deserializer)); } - return ans_; - } - -@protected List sse_decode_list_distance_field(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = []; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_distance_field(deserializer)); } - return ans_; - } - -@protected List sse_decode_list_highlight(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = []; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_highlight(deserializer)); } - return ans_; - } - -@protected List sse_decode_list_prim_f_64_loose(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var len_ = sse_decode_i_32(deserializer); - return deserializer.buffer.getFloat64List(len_); } - -@protected Float64List sse_decode_list_prim_f_64_strict(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var len_ = sse_decode_i_32(deserializer); - return deserializer.buffer.getFloat64List(len_); } - -@protected Uint64List sse_decode_list_prim_u_64_strict(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var len_ = sse_decode_i_32(deserializer); - return deserializer.buffer.getUint64List(len_); } - -@protected List sse_decode_list_prim_u_8_loose(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var len_ = sse_decode_i_32(deserializer); - return deserializer.buffer.getUint8List(len_); } - -@protected Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var len_ = sse_decode_i_32(deserializer); - return deserializer.buffer.getUint8List(len_); } - -@protected Uint64List sse_decode_list_prim_usize_strict(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var len_ = sse_decode_i_32(deserializer); - return deserializer.buffer.getUint64List(len_); } - -@protected List<(String,MinMaxFieldJson)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = <(String,MinMaxFieldJson)>[]; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(deserializer)); } - return ans_; - } - -@protected List<(String,SchemaField)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = <(String,SchemaField)>[]; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(deserializer)); } - return ans_; - } - -@protected List<(String,Value)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = <(String,Value)>[]; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(deserializer)); } - return ans_; - } - -@protected List<(BigInt,Map)> sse_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = <(BigInt,Map)>[]; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(deserializer)); } - return ans_; - } - -@protected List sse_decode_list_synonym(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - var len_ = sse_decode_i_32(deserializer); - var ans_ = []; - for (var idx_ = 0; idx_ < len_; ++idx_) { ans_.add(sse_decode_synonym(deserializer)); } - return ans_; - } - -@protected MissedTickBehavior sse_decode_missed_tick_behavior(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return MissedTickBehavior.values[inner]; } - -@protected NgramType sse_decode_ngram_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return NgramType.values[inner]; } - -@protected AHashMapStringFacet? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(deserializer)); - } else { - return null; - } - } - -@protected ChildStderr? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(deserializer)); - } else { - return null; - } - } - -@protected ChildStdin? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(deserializer)); - } else { - return null; - } - } - -@protected ChildStdout? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(deserializer)); - } else { - return null; - } - } - -@protected Error? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(deserializer)); - } else { - return null; - } - } - -@protected ExitStatus? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(deserializer)); - } else { - return null; - } - } - -@protected Highlighter? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(deserializer)); - } else { - return null; - } - } - -@protected Interest? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(deserializer)); - } else { - return null; - } - } - -@protected OwnedSemaphorePermit? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(deserializer)); - } else { - return null; - } - } - -@protected PidT? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(deserializer)); - } else { - return null; - } - } - -@protected Path? sse_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(deserializer)); - } else { - return null; - } - } - -@protected Duration? sse_decode_opt_box_autoadd_Chrono_Duration(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_Chrono_Duration(deserializer)); - } else { - return null; - } - } - -@protected QueryCompletion? sse_decode_opt_box_autoadd_query_completion(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_query_completion(deserializer)); - } else { - return null; - } - } - -@protected SpellingCorrection? sse_decode_opt_box_autoadd_spelling_correction(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_spelling_correction(deserializer)); - } else { - return null; - } - } - -@protected int? sse_decode_opt_box_autoadd_u_32(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_u_32(deserializer)); - } else { - return null; - } - } - -@protected void? sse_decode_opt_box_autoadd_unit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_unit(deserializer)); - } else { - return null; - } - } - -@protected BigInt? sse_decode_opt_box_autoadd_usize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_box_autoadd_usize(deserializer)); - } else { - return null; - } - } - -@protected Uint64List? sse_decode_opt_list_prim_usize_strict(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - if (sse_decode_bool(deserializer)) { - return (sse_decode_list_prim_usize_strict(deserializer)); - } else { - return null; - } - } - -@protected QueryCompletion sse_decode_query_completion(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_maxCompletionEntries = sse_decode_usize(deserializer); -return QueryCompletion(maxCompletionEntries: var_maxCompletionEntries); } - -@protected QueryType sse_decode_query_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return QueryType.values[inner]; } - -@protected RangeType sse_decode_range_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return RangeType.values[inner]; } - -@protected (DuplexStream,DuplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(deserializer); -return (var_field0, var_field1); } - -@protected (OwnedReadHalf,OwnedWriteHalf) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(deserializer); -return (var_field0, var_field1); } - -@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(deserializer); -return (var_field0, var_field1); } - -@protected (Sender,Receiver) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(deserializer); -return (var_field0, var_field1); } - -@protected (TcpStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(deserializer); -return (var_field0, var_field1); } - -@protected (UnixDatagram,UnixDatagram) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(deserializer); -return (var_field0, var_field1); } - -@protected (UnixStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(deserializer); -return (var_field0, var_field1); } - -@protected (UnixStream,UnixStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(deserializer); -return (var_field0, var_field1); } - -@protected (String,MinMaxFieldJson) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_String(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(deserializer); -return (var_field0, var_field1); } - -@protected (String,SchemaField) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_String(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(deserializer); -return (var_field0, var_field1); } - -@protected (String,Value) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_String(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(deserializer); -return (var_field0, var_field1); } - -@protected (BigInt,Map) sse_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_u_64(deserializer); -var var_field1 = sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(deserializer); -return (var_field0, var_field1); } - -@protected (BigInt,SocketAddr) sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_field0 = sse_decode_usize(deserializer); -var var_field1 = sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(deserializer); -return (var_field0, var_field1); } - -@protected ResultType sse_decode_result_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return ResultType.values[inner]; } - -@protected RuntimeFlavor sse_decode_runtime_flavor(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return RuntimeFlavor.values[inner]; } - -@protected SearchFn sse_decode_search_fn(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_pathToIndex = sse_decode_String(deserializer); -return SearchFn(pathToIndex: var_pathToIndex); } - -@protected SimilarityType sse_decode_similarity_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return SimilarityType.values[inner]; } - -@protected SortOrder sse_decode_sort_order(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return SortOrder.values[inner]; } - -@protected SpellingCorrection sse_decode_spelling_correction(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_maxDictionaryEditDistance = sse_decode_usize(deserializer); -var var_termLengthThreshold = sse_decode_opt_list_prim_usize_strict(deserializer); -var var_countThreshold = sse_decode_usize(deserializer); -var var_maxDictionaryEntries = sse_decode_usize(deserializer); -return SpellingCorrection(maxDictionaryEditDistance: var_maxDictionaryEditDistance, termLengthThreshold: var_termLengthThreshold, countThreshold: var_countThreshold, maxDictionaryEntries: var_maxDictionaryEntries); } - -@protected StemmerType sse_decode_stemmer_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return StemmerType.values[inner]; } - -@protected Synonym sse_decode_synonym(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var var_terms = sse_decode_list_String(deserializer); -var var_multiway = sse_decode_bool(deserializer); -return Synonym(terms: var_terms, multiway: var_multiway); } - -@protected TokenizerType sse_decode_tokenizer_type(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return TokenizerType.values[inner]; } - -@protected TryAcquireError sse_decode_try_acquire_error(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -var inner = sse_decode_i_32(deserializer); - return TryAcquireError.values[inner]; } - -@protected int sse_decode_u_16(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getUint16(); } - -@protected int sse_decode_u_32(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getUint32(); } - -@protected BigInt sse_decode_u_64(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getBigUint64(); } - -@protected int sse_decode_u_8(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getUint8(); } - -@protected void sse_decode_unit(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs - } - -@protected BigInt sse_decode_usize(SseDeserializer deserializer){ // Codec=Sse (Serialization based), see doc to use other codecs -return deserializer.buffer.getBigUint64(); } - -@protected void sse_encode_AnyhowException(AnyhowException self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_String(self.message, serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as AHashMapStringFacetImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as AcquireErrorImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ArcIndexImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as BarrierImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as BarrierWaitResultImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ChildImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ChildStderrImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ChildStdinImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ChildStdoutImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as CommandImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as DocumentItemImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as DuplexStreamImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as EmptyImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as EnterGuardImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ErrorImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ExitStatusImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FacetFieldImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FacetFilterImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FacetValueImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FileImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FileTypeImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FillBufSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FlushSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FrequentwordTypeImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as HandleImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as HighlighterImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IdImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IndexImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IndexMapStringVecStringUsizeImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IndexMetaObjectImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as InstantImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as InterestImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IntervalImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IoSliceImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as Ipv4AddrImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as LinesSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as LocalEnterGuardImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as LocalSetImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as MinMaxFieldImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as MinMaxFieldJsonImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as NotifiedImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as NotifyImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OpenOptionsImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OrderingImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedFdImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedNotifiedImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedPermitTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedReadHalfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedSemaphorePermitImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedWriteHalfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PdfDocumentImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PermitIteratorTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PermitTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollInstantImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollOptionImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollOptionTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollRestoreOnPendingImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollResultImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollResultSocketAddrImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollResultTcpStreamSocketAddrImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollResultUnixStreamSocketAddrImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollResultUsizeImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollUsizeImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as QueryFacetImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as QueryRewritingImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RangesImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RangeU64Impl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadF32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadF32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadF64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadF64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadHalfSimplexStreamImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI128LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI128MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI16LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI16MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI8MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU128LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU128MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU16LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU16MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU8MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadyImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReceiverImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReceiverTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RecvErrorImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RefTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RepeatImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RestoreOnPendingImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ResultImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ResultObjectImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ResultSortImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReuniteErrorImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RuntimeImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RuntimeMetricsImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SchemaFieldImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SeekFromImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SeekSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SemaphoreImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SemaphorePermitImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SendErrorImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SendErrorTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SendTimeoutErrorTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SenderImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SenderTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ShutdownImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ShutdownSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SignalImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SignalKindImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SimplexStreamImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SinkImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SleepImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SocketAddrImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SplitSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as StdCommandImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as StderrImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as StdinImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as StdoutImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as StopwordTypeImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TakeSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TcpListenerImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TcpSocketImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TcpStreamImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TryCurrentErrorImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TryRecvErrorImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TrySendErrorImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TrySendErrorSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TrySendErrorTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UCredImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UdpSocketImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixDatagramImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixListenerImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixSocketImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixStreamImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ValueImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ValueTypeImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WeakSenderTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteF32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteF32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteF64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteF64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteHalfSimplexStreamImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI128LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI128MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI16LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI16MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI8MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU128LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU128MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU16LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU16MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU32LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU32MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU64LeMutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU64MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU8MutSelfImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as CIntImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as GidTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PidTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UidTImpl).frbInternalSseEncode(move: true), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ChildImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as CommandImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ContextImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FacetFieldImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IndexImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IndexMetaObjectImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IntervalImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IoSliceMutImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as MinMaxFieldImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as MinMaxFieldJsonImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OpenOptionsImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedReadHalfImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedSemaphorePermitImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadBufImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReceiverTImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ResultObjectImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ResultSortImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReuniteErrorImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SchemaFieldImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SenderTImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SignalImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as VecTImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as U8Impl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ArcIndexImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as BarrierImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as BarrierWaitResultImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ChildImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as CommandImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ErrorImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FacetFieldImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as HandleImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IndexImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IndexMetaObjectImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IntervalImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as Ipv6AddrImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as LocalSetImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as MinMaxFieldImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as MinMaxFieldJsonImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as NotifyImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedReadHalfImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedSemaphorePermitImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedWriteHalfImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PathImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReceiverImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReceiverTImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RestoreOnPendingImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ResultObjectImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ResultSortImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReuniteErrorImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RuntimeImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RuntimeMetricsImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SchemaFieldImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SemaphoreImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SenderImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SenderTImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SignalKindImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SleepImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SocketAddrImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TcpListenerImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TcpSocketImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TcpStreamImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TryCurrentErrorImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UCredImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UdpSocketImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixDatagramImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixListenerImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixStreamImpl).frbInternalSseEncode(move: false), serializer); } - -@protected void sse_encode_Chrono_Duration(Duration self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_64(PlatformInt64Util.from(self.inMicroseconds), serializer); } - -@protected void sse_encode_I128(BigInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_String(self.toString(), serializer); } - -@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(Map self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(self.entries.map((e) => (e.key, e.value)).toList(), serializer); } - -@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(Map self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(self.entries.map((e) => (e.key, e.value)).toList(), serializer); } - -@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(Map self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(self.entries.map((e) => (e.key, e.value)).toList(), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as AHashMapStringFacetImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as AcquireErrorImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ArcIndexImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as BarrierImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as BarrierWaitResultImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ChildImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ChildStderrImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ChildStdinImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ChildStdoutImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as CommandImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ContextImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as DocumentItemImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as DuplexStreamImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as EmptyImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as EnterGuardImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ErrorImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ExitStatusImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FacetFieldImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FacetFilterImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FacetValueImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FileImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FileTypeImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FillBufSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FlushSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as FrequentwordTypeImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as HandleImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as HighlighterImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IdImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IndexImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IndexMapStringVecStringUsizeImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IndexMetaObjectImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as InstantImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as InterestImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IntervalImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IoSliceMutImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as IoSliceImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as Ipv4AddrImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as Ipv6AddrImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as LinesSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as LocalEnterGuardImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as LocalSetImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as MinMaxFieldImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as MinMaxFieldJsonImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as NotifiedImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as NotifyImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OpenOptionsImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OrderingImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedFdImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedNotifiedImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedPermitTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedReadHalfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedSemaphorePermitImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as OwnedWriteHalfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PathImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PdfDocumentImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PermitIteratorTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PermitTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollInstantImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollOptionImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollOptionTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollRestoreOnPendingImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollResultImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollResultSocketAddrImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollResultTcpStreamSocketAddrImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollResultUnixStreamSocketAddrImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollResultUsizeImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PollUsizeImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as QueryFacetImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as QueryRewritingImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RangesImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RangeU64Impl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadBufImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadF32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadF32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadF64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadF64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadHalfSimplexStreamImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI128LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI128MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI16LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI16MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadI8MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU128LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU128MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU16LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU16MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadU8MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReadyImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReceiverImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReceiverTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RecvErrorImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RefTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RepeatImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RestoreOnPendingImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ResultImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ResultObjectImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ResultSortImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ReuniteErrorImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RuntimeImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as RuntimeMetricsImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SchemaFieldImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SeekFromImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SeekSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SemaphoreImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SemaphorePermitImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SendErrorImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SendErrorTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SendTimeoutErrorTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SenderImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SenderTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ShutdownImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ShutdownSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SignalImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SignalKindImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SimplexStreamImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SinkImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SleepImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SocketAddrImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as SplitSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as StdCommandImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as StderrImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as StdinImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as StdoutImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as StopwordTypeImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TakeSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TcpListenerImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TcpSocketImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TcpStreamImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TryCurrentErrorImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TryRecvErrorImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TrySendErrorImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TrySendErrorSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as TrySendErrorTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UCredImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UdpSocketImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixDatagramImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixListenerImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixSocketImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UnixStreamImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ValueImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as ValueTypeImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as VecTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WeakSenderTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteF32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteF32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteF64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteF64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteHalfSimplexStreamImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI128LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI128MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI16LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI16MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteI8MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU128LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU128MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU16LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU16MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU32LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU32MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU64LeMutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU64MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as WriteU8MutSelfImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as CIntImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as GidTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as PidTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as U8Impl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize((self as UidTImpl).frbInternalSseEncode(move: null), serializer); } - -@protected void sse_encode_Set_String_None(Set self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_list_String(self.toList(), serializer); } - -@protected void sse_encode_String(String self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_list_prim_u_8_strict(utf8.encoder.convert(self), serializer); } - -@protected void sse_encode_U128(BigInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_String(self.toString(), serializer); } - -@protected void sse_encode_access_type(AccessType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_bool(bool self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putUint8(self ? 1 : 0); } - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(self, serializer); } - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(self, serializer); } - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(self, serializer); } - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(self, serializer); } - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(self, serializer); } - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(self, serializer); } - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(self, serializer); } - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(self, serializer); } - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(self, serializer); } - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(self, serializer); } - -@protected void sse_encode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(self, serializer); } - -@protected void sse_encode_box_autoadd_Chrono_Duration(Duration self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Chrono_Duration(self, serializer); } - -@protected void sse_encode_box_autoadd_query_completion(QueryCompletion self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_query_completion(self, serializer); } - -@protected void sse_encode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(self, serializer); } - -@protected void sse_encode_box_autoadd_search_fn(SearchFn self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_search_fn(self, serializer); } - -@protected void sse_encode_box_autoadd_spelling_correction(SpellingCorrection self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_spelling_correction(self, serializer); } - -@protected void sse_encode_box_autoadd_u_32(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_u_32(self, serializer); } - -@protected void sse_encode_box_autoadd_unit(void self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_unit(self, serializer); } - -@protected void sse_encode_box_autoadd_usize(BigInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize(self, serializer); } - -@protected void sse_encode_compression_type(CompressionType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_distance_field(DistanceField self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_String(self.field, serializer); -sse_encode_String(self.distance, serializer); -sse_encode_list_prim_f_64_strict(self.base, serializer); -sse_encode_distance_unit(self.unit, serializer); - } - -@protected void sse_encode_distance_unit(DistanceUnit self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_f_32(double self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putFloat32(self); } - -@protected void sse_encode_f_64(double self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putFloat64(self); } - -@protected void sse_encode_field_type(FieldType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_highlight(Highlight self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_String(self.field, serializer); -sse_encode_String(self.name, serializer); -sse_encode_usize(self.fragmentNumber, serializer); -sse_encode_usize(self.fragmentSize, serializer); -sse_encode_bool(self.highlightMarkup, serializer); -sse_encode_String(self.preTags, serializer); -sse_encode_String(self.postTags, serializer); - } - -@protected void sse_encode_i_16(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putInt16(self); } - -@protected void sse_encode_i_32(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putInt32(self); } - -@protected void sse_encode_i_64(PlatformInt64 self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putPlatformInt64(self); } - -@protected void sse_encode_i_8(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putInt8(self); } - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(item, serializer); } } - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(item, serializer); } } - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(item, serializer); } } - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(item, serializer); } } - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(item, serializer); } } - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(item, serializer); } } - -@protected void sse_encode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(List> self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(item, serializer); } } - -@protected void sse_encode_list_String(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_String(item, serializer); } } - -@protected void sse_encode_list_distance_field(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_distance_field(item, serializer); } } - -@protected void sse_encode_list_highlight(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_highlight(item, serializer); } } - -@protected void sse_encode_list_prim_f_64_loose(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - serializer.buffer.putFloat64List(self is Float64List ? self : Float64List.fromList(self)); } - -@protected void sse_encode_list_prim_f_64_strict(Float64List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - serializer.buffer.putFloat64List(self); } - -@protected void sse_encode_list_prim_u_64_strict(Uint64List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - serializer.buffer.putUint64List(self); } - -@protected void sse_encode_list_prim_u_8_loose(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - serializer.buffer.putUint8List(self is Uint8List ? self : Uint8List.fromList(self)); } - -@protected void sse_encode_list_prim_u_8_strict(Uint8List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - serializer.buffer.putUint8List(self); } - -@protected void sse_encode_list_prim_usize_strict(Uint64List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - serializer.buffer.putUint64List(self); } - -@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(List<(String,MinMaxFieldJson)> self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(item, serializer); } } - -@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(List<(String,SchemaField)> self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(item, serializer); } } - -@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(List<(String,Value)> self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(item, serializer); } } - -@protected void sse_encode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(List<(BigInt,Map)> self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(item, serializer); } } - -@protected void sse_encode_list_synonym(List self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.length, serializer); - for (final item in self) { sse_encode_synonym(item, serializer); } } - -@protected void sse_encode_missed_tick_behavior(MissedTickBehavior self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_ngram_type(NgramType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_Chrono_Duration(Duration? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_Chrono_Duration(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_query_completion(QueryCompletion? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_query_completion(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_spelling_correction(SpellingCorrection? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_spelling_correction(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_u_32(int? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_u_32(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_unit(void? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_unit(self, serializer); - } - } - -@protected void sse_encode_opt_box_autoadd_usize(BigInt? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_box_autoadd_usize(self, serializer); - } - } - -@protected void sse_encode_opt_list_prim_usize_strict(Uint64List? self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - - sse_encode_bool(self != null, serializer); - if (self != null) { - sse_encode_list_prim_usize_strict(self, serializer); - } - } - -@protected void sse_encode_query_completion(QueryCompletion self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize(self.maxCompletionEntries, serializer); - } - -@protected void sse_encode_query_type(QueryType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_range_type(RangeType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream((DuplexStream,DuplexStream) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(self.$2, serializer); - } - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half((OwnedReadHalf,OwnedWriteHalf) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(self.$2, serializer); - } - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream((ReadHalfSimplexStream,WriteHalfSimplexStream) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(self.$2, serializer); - } - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver((Sender,Receiver) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(self.$2, serializer); - } - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((TcpStream,SocketAddr) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(self.$2, serializer); - } - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram((UnixDatagram,UnixDatagram) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(self.$2, serializer); - } - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((UnixStream,SocketAddr) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(self.$2, serializer); - } - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream((UnixStream,UnixStream) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(self.$2, serializer); - } - -@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json((String,MinMaxFieldJson) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_String(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(self.$2, serializer); - } - -@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field((String,SchemaField) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_String(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(self.$2, serializer); - } - -@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value((String,Value) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_String(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(self.$2, serializer); - } - -@protected void sse_encode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_u_64(self.$1, serializer); -sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(self.$2, serializer); - } - -@protected void sse_encode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((BigInt,SocketAddr) self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize(self.$1, serializer); -sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(self.$2, serializer); - } - -@protected void sse_encode_result_type(ResultType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_runtime_flavor(RuntimeFlavor self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_search_fn(SearchFn self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_String(self.pathToIndex, serializer); - } - -@protected void sse_encode_similarity_type(SimilarityType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_sort_order(SortOrder self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_spelling_correction(SpellingCorrection self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_usize(self.maxDictionaryEditDistance, serializer); -sse_encode_opt_list_prim_usize_strict(self.termLengthThreshold, serializer); -sse_encode_usize(self.countThreshold, serializer); -sse_encode_usize(self.maxDictionaryEntries, serializer); - } - -@protected void sse_encode_stemmer_type(StemmerType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_synonym(Synonym self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_list_String(self.terms, serializer); -sse_encode_bool(self.multiway, serializer); - } - -@protected void sse_encode_tokenizer_type(TokenizerType self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_try_acquire_error(TryAcquireError self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -sse_encode_i_32(self.index, serializer); } - -@protected void sse_encode_u_16(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putUint16(self); } - -@protected void sse_encode_u_32(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putUint32(self); } - -@protected void sse_encode_u_64(BigInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putBigUint64(self); } - -@protected void sse_encode_u_8(int self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putUint8(self); } - -@protected void sse_encode_unit(void self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs - } - -@protected void sse_encode_usize(BigInt self, SseSerializer serializer){ // Codec=Sse (Serialization based), see doc to use other codecs -serializer.buffer.putBigUint64(self); } - } - - - @sealed class AHashMapStringFacetImpl extends RustOpaque implements AHashMapStringFacet { - // Not to be used by end users - AHashMapStringFacetImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - AHashMapStringFacetImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_AHashMapStringFacet, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_AHashMapStringFacet, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_AHashMapStringFacetPtr, - ); - - - } - @sealed class AcquireErrorImpl extends RustOpaque implements AcquireError { - // Not to be used by end users - AcquireErrorImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - AcquireErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_AcquireError, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_AcquireError, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_AcquireErrorPtr, - ); - - - } - @sealed class ArcIndexImpl extends RustOpaque implements ArcIndex { - // Not to be used by end users - ArcIndexImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ArcIndexImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ArcIndex, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ArcIndex, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ArcIndexPtr, - ); - - - } - @sealed class BarrierImpl extends RustOpaque implements Barrier { - // Not to be used by end users - BarrierImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - BarrierImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Barrier, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Barrier, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_BarrierPtr, - ); - - /// Does not resolve until all tasks have rendezvoused here. -/// -/// Barriers are re-usable after all tasks have rendezvoused once, and can -/// be used continuously. -/// -/// A single (arbitrary) future will receive a [`BarrierWaitResult`] that returns `true` from -/// [`BarrierWaitResult::is_leader`] when returning from this function, and all other tasks -/// will receive a result that will return `false` from `is_leader`. -/// -/// # Cancel safety -/// -/// This method is not cancel safe. - Future wait()=>RustLib.instance.api.tokioSyncBarrierWait(that: this, ); - - - } - @sealed class BarrierWaitResultImpl extends RustOpaque implements BarrierWaitResult { - // Not to be used by end users - BarrierWaitResultImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - BarrierWaitResultImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_BarrierWaitResult, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_BarrierWaitResult, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_BarrierWaitResultPtr, - ); - - /// Returns `true` if this task from wait is the "leader task". -/// -/// Only one task will have `true` returned from their result, all other tasks will have -/// `false` returned. - Future isLeader()=>RustLib.instance.api.tokioSyncBarrierWaitResultIsLeader(that: this, ); - - - } - @sealed class CIntImpl extends RustOpaque implements CInt { - // Not to be used by end users - CIntImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - CIntImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_CInt, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_CInt, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_CIntPtr, - ); - - - } - @sealed class ChildImpl extends RustOpaque implements Child { - // Not to be used by end users - ChildImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ChildImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Child, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Child, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ChildPtr, - ); - - ChildStderr? get stderr=>RustLib.instance.api.tokioProcessChildAutoAccessorGetStderr(that: this, ); - - - ChildStdin? get stdin=>RustLib.instance.api.tokioProcessChildAutoAccessorGetStdin(that: this, ); - - - ChildStdout? get stdout=>RustLib.instance.api.tokioProcessChildAutoAccessorGetStdout(that: this, ); - - - set stderr(ChildStderr? stderr)=>RustLib.instance.api.tokioProcessChildAutoAccessorSetStderr(that: this, stderr: stderr); - - - set stdin(ChildStdin? stdin)=>RustLib.instance.api.tokioProcessChildAutoAccessorSetStdin(that: this, stdin: stdin); - - - set stdout(ChildStdout? stdout)=>RustLib.instance.api.tokioProcessChildAutoAccessorSetStdout(that: this, stdout: stdout); - - -/// Returns the OS-assigned process identifier associated with this child -/// while it is still running. -/// -/// Once the child has been polled to completion this will return `None`. -/// This is done to avoid confusion on platforms like Unix where the OS -/// identifier could be reused once the process has completed. - Future id()=>RustLib.instance.api.tokioProcessChildId(that: this, ); - - -/// Forces the child to exit. -/// -/// This is equivalent to sending a `SIGKILL` on unix platforms -/// followed by [`wait`](Child::wait). -/// -/// Note: std version of [`Child::kill`](std::process::Child::kill) does not `wait`. -/// For an equivalent of `Child::kill` in the standard library, -/// use [`start_kill`](Child::start_kill). -/// -/// # Examples -/// -/// If the child has to be killed remotely, it is possible to do it using -/// a combination of the select! macro and a `oneshot` channel. In the following -/// example, the child will run until completion unless a message is sent on -/// the `oneshot` channel. If that happens, the child is killed immediately -/// using the `.kill()` method. -/// -/// ```no_run -/// use tokio::process::Command; -/// use tokio::sync::oneshot::channel; -/// -/// #[tokio::main] -/// async fn main() { -/// let (send, recv) = channel::<()>(); -/// let mut child = Command::new("sleep").arg("1").spawn().unwrap(); -/// tokio::spawn(async move { send.send(()) }); -/// tokio::select! { -/// _ = child.wait() => {} -/// _ = recv => child.kill().await.expect("kill failed"), -/// } -/// } -/// ``` -/// -/// You can also interact with the child's standard I/O. For example, you can -/// read its stdout while waiting for it to exit. -/// -/// ```no_run -/// # use std::process::Stdio; -/// # -/// # use tokio::io::AsyncReadExt; -/// # use tokio::process::Command; -/// # use tokio::sync::oneshot::channel; -/// -/// #[tokio::main] -/// async fn main() { -/// let (_tx, rx) = channel::<()>(); -/// -/// let mut child = Command::new("echo") -/// .arg("Hello World!") -/// .stdout(Stdio::piped()) -/// .spawn() -/// .unwrap(); -/// -/// let mut stdout = child.stdout.take().expect("stdout is not captured"); -/// -/// let read_stdout = tokio::spawn(async move { -/// let mut buff = Vec::new(); -/// let _ = stdout.read_to_end(&mut buff).await; -/// -/// buff -/// }); -/// -/// tokio::select! { -/// _ = child.wait() => {} -/// _ = rx => { child.kill().await.expect("kill failed") }, -/// } -/// -/// let buff = read_stdout.await.unwrap(); -/// -/// assert_eq!(buff, b"Hello World!\n"); -/// } -/// ``` - Future kill()=>RustLib.instance.api.tokioProcessChildKill(that: this, ); - - -/// Attempts to force the child to exit, but does not wait for the request -/// to take effect. -/// -/// On Unix platforms, this is the equivalent to sending a `SIGKILL`. Note -/// that on Unix platforms it is possible for a zombie process to remain -/// after a kill is sent; to avoid this, the caller should ensure that either -/// `child.wait().await` or `child.try_wait()` is invoked successfully. - Future startKill()=>RustLib.instance.api.tokioProcessChildStartKill(that: this, ); - - -/// Attempts to collect the exit status of the child if it has already -/// exited. -/// -/// This function will not block the calling thread and will only -/// check to see if the child process has exited or not. If the child has -/// exited then on Unix the process ID is reaped. This function is -/// guaranteed to repeatedly return a successful exit status so long as the -/// child has already exited. -/// -/// If the child has exited, then `Ok(Some(status))` is returned. If the -/// exit status is not available at this time then `Ok(None)` is returned. -/// If an error occurs, then that error is returned. -/// -/// Note that unlike `wait`, this function will not attempt to drop stdin, -/// nor will it wake the current task if the child exits. - Future tryWait()=>RustLib.instance.api.tokioProcessChildTryWait(that: this, ); - - -/// Waits for the child to exit completely, returning the status that it -/// exited with. This function will continue to have the same return value -/// after it has been called at least once. -/// -/// The stdin handle to the child process, if any, will be closed -/// before waiting. This helps avoid deadlock: it ensures that the -/// child does not block waiting for input from the parent, while -/// the parent waits for the child to exit. -/// -/// If the caller wishes to explicitly control when the child's stdin -/// handle is closed, they may `.take()` it before calling `.wait()`: -/// -/// # Cancel safety -/// -/// This function is cancel safe. -/// -/// ``` -/// # #[cfg(not(unix))]fn main(){} -/// # #[cfg(unix)] -/// use tokio::io::AsyncWriteExt; -/// # #[cfg(unix)] -/// use tokio::process::Command; -/// # #[cfg(unix)] -/// use std::process::Stdio; -/// -/// # #[cfg(unix)] -/// #[tokio::main] -/// async fn main() { -/// # if cfg!(miri) { return; } // No `pidfd_spawnp` in miri. -/// let mut child = Command::new("cat") -/// .stdin(Stdio::piped()) -/// .spawn() -/// .unwrap(); -/// -/// let mut stdin = child.stdin.take().unwrap(); -/// tokio::spawn(async move { -/// // do something with stdin here... -/// stdin.write_all(b"hello world\n").await.unwrap(); -/// -/// // then drop when finished -/// drop(stdin); -/// }); -/// -/// // wait for the process to complete -/// let _ = child.wait().await; -/// } -/// ``` - Future wait()=>RustLib.instance.api.tokioProcessChildWait(that: this, ); - - - } - @sealed class ChildStderrImpl extends RustOpaque implements ChildStderr { - // Not to be used by end users - ChildStderrImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ChildStderrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ChildStderr, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStderr, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStderrPtr, - ); - - /// Convert into [`OwnedFd`]. - Future intoOwnedFd()=>RustLib.instance.api.tokioProcessChildStderrIntoOwnedFd(that: this, ); - - - } - @sealed class ChildStdinImpl extends RustOpaque implements ChildStdin { - // Not to be used by end users - ChildStdinImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ChildStdinImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ChildStdin, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStdin, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStdinPtr, - ); - - /// Convert into [`OwnedFd`]. - Future intoOwnedFd()=>RustLib.instance.api.tokioProcessChildStdinIntoOwnedFd(that: this, ); - - - } - @sealed class ChildStdoutImpl extends RustOpaque implements ChildStdout { - // Not to be used by end users - ChildStdoutImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ChildStdoutImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ChildStdout, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStdout, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ChildStdoutPtr, - ); - - /// Convert into [`OwnedFd`]. - Future intoOwnedFd()=>RustLib.instance.api.tokioProcessChildStdoutIntoOwnedFd(that: this, ); - - - } - @sealed class CommandImpl extends RustOpaque implements Command { - // Not to be used by end users - CommandImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - CommandImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Command, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Command, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_CommandPtr, - ); - - /// Cheaply convert to a `&std::process::Command` for places where the type from the standard -/// library is expected. - Future asStd()=>RustLib.instance.api.tokioProcessCommandAsStd(that: this, ); - - -/// Cheaply convert to a `&mut std::process::Command` for places where the type from the -/// standard library is expected. - Future asStdMut()=>RustLib.instance.api.tokioProcessCommandAsStdMut(that: this, ); - - -/// Clears the entire environment map for the child process. -/// -/// # Examples -/// -/// Basic usage: -/// -/// ```no_run -/// # async fn test() { // allow using await -/// use tokio::process::Command; -/// -/// let output = Command::new("ls") -/// .env_clear() -/// .output().await.unwrap(); -/// # } -/// ``` - Future envClear()=>RustLib.instance.api.tokioProcessCommandEnvClear(that: this, ); - - -/// Returns the boolean value that was previously set by [`Command::kill_on_drop`]. -/// -/// Note that if you have not previously called [`Command::kill_on_drop`], the -/// default value of `false` will be returned here. -/// -/// # Examples -/// -/// ``` -/// use tokio::process::Command; -/// -/// let mut cmd = Command::new("echo"); -/// assert!(!cmd.get_kill_on_drop()); -/// -/// cmd.kill_on_drop(true); -/// assert!(cmd.get_kill_on_drop()); -/// ``` - Future getKillOnDrop()=>RustLib.instance.api.tokioProcessCommandGetKillOnDrop(that: this, ); - - -/// Similar to `uid` but sets the group ID of the child process. This has -/// the same semantics as the `uid` field. - Future gid({required int id })=>RustLib.instance.api.tokioProcessCommandGid(that: this, id: id); - - -/// Cheaply convert into a `std::process::Command`. -/// -/// Note that Tokio specific options will be lost. Currently, this only applies to [`kill_on_drop`]. -/// -/// [`kill_on_drop`]: Command::kill_on_drop - Future intoStd()=>RustLib.instance.api.tokioProcessCommandIntoStd(that: this, ); - - -/// Controls whether a `kill` operation should be invoked on a spawned child -/// process when its corresponding `Child` handle is dropped. -/// -/// By default, this value is assumed to be `false`, meaning the next spawned -/// process will not be killed on drop, similar to the behavior of the standard -/// library. -/// -/// # Caveats -/// -/// On Unix platforms processes must be "reaped" by their parent process after -/// they have exited in order to release all OS resources. A child process which -/// has exited, but has not yet been reaped by its parent is considered a "zombie" -/// process. Such processes continue to count against limits imposed by the system, -/// and having too many zombie processes present can prevent additional processes -/// from being spawned. -/// -/// Although issuing a `kill` signal to the child process is a synchronous -/// operation, the resulting zombie process cannot be `.await`ed inside of the -/// destructor to avoid blocking other tasks. The tokio runtime will, on a -/// best-effort basis, attempt to reap and clean up such processes in the -/// background, but no additional guarantees are made with regard to -/// how quickly or how often this procedure will take place. -/// -/// If stronger guarantees are required, it is recommended to avoid dropping -/// a [`Child`] handle where possible, and instead utilize `child.wait().await` -/// or `child.kill().await` where possible. - Future killOnDrop({required bool killOnDrop })=>RustLib.instance.api.tokioProcessCommandKillOnDrop(that: this, killOnDrop: killOnDrop); - - -/// Sets the process group ID (PGID) of the child process. Equivalent to a -/// `setpgid` call in the child process, but may be more efficient. -/// -/// Process groups determine which processes receive signals. -/// -/// # Examples -/// -/// Pressing Ctrl-C in a terminal will send `SIGINT` to all processes -/// in the current foreground process group. By spawning the `sleep` -/// subprocess in a new process group, it will not receive `SIGINT` -/// from the terminal. -/// -/// The parent process could install a [signal handler] and manage the -/// process on its own terms. -/// -/// A process group ID of 0 will use the process ID as the PGID. -/// -/// ```no_run -/// # async fn test() { // allow using await -/// use tokio::process::Command; -/// -/// let output = Command::new("sleep") -/// .arg("10") -/// .process_group(0) -/// .output() -/// .await -/// .unwrap(); -/// # } -/// ``` -/// -/// [signal handler]: crate::signal - Future processGroup({required int pgroup })=>RustLib.instance.api.tokioProcessCommandProcessGroup(that: this, pgroup: pgroup); - - -/// Executes the command as a child process, returning a handle to it. -/// -/// By default, stdin, stdout and stderr are inherited from the parent. -/// -/// This method will spawn the child process synchronously and return a -/// handle to a future-aware child process. The `Child` returned implements -/// `Future` itself to acquire the `ExitStatus` of the child, and otherwise -/// the `Child` has methods to acquire handles to the stdin, stdout, and -/// stderr streams. -/// -/// All I/O this child does will be associated with the current default -/// event loop. -/// -/// # Examples -/// -/// Basic usage: -/// -/// ```no_run -/// use tokio::process::Command; -/// -/// async fn run_ls() -> std::process::ExitStatus { -/// Command::new("ls") -/// .spawn() -/// .expect("ls command failed to start") -/// .wait() -/// .await -/// .expect("ls command failed to run") -/// } -/// ``` -/// -/// # Caveats -/// -/// ## Dropping/Cancellation -/// -/// Similar to the behavior to the standard library, and unlike the futures -/// paradigm of dropping-implies-cancellation, a spawned process will, by -/// default, continue to execute even after the `Child` handle has been dropped. -/// -/// The [`Command::kill_on_drop`] method can be used to modify this behavior -/// and kill the child process if the `Child` wrapper is dropped before it -/// has exited. -/// -/// ## Unix Processes -/// -/// On Unix platforms processes must be "reaped" by their parent process after -/// they have exited in order to release all OS resources. A child process which -/// has exited, but has not yet been reaped by its parent is considered a "zombie" -/// process. Such processes continue to count against limits imposed by the system, -/// and having too many zombie processes present can prevent additional processes -/// from being spawned. -/// -/// The tokio runtime will, on a best-effort basis, attempt to reap and clean up -/// any process which it has spawned. No additional guarantees are made with regard to -/// how quickly or how often this procedure will take place. -/// -/// It is recommended to avoid dropping a [`Child`] process handle before it has been -/// fully `await`ed if stricter cleanup guarantees are required. -/// -/// [`Command`]: crate::process::Command -/// [`Command::kill_on_drop`]: crate::process::Command::kill_on_drop -/// [`Child`]: crate::process::Child -/// -/// # Errors -/// -/// On Unix platforms this method will fail with `std::io::ErrorKind::WouldBlock` -/// if the system process limit is reached (which includes other applications -/// running on the system). - Future spawn()=>RustLib.instance.api.tokioProcessCommandSpawn(that: this, ); - - -/// Sets the child process's user ID. This translates to a -/// `setuid` call in the child process. Failure in the `setuid` -/// call will cause the spawn to fail. - Future uid({required int id })=>RustLib.instance.api.tokioProcessCommandUid(that: this, id: id); - - - } - @sealed class ContextImpl extends RustOpaque implements Context { - // Not to be used by end users - ContextImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ContextImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Context, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Context, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ContextPtr, - ); - - - } - @sealed class DocumentItemImpl extends RustOpaque implements DocumentItem { - // Not to be used by end users - DocumentItemImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - DocumentItemImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_DocumentItem, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_DocumentItem, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_DocumentItemPtr, - ); - - - } - @sealed class DuplexStreamImpl extends RustOpaque implements DuplexStream { - // Not to be used by end users - DuplexStreamImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - DuplexStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_DuplexStream, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_DuplexStream, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_DuplexStreamPtr, - ); - - - } - @sealed class EmptyImpl extends RustOpaque implements Empty { - // Not to be used by end users - EmptyImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - EmptyImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Empty, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Empty, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_EmptyPtr, - ); - - - } - @sealed class EnterGuardImpl extends RustOpaque implements EnterGuard { - // Not to be used by end users - EnterGuardImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - EnterGuardImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_EnterGuard, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_EnterGuard, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_EnterGuardPtr, - ); - - - } - @sealed class ErrorImpl extends RustOpaque implements Error { - // Not to be used by end users - ErrorImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Error, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Error, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ErrorPtr, - ); - - /// Returns `true` if the error was caused by the timer being at capacity. - Future isAtCapacity()=>RustLib.instance.api.tokioTimeErrorErrorIsAtCapacity(that: this, ); - - -/// Returns `true` if the error was caused by the timer being misconfigured. - Future isInvalid()=>RustLib.instance.api.tokioTimeErrorErrorIsInvalid(that: this, ); - - -/// Returns `true` if the error was caused by the timer being shutdown. - Future isShutdown()=>RustLib.instance.api.tokioTimeErrorErrorIsShutdown(that: this, ); - - - } - @sealed class ExitStatusImpl extends RustOpaque implements ExitStatus { - // Not to be used by end users - ExitStatusImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ExitStatusImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ExitStatus, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ExitStatus, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ExitStatusPtr, - ); - - - } - @sealed class FacetFieldImpl extends RustOpaque implements FacetField { - // Not to be used by end users - FacetFieldImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - FacetFieldImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FacetField, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FacetField, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FacetFieldPtr, - ); - - ValueType get max=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorGetMax(that: this, ); - - - ValueType get min=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorGetMin(that: this, ); - - - String get name=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorGetName(that: this, ); - - - IndexMapStringVecStringUsize get values=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorGetValues(that: this, ); - - - set max(ValueType max)=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorSetMax(that: this, max: max); - - - set min(ValueType min)=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorSetMin(that: this, min: min); - - - set name(String name)=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorSetName(that: this, name: name); - - - set values(IndexMapStringVecStringUsize values)=>RustLib.instance.api.seekstormIndexFacetFieldAutoAccessorSetValues(that: this, values: values); - - - } - @sealed class FacetFilterImpl extends RustOpaque implements FacetFilter { - // Not to be used by end users - FacetFilterImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - FacetFilterImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FacetFilter, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FacetFilter, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FacetFilterPtr, - ); - - - } - @sealed class FacetValueImpl extends RustOpaque implements FacetValue { - // Not to be used by end users - FacetValueImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - FacetValueImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FacetValue, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FacetValue, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FacetValuePtr, - ); - - - } - @sealed class FileImpl extends RustOpaque implements File { - // Not to be used by end users - FileImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - FileImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_File, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_File, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FilePtr, - ); - - - } - @sealed class FileTypeImpl extends RustOpaque implements FileType { - // Not to be used by end users - FileTypeImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - FileTypeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FileType, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FileType, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FileTypePtr, - ); - - - } - @sealed class FillBufSelfImpl extends RustOpaque implements FillBufSelf { - // Not to be used by end users - FillBufSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - FillBufSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FillBufSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FillBufSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FillBufSelfPtr, - ); - - - } - @sealed class FlushSelfImpl extends RustOpaque implements FlushSelf { - // Not to be used by end users - FlushSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - FlushSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FlushSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FlushSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FlushSelfPtr, - ); - - - } - @sealed class FrequentwordTypeImpl extends RustOpaque implements FrequentwordType { - // Not to be used by end users - FrequentwordTypeImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - FrequentwordTypeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_FrequentwordType, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_FrequentwordType, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_FrequentwordTypePtr, - ); - - - } - @sealed class GidTImpl extends RustOpaque implements GidT { - // Not to be used by end users - GidTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - GidTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_GidT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_GidT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_GidTPtr, - ); - - - } - @sealed class HandleImpl extends RustOpaque implements Handle { - // Not to be used by end users - HandleImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - HandleImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Handle, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Handle, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_HandlePtr, - ); - - /// Enters the runtime context. This allows you to construct types that must -/// have an executor available on creation such as [`Sleep`] or -/// [`TcpStream`]. It will also allow you to call methods such as -/// [`tokio::spawn`] and [`Handle::current`] without panicking. -/// -/// # Panics -/// -/// When calling `Handle::enter` multiple times, the returned guards -/// **must** be dropped in the reverse order that they were acquired. -/// Failure to do so will result in a panic and possible memory leaks. -/// -/// # Examples -/// -/// ``` -/// # #[cfg(not(target_family = "wasm"))] -/// # { -/// use tokio::runtime::Runtime; -/// -/// let rt = Runtime::new().unwrap(); -/// -/// let _guard = rt.enter(); -/// tokio::spawn(async { -/// println!("Hello world!"); -/// }); -/// # } -/// ``` -/// -/// Do **not** do the following, this shows a scenario that will result in a -/// panic and possible memory leak. -/// -/// ```should_panic,ignore-wasm -/// use tokio::runtime::Runtime; -/// -/// let rt1 = Runtime::new().unwrap(); -/// let rt2 = Runtime::new().unwrap(); -/// -/// let enter1 = rt1.enter(); -/// let enter2 = rt2.enter(); -/// -/// drop(enter1); -/// drop(enter2); -/// ``` -/// -/// [`Sleep`]: struct@crate::time::Sleep -/// [`TcpStream`]: struct@crate::net::TcpStream -/// [`tokio::spawn`]: fn@crate::spawn - Future enter()=>RustLib.instance.api.tokioRuntimeHandleEnter(that: this, ); - - -/// Returns the [`Id`] of the current `Runtime`. -/// -/// # Examples -/// -/// ``` -/// use tokio::runtime::Handle; -/// -/// #[tokio::main(flavor = "current_thread")] -/// async fn main() { -/// println!("Current runtime id: {}", Handle::current().id()); -/// } -/// ``` -/// -/// [`Id`]: struct@crate::runtime::Id - Future id()=>RustLib.instance.api.tokioRuntimeHandleId(that: this, ); - - -/// Returns a view that lets you get information about how the runtime -/// is performing. - Future metrics()=>RustLib.instance.api.tokioRuntimeHandleMetrics(that: this, ); - - -/// Returns the flavor of the current `Runtime`. -/// -/// # Examples -/// -/// ``` -/// use tokio::runtime::{Handle, RuntimeFlavor}; -/// -/// #[tokio::main(flavor = "current_thread")] -/// async fn main() { -/// assert_eq!(RuntimeFlavor::CurrentThread, Handle::current().runtime_flavor()); -/// } -/// ``` -/// -/// ``` -/// # #[cfg(not(target_family = "wasm"))] -/// # { -/// use tokio::runtime::{Handle, RuntimeFlavor}; -/// -/// #[tokio::main(flavor = "multi_thread", worker_threads = 4)] -/// async fn main() { -/// assert_eq!(RuntimeFlavor::MultiThread, Handle::current().runtime_flavor()); -/// } -/// # } -/// ``` - Future runtimeFlavor()=>RustLib.instance.api.tokioRuntimeHandleRuntimeFlavor(that: this, ); - - - } - @sealed class HighlighterImpl extends RustOpaque implements Highlighter { - // Not to be used by end users - HighlighterImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - HighlighterImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Highlighter, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Highlighter, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_HighlighterPtr, - ); - - - } - @sealed class IdImpl extends RustOpaque implements Id { - // Not to be used by end users - IdImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - IdImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Id, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Id, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IdPtr, - ); - - - } - @sealed class IndexImpl extends RustOpaque implements Index { - // Not to be used by end users - IndexImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - IndexImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Index, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Index, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IndexPtr, - ); - - /// Add/append/update/merge synonyms in index -/// Affects only subsequently indexed documents - Future addSynonyms({required List synonyms })=>RustLib.instance.api.seekstormIndexIndexAddSynonyms(that: this, synonyms: synonyms); - - - int get indexFormatVersionMajor=>RustLib.instance.api.seekstormIndexIndexAutoAccessorGetIndexFormatVersionMajor(that: this, ); - - - int get indexFormatVersionMinor=>RustLib.instance.api.seekstormIndexIndexAutoAccessorGetIndexFormatVersionMinor(that: this, ); - - - IndexMetaObject get meta=>RustLib.instance.api.seekstormIndexIndexAutoAccessorGetMeta(that: this, ); - - - Map get schemaMap=>RustLib.instance.api.seekstormIndexIndexAutoAccessorGetSchemaMap(that: this, ); - - - List get storedFieldNames=>RustLib.instance.api.seekstormIndexIndexAutoAccessorGetStoredFieldNames(that: this, ); - - - set indexFormatVersionMajor(int indexFormatVersionMajor)=>RustLib.instance.api.seekstormIndexIndexAutoAccessorSetIndexFormatVersionMajor(that: this, indexFormatVersionMajor: indexFormatVersionMajor); - - - set indexFormatVersionMinor(int indexFormatVersionMinor)=>RustLib.instance.api.seekstormIndexIndexAutoAccessorSetIndexFormatVersionMinor(that: this, indexFormatVersionMinor: indexFormatVersionMinor); - - - set meta(IndexMetaObject meta)=>RustLib.instance.api.seekstormIndexIndexAutoAccessorSetMeta(that: this, meta: meta); - - - set schemaMap(Map schemaMap)=>RustLib.instance.api.seekstormIndexIndexAutoAccessorSetSchemaMap(that: this, schemaMap: schemaMap); - - - set storedFieldNames(List storedFieldNames)=>RustLib.instance.api.seekstormIndexIndexAutoAccessorSetStoredFieldNames(that: this, storedFieldNames: storedFieldNames); - - -/// Reset index to empty, while maintaining schema - Future clearIndex()=>RustLib.instance.api.seekstormIndexIndexClearIndex(that: this, ); - - -/// Get number of indexed documents. - Future committedDocCount()=>RustLib.instance.api.seekstormIndexIndexCommittedDocCount(that: this, ); - - -/// Current document count: indexed document count - deleted document count - Future currentDocCount()=>RustLib.instance.api.seekstormIndexIndexCurrentDocCount(that: this, ); - - -/// Delete index from disc and ram - Future deleteIndex()=>RustLib.instance.api.seekstormIndexIndexDeleteIndex(that: this, ); - - -/// Get number of facets defined in the index schema. - Future facetsCount()=>RustLib.instance.api.seekstormIndexIndexFacetsCount(that: this, ); - - -/// Get document for document id -/// Arguments: -/// * `doc_id`: Specifies which document to load from the document store of the index. -/// * `include_uncommited`: Return also documents which have not yet been committed. -/// * `highlighter_option`: Specifies the extraction of keyword-in-context (KWIC) fragments from fields in documents, and the highlighting of the query terms within. -/// * `fields`: Specifies which of the stored fields to return with each document. Default: If empty return all stored fields -/// * `distance_fields`: insert distance fields into result documents, calculating the distance between a specified facet field of type Point and a base Point, in kilometers or miles. -/// using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. - Future> getDocument({required BigInt docId , required bool includeUncommited , Highlighter? highlighterOption , required Set fields , required List distanceFields })=>RustLib.instance.api.seekstormIndexIndexGetDocument(that: this, docId: docId, includeUncommited: includeUncommited, highlighterOption: highlighterOption, fields: fields, distanceFields: distanceFields); - - -/// get_facet_value: Returns value from facet field for a doc_id even if schema stored=false (field not stored in document JSON). -/// Facet fields are more compact than fields stored in document JSON. -/// Strings are stored more compact as indices to a unique term dictionary. Numbers are stored binary, not as strings. -/// Facet fields are faster because no document loading, decompression and JSON decoding is required. -/// Facet fields are always memory mapped, internally always stored with fixed byte length layout, regardless of string size. - Future getFacetValue({required String field , required BigInt docId })=>RustLib.instance.api.seekstormIndexIndexGetFacetValue(that: this, field: field, docId: docId); - - -/// Get file for document id -/// Arguments: -/// * `doc_id`: Specifies which document to load from the document store of the index. -/// -/// Returns: -/// * `Vec`: The file content as a byte vector. -/// - Future getFile({required BigInt docId })=>RustLib.instance.api.seekstormIndexIndexGetFile(that: this, docId: docId); - - -/// get_index_string_facets: list of string facet fields, each with field name and a map of unique values and their count (number of times the specific value appears in the whole index). -/// values are sorted by their occurrence count within all indexed documents in descending order -/// * `query_facets`: Must be set if facet fields should be returned in get_index_facets. If set to Vec::new() then no facet fields are returned. -/// The prefix property of a QueryFacet allows to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. -/// The length property of a QueryFacet allows limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. -/// If the length property of a QueryFacet is set to 0 then no facet values for that facet are returned. -/// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. -/// Example: query_facets = vec![QueryFacet::String16 {field: "language".to_string(),prefix: "ger".to_string(),length: 5},QueryFacet::String16 {field: "brand".to_string(),prefix: "a".to_string(),length: 5}]; - Future getIndexStringFacets({required List queryFacets })=>RustLib.instance.api.seekstormIndexIndexGetIndexStringFacets(that: this, queryFacets: queryFacets); - - -/// Get synonyms from index - Future> getSynonyms()=>RustLib.instance.api.seekstormIndexIndexGetSynonyms(that: this, ); - - -/// get_index_facets_minmax: return map of numeric facet fields, each with field name and min/max values. - Future> indexFacetsMinmax()=>RustLib.instance.api.seekstormIndexIndexIndexFacetsMinmax(that: this, ); - - -/// Get number of indexed documents. - Future indexedDocCount()=>RustLib.instance.api.seekstormIndexIndexIndexedDocCount(that: this, ); - - -/// Get number of index levels. One index level comprises 64K documents. - Future levelCount()=>RustLib.instance.api.seekstormIndexIndexLevelCount(that: this, ); - - -/// Set/replace/overwrite synonyms in index -/// Affects only subsequently indexed documents - Future setSynonyms({required List synonyms })=>RustLib.instance.api.seekstormIndexIndexSetSynonyms(that: this, synonyms: synonyms); - - -/// Get number of index shards. - Future shardCount()=>RustLib.instance.api.seekstormIndexIndexShardCount(that: this, ); - - -/// are there uncommited documents? - Future uncommittedDocCount()=>RustLib.instance.api.seekstormIndexIndexUncommittedDocCount(that: this, ); - - - } - @sealed class IndexMapStringVecStringUsizeImpl extends RustOpaque implements IndexMapStringVecStringUsize { - // Not to be used by end users - IndexMapStringVecStringUsizeImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - IndexMapStringVecStringUsizeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_IndexMapStringVecStringUsize, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_IndexMapStringVecStringUsize, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IndexMapStringVecStringUsizePtr, - ); - - - } - @sealed class IndexMetaObjectImpl extends RustOpaque implements IndexMetaObject { - // Not to be used by end users - IndexMetaObjectImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - IndexMetaObjectImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_IndexMetaObject, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_IndexMetaObject, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IndexMetaObjectPtr, - ); - - AccessType get accessType=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetAccessType(that: this, ); - - - FrequentwordType get frequentWords=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetFrequentWords(that: this, ); - - - BigInt get id=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetId(that: this, ); - - - String get name=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetName(that: this, ); - - - int get ngramIndexing=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetNgramIndexing(that: this, ); - - - QueryCompletion? get queryCompletion=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetQueryCompletion(that: this, ); - - - SimilarityType get similarity=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetSimilarity(that: this, ); - - - SpellingCorrection? get spellingCorrection=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetSpellingCorrection(that: this, ); - - - StemmerType get stemmer=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetStemmer(that: this, ); - - - StopwordType get stopWords=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetStopWords(that: this, ); - - - TokenizerType get tokenizer=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorGetTokenizer(that: this, ); - - - set accessType(AccessType accessType)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetAccessType(that: this, accessType: accessType); - - - set frequentWords(FrequentwordType frequentWords)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetFrequentWords(that: this, frequentWords: frequentWords); - - - set id(BigInt id)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetId(that: this, id: id); - - - set name(String name)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetName(that: this, name: name); - - - set ngramIndexing(int ngramIndexing)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetNgramIndexing(that: this, ngramIndexing: ngramIndexing); - - - set queryCompletion(QueryCompletion? queryCompletion)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetQueryCompletion(that: this, queryCompletion: queryCompletion); - - - set similarity(SimilarityType similarity)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetSimilarity(that: this, similarity: similarity); - - - set spellingCorrection(SpellingCorrection? spellingCorrection)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetSpellingCorrection(that: this, spellingCorrection: spellingCorrection); - - - set stemmer(StemmerType stemmer)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetStemmer(that: this, stemmer: stemmer); - - - set stopWords(StopwordType stopWords)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetStopWords(that: this, stopWords: stopWords); - - - set tokenizer(TokenizerType tokenizer)=>RustLib.instance.api.seekstormIndexIndexMetaObjectAutoAccessorSetTokenizer(that: this, tokenizer: tokenizer); - - - } - @sealed class InstantImpl extends RustOpaque implements Instant { - // Not to be used by end users - InstantImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - InstantImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Instant, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Instant, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_InstantPtr, - ); - - - } - @sealed class InterestImpl extends RustOpaque implements Interest { - // Not to be used by end users - InterestImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - InterestImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Interest, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Interest, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_InterestPtr, - ); - - /// Add together two `Interest` values. -/// -/// This function works from a `const` context. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Interest; -/// -/// const BOTH: Interest = Interest::READABLE.add(Interest::WRITABLE); -/// -/// assert!(BOTH.is_readable()); -/// assert!(BOTH.is_writable()); - Future add({required Interest other })=>RustLib.instance.api.tokioIoInterestAdd(that: this, other: other); - - -/// Returns true if the value includes error interest. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Interest; -/// -/// assert!(Interest::ERROR.is_error()); -/// assert!(!Interest::WRITABLE.is_error()); -/// -/// let combined = Interest::READABLE | Interest::ERROR; -/// assert!(combined.is_error()); -/// ``` - Future isError()=>RustLib.instance.api.tokioIoInterestIsError(that: this, ); - - -/// Returns true if the value includes readable interest. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Interest; -/// -/// assert!(Interest::READABLE.is_readable()); -/// assert!(!Interest::WRITABLE.is_readable()); -/// -/// let both = Interest::READABLE | Interest::WRITABLE; -/// assert!(both.is_readable()); -/// ``` - Future isReadable()=>RustLib.instance.api.tokioIoInterestIsReadable(that: this, ); - - -/// Returns true if the value includes writable interest. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Interest; -/// -/// assert!(!Interest::READABLE.is_writable()); -/// assert!(Interest::WRITABLE.is_writable()); -/// -/// let both = Interest::READABLE | Interest::WRITABLE; -/// assert!(both.is_writable()); -/// ``` - Future isWritable()=>RustLib.instance.api.tokioIoInterestIsWritable(that: this, ); - - -/// Remove `Interest` from `self`. -/// -/// Interests present in `other` but *not* in `self` are ignored. -/// -/// Returns `None` if the set would be empty after removing `Interest`. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Interest; -/// -/// const RW_INTEREST: Interest = Interest::READABLE.add(Interest::WRITABLE); -/// -/// let w_interest = RW_INTEREST.remove(Interest::READABLE).unwrap(); -/// assert!(!w_interest.is_readable()); -/// assert!(w_interest.is_writable()); -/// -/// // Removing all interests from the set returns `None`. -/// assert_eq!(w_interest.remove(Interest::WRITABLE), None); -/// -/// // Remove all interests at once. -/// assert_eq!(RW_INTEREST.remove(RW_INTEREST), None); -/// ``` - Future remove({required Interest other })=>RustLib.instance.api.tokioIoInterestRemove(that: this, other: other); - - - } - @sealed class IntervalImpl extends RustOpaque implements Interval { - // Not to be used by end users - IntervalImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - IntervalImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Interval, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Interval, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IntervalPtr, - ); - - /// Returns the [`MissedTickBehavior`] strategy currently being used. - Future missedTickBehavior()=>RustLib.instance.api.tokioTimeIntervalMissedTickBehavior(that: this, ); - - -/// Returns the period of the interval. - Future period()=>RustLib.instance.api.tokioTimeIntervalPeriod(that: this, ); - - -/// Polls for the next instant in the interval to be reached. -/// -/// This method can return the following values: -/// -/// * `Poll::Pending` if the next instant has not yet been reached. -/// * `Poll::Ready(instant)` if the next instant has been reached. -/// -/// When this method returns `Poll::Pending`, the current task is scheduled -/// to receive a wakeup when the instant has elapsed. Note that on multiple -/// calls to `poll_tick`, only the [`Waker`](std::task::Waker) from the -/// [`Context`] passed to the most recent call is scheduled to receive a -/// wakeup. - Future pollTick({required Context cx })=>RustLib.instance.api.tokioTimeIntervalPollTick(that: this, cx: cx); - - -/// Resets the interval to complete one period after the current time. -/// -/// This method ignores [`MissedTickBehavior`] strategy. -/// -/// This is equivalent to calling `reset_at(Instant::now() + period)`. -/// -/// # Examples -/// -/// ``` -/// use tokio::time; -/// -/// use std::time::Duration; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let mut interval = time::interval(Duration::from_millis(100)); -/// -/// interval.tick().await; -/// -/// time::sleep(Duration::from_millis(50)).await; -/// interval.reset(); -/// -/// interval.tick().await; -/// interval.tick().await; -/// -/// // approximately 250ms have elapsed. -/// # } -/// ``` - Future reset()=>RustLib.instance.api.tokioTimeIntervalReset(that: this, ); - - -/// Resets the interval after the specified [`std::time::Duration`]. -/// -/// This method ignores [`MissedTickBehavior`] strategy. -/// -/// This is equivalent to calling `reset_at(Instant::now() + after)`. -/// -/// # Examples -/// -/// ``` -/// use tokio::time; -/// -/// use std::time::Duration; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let mut interval = time::interval(Duration::from_millis(100)); -/// interval.tick().await; -/// -/// time::sleep(Duration::from_millis(50)).await; -/// -/// let after = Duration::from_millis(20); -/// interval.reset_after(after); -/// -/// interval.tick().await; -/// interval.tick().await; -/// -/// // approximately 170ms have elapsed. -/// # } -/// ``` - Future resetAfter({required Duration after })=>RustLib.instance.api.tokioTimeIntervalResetAfter(that: this, after: after); - - -/// Resets the interval to a [`crate::time::Instant`] deadline. -/// -/// Sets the next tick to expire at the given instant. If the instant is in -/// the past, then the [`MissedTickBehavior`] strategy will be used to -/// catch up. If the instant is in the future, then the next tick will -/// complete at the given instant, even if that means that it will sleep for -/// longer than the duration of this [`Interval`]. If the [`Interval`] had -/// any missed ticks before calling this method, then those are discarded. -/// -/// # Examples -/// -/// ``` -/// use tokio::time::{self, Instant}; -/// -/// use std::time::Duration; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let mut interval = time::interval(Duration::from_millis(100)); -/// interval.tick().await; -/// -/// time::sleep(Duration::from_millis(50)).await; -/// -/// let deadline = Instant::now() + Duration::from_millis(30); -/// interval.reset_at(deadline); -/// -/// interval.tick().await; -/// interval.tick().await; -/// -/// // approximately 180ms have elapsed. -/// # } -/// ``` - Future resetAt({required Instant deadline })=>RustLib.instance.api.tokioTimeIntervalResetAt(that: this, deadline: deadline); - - -/// Resets the interval immediately. -/// -/// This method ignores [`MissedTickBehavior`] strategy. -/// -/// This is equivalent to calling `reset_at(Instant::now())`. -/// -/// # Examples -/// -/// ``` -/// use tokio::time; -/// -/// use std::time::Duration; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let mut interval = time::interval(Duration::from_millis(100)); -/// -/// interval.tick().await; -/// -/// time::sleep(Duration::from_millis(50)).await; -/// interval.reset_immediately(); -/// -/// interval.tick().await; -/// interval.tick().await; -/// -/// // approximately 150ms have elapsed. -/// # } -/// ``` - Future resetImmediately()=>RustLib.instance.api.tokioTimeIntervalResetImmediately(that: this, ); - - -/// Sets the [`MissedTickBehavior`] strategy that should be used. - Future setMissedTickBehavior({required MissedTickBehavior behavior })=>RustLib.instance.api.tokioTimeIntervalSetMissedTickBehavior(that: this, behavior: behavior); - - -/// Completes when the next instant in the interval has been reached. -/// -/// # Cancel safety -/// -/// This method is cancellation safe. If `tick` is used as the branch in a `tokio::select!` and -/// another branch completes first, then no tick has been consumed. -/// -/// # Examples -/// -/// ``` -/// use tokio::time; -/// -/// use std::time::Duration; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let mut interval = time::interval(Duration::from_millis(10)); -/// -/// interval.tick().await; -/// // approximately 0ms have elapsed. The first tick completes immediately. -/// interval.tick().await; -/// interval.tick().await; -/// -/// // approximately 20ms have elapsed. -/// # } -/// ``` - Future tick()=>RustLib.instance.api.tokioTimeIntervalTick(that: this, ); - - - } - @sealed class IoSliceImpl extends RustOpaque implements IoSlice { - // Not to be used by end users - IoSliceImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - IoSliceImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_IoSlice, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_IoSlice, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IoSlicePtr, - ); - - - } - @sealed class IoSliceMutImpl extends RustOpaque implements IoSliceMut { - // Not to be used by end users - IoSliceMutImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - IoSliceMutImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_IoSliceMut, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_IoSliceMut, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_IoSliceMutPtr, - ); - - - } - @sealed class Ipv4AddrImpl extends RustOpaque implements Ipv4Addr { - // Not to be used by end users - Ipv4AddrImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - Ipv4AddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Ipv4Addr, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Ipv4Addr, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_Ipv4AddrPtr, - ); - - - } - @sealed class Ipv6AddrImpl extends RustOpaque implements Ipv6Addr { - // Not to be used by end users - Ipv6AddrImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - Ipv6AddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Ipv6Addr, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Ipv6Addr, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_Ipv6AddrPtr, - ); - - - } - @sealed class LinesSelfImpl extends RustOpaque implements LinesSelf { - // Not to be used by end users - LinesSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - LinesSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_LinesSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_LinesSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_LinesSelfPtr, - ); - - - } - @sealed class LocalEnterGuardImpl extends RustOpaque implements LocalEnterGuard { - // Not to be used by end users - LocalEnterGuardImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - LocalEnterGuardImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_LocalEnterGuard, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_LocalEnterGuard, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_LocalEnterGuardPtr, - ); - - - } - @sealed class LocalSetImpl extends RustOpaque implements LocalSet { - // Not to be used by end users - LocalSetImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - LocalSetImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_LocalSet, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_LocalSet, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_LocalSetPtr, - ); - - /// Enters the context of this `LocalSet`. -/// -/// The [`spawn_local`] method will spawn tasks on the `LocalSet` whose -/// context you are inside. -/// -/// [`spawn_local`]: fn@crate::task::spawn_local - Future enter()=>RustLib.instance.api.tokioTaskLocalSetEnter(that: this, ); - - -/// Returns the [`Id`] of the current [`LocalSet`] runtime. -/// -/// # Examples -/// -/// ```rust -/// use tokio::task; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let local_set = task::LocalSet::new(); -/// println!("Local set id: {}", local_set.id()); -/// # } -/// ``` -/// -/// [`Id`]: struct@crate::runtime::Id - Future id()=>RustLib.instance.api.tokioTaskLocalSetId(that: this, ); - - - } - @sealed class MinMaxFieldImpl extends RustOpaque implements MinMaxField { - // Not to be used by end users - MinMaxFieldImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - MinMaxFieldImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_MinMaxField, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_MinMaxField, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_MinMaxFieldPtr, - ); - - ValueType get max=>RustLib.instance.api.seekstormIndexMinMaxFieldAutoAccessorGetMax(that: this, ); - - - ValueType get min=>RustLib.instance.api.seekstormIndexMinMaxFieldAutoAccessorGetMin(that: this, ); - - - set max(ValueType max)=>RustLib.instance.api.seekstormIndexMinMaxFieldAutoAccessorSetMax(that: this, max: max); - - - set min(ValueType min)=>RustLib.instance.api.seekstormIndexMinMaxFieldAutoAccessorSetMin(that: this, min: min); - - - } - @sealed class MinMaxFieldJsonImpl extends RustOpaque implements MinMaxFieldJson { - // Not to be used by end users - MinMaxFieldJsonImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - MinMaxFieldJsonImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_MinMaxFieldJson, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_MinMaxFieldJson, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_MinMaxFieldJsonPtr, - ); - - Value get max=>RustLib.instance.api.seekstormIndexMinMaxFieldJsonAutoAccessorGetMax(that: this, ); - - - Value get min=>RustLib.instance.api.seekstormIndexMinMaxFieldJsonAutoAccessorGetMin(that: this, ); - - - set max(Value max)=>RustLib.instance.api.seekstormIndexMinMaxFieldJsonAutoAccessorSetMax(that: this, max: max); - - - set min(Value min)=>RustLib.instance.api.seekstormIndexMinMaxFieldJsonAutoAccessorSetMin(that: this, min: min); - - - } - @sealed class NotifiedImpl extends RustOpaque implements Notified { - // Not to be used by end users - NotifiedImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - NotifiedImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Notified, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Notified, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_NotifiedPtr, - ); - - - } - @sealed class NotifyImpl extends RustOpaque implements Notify { - // Not to be used by end users - NotifyImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - NotifyImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Notify, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Notify, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_NotifyPtr, - ); - - /// Wait for a notification. -/// -/// Equivalent to: -/// -/// ```ignore -/// async fn notified(&self); -/// ``` -/// -/// Each `Notify` value holds a single permit. If a permit is available from -/// an earlier call to [`notify_one()`], then `notified().await` will complete -/// immediately, consuming that permit. Otherwise, `notified().await` waits -/// for a permit to be made available by the next call to `notify_one()`. -/// -/// The `Notified` future is not guaranteed to receive wakeups from calls to -/// `notify_one()` if it has not yet been polled. See the documentation for -/// [`Notified::enable()`] for more details. -/// -/// The `Notified` future is guaranteed to receive wakeups from -/// `notify_waiters()` as soon as it has been created, even if it has not -/// yet been polled. -/// -/// [`notify_one()`]: Notify::notify_one -/// [`Notified::enable()`]: Notified::enable -/// -/// # Cancel safety -/// -/// This method uses a queue to fairly distribute notifications in the order -/// they were requested. Cancelling a call to `notified` makes you lose your -/// place in the queue. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::Notify; -/// use std::sync::Arc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let notify = Arc::new(Notify::new()); -/// let notify2 = notify.clone(); -/// -/// tokio::spawn(async move { -/// notify2.notified().await; -/// println!("received notification"); -/// }); -/// -/// println!("sending notification"); -/// notify.notify_one(); -/// # } -/// ``` - Future notified()=>RustLib.instance.api.tokioSyncNotifyNotified(that: this, ); - - -/// Wait for a notification with an owned `Future`. -/// -/// Unlike [`Self::notified`] which returns a future tied to the `Notify`'s -/// lifetime, `notified_owned` creates a self-contained future that owns its -/// notification state, making it safe to move between threads. -/// -/// See [`Self::notified`] for more details. -/// -/// # Cancel safety -/// -/// This method uses a queue to fairly distribute notifications in the order -/// they were requested. Cancelling a call to `notified_owned` makes you lose your -/// place in the queue. -/// -/// # Examples -/// -/// ``` -/// use std::sync::Arc; -/// use tokio::sync::Notify; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let notify = Arc::new(Notify::new()); -/// -/// for _ in 0..10 { -/// let notified = notify.clone().notified_owned(); -/// tokio::spawn(async move { -/// notified.await; -/// println!("received notification"); -/// }); -/// } -/// -/// println!("sending notification"); -/// notify.notify_waiters(); -/// # } -/// ``` - Future notifiedOwned()=>RustLib.instance.api.tokioSyncNotifyNotifiedOwned(that: this, ); - - -/// Notifies the last waiting task. -/// -/// This function behaves similar to `notify_one`. The only difference is that it wakes -/// the most recently added waiter instead of the oldest waiter. -/// -/// Check the [`notify_one()`] documentation for more info and -/// examples. -/// -/// [`notify_one()`]: Notify::notify_one - Future notifyLast()=>RustLib.instance.api.tokioSyncNotifyNotifyLast(that: this, ); - - -/// Notifies the first waiting task. -/// -/// If a task is currently waiting, that task is notified. Otherwise, a -/// permit is stored in this `Notify` value and the **next** call to -/// [`notified().await`] will complete immediately consuming the permit made -/// available by this call to `notify_one()`. -/// -/// At most one permit may be stored by `Notify`. Many sequential calls to -/// `notify_one` will result in a single permit being stored. The next call to -/// `notified().await` will complete immediately, but the one after that -/// will wait. -/// -/// [`notified().await`]: Notify::notified() -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::Notify; -/// use std::sync::Arc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let notify = Arc::new(Notify::new()); -/// let notify2 = notify.clone(); -/// -/// tokio::spawn(async move { -/// notify2.notified().await; -/// println!("received notification"); -/// }); -/// -/// println!("sending notification"); -/// notify.notify_one(); -/// # } -/// ``` - Future notifyOne()=>RustLib.instance.api.tokioSyncNotifyNotifyOne(that: this, ); - - -/// Notifies all waiting tasks. -/// -/// If a task is currently waiting, that task is notified. Unlike with -/// `notify_one()`, no permit is stored to be used by the next call to -/// `notified().await`. The purpose of this method is to notify all -/// already registered waiters. Registering for notification is done by -/// acquiring an instance of the `Notified` future via calling `notified()`. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::Notify; -/// use std::sync::Arc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let notify = Arc::new(Notify::new()); -/// let notify2 = notify.clone(); -/// -/// let notified1 = notify.notified(); -/// let notified2 = notify.notified(); -/// -/// let handle = tokio::spawn(async move { -/// println!("sending notifications"); -/// notify2.notify_waiters(); -/// }); -/// -/// notified1.await; -/// notified2.await; -/// println!("received notifications"); -/// # } -/// ``` - Future notifyWaiters()=>RustLib.instance.api.tokioSyncNotifyNotifyWaiters(that: this, ); - - - } - @sealed class OpenOptionsImpl extends RustOpaque implements OpenOptions { - // Not to be used by end users - OpenOptionsImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - OpenOptionsImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OpenOptions, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OpenOptions, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OpenOptionsPtr, - ); - - /// Sets the option for the append mode. -/// -/// This option, when true, means that writes will append to a file instead -/// of overwriting previous contents. Note that setting -/// `.write(true).append(true)` has the same effect as setting only -/// `.append(true)`. -/// -/// For most filesystems, the operating system guarantees that all writes are -/// atomic: no writes get mangled because another process writes at the same -/// time. -/// -/// One maybe obvious note when using append-mode: make sure that all data -/// that belongs together is written to the file in one operation. This -/// can be done by concatenating strings before passing them to [`write()`], -/// or using a buffered writer (with a buffer of adequate size), -/// and calling [`flush()`] when the message is complete. -/// -/// If a file is opened with both read and append access, beware that after -/// opening, and after every write, the position for reading may be set at the -/// end of the file. So, before writing, save the current position (using -/// [`seek`]`(`[`SeekFrom`]`::`[`Current`]`(0))`), and restore it before the next read. -/// -/// This is an async version of [`std::fs::OpenOptions::append`][std] -/// -/// [std]: std::fs::OpenOptions::append -/// -/// ## Note -/// -/// This function doesn't create the file if it doesn't exist. Use the [`create`] -/// method to do so. -/// -/// [`write()`]: crate::io::AsyncWriteExt::write -/// [`flush()`]: crate::io::AsyncWriteExt::flush -/// [`seek`]: crate::io::AsyncSeekExt::seek -/// [`SeekFrom`]: std::io::SeekFrom -/// [`Current`]: std::io::SeekFrom::Current -/// [`create`]: OpenOptions::create -/// -/// # Examples -/// -/// ```no_run -/// use tokio::fs::OpenOptions; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let file = OpenOptions::new() -/// .append(true) -/// .open("foo.txt") -/// .await?; -/// -/// Ok(()) -/// } -/// ``` - Future append({required bool append })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsAppend(that: this, append: append); - - -/// Sets the option for creating a new file. -/// -/// This option indicates whether a new file will be created if the file -/// does not yet already exist. -/// -/// In order for the file to be created, [`write`] or [`append`] access must -/// be used. -/// -/// This is an async version of [`std::fs::OpenOptions::create`][std] -/// -/// [std]: std::fs::OpenOptions::create -/// [`write`]: OpenOptions::write -/// [`append`]: OpenOptions::append -/// -/// # Examples -/// -/// ```no_run -/// use tokio::fs::OpenOptions; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let file = OpenOptions::new() -/// .write(true) -/// .create(true) -/// .open("foo.txt") -/// .await?; -/// -/// Ok(()) -/// } -/// ``` - Future create({required bool create })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsCreate(that: this, create: create); - - -/// Sets the option to always create a new file. -/// -/// This option indicates whether a new file will be created. No file is -/// allowed to exist at the target location, also no (dangling) symlink. -/// -/// This option is useful because it is atomic. Otherwise between checking -/// whether a file exists and creating a new one, the file may have been -/// created by another process (a TOCTOU race condition / attack). -/// -/// If `.create_new(true)` is set, [`.create()`] and [`.truncate()`] are -/// ignored. -/// -/// The file must be opened with write or append access in order to create a -/// new file. -/// -/// This is an async version of [`std::fs::OpenOptions::create_new`][std] -/// -/// [std]: std::fs::OpenOptions::create_new -/// [`.create()`]: OpenOptions::create -/// [`.truncate()`]: OpenOptions::truncate -/// -/// # Examples -/// -/// ```no_run -/// use tokio::fs::OpenOptions; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let file = OpenOptions::new() -/// .write(true) -/// .create_new(true) -/// .open("foo.txt") -/// .await?; -/// -/// Ok(()) -/// } -/// ``` - Future createNew({required bool createNew })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsCreateNew(that: this, createNew: createNew); - - -/// Passes custom flags to the `flags` argument of `open`. -/// -/// The bits that define the access mode are masked out with `O_ACCMODE`, to -/// ensure they do not interfere with the access mode set by Rusts options. -/// -/// Custom flags can only set flags, not remove flags set by Rusts options. -/// This options overwrites any previously set custom flags. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::fs::OpenOptions; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let mut options = OpenOptions::new(); -/// options.write(true); -/// if cfg!(unix) { -/// options.custom_flags(libc::O_NOFOLLOW); -/// } -/// let file = options.open("foo.txt").await?; -/// -/// Ok(()) -/// } -/// ``` - Future customFlags({required int flags })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsCustomFlags(that: this, flags: flags); - - -/// Sets the mode bits that a new file will be created with. -/// -/// If a new file is created as part of an `OpenOptions::open` call then this -/// specified `mode` will be used as the permission bits for the new file. -/// If no `mode` is set, the default of `0o666` will be used. -/// The operating system masks out bits with the system's `umask`, to produce -/// the final permissions. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::fs::OpenOptions; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let mut options = OpenOptions::new(); -/// options.mode(0o644); // Give read/write for owner and read for others. -/// let file = options.open("foo.txt").await?; -/// -/// Ok(()) -/// } -/// ``` - Future mode({required int mode })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsMode(that: this, mode: mode); - - -/// Sets the option for read access. -/// -/// This option, when true, will indicate that the file should be -/// `read`-able if opened. -/// -/// This is an async version of [`std::fs::OpenOptions::read`][std] -/// -/// [std]: std::fs::OpenOptions::read -/// -/// # Examples -/// -/// ```no_run -/// use tokio::fs::OpenOptions; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let file = OpenOptions::new() -/// .read(true) -/// .open("foo.txt") -/// .await?; -/// -/// Ok(()) -/// } -/// ``` - Future read({required bool read })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsRead(that: this, read: read); - - -/// Sets the option for truncating a previous file. -/// -/// If a file is successfully opened with this option set it will truncate -/// the file to 0 length if it already exists. -/// -/// The file must be opened with write access for truncate to work. -/// -/// This is an async version of [`std::fs::OpenOptions::truncate`][std] -/// -/// [std]: std::fs::OpenOptions::truncate -/// -/// # Examples -/// -/// ```no_run -/// use tokio::fs::OpenOptions; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let file = OpenOptions::new() -/// .write(true) -/// .truncate(true) -/// .open("foo.txt") -/// .await?; -/// -/// Ok(()) -/// } -/// ``` - Future truncate({required bool truncate })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsTruncate(that: this, truncate: truncate); - - -/// Sets the option to skip the check for FIFO file type. -/// -/// By default, [`open_receiver`] and [`open_sender`] functions will check -/// if the opened file is a FIFO file. Set this option to `true` if you are -/// sure the file is a FIFO file. -/// -/// [`open_receiver`]: OpenOptions::open_receiver -/// [`open_sender`]: OpenOptions::open_sender -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::unix::pipe; -/// use nix::{unistd::mkfifo, sys::stat::Mode}; -/// # use std::error::Error; -/// -/// // Our program has exclusive access to this path. -/// const FIFO_NAME: &str = "path/to/a/new/fifo"; -/// -/// # async fn dox() -> Result<(), Box> { -/// mkfifo(FIFO_NAME, Mode::S_IRWXU)?; -/// let rx = pipe::OpenOptions::new() -/// .unchecked(true) -/// .open_receiver(FIFO_NAME)?; -/// # Ok(()) -/// # } -/// ``` - Future unchecked({required bool value })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsUnchecked(that: this, value: value); - - -/// Sets the option for write access. -/// -/// This option, when true, will indicate that the file should be -/// `write`-able if opened. -/// -/// This is an async version of [`std::fs::OpenOptions::write`][std] -/// -/// [std]: std::fs::OpenOptions::write -/// -/// # Examples -/// -/// ```no_run -/// use tokio::fs::OpenOptions; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let file = OpenOptions::new() -/// .write(true) -/// .open("foo.txt") -/// .await?; -/// -/// Ok(()) -/// } -/// ``` - Future write({required bool write })=>RustLib.instance.api.tokioNetUnixPipeOpenOptionsWrite(that: this, write: write); - - - } - @sealed class OrderingImpl extends RustOpaque implements Ordering { - // Not to be used by end users - OrderingImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - OrderingImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Ordering, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Ordering, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OrderingPtr, - ); - - - } - @sealed class OwnedFdImpl extends RustOpaque implements OwnedFd { - // Not to be used by end users - OwnedFdImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - OwnedFdImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedFd, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedFd, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedFdPtr, - ); - - - } - @sealed class OwnedNotifiedImpl extends RustOpaque implements OwnedNotified { - // Not to be used by end users - OwnedNotifiedImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - OwnedNotifiedImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedNotified, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedNotified, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedNotifiedPtr, - ); - - - } - @sealed class OwnedPermitTImpl extends RustOpaque implements OwnedPermitT { - // Not to be used by end users - OwnedPermitTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - OwnedPermitTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedPermitT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedPermitT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedPermitTPtr, - ); - - - } - @sealed class OwnedReadHalfImpl extends RustOpaque implements OwnedReadHalf { - // Not to be used by end users - OwnedReadHalfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - OwnedReadHalfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedReadHalf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedReadHalf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedReadHalfPtr, - ); - - /// Returns the local address that this stream is bound to. - Future localAddr()=>RustLib.instance.api.tokioNetTcpOwnedReadHalfLocalAddr(that: this, ); - - -/// Receives data on the socket from the remote address to which it is -/// connected, without removing that data from the queue. On success, -/// returns the number of bytes peeked. -/// -/// See the [`TcpStream::peek`] level documentation for more details. -/// -/// [`TcpStream::peek`]: TcpStream::peek -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// use tokio::io::AsyncReadExt; -/// use std::error::Error; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// let (mut read_half, _) = stream.into_split(); -/// -/// let mut b1 = [0; 10]; -/// let mut b2 = [0; 10]; -/// -/// // Peek at the data -/// let n = read_half.peek(&mut b1).await?; -/// -/// // Read the data -/// assert_eq!(n, read_half.read(&mut b2[..n]).await?); -/// assert_eq!(&b1[..n], &b2[..n]); -/// -/// Ok(()) -/// } -/// ``` -/// -/// The [`read`] method is defined on the [`AsyncReadExt`] trait. -/// -/// [`read`]: fn@crate::io::AsyncReadExt::read -/// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt - Future peek({required U8 buf })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfPeek(that: this, buf: buf); - - -/// Returns the remote address that this stream is connected to. - Future peerAddr()=>RustLib.instance.api.tokioNetTcpOwnedReadHalfPeerAddr(that: this, ); - - -/// Attempt to receive data on the socket, without removing that data from -/// the queue, registering the current task for wakeup if data is not yet -/// available. -/// -/// Note that on multiple calls to `poll_peek` or `poll_read`, only the -/// `Waker` from the `Context` passed to the most recent call is scheduled -/// to receive a wakeup. -/// -/// See the [`TcpStream::poll_peek`] level documentation for more details. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::io::{self, ReadBuf}; -/// use tokio::net::TcpStream; -/// -/// use std::future::poll_fn; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let stream = TcpStream::connect("127.0.0.1:8000").await?; -/// let (mut read_half, _) = stream.into_split(); -/// let mut buf = [0; 10]; -/// let mut buf = ReadBuf::new(&mut buf); -/// -/// poll_fn(|cx| { -/// read_half.poll_peek(cx, &mut buf) -/// }).await?; -/// -/// Ok(()) -/// } -/// ``` -/// -/// [`TcpStream::poll_peek`]: TcpStream::poll_peek - Future pollPeek({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfPollPeek(that: this, cx: cx, buf: buf); - - -/// Waits for the socket to become readable. -/// -/// This function is equivalent to `ready(Interest::READABLE)` and is usually -/// paired with `try_read()`. -/// -/// This function is also equivalent to [`TcpStream::ready`]. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read that fails with `WouldBlock` or -/// `Poll::Pending`. - Future readable()=>RustLib.instance.api.tokioNetTcpOwnedReadHalfReadable(that: this, ); - - -/// Waits for any of the requested ready states. -/// -/// This function is usually paired with [`try_read()`]. It can be used instead -/// of [`readable()`] to check the returned ready set for [`Ready::READABLE`] -/// and [`Ready::READ_CLOSED`] events. -/// -/// The function may complete without the socket being ready. This is a -/// false-positive and attempting an operation will return with -/// `io::ErrorKind::WouldBlock`. The function can also return with an empty -/// [`Ready`] set, so you should always check the returned value and possibly -/// wait again if the requested states are not set. -/// -/// This function is equivalent to [`TcpStream::ready`]. -/// -/// [`try_read()`]: Self::try_read -/// [`readable()`]: Self::readable -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read or write that fails with `WouldBlock` or -/// `Poll::Pending`. - Future ready({required Interest interest })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfReady(that: this, interest: interest); - - -/// Attempts to put the two halves of a `TcpStream` back together and -/// recover the original socket. Succeeds only if the two halves -/// originated from the same call to [`into_split`]. -/// -/// [`into_split`]: TcpStream::into_split() - Future reunite({required OwnedWriteHalf other })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfReunite(that: this, other: other); - - -/// Tries to read data from the stream into the provided buffer, returning how -/// many bytes were read. -/// -/// Receives any pending data from the socket but does not wait for new data -/// to arrive. On success, returns the number of bytes read. Because -/// `try_read()` is non-blocking, the buffer does not have to be stored by -/// the async task and can exist entirely on the stack. -/// -/// Usually, [`readable()`] or [`ready()`] is used with this function. -/// -/// [`readable()`]: Self::readable() -/// [`ready()`]: Self::ready() -/// -/// # Return -/// -/// If data is successfully read, `Ok(n)` is returned, where `n` is the -/// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: -/// -/// 1. The stream's read half is closed and will no longer yield data. -/// 2. The specified buffer was 0 bytes in length. -/// -/// If the stream is not ready to read data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. - Future tryRead({required U8 buf })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfTryRead(that: this, buf: buf); - - -/// Tries to read data from the stream into the provided buffers, returning -/// how many bytes were read. -/// -/// Data is copied to fill each buffer in order, with the final buffer -/// written to possibly being only partially filled. This method behaves -/// equivalently to a single call to [`try_read()`] with concatenated -/// buffers. -/// -/// Receives any pending data from the socket but does not wait for new data -/// to arrive. On success, returns the number of bytes read. Because -/// `try_read_vectored()` is non-blocking, the buffer does not have to be -/// stored by the async task and can exist entirely on the stack. -/// -/// Usually, [`readable()`] or [`ready()`] is used with this function. -/// -/// [`try_read()`]: Self::try_read() -/// [`readable()`]: Self::readable() -/// [`ready()`]: Self::ready() -/// -/// # Return -/// -/// If data is successfully read, `Ok(n)` is returned, where `n` is the -/// number of bytes read. `Ok(0)` indicates the stream's read half is closed -/// and will no longer yield data. If the stream is not ready to read data -/// `Err(io::ErrorKind::WouldBlock)` is returned. - Future tryReadVectored({required IoSliceMut bufs })=>RustLib.instance.api.tokioNetTcpOwnedReadHalfTryReadVectored(that: this, bufs: bufs); - - - } - @sealed class OwnedSemaphorePermitImpl extends RustOpaque implements OwnedSemaphorePermit { - // Not to be used by end users - OwnedSemaphorePermitImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - OwnedSemaphorePermitImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedSemaphorePermit, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedSemaphorePermit, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedSemaphorePermitPtr, - ); - - /// Merge two [`OwnedSemaphorePermit`] instances together, consuming `other` -/// without releasing the permits it holds. -/// -/// Permits held by both `self` and `other` are released when `self` drops. -/// -/// # Panics -/// -/// This function panics if permits from different [`Semaphore`] instances -/// are merged. -/// -/// # Examples -/// -/// ``` -/// use std::sync::Arc; -/// use tokio::sync::Semaphore; -/// -/// let sem = Arc::new(Semaphore::new(10)); -/// let mut permit = sem.clone().try_acquire_owned().unwrap(); -/// -/// for _ in 0..9 { -/// let _permit = sem.clone().try_acquire_owned().unwrap(); -/// // Merge individual permits into a single one. -/// permit.merge(_permit) -/// } -/// -/// assert_eq!(sem.available_permits(), 0); -/// -/// // Release all permits in a single batch. -/// drop(permit); -/// -/// assert_eq!(sem.available_permits(), 10); -/// ``` - Future merge({required OwnedSemaphorePermit other })=>RustLib.instance.api.tokioSyncOwnedSemaphorePermitMerge(that: this, other: other); - - -/// Returns the number of permits held by `self`. - Future numPermits()=>RustLib.instance.api.tokioSyncOwnedSemaphorePermitNumPermits(that: this, ); - - -/// Returns the [`Semaphore`] from which this permit was acquired. - Future semaphore()=>RustLib.instance.api.tokioSyncOwnedSemaphorePermitSemaphore(that: this, ); - - -/// Splits `n` permits from `self` and returns a new [`OwnedSemaphorePermit`] instance that holds `n` permits. -/// -/// If there are insufficient permits and it's not possible to reduce by `n`, returns `None`. -/// -/// # Note -/// -/// It will clone the owned `Arc` to construct the new instance. -/// -/// # Examples -/// -/// ``` -/// use std::sync::Arc; -/// use tokio::sync::Semaphore; -/// -/// let sem = Arc::new(Semaphore::new(3)); -/// -/// let mut p1 = sem.try_acquire_many_owned(3).unwrap(); -/// let p2 = p1.split(1).unwrap(); -/// -/// assert_eq!(p1.num_permits(), 2); -/// assert_eq!(p2.num_permits(), 1); -/// ``` - Future split({required BigInt n })=>RustLib.instance.api.tokioSyncOwnedSemaphorePermitSplit(that: this, n: n); - - - } - @sealed class OwnedWriteHalfImpl extends RustOpaque implements OwnedWriteHalf { - // Not to be used by end users - OwnedWriteHalfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - OwnedWriteHalfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_OwnedWriteHalf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedWriteHalf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_OwnedWriteHalfPtr, - ); - - /// Returns the local address that this stream is bound to. - Future localAddr()=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfLocalAddr(that: this, ); - - -/// Returns the remote address that this stream is connected to. - Future peerAddr()=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfPeerAddr(that: this, ); - - -/// Waits for any of the requested ready states. -/// -/// This function is usually paired with [`try_write()`]. It can be used instead -/// of [`writable()`] to check the returned ready set for [`Ready::WRITABLE`] -/// and [`Ready::WRITE_CLOSED`] events. -/// -/// The function may complete without the socket being ready. This is a -/// false-positive and attempting an operation will return with -/// `io::ErrorKind::WouldBlock`. The function can also return with an empty -/// [`Ready`] set, so you should always check the returned value and possibly -/// wait again if the requested states are not set. -/// -/// This function is equivalent to [`TcpStream::ready`]. -/// -/// [`try_write()`]: Self::try_write -/// [`writable()`]: Self::writable -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read or write that fails with `WouldBlock` or -/// `Poll::Pending`. - Future ready({required Interest interest })=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfReady(that: this, interest: interest); - - -/// Attempts to put the two halves of a `TcpStream` back together and -/// recover the original socket. Succeeds only if the two halves -/// originated from the same call to [`into_split`]. -/// -/// [`into_split`]: TcpStream::into_split() - Future reunite({required OwnedReadHalf other })=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfReunite(that: this, other: other); - - -/// Tries to write a buffer to the stream, returning how many bytes were -/// written. -/// -/// The function will attempt to write the entire contents of `buf`, but -/// only part of the buffer may be written. -/// -/// This function is usually paired with `writable()`. -/// -/// # Return -/// -/// If data is successfully written, `Ok(n)` is returned, where `n` is the -/// number of bytes written. If the stream is not ready to write data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. - Future tryWrite({required List buf })=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfTryWrite(that: this, buf: buf); - - -/// Tries to write several buffers to the stream, returning how many bytes -/// were written. -/// -/// Data is written from each buffer in order, with the final buffer read -/// from possible being only partially consumed. This method behaves -/// equivalently to a single call to [`try_write()`] with concatenated -/// buffers. -/// -/// This function is usually paired with `writable()`. -/// -/// [`try_write()`]: Self::try_write() -/// -/// # Return -/// -/// If data is successfully written, `Ok(n)` is returned, where `n` is the -/// number of bytes written. If the stream is not ready to write data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. - Future tryWriteVectored({required List bufs })=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfTryWriteVectored(that: this, bufs: bufs); - - -/// Waits for the socket to become writable. -/// -/// This function is equivalent to `ready(Interest::WRITABLE)` and is usually -/// paired with `try_write()`. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to write that fails with `WouldBlock` or -/// `Poll::Pending`. - Future writable()=>RustLib.instance.api.tokioNetTcpOwnedWriteHalfWritable(that: this, ); - - - } - @sealed class PathImpl extends RustOpaque implements Path { - // Not to be used by end users - PathImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PathImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Path, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Path, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PathPtr, - ); - - - } - @sealed class PdfDocumentImpl extends RustOpaque implements PdfDocument { - // Not to be used by end users - PdfDocumentImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PdfDocumentImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PdfDocument, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PdfDocument, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PdfDocumentPtr, - ); - - - } - @sealed class PermitIteratorTImpl extends RustOpaque implements PermitIteratorT { - // Not to be used by end users - PermitIteratorTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PermitIteratorTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PermitIteratorT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PermitIteratorT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PermitIteratorTPtr, - ); - - - } - @sealed class PermitTImpl extends RustOpaque implements PermitT { - // Not to be used by end users - PermitTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PermitTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PermitT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PermitT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PermitTPtr, - ); - - - } - @sealed class PidTImpl extends RustOpaque implements PidT { - // Not to be used by end users - PidTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PidTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PidT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PidT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PidTPtr, - ); - - - } - @sealed class PollImpl extends RustOpaque implements Poll { - // Not to be used by end users - PollImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Poll, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Poll, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollPtr, - ); - - - } - @sealed class PollInstantImpl extends RustOpaque implements PollInstant { - // Not to be used by end users - PollInstantImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollInstantImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollInstant, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollInstant, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollInstantPtr, - ); - - - } - @sealed class PollOptionImpl extends RustOpaque implements PollOption { - // Not to be used by end users - PollOptionImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollOptionImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollOption, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollOption, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollOptionPtr, - ); - - - } - @sealed class PollOptionTImpl extends RustOpaque implements PollOptionT { - // Not to be used by end users - PollOptionTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollOptionTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollOptionT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollOptionT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollOptionTPtr, - ); - - - } - @sealed class PollRestoreOnPendingImpl extends RustOpaque implements PollRestoreOnPending { - // Not to be used by end users - PollRestoreOnPendingImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollRestoreOnPendingImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollRestoreOnPending, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollRestoreOnPending, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollRestoreOnPendingPtr, - ); - - - } - @sealed class PollResultImpl extends RustOpaque implements PollResult { - // Not to be used by end users - PollResultImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollResultImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollResult, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollResult, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultPtr, - ); - - - } - @sealed class PollResultSocketAddrImpl extends RustOpaque implements PollResultSocketAddr { - // Not to be used by end users - PollResultSocketAddrImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollResultSocketAddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollResultSocketAddr, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultSocketAddr, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultSocketAddrPtr, - ); - - - } - @sealed class PollResultTcpStreamSocketAddrImpl extends RustOpaque implements PollResultTcpStreamSocketAddr { - // Not to be used by end users - PollResultTcpStreamSocketAddrImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollResultTcpStreamSocketAddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollResultTcpStreamSocketAddr, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddr, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddrPtr, - ); - - - } - @sealed class PollResultUnixStreamSocketAddrImpl extends RustOpaque implements PollResultUnixStreamSocketAddr { - // Not to be used by end users - PollResultUnixStreamSocketAddrImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollResultUnixStreamSocketAddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollResultUnixStreamSocketAddr, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddr, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddrPtr, - ); - - - } - @sealed class PollResultUsizeImpl extends RustOpaque implements PollResultUsize { - // Not to be used by end users - PollResultUsizeImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollResultUsizeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollResultUsize, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultUsize, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollResultUsizePtr, - ); - - - } - @sealed class PollUsizeImpl extends RustOpaque implements PollUsize { - // Not to be used by end users - PollUsizeImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - PollUsizeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_PollUsize, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_PollUsize, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_PollUsizePtr, - ); - - - } - @sealed class QueryFacetImpl extends RustOpaque implements QueryFacet { - // Not to be used by end users - QueryFacetImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - QueryFacetImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_QueryFacet, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_QueryFacet, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_QueryFacetPtr, - ); - - - } - @sealed class QueryRewritingImpl extends RustOpaque implements QueryRewriting { - // Not to be used by end users - QueryRewritingImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - QueryRewritingImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_QueryRewriting, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_QueryRewriting, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_QueryRewritingPtr, - ); - - - } - @sealed class RangeU64Impl extends RustOpaque implements RangeU64 { - // Not to be used by end users - RangeU64Impl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - RangeU64Impl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_RangeU64, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_RangeU64, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RangeU64Ptr, - ); - - - } - @sealed class RangesImpl extends RustOpaque implements Ranges { - // Not to be used by end users - RangesImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - RangesImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Ranges, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Ranges, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RangesPtr, - ); - - - } - @sealed class ReadBufImpl extends RustOpaque implements ReadBuf { - // Not to be used by end users - ReadBufImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadBufImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadBuf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadBuf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadBufPtr, - ); - - - } - @sealed class ReadF32LeMutSelfImpl extends RustOpaque implements ReadF32LeMutSelf { - // Not to be used by end users - ReadF32LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadF32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadF32LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF32LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF32LeMutSelfPtr, - ); - - - } - @sealed class ReadF32MutSelfImpl extends RustOpaque implements ReadF32MutSelf { - // Not to be used by end users - ReadF32MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadF32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadF32MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF32MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF32MutSelfPtr, - ); - - - } - @sealed class ReadF64LeMutSelfImpl extends RustOpaque implements ReadF64LeMutSelf { - // Not to be used by end users - ReadF64LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadF64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadF64LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF64LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF64LeMutSelfPtr, - ); - - - } - @sealed class ReadF64MutSelfImpl extends RustOpaque implements ReadF64MutSelf { - // Not to be used by end users - ReadF64MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadF64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadF64MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF64MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadF64MutSelfPtr, - ); - - - } - @sealed class ReadHalfSimplexStreamImpl extends RustOpaque implements ReadHalfSimplexStream { - // Not to be used by end users - ReadHalfSimplexStreamImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadHalfSimplexStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadHalfSimplexStream, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadHalfSimplexStream, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadHalfSimplexStreamPtr, - ); - - - } - @sealed class ReadI128LeMutSelfImpl extends RustOpaque implements ReadI128LeMutSelf { - // Not to be used by end users - ReadI128LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadI128LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI128LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI128LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI128LeMutSelfPtr, - ); - - - } - @sealed class ReadI128MutSelfImpl extends RustOpaque implements ReadI128MutSelf { - // Not to be used by end users - ReadI128MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadI128MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI128MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI128MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI128MutSelfPtr, - ); - - - } - @sealed class ReadI16LeMutSelfImpl extends RustOpaque implements ReadI16LeMutSelf { - // Not to be used by end users - ReadI16LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadI16LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI16LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI16LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI16LeMutSelfPtr, - ); - - - } - @sealed class ReadI16MutSelfImpl extends RustOpaque implements ReadI16MutSelf { - // Not to be used by end users - ReadI16MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadI16MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI16MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI16MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI16MutSelfPtr, - ); - - - } - @sealed class ReadI32LeMutSelfImpl extends RustOpaque implements ReadI32LeMutSelf { - // Not to be used by end users - ReadI32LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadI32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI32LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI32LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI32LeMutSelfPtr, - ); - - - } - @sealed class ReadI32MutSelfImpl extends RustOpaque implements ReadI32MutSelf { - // Not to be used by end users - ReadI32MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadI32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI32MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI32MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI32MutSelfPtr, - ); - - - } - @sealed class ReadI64LeMutSelfImpl extends RustOpaque implements ReadI64LeMutSelf { - // Not to be used by end users - ReadI64LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadI64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI64LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI64LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI64LeMutSelfPtr, - ); - - - } - @sealed class ReadI64MutSelfImpl extends RustOpaque implements ReadI64MutSelf { - // Not to be used by end users - ReadI64MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadI64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI64MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI64MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI64MutSelfPtr, - ); - - - } - @sealed class ReadI8MutSelfImpl extends RustOpaque implements ReadI8MutSelf { - // Not to be used by end users - ReadI8MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadI8MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadI8MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI8MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadI8MutSelfPtr, - ); - - - } - @sealed class ReadU128LeMutSelfImpl extends RustOpaque implements ReadU128LeMutSelf { - // Not to be used by end users - ReadU128LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadU128LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU128LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU128LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU128LeMutSelfPtr, - ); - - - } - @sealed class ReadU128MutSelfImpl extends RustOpaque implements ReadU128MutSelf { - // Not to be used by end users - ReadU128MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadU128MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU128MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU128MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU128MutSelfPtr, - ); - - - } - @sealed class ReadU16LeMutSelfImpl extends RustOpaque implements ReadU16LeMutSelf { - // Not to be used by end users - ReadU16LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadU16LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU16LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU16LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU16LeMutSelfPtr, - ); - - - } - @sealed class ReadU16MutSelfImpl extends RustOpaque implements ReadU16MutSelf { - // Not to be used by end users - ReadU16MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadU16MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU16MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU16MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU16MutSelfPtr, - ); - - - } - @sealed class ReadU32LeMutSelfImpl extends RustOpaque implements ReadU32LeMutSelf { - // Not to be used by end users - ReadU32LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadU32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU32LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU32LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU32LeMutSelfPtr, - ); - - - } - @sealed class ReadU32MutSelfImpl extends RustOpaque implements ReadU32MutSelf { - // Not to be used by end users - ReadU32MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadU32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU32MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU32MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU32MutSelfPtr, - ); - - - } - @sealed class ReadU64LeMutSelfImpl extends RustOpaque implements ReadU64LeMutSelf { - // Not to be used by end users - ReadU64LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadU64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU64LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU64LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU64LeMutSelfPtr, - ); - - - } - @sealed class ReadU64MutSelfImpl extends RustOpaque implements ReadU64MutSelf { - // Not to be used by end users - ReadU64MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadU64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU64MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU64MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU64MutSelfPtr, - ); - - - } - @sealed class ReadU8MutSelfImpl extends RustOpaque implements ReadU8MutSelf { - // Not to be used by end users - ReadU8MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadU8MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReadU8MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU8MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadU8MutSelfPtr, - ); - - - } - @sealed class ReadyImpl extends RustOpaque implements Ready { - // Not to be used by end users - ReadyImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReadyImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Ready, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Ready, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReadyPtr, - ); - - /// Returns true if `Ready` is the empty set. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Ready; -/// -/// assert!(Ready::EMPTY.is_empty()); -/// assert!(!Ready::READABLE.is_empty()); -/// ``` - Future isEmpty()=>RustLib.instance.api.tokioIoReadyIsEmpty(that: this, ); - - -/// Returns `true` if the value includes error `readiness`. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Ready; -/// -/// assert!(!Ready::EMPTY.is_error()); -/// assert!(!Ready::WRITABLE.is_error()); -/// assert!(Ready::ERROR.is_error()); -/// ``` - Future isError()=>RustLib.instance.api.tokioIoReadyIsError(that: this, ); - - -/// Returns `true` if the value includes read-closed `readiness`. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Ready; -/// -/// assert!(!Ready::EMPTY.is_read_closed()); -/// assert!(!Ready::READABLE.is_read_closed()); -/// assert!(Ready::READ_CLOSED.is_read_closed()); -/// ``` - Future isReadClosed()=>RustLib.instance.api.tokioIoReadyIsReadClosed(that: this, ); - - -/// Returns `true` if the value includes `readable`. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Ready; -/// -/// assert!(!Ready::EMPTY.is_readable()); -/// assert!(Ready::READABLE.is_readable()); -/// assert!(Ready::READ_CLOSED.is_readable()); -/// assert!(!Ready::WRITABLE.is_readable()); -/// ``` - Future isReadable()=>RustLib.instance.api.tokioIoReadyIsReadable(that: this, ); - - -/// Returns `true` if the value includes writable `readiness`. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Ready; -/// -/// assert!(!Ready::EMPTY.is_writable()); -/// assert!(!Ready::READABLE.is_writable()); -/// assert!(Ready::WRITABLE.is_writable()); -/// assert!(Ready::WRITE_CLOSED.is_writable()); -/// ``` - Future isWritable()=>RustLib.instance.api.tokioIoReadyIsWritable(that: this, ); - - -/// Returns `true` if the value includes write-closed `readiness`. -/// -/// # Examples -/// -/// ``` -/// use tokio::io::Ready; -/// -/// assert!(!Ready::EMPTY.is_write_closed()); -/// assert!(!Ready::WRITABLE.is_write_closed()); -/// assert!(Ready::WRITE_CLOSED.is_write_closed()); -/// ``` - Future isWriteClosed()=>RustLib.instance.api.tokioIoReadyIsWriteClosed(that: this, ); - - - } - @sealed class ReceiverImpl extends RustOpaque implements Receiver { - // Not to be used by end users - ReceiverImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReceiverImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Receiver, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Receiver, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReceiverPtr, - ); - - /// Converts the pipe into an [`OwnedFd`] in blocking mode. -/// -/// This function will deregister this pipe end from the event loop, set -/// it in blocking mode and perform the conversion. - Future intoBlockingFd()=>RustLib.instance.api.tokioNetUnixPipeReceiverIntoBlockingFd(that: this, ); - - -/// Converts the pipe into an [`OwnedFd`] in nonblocking mode. -/// -/// This function will deregister this pipe end from the event loop and -/// perform the conversion. Returned file descriptor will be in nonblocking -/// mode. - Future intoNonblockingFd()=>RustLib.instance.api.tokioNetUnixPipeReceiverIntoNonblockingFd(that: this, ); - - -/// Polls for read readiness. -/// -/// If the pipe is not currently ready for reading, this method will -/// store a clone of the `Waker` from the provided `Context`. When the pipe -/// becomes ready for reading, `Waker::wake` will be called on the waker. -/// -/// Note that on multiple calls to `poll_read_ready` or `poll_read`, only -/// the `Waker` from the `Context` passed to the most recent call is -/// scheduled to receive a wakeup. -/// -/// This function is intended for cases where creating and pinning a future -/// via [`readable`] is not feasible. Where possible, using [`readable`] is -/// preferred, as this supports polling from multiple tasks at once. -/// -/// [`readable`]: Self::readable -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the pipe is not ready for reading. -/// * `Poll::Ready(Ok(()))` if the pipe is ready for reading. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. - Future pollReadReady({required Context cx })=>RustLib.instance.api.tokioNetUnixPipeReceiverPollReadReady(that: this, cx: cx); - - -/// Waits for the pipe to become readable. -/// -/// This function is equivalent to `ready(Interest::READABLE)` and is usually -/// paired with [`try_read()`]. -/// -/// [`try_read()`]: Self::try_read() -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::unix::pipe; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Open a reading end of a fifo -/// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; -/// -/// let mut msg = vec![0; 1024]; -/// -/// loop { -/// // Wait for the pipe to be readable -/// rx.readable().await?; -/// -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match rx.try_read(&mut msg) { -/// Ok(n) => { -/// msg.truncate(n); -/// break; -/// } -/// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// println!("GOT = {:?}", msg); -/// Ok(()) -/// } -/// ``` - Future readable()=>RustLib.instance.api.tokioNetUnixPipeReceiverReadable(that: this, ); - - -/// Waits for any of the requested ready states. -/// -/// This function can be used instead of [`readable()`] to check the returned -/// ready set for [`Ready::READABLE`] and [`Ready::READ_CLOSED`] events. -/// -/// The function may complete without the pipe being ready. This is a -/// false-positive and attempting an operation will return with -/// `io::ErrorKind::WouldBlock`. The function can also return with an empty -/// [`Ready`] set, so you should always check the returned value and possibly -/// wait again if the requested states are not set. -/// -/// [`readable()`]: Self::readable -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read that fails with `WouldBlock` or -/// `Poll::Pending`. - Future ready({required Interest interest })=>RustLib.instance.api.tokioNetUnixPipeReceiverReady(that: this, interest: interest); - - -/// Tries to read data from the pipe into the provided buffer, returning how -/// many bytes were read. -/// -/// Reads any pending data from the pipe but does not wait for new data -/// to arrive. On success, returns the number of bytes read. Because -/// `try_read()` is non-blocking, the buffer does not have to be stored by -/// the async task and can exist entirely on the stack. -/// -/// Usually [`readable()`] is used with this function. -/// -/// [`readable()`]: Self::readable() -/// -/// # Return -/// -/// If data is successfully read, `Ok(n)` is returned, where `n` is the -/// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: -/// -/// 1. The pipe's writing end is closed and will no longer write data. -/// 2. The specified buffer was 0 bytes in length. -/// -/// If the pipe is not ready to read data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::unix::pipe; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Open a reading end of a fifo -/// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; -/// -/// let mut msg = vec![0; 1024]; -/// -/// loop { -/// // Wait for the pipe to be readable -/// rx.readable().await?; -/// -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match rx.try_read(&mut msg) { -/// Ok(n) => { -/// msg.truncate(n); -/// break; -/// } -/// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// println!("GOT = {:?}", msg); -/// Ok(()) -/// } -/// ``` - Future tryRead({required U8 buf })=>RustLib.instance.api.tokioNetUnixPipeReceiverTryRead(that: this, buf: buf); - - -/// Tries to read data from the pipe into the provided buffers, returning -/// how many bytes were read. -/// -/// Data is copied to fill each buffer in order, with the final buffer -/// written to possibly being only partially filled. This method behaves -/// equivalently to a single call to [`try_read()`] with concatenated -/// buffers. -/// -/// Reads any pending data from the pipe but does not wait for new data -/// to arrive. On success, returns the number of bytes read. Because -/// `try_read_vectored()` is non-blocking, the buffer does not have to be -/// stored by the async task and can exist entirely on the stack. -/// -/// Usually, [`readable()`] is used with this function. -/// -/// [`try_read()`]: Self::try_read() -/// [`readable()`]: Self::readable() -/// -/// # Return -/// -/// If data is successfully read, `Ok(n)` is returned, where `n` is the -/// number of bytes read. `Ok(0)` indicates the pipe's writing end is -/// closed and will no longer write data. If the pipe is not ready to read -/// data `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::unix::pipe; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Open a reading end of a fifo -/// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; -/// -/// loop { -/// // Wait for the pipe to be readable -/// rx.readable().await?; -/// -/// // Creating the buffer **after** the `await` prevents it from -/// // being stored in the async task. -/// let mut buf_a = [0; 512]; -/// let mut buf_b = [0; 1024]; -/// let mut bufs = [ -/// io::IoSliceMut::new(&mut buf_a), -/// io::IoSliceMut::new(&mut buf_b), -/// ]; -/// -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match rx.try_read_vectored(&mut bufs) { -/// Ok(0) => break, -/// Ok(n) => { -/// println!("read {} bytes", n); -/// } -/// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryReadVectored({required IoSliceMut bufs })=>RustLib.instance.api.tokioNetUnixPipeReceiverTryReadVectored(that: this, bufs: bufs); - - - } - @sealed class ReceiverTImpl extends RustOpaque implements ReceiverT { - // Not to be used by end users - ReceiverTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReceiverTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReceiverT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReceiverT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReceiverTPtr, - ); - - /// Blocking receive to call outside of asynchronous contexts. -/// -/// # Panics -/// -/// This function panics if called within an asynchronous execution -/// context. -/// -/// # Examples -/// ``` -/// # #[cfg(not(target_family = "wasm"))] -/// # { -/// use std::thread; -/// use tokio::sync::broadcast; -/// -/// #[tokio::main] -/// async fn main() { -/// let (tx, mut rx) = broadcast::channel(16); -/// -/// let sync_code = thread::spawn(move || { -/// assert_eq!(rx.blocking_recv(), Ok(10)); -/// }); -/// -/// let _ = tx.send(10); -/// sync_code.join().unwrap(); -/// } -/// # } -/// ``` - Future blockingRecv()=>RustLib.instance.api.tokioNetUnixPipeReceiverTBlockingRecv(that: this, ); - - -/// Variant of [`Self::recv_many`] for blocking contexts. -/// -/// The same conditions as in [`Self::blocking_recv`] apply. - Future blockingRecvMany({required VecT buffer , required BigInt limit })=>RustLib.instance.api.tokioNetUnixPipeReceiverTBlockingRecvMany(that: this, buffer: buffer, limit: limit); - - -/// Returns a reference to the most recently sent value. -/// -/// This method does not mark the returned value as seen, so future calls to -/// [`changed`] may return immediately even if you have already seen the -/// value with a call to `borrow`. -/// -/// Outstanding borrows hold a read lock on the inner value. This means that -/// long-lived borrows could cause the producer half to block. It is recommended -/// to keep the borrow as short-lived as possible. Additionally, if you are -/// running in an environment that allows `!Send` futures, you must ensure that -/// the returned `Ref` type is never held alive across an `.await` point, -/// otherwise, it can lead to a deadlock. -/// -/// The priority policy of the lock is dependent on the underlying lock -/// implementation, and this type does not guarantee that any particular policy -/// will be used. In particular, a producer which is waiting to acquire the lock -/// in `send` might or might not block concurrent calls to `borrow`, e.g.: -/// -///
Potential deadlock example -/// -/// ```text -/// // Task 1 (on thread A) | // Task 2 (on thread B) -/// let _ref1 = rx.borrow(); | -/// | // will block -/// | let _ = tx.send(()); -/// // may deadlock | -/// let _ref2 = rx.borrow(); | -/// ``` -///
-/// -/// For more information on when to use this method versus -/// [`borrow_and_update`], see [here](self#borrow_and_update-versus-borrow). -/// -/// [`changed`]: Receiver::changed -/// [`borrow_and_update`]: Receiver::borrow_and_update -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::watch; -/// -/// let (_, rx) = watch::channel("hello"); -/// assert_eq!(*rx.borrow(), "hello"); -/// ``` - Future borrow()=>RustLib.instance.api.tokioNetUnixPipeReceiverTBorrow(that: this, ); - - -/// Returns a reference to the most recently sent value and marks that value -/// as seen. -/// -/// This method marks the current value as seen. Subsequent calls to [`changed`] -/// will not return immediately until the [`Sender`] has modified the shared -/// value again. -/// -/// Outstanding borrows hold a read lock on the inner value. This means that -/// long-lived borrows could cause the producer half to block. It is recommended -/// to keep the borrow as short-lived as possible. Additionally, if you are -/// running in an environment that allows `!Send` futures, you must ensure that -/// the returned `Ref` type is never held alive across an `.await` point, -/// otherwise, it can lead to a deadlock. -/// -/// The priority policy of the lock is dependent on the underlying lock -/// implementation, and this type does not guarantee that any particular policy -/// will be used. In particular, a producer which is waiting to acquire the lock -/// in `send` might or might not block concurrent calls to `borrow`, e.g.: -/// -///
Potential deadlock example -/// -/// ```text -/// // Task 1 (on thread A) | // Task 2 (on thread B) -/// let _ref1 = rx1.borrow_and_update(); | -/// | // will block -/// | let _ = tx.send(()); -/// // may deadlock | -/// let _ref2 = rx2.borrow_and_update(); | -/// ``` -///
-/// -/// For more information on when to use this method versus [`borrow`], see -/// [here](self#borrow_and_update-versus-borrow). -/// -/// [`changed`]: Receiver::changed -/// [`borrow`]: Receiver::borrow - Future borrowAndUpdate()=>RustLib.instance.api.tokioNetUnixPipeReceiverTBorrowAndUpdate(that: this, ); - - -/// Returns the current capacity of the channel. -/// -/// The capacity goes down when the sender sends a value by calling [`Sender::send`] or by reserving -/// capacity with [`Sender::reserve`]. The capacity goes up when values are received. -/// This is distinct from [`max_capacity`], which always returns buffer capacity initially -/// specified when calling [`channel`]. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel::<()>(5); -/// -/// assert_eq!(rx.capacity(), 5); -/// -/// // Making a reservation drops the capacity by one. -/// let permit = tx.reserve().await.unwrap(); -/// assert_eq!(rx.capacity(), 4); -/// assert_eq!(rx.len(), 0); -/// -/// // Sending and receiving a value increases the capacity by one. -/// permit.send(()); -/// assert_eq!(rx.len(), 1); -/// rx.recv().await.unwrap(); -/// assert_eq!(rx.capacity(), 5); -/// -/// // Directly sending a message drops the capacity by one. -/// tx.send(()).await.unwrap(); -/// assert_eq!(rx.capacity(), 4); -/// assert_eq!(rx.len(), 1); -/// -/// // Receiving the message increases the capacity by one. -/// rx.recv().await.unwrap(); -/// assert_eq!(rx.capacity(), 5); -/// assert_eq!(rx.len(), 0); -/// # } -/// ``` -/// [`capacity`]: Receiver::capacity -/// [`max_capacity`]: Receiver::max_capacity - Future capacity()=>RustLib.instance.api.tokioNetUnixPipeReceiverTCapacity(that: this, ); - - -/// Waits for a change notification, then marks the current value as seen. -/// -/// If the current value in the channel has not yet been marked seen when -/// this method is called, the method marks that value seen and returns -/// immediately. If the newest value has already been marked seen, then the -/// method sleeps until a new message is sent by a [`Sender`] connected to -/// this `Receiver`, or until all [`Sender`]s are dropped. -/// -/// For more information, see -/// [*Change notifications*](self#change-notifications) in the module-level documentation. -/// -/// # Errors -/// -/// Returns a [`RecvError`](error::RecvError) if the channel has been closed __AND__ -/// the current value is seen. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If you use it as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, then it is guaranteed that no values have been marked -/// seen by this call to `changed`. -/// -/// [`Sender`]: struct@Sender -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::watch; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = watch::channel("hello"); -/// -/// tokio::spawn(async move { -/// tx.send("goodbye").unwrap(); -/// }); -/// -/// assert!(rx.changed().await.is_ok()); -/// assert_eq!(*rx.borrow_and_update(), "goodbye"); -/// -/// // The `tx` handle has been dropped -/// assert!(rx.changed().await.is_err()); -/// # } -/// ``` - Future changed()=>RustLib.instance.api.tokioNetUnixPipeReceiverTChanged(that: this, ); - - -/// Closes the receiving half of a channel without dropping it. -/// -/// This prevents any further messages from being sent on the channel while -/// still enabling the receiver to drain messages that are buffered. Any -/// outstanding [`Permit`] values will still be able to send messages. -/// -/// To guarantee that no messages are dropped, after calling `close()`, -/// `recv()` must be called until `None` is returned. If there are -/// outstanding [`Permit`] or [`OwnedPermit`] values, the `recv` method will -/// not return `None` until those are released. -/// -/// [`Permit`]: Permit -/// [`OwnedPermit`]: OwnedPermit -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel(20); -/// -/// tokio::spawn(async move { -/// let mut i = 0; -/// while let Ok(permit) = tx.reserve().await { -/// permit.send(i); -/// i += 1; -/// } -/// }); -/// -/// rx.close(); -/// -/// while let Some(msg) = rx.recv().await { -/// println!("got {}", msg); -/// } -/// -/// // Channel closed and no messages are lost. -/// # } -/// ``` - Future close()=>RustLib.instance.api.tokioNetUnixPipeReceiverTClose(that: this, ); - - -/// Checks if this channel contains a message that this receiver has not yet -/// seen. The current value will not be marked as seen. -/// -/// Although this method is called `has_changed`, it does not check -/// messages for equality, so this call will return true even if the current -/// message is equal to the previous message. -/// -/// # Errors -/// -/// Returns a [`RecvError`](error::RecvError) if and only if the channel has been closed. -/// -/// # Examples -/// -/// ## Basic usage -/// -/// ``` -/// use tokio::sync::watch; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = watch::channel("hello"); -/// -/// tx.send("goodbye").unwrap(); -/// -/// assert!(rx.has_changed().unwrap()); -/// assert_eq!(*rx.borrow_and_update(), "goodbye"); -/// -/// // The value has been marked as seen -/// assert!(!rx.has_changed().unwrap()); -/// # } -/// ``` -/// -/// ## Closed channel example -/// -/// ``` -/// use tokio::sync::watch; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, rx) = watch::channel("hello"); -/// tx.send("goodbye").unwrap(); -/// -/// drop(tx); -/// -/// // The channel is closed -/// assert!(rx.has_changed().is_err()); -/// # } -/// ``` - Future hasChanged()=>RustLib.instance.api.tokioNetUnixPipeReceiverTHasChanged(that: this, ); - - -/// Checks if a channel is closed. -/// -/// This method returns `true` if the channel has been closed. The channel is closed -/// when all [`Sender`] have been dropped. -/// -/// [`Sender`]: crate::sync::broadcast::Sender -/// -/// # Examples -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, rx) = broadcast::channel::<()>(10); -/// assert!(!rx.is_closed()); -/// -/// drop(tx); -/// -/// assert!(rx.is_closed()); -/// # } -/// ``` - Future isClosed()=>RustLib.instance.api.tokioNetUnixPipeReceiverTIsClosed(that: this, ); - - -/// Returns true if there aren't any messages in the channel that the [`Receiver`] -/// has yet to receive. -/// -/// [`Receiver`]: crate::sync::broadcast::Receiver -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx1) = broadcast::channel(16); -/// -/// assert!(rx1.is_empty()); -/// -/// tx.send(10).unwrap(); -/// tx.send(20).unwrap(); -/// -/// assert!(!rx1.is_empty()); -/// assert_eq!(rx1.recv().await.unwrap(), 10); -/// assert_eq!(rx1.recv().await.unwrap(), 20); -/// assert!(rx1.is_empty()); -/// # } -/// ``` - Future isEmpty()=>RustLib.instance.api.tokioNetUnixPipeReceiverTIsEmpty(that: this, ); - - -/// Checks if this receiver is terminated. -/// -/// This function returns true if this receiver has already yielded a [`Poll::Ready`] result. -/// If so, this receiver should no longer be polled. -/// -/// # Examples -/// -/// Sending a value and polling it. -/// -/// ``` -/// use tokio::sync::oneshot; -/// -/// use std::task::Poll; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = oneshot::channel(); -/// -/// // A receiver is not terminated when it is initialized. -/// assert!(!rx.is_terminated()); -/// -/// // A receiver is not terminated it is polled and is still pending. -/// let poll = futures::poll!(&mut rx); -/// assert_eq!(poll, Poll::Pending); -/// assert!(!rx.is_terminated()); -/// -/// // A receiver is not terminated if a value has been sent, but not yet read. -/// tx.send(0).unwrap(); -/// assert!(!rx.is_terminated()); -/// -/// // A receiver *is* terminated after it has been polled and yielded a value. -/// assert_eq!((&mut rx).await, Ok(0)); -/// assert!(rx.is_terminated()); -/// # } -/// ``` -/// -/// Dropping the sender. -/// -/// ``` -/// use tokio::sync::oneshot; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = oneshot::channel::<()>(); -/// -/// // A receiver is not immediately terminated when the sender is dropped. -/// drop(tx); -/// assert!(!rx.is_terminated()); -/// -/// // A receiver *is* terminated after it has been polled and yielded an error. -/// let _ = (&mut rx).await.unwrap_err(); -/// assert!(rx.is_terminated()); -/// # } -/// ``` - Future isTerminated()=>RustLib.instance.api.tokioNetUnixPipeReceiverTIsTerminated(that: this, ); - - -/// Returns the number of messages that were sent into the channel and that -/// this [`Receiver`] has yet to receive. -/// -/// If the returned value from `len` is larger than the next largest power of 2 -/// of the capacity of the channel any call to [`recv`] will return an -/// `Err(RecvError::Lagged)` and any call to [`try_recv`] will return an -/// `Err(TryRecvError::Lagged)`, e.g. if the capacity of the channel is 10, -/// [`recv`] will start to return `Err(RecvError::Lagged)` once `len` returns -/// values larger than 16. -/// -/// [`Receiver`]: crate::sync::broadcast::Receiver -/// [`recv`]: crate::sync::broadcast::Receiver::recv -/// [`try_recv`]: crate::sync::broadcast::Receiver::try_recv -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx1) = broadcast::channel(16); -/// -/// tx.send(10).unwrap(); -/// tx.send(20).unwrap(); -/// -/// assert_eq!(rx1.len(), 2); -/// assert_eq!(rx1.recv().await.unwrap(), 10); -/// assert_eq!(rx1.len(), 1); -/// assert_eq!(rx1.recv().await.unwrap(), 20); -/// assert_eq!(rx1.len(), 0); -/// # } -/// ``` - Future len()=>RustLib.instance.api.tokioNetUnixPipeReceiverTLen(that: this, ); - - -/// Marks the state as changed. -/// -/// After invoking this method [`has_changed()`](Self::has_changed) -/// returns `true` and [`changed()`](Self::changed) returns -/// immediately, regardless of whether a new value has been sent. -/// -/// This is useful for triggering an initial change notification after -/// subscribing to synchronize new receivers. - Future markChanged()=>RustLib.instance.api.tokioNetUnixPipeReceiverTMarkChanged(that: this, ); - - -/// Marks the state as unchanged. -/// -/// The current value will be considered seen by the receiver. -/// -/// This is useful if you are not interested in the current value -/// visible in the receiver. - Future markUnchanged()=>RustLib.instance.api.tokioNetUnixPipeReceiverTMarkUnchanged(that: this, ); - - -/// Returns the maximum buffer capacity of the channel. -/// -/// The maximum capacity is the buffer capacity initially specified when calling -/// [`channel`]. This is distinct from [`capacity`], which returns the *current* -/// available buffer capacity: as messages are sent and received, the value -/// returned by [`capacity`] will go up or down, whereas the value -/// returned by [`max_capacity`] will remain constant. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, rx) = mpsc::channel::<()>(5); -/// -/// // both max capacity and capacity are the same at first -/// assert_eq!(rx.max_capacity(), 5); -/// assert_eq!(rx.capacity(), 5); -/// -/// // Making a reservation doesn't change the max capacity. -/// let permit = tx.reserve().await.unwrap(); -/// assert_eq!(rx.max_capacity(), 5); -/// // but drops the capacity by one -/// assert_eq!(rx.capacity(), 4); -/// # } -/// ``` -/// [`capacity`]: Receiver::capacity -/// [`max_capacity`]: Receiver::max_capacity - Future maxCapacity()=>RustLib.instance.api.tokioNetUnixPipeReceiverTMaxCapacity(that: this, ); - - -/// Polls to receive the next message on this channel. -/// -/// This method returns: -/// -/// * `Poll::Pending` if no messages are available but the channel is not -/// closed, or if a spurious failure happens. -/// * `Poll::Ready(Some(message))` if a message is available. -/// * `Poll::Ready(None)` if the channel has been closed and all messages -/// sent before it was closed have been received. -/// -/// When the method returns `Poll::Pending`, the `Waker` in the provided -/// `Context` is scheduled to receive a wakeup when a message is sent on any -/// receiver, or when the channel is closed. Note that on multiple calls to -/// `poll_recv` or `poll_recv_many`, only the `Waker` from the `Context` -/// passed to the most recent call is scheduled to receive a wakeup. -/// -/// If this method returns `Poll::Pending` due to a spurious failure, then -/// the `Waker` will be notified when the situation causing the spurious -/// failure has been resolved. Note that receiving such a wakeup does not -/// guarantee that the next call will succeed — it could fail with another -/// spurious failure. - Future pollRecv({required Context cx })=>RustLib.instance.api.tokioNetUnixPipeReceiverTPollRecv(that: this, cx: cx); - - -/// Polls to receive multiple messages on this channel, extending the provided buffer. -/// -/// This method returns: -/// * `Poll::Pending` if no messages are available but the channel is not closed, or if a -/// spurious failure happens. -/// * `Poll::Ready(count)` where `count` is the number of messages successfully received and -/// stored in `buffer`. This can be less than, or equal to, `limit`. -/// * `Poll::Ready(0)` if `limit` is set to zero or when the channel is closed. -/// -/// When the method returns `Poll::Pending`, the `Waker` in the provided -/// `Context` is scheduled to receive a wakeup when a message is sent on any -/// receiver, or when the channel is closed. Note that on multiple calls to -/// `poll_recv` or `poll_recv_many`, only the `Waker` from the `Context` -/// passed to the most recent call is scheduled to receive a wakeup. -/// -/// Note that this method does not guarantee that exactly `limit` messages -/// are received. Rather, if at least one message is available, it returns -/// as many messages as it can up to the given limit. This method returns -/// zero only if the channel is closed (or if `limit` is zero). -/// -/// # Examples -/// -/// ``` -/// use std::task::{Context, Poll}; -/// use std::pin::Pin; -/// use tokio::sync::mpsc; -/// use futures::Future; -/// -/// struct MyReceiverFuture<'a> { -/// receiver: mpsc::Receiver, -/// buffer: &'a mut Vec, -/// limit: usize, -/// } -/// -/// impl<'a> Future for MyReceiverFuture<'a> { -/// type Output = usize; // Number of messages received -/// -/// fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { -/// let MyReceiverFuture { receiver, buffer, limit } = &mut *self; -/// -/// // Now `receiver` and `buffer` are mutable references, and `limit` is copied -/// match receiver.poll_recv_many(cx, *buffer, *limit) { -/// Poll::Pending => Poll::Pending, -/// Poll::Ready(count) => Poll::Ready(count), -/// } -/// } -/// } -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, rx) = mpsc::channel(32); -/// let mut buffer = Vec::new(); -/// -/// let my_receiver_future = MyReceiverFuture { -/// receiver: rx, -/// buffer: &mut buffer, -/// limit: 3, -/// }; -/// -/// for i in 0..10 { -/// tx.send(i).await.unwrap(); -/// } -/// -/// let count = my_receiver_future.await; -/// assert_eq!(count, 3); -/// assert_eq!(buffer, vec![0,1,2]) -/// # } -/// ``` - Future pollRecvMany({required Context cx , required VecT buffer , required BigInt limit })=>RustLib.instance.api.tokioNetUnixPipeReceiverTPollRecvMany(that: this, cx: cx, buffer: buffer, limit: limit); - - -/// Receives the next value for this receiver. -/// -/// Each [`Receiver`] handle will receive a clone of all values sent -/// **after** it has subscribed. -/// -/// `Err(RecvError::Closed)` is returned when all `Sender` halves have -/// dropped, indicating that no further values can be sent on the channel. -/// -/// If the [`Receiver`] handle falls behind, once the channel is full, newly -/// sent values will overwrite old values. At this point, a call to [`recv`] -/// will return with `Err(RecvError::Lagged)` and the [`Receiver`]'s -/// internal cursor is updated to point to the oldest value still held by -/// the channel. A subsequent call to [`recv`] will return this value -/// **unless** it has been since overwritten. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If `recv` is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, it is guaranteed that no messages were received on this -/// channel. -/// -/// [`Receiver`]: crate::sync::broadcast::Receiver -/// [`recv`]: crate::sync::broadcast::Receiver::recv -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx1) = broadcast::channel(16); -/// let mut rx2 = tx.subscribe(); -/// -/// tokio::spawn(async move { -/// assert_eq!(rx1.recv().await.unwrap(), 10); -/// assert_eq!(rx1.recv().await.unwrap(), 20); -/// }); -/// -/// tokio::spawn(async move { -/// assert_eq!(rx2.recv().await.unwrap(), 10); -/// assert_eq!(rx2.recv().await.unwrap(), 20); -/// }); -/// -/// tx.send(10).unwrap(); -/// tx.send(20).unwrap(); -/// # } -/// ``` -/// -/// Handling lag -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = broadcast::channel(2); -/// -/// tx.send(10).unwrap(); -/// tx.send(20).unwrap(); -/// tx.send(30).unwrap(); -/// -/// // The receiver lagged behind -/// assert!(rx.recv().await.is_err()); -/// -/// // At this point, we can abort or continue with lost messages -/// -/// assert_eq!(20, rx.recv().await.unwrap()); -/// assert_eq!(30, rx.recv().await.unwrap()); -/// # } -/// ``` - Future recv()=>RustLib.instance.api.tokioNetUnixPipeReceiverTRecv(that: this, ); - - -/// Receives the next values for this receiver and extends `buffer`. -/// -/// This method extends `buffer` by no more than a fixed number of values -/// as specified by `limit`. If `limit` is zero, the function immediately -/// returns `0`. The return value is the number of values added to `buffer`. -/// -/// For `limit > 0`, if there are no messages in the channel's queue, but -/// the channel has not yet been closed, this method will sleep until a -/// message is sent or the channel is closed. Note that if [`close`] is -/// called, but there are still outstanding [`Permits`] from before it was -/// closed, the channel is not considered closed by `recv_many` until the -/// permits are released. -/// -/// For non-zero values of `limit`, this method will never return `0` unless -/// the channel has been closed and there are no remaining messages in the -/// channel's queue. This indicates that no further values can ever be -/// received from this `Receiver`. The channel is closed when all senders -/// have been dropped, or when [`close`] is called. -/// -/// The capacity of `buffer` is increased as needed. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If `recv_many` is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, it is guaranteed that no messages were received on this -/// channel. -/// -/// [`close`]: Self::close -/// [`Permits`]: struct@crate::sync::mpsc::Permit -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let mut buffer: Vec<&str> = Vec::with_capacity(2); -/// let limit = 2; -/// let (tx, mut rx) = mpsc::channel(100); -/// let tx2 = tx.clone(); -/// tx2.send("first").await.unwrap(); -/// tx2.send("second").await.unwrap(); -/// tx2.send("third").await.unwrap(); -/// -/// // Call `recv_many` to receive up to `limit` (2) values. -/// assert_eq!(2, rx.recv_many(&mut buffer, limit).await); -/// assert_eq!(vec!["first", "second"], buffer); -/// -/// // If the buffer is full, the next call to `recv_many` -/// // reserves additional capacity. -/// assert_eq!(1, rx.recv_many(&mut buffer, 1).await); -/// -/// tokio::spawn(async move { -/// tx.send("fourth").await.unwrap(); -/// }); -/// -/// // 'tx' is dropped, but `recv_many` -/// // is guaranteed not to return 0 as the channel -/// // is not yet closed. -/// assert_eq!(1, rx.recv_many(&mut buffer, 1).await); -/// assert_eq!(vec!["first", "second", "third", "fourth"], buffer); -/// -/// // Once the last sender is dropped, the channel is -/// // closed and `recv_many` returns 0, capacity unchanged. -/// drop(tx2); -/// assert_eq!(0, rx.recv_many(&mut buffer, limit).await); -/// assert_eq!(vec!["first", "second", "third", "fourth"], buffer); -/// # } -/// ``` - Future recvMany({required VecT buffer , required BigInt limit })=>RustLib.instance.api.tokioNetUnixPipeReceiverTRecvMany(that: this, buffer: buffer, limit: limit); - - -/// Re-subscribes to the channel starting from the current tail element. -/// -/// This [`Receiver`] handle will receive a clone of all values sent -/// **after** it has resubscribed. This will not include elements that are -/// in the queue of the current receiver. Consider the following example. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = broadcast::channel(2); -/// -/// tx.send(1).unwrap(); -/// let mut rx2 = rx.resubscribe(); -/// tx.send(2).unwrap(); -/// -/// assert_eq!(rx2.recv().await.unwrap(), 2); -/// assert_eq!(rx.recv().await.unwrap(), 1); -/// # } -/// ``` - Future resubscribe()=>RustLib.instance.api.tokioNetUnixPipeReceiverTResubscribe(that: this, ); - - -/// Returns `true` if receivers belong to the same channel. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, rx) = broadcast::channel::<()>(16); -/// let rx2 = tx.subscribe(); -/// -/// assert!(rx.same_channel(&rx2)); -/// -/// let (_tx3, rx3) = broadcast::channel::<()>(16); -/// -/// assert!(!rx3.same_channel(&rx2)); -/// # } -/// ``` - Future sameChannel({required ReceiverT other })=>RustLib.instance.api.tokioNetUnixPipeReceiverTSameChannel(that: this, other: other); - - -/// Returns the number of [`Sender`] handles. - Future senderStrongCount()=>RustLib.instance.api.tokioNetUnixPipeReceiverTSenderStrongCount(that: this, ); - - -/// Returns the number of [`WeakSender`] handles. - Future senderWeakCount()=>RustLib.instance.api.tokioNetUnixPipeReceiverTSenderWeakCount(that: this, ); - - -/// Attempts to return a pending value on this receiver without awaiting. -/// -/// This is useful for a flavor of "optimistic check" before deciding to -/// await on a receiver. -/// -/// Compared with [`recv`], this function has three failure cases instead of two -/// (one for closed, one for an empty buffer, one for a lagging receiver). -/// -/// `Err(TryRecvError::Closed)` is returned when all `Sender` halves have -/// dropped, indicating that no further values can be sent on the channel. -/// -/// If the [`Receiver`] handle falls behind, once the channel is full, newly -/// sent values will overwrite old values. At this point, a call to [`recv`] -/// will return with `Err(TryRecvError::Lagged)` and the [`Receiver`]'s -/// internal cursor is updated to point to the oldest value still held by -/// the channel. A subsequent call to [`try_recv`] will return this value -/// **unless** it has been since overwritten. If there are no values to -/// receive, `Err(TryRecvError::Empty)` is returned. -/// -/// [`recv`]: crate::sync::broadcast::Receiver::recv -/// [`try_recv`]: crate::sync::broadcast::Receiver::try_recv -/// [`Receiver`]: crate::sync::broadcast::Receiver -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = broadcast::channel(16); -/// -/// assert!(rx.try_recv().is_err()); -/// -/// tx.send(10).unwrap(); -/// -/// let value = rx.try_recv().unwrap(); -/// assert_eq!(10, value); -/// # } -/// ``` - Future tryRecv()=>RustLib.instance.api.tokioNetUnixPipeReceiverTTryRecv(that: this, ); - - - } - @sealed class RecvErrorImpl extends RustOpaque implements RecvError { - // Not to be used by end users - RecvErrorImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - RecvErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_RecvError, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_RecvError, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RecvErrorPtr, - ); - - - } - @sealed class RefTImpl extends RustOpaque implements RefT { - // Not to be used by end users - RefTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - RefTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_RefT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_RefT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RefTPtr, - ); - - - } - @sealed class RepeatImpl extends RustOpaque implements Repeat { - // Not to be used by end users - RepeatImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - RepeatImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Repeat, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Repeat, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RepeatPtr, - ); - - - } - @sealed class RestoreOnPendingImpl extends RustOpaque implements RestoreOnPending { - // Not to be used by end users - RestoreOnPendingImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - RestoreOnPendingImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_RestoreOnPending, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_RestoreOnPending, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RestoreOnPendingPtr, - ); - - /// Signals that the task that obtained this `RestoreOnPending` was able to make -/// progress. This prevents the task budget from being restored to the value -/// it had prior to obtaining this instance when it is dropped. - Future madeProgress()=>RustLib.instance.api.tokioTaskCoopRestoreOnPendingMadeProgress(that: this, ); - - - } - @sealed class ResultImpl extends RustOpaque implements Result { - // Not to be used by end users - ResultImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ResultImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Result, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Result, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ResultPtr, - ); - - - } - @sealed class ResultObjectImpl extends RustOpaque implements ResultObject { - // Not to be used by end users - ResultObjectImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ResultObjectImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ResultObject, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ResultObject, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ResultObjectPtr, - ); - - AHashMapStringFacet get facets=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetFacets(that: this, ); - - - String get originalQuery=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetOriginalQuery(that: this, ); - - - String get query=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetQuery(that: this, ); - - - List get queryTerms=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetQueryTerms(that: this, ); - - - BigInt get resultCount=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetResultCount(that: this, ); - - - BigInt get resultCountTotal=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetResultCountTotal(that: this, ); - - - List get results=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetResults(that: this, ); - - - List get suggestions=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorGetSuggestions(that: this, ); - - - set facets(AHashMapStringFacet facets)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetFacets(that: this, facets: facets); - - - set originalQuery(String originalQuery)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetOriginalQuery(that: this, originalQuery: originalQuery); - - - set query(String query)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetQuery(that: this, query: query); - - - set queryTerms(List queryTerms)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetQueryTerms(that: this, queryTerms: queryTerms); - - - set resultCount(BigInt resultCount)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetResultCount(that: this, resultCount: resultCount); - - - set resultCountTotal(BigInt resultCountTotal)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetResultCountTotal(that: this, resultCountTotal: resultCountTotal); - - - set results(List results)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetResults(that: this, results: results); - - - set suggestions(List suggestions)=>RustLib.instance.api.seekstormSearchResultObjectAutoAccessorSetSuggestions(that: this, suggestions: suggestions); - - - } - @sealed class ResultSortImpl extends RustOpaque implements ResultSort { - // Not to be used by end users - ResultSortImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ResultSortImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ResultSort, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ResultSort, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ResultSortPtr, - ); - - FacetValue get base=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorGetBase(that: this, ); - - - String get field=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorGetField(that: this, ); - - - SortOrder get order=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorGetOrder(that: this, ); - - - set base(FacetValue base)=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorSetBase(that: this, base: base); - - - set field(String field)=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorSetField(that: this, field: field); - - - set order(SortOrder order)=>RustLib.instance.api.seekstormSearchResultSortAutoAccessorSetOrder(that: this, order: order); - - - } - @sealed class ReuniteErrorImpl extends RustOpaque implements ReuniteError { - // Not to be used by end users - ReuniteErrorImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ReuniteErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ReuniteError, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ReuniteError, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ReuniteErrorPtr, - ); - - OwnedReadHalf get field0=>RustLib.instance.api.tokioNetTcpReuniteErrorAutoAccessorGetField0(that: this, ); - - - OwnedWriteHalf get field1=>RustLib.instance.api.tokioNetTcpReuniteErrorAutoAccessorGetField1(that: this, ); - - - set field0(OwnedReadHalf field0)=>RustLib.instance.api.tokioNetTcpReuniteErrorAutoAccessorSetField0(that: this, field0: field0); - - - set field1(OwnedWriteHalf field1)=>RustLib.instance.api.tokioNetTcpReuniteErrorAutoAccessorSetField1(that: this, field1: field1); - - - } - @sealed class RuntimeImpl extends RustOpaque implements Runtime { - // Not to be used by end users - RuntimeImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - RuntimeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Runtime, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Runtime, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RuntimePtr, - ); - - /// Enters the runtime context. -/// -/// This allows you to construct types that must have an executor -/// available on creation such as [`Sleep`] or [`TcpStream`]. It will -/// also allow you to call methods such as [`tokio::spawn`]. -/// -/// [`Sleep`]: struct@crate::time::Sleep -/// [`TcpStream`]: struct@crate::net::TcpStream -/// [`tokio::spawn`]: fn@crate::spawn -/// -/// # Example -/// -/// ``` -/// # #[cfg(not(target_family = "wasm"))] -/// # { -/// use tokio::runtime::Runtime; -/// use tokio::task::JoinHandle; -/// -/// fn function_that_spawns(msg: String) -> JoinHandle<()> { -/// // Had we not used `rt.enter` below, this would panic. -/// tokio::spawn(async move { -/// println!("{}", msg); -/// }) -/// } -/// -/// fn main() { -/// let rt = Runtime::new().unwrap(); -/// -/// let s = "Hello World!".to_string(); -/// -/// // By entering the context, we tie `tokio::spawn` to this executor. -/// let _guard = rt.enter(); -/// let handle = function_that_spawns(s); -/// -/// // Wait for the task before we end the test. -/// rt.block_on(handle).unwrap(); -/// } -/// # } -/// ``` - Future enter()=>RustLib.instance.api.tokioRuntimeRuntimeEnter(that: this, ); - - -/// Returns a handle to the runtime's spawner. -/// -/// The returned handle can be used to spawn tasks that run on this runtime, and can -/// be cloned to allow moving the `Handle` to other threads. -/// -/// Calling [`Handle::block_on`] on a handle to a `current_thread` runtime is error-prone. -/// Refer to the documentation of [`Handle::block_on`] for more. -/// -/// # Examples -/// -/// ``` -/// # #[cfg(not(target_family = "wasm"))] -/// # { -/// use tokio::runtime::Runtime; -/// -/// let rt = Runtime::new() -/// .unwrap(); -/// -/// let handle = rt.handle(); -/// -/// // Use the handle... -/// # } -/// ``` - Future handle()=>RustLib.instance.api.tokioRuntimeRuntimeHandle(that: this, ); - - -/// Returns a view that lets you get information about how the runtime -/// is performing. - Future metrics()=>RustLib.instance.api.tokioRuntimeRuntimeMetrics(that: this, ); - - -/// Shuts down the runtime, without waiting for any spawned work to stop. -/// -/// This can be useful if you want to drop a runtime from within another runtime. -/// Normally, dropping a runtime will block indefinitely for spawned blocking tasks -/// to complete, which would normally not be permitted within an asynchronous context. -/// By calling `shutdown_background()`, you can drop the runtime from such a context. -/// -/// Note however, that because we do not wait for any blocking tasks to complete, this -/// may result in a resource leak (in that any blocking tasks are still running until they -/// return. -/// -/// See the [struct level documentation](Runtime#shutdown) for more details. -/// -/// This function is equivalent to calling `shutdown_timeout(Duration::from_nanos(0))`. -/// -/// ``` -/// # #[cfg(not(target_family = "wasm"))] -/// # { -/// use tokio::runtime::Runtime; -/// -/// fn main() { -/// let runtime = Runtime::new().unwrap(); -/// -/// runtime.block_on(async move { -/// let inner_runtime = Runtime::new().unwrap(); -/// // ... -/// inner_runtime.shutdown_background(); -/// }); -/// } -/// # } -/// ``` - Future shutdownBackground()=>RustLib.instance.api.tokioRuntimeRuntimeShutdownBackground(that: this, ); - - - } - @sealed class RuntimeMetricsImpl extends RustOpaque implements RuntimeMetrics { - // Not to be used by end users - RuntimeMetricsImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - RuntimeMetricsImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_RuntimeMetrics, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_RuntimeMetrics, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_RuntimeMetricsPtr, - ); - - /// Returns the number of tasks currently scheduled in the runtime's -/// global queue. -/// -/// Tasks that are spawned or notified from a non-runtime thread are -/// scheduled using the runtime's global queue. This metric returns the -/// **current** number of tasks pending in the global queue. As such, the -/// returned value may increase or decrease as new tasks are scheduled and -/// processed. -/// -/// # Examples -/// -/// ``` -/// use tokio::runtime::Handle; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let metrics = Handle::current().metrics(); -/// -/// let n = metrics.global_queue_depth(); -/// println!("{} tasks currently pending in the runtime's global queue", n); -/// # } -/// ``` - Future globalQueueDepth()=>RustLib.instance.api.tokioRuntimeRuntimeMetricsGlobalQueueDepth(that: this, ); - - -/// Returns the current number of alive tasks in the runtime. -/// -/// This counter increases when a task is spawned and decreases when a -/// task exits. -/// -/// Note: When using the multi-threaded runtime this number may not -/// not have strong consistency i.e. no tasks may be running but the metric -/// reports otherwise. -/// -/// # Examples -/// -/// ``` -/// use tokio::runtime::Handle; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let metrics = Handle::current().metrics(); -/// -/// let n = metrics.num_alive_tasks(); -/// println!("Runtime has {} alive tasks", n); -/// # } -/// ``` - Future numAliveTasks()=>RustLib.instance.api.tokioRuntimeRuntimeMetricsNumAliveTasks(that: this, ); - - -/// Returns the number of worker threads used by the runtime. -/// -/// The number of workers is set by configuring `worker_threads` on -/// `runtime::Builder`. When using the `current_thread` runtime, the return -/// value is always `1`. -/// -/// # Examples -/// -/// ``` -/// use tokio::runtime::Handle; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let metrics = Handle::current().metrics(); -/// -/// let n = metrics.num_workers(); -/// println!("Runtime is using {} workers", n); -/// # } -/// ``` - Future numWorkers()=>RustLib.instance.api.tokioRuntimeRuntimeMetricsNumWorkers(that: this, ); - - -/// Returns the total number of times the given worker thread has parked. -/// -/// The worker park count starts at zero when the runtime is created and -/// increases by one each time the worker parks the thread waiting for new -/// inbound events to process. This usually means the worker has processed -/// all pending work and is currently idle. -/// -/// The counter is monotonically increasing. It is never decremented or -/// reset to zero. -/// -/// # Arguments -/// -/// `worker` is the index of the worker being queried. The given value must -/// be between 0 and `num_workers()`. The index uniquely identifies a single -/// worker and will continue to identify the worker throughout the lifetime -/// of the runtime instance. -/// -/// # Panics -/// -/// The method panics when `worker` represents an invalid worker, i.e. is -/// greater than or equal to `num_workers()`. -/// -/// # Examples -/// -/// ``` -/// use tokio::runtime::Handle; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let metrics = Handle::current().metrics(); -/// -/// let n = metrics.worker_park_count(0); -/// println!("worker 0 parked {} times", n); -/// # } -/// ``` - Future workerParkCount({required BigInt worker })=>RustLib.instance.api.tokioRuntimeRuntimeMetricsWorkerParkCount(that: this, worker: worker); - - -/// Returns the total number of times the given worker thread has parked -/// and unparked. -/// -/// The worker park/unpark count starts at zero when the runtime is created -/// and increases by one each time the worker parks the thread waiting for -/// new inbound events to process. This usually means the worker has processed -/// all pending work and is currently idle. When new work becomes available, -/// the worker is unparked and the park/unpark count is again increased by one. -/// -/// An odd count means that the worker is currently parked. -/// An even count means that the worker is currently active. -/// -/// The counter is monotonically increasing. It is never decremented or -/// reset to zero. -/// -/// # Arguments -/// -/// `worker` is the index of the worker being queried. The given value must -/// be between 0 and `num_workers()`. The index uniquely identifies a single -/// worker and will continue to identify the worker throughout the lifetime -/// of the runtime instance. -/// -/// # Panics -/// -/// The method panics when `worker` represents an invalid worker, i.e. is -/// greater than or equal to `num_workers()`. -/// -/// # Examples -/// -/// ``` -/// use tokio::runtime::Handle; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let metrics = Handle::current().metrics(); -/// let n = metrics.worker_park_unpark_count(0); -/// -/// println!("worker 0 parked and unparked {} times", n); -/// -/// if n % 2 == 0 { -/// println!("worker 0 is active"); -/// } else { -/// println!("worker 0 is parked"); -/// } -/// # } -/// ``` - Future workerParkUnparkCount({required BigInt worker })=>RustLib.instance.api.tokioRuntimeRuntimeMetricsWorkerParkUnparkCount(that: this, worker: worker); - - -/// Returns the amount of time the given worker thread has been busy. -/// -/// The worker busy duration starts at zero when the runtime is created and -/// increases whenever the worker is spending time processing work. Using -/// this value can indicate the load of the given worker. If a lot of time -/// is spent busy, then the worker is under load and will check for inbound -/// events less often. -/// -/// The timer is monotonically increasing. It is never decremented or reset -/// to zero. -/// -/// # Arguments -/// -/// `worker` is the index of the worker being queried. The given value must -/// be between 0 and `num_workers()`. The index uniquely identifies a single -/// worker and will continue to identify the worker throughout the lifetime -/// of the runtime instance. -/// -/// # Panics -/// -/// The method panics when `worker` represents an invalid worker, i.e. is -/// greater than or equal to `num_workers()`. -/// -/// # Examples -/// -/// ``` -/// use tokio::runtime::Handle; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let metrics = Handle::current().metrics(); -/// -/// let n = metrics.worker_total_busy_duration(0); -/// println!("worker 0 was busy for a total of {:?}", n); -/// # } -/// ``` - Future workerTotalBusyDuration({required BigInt worker })=>RustLib.instance.api.tokioRuntimeRuntimeMetricsWorkerTotalBusyDuration(that: this, worker: worker); - - - } - @sealed class SchemaFieldImpl extends RustOpaque implements SchemaField { - // Not to be used by end users - SchemaFieldImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SchemaFieldImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SchemaField, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SchemaField, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SchemaFieldPtr, - ); - - double get boost=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetBoost(that: this, ); - - - bool get completionSource=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetCompletionSource(that: this, ); - - - bool get dictionarySource=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetDictionarySource(that: this, ); - - - bool get facet=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetFacet(that: this, ); - - - String get field=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetField(that: this, ); - - - FieldType get fieldType=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetFieldType(that: this, ); - - - bool get indexed=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetIndexed(that: this, ); - - - bool get longest=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetLongest(that: this, ); - - - bool get stored=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorGetStored(that: this, ); - - - set boost(double boost)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetBoost(that: this, boost: boost); - - - set completionSource(bool completionSource)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetCompletionSource(that: this, completionSource: completionSource); - - - set dictionarySource(bool dictionarySource)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetDictionarySource(that: this, dictionarySource: dictionarySource); - - - set facet(bool facet)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetFacet(that: this, facet: facet); - - - set field(String field)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetField(that: this, field: field); - - - set fieldType(FieldType fieldType)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetFieldType(that: this, fieldType: fieldType); - - - set indexed(bool indexed)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetIndexed(that: this, indexed: indexed); - - - set longest(bool longest)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetLongest(that: this, longest: longest); - - - set stored(bool stored)=>RustLib.instance.api.seekstormIndexSchemaFieldAutoAccessorSetStored(that: this, stored: stored); - - - } - @sealed class SeekFromImpl extends RustOpaque implements SeekFrom { - // Not to be used by end users - SeekFromImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SeekFromImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SeekFrom, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SeekFrom, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SeekFromPtr, - ); - - - } - @sealed class SeekSelfImpl extends RustOpaque implements SeekSelf { - // Not to be used by end users - SeekSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SeekSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SeekSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SeekSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SeekSelfPtr, - ); - - - } - @sealed class SemaphoreImpl extends RustOpaque implements Semaphore { - // Not to be used by end users - SemaphoreImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SemaphoreImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Semaphore, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Semaphore, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SemaphorePtr, - ); - - /// Acquires a permit from the semaphore. -/// -/// If the semaphore has been closed, this returns an [`AcquireError`]. -/// Otherwise, this returns a [`SemaphorePermit`] representing the -/// acquired permit. -/// -/// # Cancel safety -/// -/// This method uses a queue to fairly distribute permits in the order they -/// were requested. Cancelling a call to `acquire` makes you lose your place -/// in the queue. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::Semaphore; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let semaphore = Semaphore::new(2); -/// -/// let permit_1 = semaphore.acquire().await.unwrap(); -/// assert_eq!(semaphore.available_permits(), 1); -/// -/// let permit_2 = semaphore.acquire().await.unwrap(); -/// assert_eq!(semaphore.available_permits(), 0); -/// -/// drop(permit_1); -/// assert_eq!(semaphore.available_permits(), 1); -/// # } -/// ``` -/// -/// [`AcquireError`]: crate::sync::AcquireError -/// [`SemaphorePermit`]: crate::sync::SemaphorePermit - Future acquire()=>RustLib.instance.api.tokioSyncSemaphoreAcquire(that: this, ); - - -/// Acquires `n` permits from the semaphore. -/// -/// If the semaphore has been closed, this returns an [`AcquireError`]. -/// Otherwise, this returns a [`SemaphorePermit`] representing the -/// acquired permits. -/// -/// # Cancel safety -/// -/// This method uses a queue to fairly distribute permits in the order they -/// were requested. Cancelling a call to `acquire_many` makes you lose your -/// place in the queue. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::Semaphore; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let semaphore = Semaphore::new(5); -/// -/// let permit = semaphore.acquire_many(3).await.unwrap(); -/// assert_eq!(semaphore.available_permits(), 2); -/// # } -/// ``` -/// -/// [`AcquireError`]: crate::sync::AcquireError -/// [`SemaphorePermit`]: crate::sync::SemaphorePermit - Future acquireMany({required int n })=>RustLib.instance.api.tokioSyncSemaphoreAcquireMany(that: this, n: n); - - -/// Acquires `n` permits from the semaphore. -/// -/// The semaphore must be wrapped in an [`Arc`] to call this method. -/// If the semaphore has been closed, this returns an [`AcquireError`]. -/// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the -/// acquired permit. -/// -/// # Cancel safety -/// -/// This method uses a queue to fairly distribute permits in the order they -/// were requested. Cancelling a call to `acquire_many_owned` makes you lose -/// your place in the queue. -/// -/// # Examples -/// -/// ``` -/// use std::sync::Arc; -/// use tokio::sync::Semaphore; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let semaphore = Arc::new(Semaphore::new(10)); -/// let mut join_handles = Vec::new(); -/// -/// for _ in 0..5 { -/// let permit = semaphore.clone().acquire_many_owned(2).await.unwrap(); -/// join_handles.push(tokio::spawn(async move { -/// // perform task... -/// // explicitly own `permit` in the task -/// drop(permit); -/// })); -/// } -/// -/// for handle in join_handles { -/// handle.await.unwrap(); -/// } -/// # } -/// ``` -/// -/// [`Arc`]: std::sync::Arc -/// [`AcquireError`]: crate::sync::AcquireError -/// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit - Future acquireManyOwned({required int n })=>RustLib.instance.api.tokioSyncSemaphoreAcquireManyOwned(that: this, n: n); - - -/// Acquires a permit from the semaphore. -/// -/// The semaphore must be wrapped in an [`Arc`] to call this method. -/// If the semaphore has been closed, this returns an [`AcquireError`]. -/// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the -/// acquired permit. -/// -/// # Cancel safety -/// -/// This method uses a queue to fairly distribute permits in the order they -/// were requested. Cancelling a call to `acquire_owned` makes you lose your -/// place in the queue. -/// -/// # Examples -/// -/// ``` -/// use std::sync::Arc; -/// use tokio::sync::Semaphore; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let semaphore = Arc::new(Semaphore::new(3)); -/// let mut join_handles = Vec::new(); -/// -/// for _ in 0..5 { -/// let permit = semaphore.clone().acquire_owned().await.unwrap(); -/// join_handles.push(tokio::spawn(async move { -/// // perform task... -/// // explicitly own `permit` in the task -/// drop(permit); -/// })); -/// } -/// -/// for handle in join_handles { -/// handle.await.unwrap(); -/// } -/// # } -/// ``` -/// -/// [`Arc`]: std::sync::Arc -/// [`AcquireError`]: crate::sync::AcquireError -/// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit - Future acquireOwned()=>RustLib.instance.api.tokioSyncSemaphoreAcquireOwned(that: this, ); - - -/// Adds `n` new permits to the semaphore. -/// -/// The maximum number of permits is [`Semaphore::MAX_PERMITS`], and this function will panic if the limit is exceeded. - Future addPermits({required BigInt n })=>RustLib.instance.api.tokioSyncSemaphoreAddPermits(that: this, n: n); - - -/// Returns the current number of available permits. - Future availablePermits()=>RustLib.instance.api.tokioSyncSemaphoreAvailablePermits(that: this, ); - - -/// Closes the semaphore. -/// -/// This prevents the semaphore from issuing new permits and notifies all pending waiters. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::Semaphore; -/// use std::sync::Arc; -/// use tokio::sync::TryAcquireError; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let semaphore = Arc::new(Semaphore::new(1)); -/// let semaphore2 = semaphore.clone(); -/// -/// tokio::spawn(async move { -/// let permit = semaphore.acquire_many(2).await; -/// assert!(permit.is_err()); -/// println!("waiter received error"); -/// }); -/// -/// println!("closing semaphore"); -/// semaphore2.close(); -/// -/// // Cannot obtain more permits -/// assert_eq!(semaphore2.try_acquire().err(), Some(TryAcquireError::Closed)) -/// # } -/// ``` - Future close()=>RustLib.instance.api.tokioSyncSemaphoreClose(that: this, ); - - -/// Decrease a semaphore's permits by a maximum of `n`. -/// -/// If there are insufficient permits and it's not possible to reduce by `n`, -/// return the number of permits that were actually reduced. - Future forgetPermits({required BigInt n })=>RustLib.instance.api.tokioSyncSemaphoreForgetPermits(that: this, n: n); - - -/// Returns true if the semaphore is closed - Future isClosed()=>RustLib.instance.api.tokioSyncSemaphoreIsClosed(that: this, ); - - -/// Tries to acquire a permit from the semaphore. -/// -/// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`] -/// and a [`TryAcquireError::NoPermits`] if there are no permits left. Otherwise, -/// this returns a [`SemaphorePermit`] representing the acquired permits. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::{Semaphore, TryAcquireError}; -/// -/// # fn main() { -/// let semaphore = Semaphore::new(2); -/// -/// let permit_1 = semaphore.try_acquire().unwrap(); -/// assert_eq!(semaphore.available_permits(), 1); -/// -/// let permit_2 = semaphore.try_acquire().unwrap(); -/// assert_eq!(semaphore.available_permits(), 0); -/// -/// let permit_3 = semaphore.try_acquire(); -/// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits)); -/// # } -/// ``` -/// -/// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed -/// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits -/// [`SemaphorePermit`]: crate::sync::SemaphorePermit - Future tryAcquire()=>RustLib.instance.api.tokioSyncSemaphoreTryAcquire(that: this, ); - - -/// Tries to acquire `n` permits from the semaphore. -/// -/// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`] -/// and a [`TryAcquireError::NoPermits`] if there are not enough permits left. -/// Otherwise, this returns a [`SemaphorePermit`] representing the acquired permits. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::{Semaphore, TryAcquireError}; -/// -/// # fn main() { -/// let semaphore = Semaphore::new(4); -/// -/// let permit_1 = semaphore.try_acquire_many(3).unwrap(); -/// assert_eq!(semaphore.available_permits(), 1); -/// -/// let permit_2 = semaphore.try_acquire_many(2); -/// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits)); -/// # } -/// ``` -/// -/// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed -/// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits -/// [`SemaphorePermit`]: crate::sync::SemaphorePermit - Future tryAcquireMany({required int n })=>RustLib.instance.api.tokioSyncSemaphoreTryAcquireMany(that: this, n: n); - - -/// Tries to acquire `n` permits from the semaphore. -/// -/// The semaphore must be wrapped in an [`Arc`] to call this method. If -/// the semaphore has been closed, this returns a [`TryAcquireError::Closed`] -/// and a [`TryAcquireError::NoPermits`] if there are no permits left. -/// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the -/// acquired permit. -/// -/// # Examples -/// -/// ``` -/// use std::sync::Arc; -/// use tokio::sync::{Semaphore, TryAcquireError}; -/// -/// # fn main() { -/// let semaphore = Arc::new(Semaphore::new(4)); -/// -/// let permit_1 = Arc::clone(&semaphore).try_acquire_many_owned(3).unwrap(); -/// assert_eq!(semaphore.available_permits(), 1); -/// -/// let permit_2 = semaphore.try_acquire_many_owned(2); -/// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits)); -/// # } -/// ``` -/// -/// [`Arc`]: std::sync::Arc -/// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed -/// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits -/// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit - Future tryAcquireManyOwned({required int n })=>RustLib.instance.api.tokioSyncSemaphoreTryAcquireManyOwned(that: this, n: n); - - -/// Tries to acquire a permit from the semaphore. -/// -/// The semaphore must be wrapped in an [`Arc`] to call this method. If -/// the semaphore has been closed, this returns a [`TryAcquireError::Closed`] -/// and a [`TryAcquireError::NoPermits`] if there are no permits left. -/// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the -/// acquired permit. -/// -/// # Examples -/// -/// ``` -/// use std::sync::Arc; -/// use tokio::sync::{Semaphore, TryAcquireError}; -/// -/// # fn main() { -/// let semaphore = Arc::new(Semaphore::new(2)); -/// -/// let permit_1 = Arc::clone(&semaphore).try_acquire_owned().unwrap(); -/// assert_eq!(semaphore.available_permits(), 1); -/// -/// let permit_2 = Arc::clone(&semaphore).try_acquire_owned().unwrap(); -/// assert_eq!(semaphore.available_permits(), 0); -/// -/// let permit_3 = semaphore.try_acquire_owned(); -/// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits)); -/// # } -/// ``` -/// -/// [`Arc`]: std::sync::Arc -/// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed -/// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits -/// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit - Future tryAcquireOwned()=>RustLib.instance.api.tokioSyncSemaphoreTryAcquireOwned(that: this, ); - - - } - @sealed class SemaphorePermitImpl extends RustOpaque implements SemaphorePermit { - // Not to be used by end users - SemaphorePermitImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SemaphorePermitImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SemaphorePermit, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SemaphorePermit, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SemaphorePermitPtr, - ); - - - } - @sealed class SendErrorImpl extends RustOpaque implements SendError { - // Not to be used by end users - SendErrorImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SendErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SendError, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SendError, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SendErrorPtr, - ); - - - } - @sealed class SendErrorTImpl extends RustOpaque implements SendErrorT { - // Not to be used by end users - SendErrorTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SendErrorTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SendErrorT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SendErrorT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SendErrorTPtr, - ); - - - } - @sealed class SendTimeoutErrorTImpl extends RustOpaque implements SendTimeoutErrorT { - // Not to be used by end users - SendTimeoutErrorTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SendTimeoutErrorTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SendTimeoutErrorT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SendTimeoutErrorT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SendTimeoutErrorTPtr, - ); - - - } - @sealed class SenderImpl extends RustOpaque implements Sender { - // Not to be used by end users - SenderImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SenderImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Sender, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Sender, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SenderPtr, - ); - - /// Converts the pipe into an [`OwnedFd`] in blocking mode. -/// -/// This function will deregister this pipe end from the event loop, set -/// it in blocking mode and perform the conversion. - Future intoBlockingFd()=>RustLib.instance.api.tokioNetUnixPipeSenderIntoBlockingFd(that: this, ); - - -/// Converts the pipe into an [`OwnedFd`] in nonblocking mode. -/// -/// This function will deregister this pipe end from the event loop and -/// perform the conversion. The returned file descriptor will be in nonblocking -/// mode. - Future intoNonblockingFd()=>RustLib.instance.api.tokioNetUnixPipeSenderIntoNonblockingFd(that: this, ); - - -/// Polls for write readiness. -/// -/// If the pipe is not currently ready for writing, this method will -/// store a clone of the `Waker` from the provided `Context`. When the pipe -/// becomes ready for writing, `Waker::wake` will be called on the waker. -/// -/// Note that on multiple calls to `poll_write_ready` or `poll_write`, only -/// the `Waker` from the `Context` passed to the most recent call is -/// scheduled to receive a wakeup. -/// -/// This function is intended for cases where creating and pinning a future -/// via [`writable`] is not feasible. Where possible, using [`writable`] is -/// preferred, as this supports polling from multiple tasks at once. -/// -/// [`writable`]: Self::writable -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the pipe is not ready for writing. -/// * `Poll::Ready(Ok(()))` if the pipe is ready for writing. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. - Future pollWriteReady({required Context cx })=>RustLib.instance.api.tokioNetUnixPipeSenderPollWriteReady(that: this, cx: cx); - - -/// Waits for any of the requested ready states. -/// -/// This function can be used instead of [`writable()`] to check the returned -/// ready set for [`Ready::WRITABLE`] and [`Ready::WRITE_CLOSED`] events. -/// -/// The function may complete without the pipe being ready. This is a -/// false-positive and attempting an operation will return with -/// `io::ErrorKind::WouldBlock`. The function can also return with an empty -/// [`Ready`] set, so you should always check the returned value and possibly -/// wait again if the requested states are not set. -/// -/// [`writable()`]: Self::writable -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to write that fails with `WouldBlock` or -/// `Poll::Pending`. - Future ready({required Interest interest })=>RustLib.instance.api.tokioNetUnixPipeSenderReady(that: this, interest: interest); - - -/// Tries to write a buffer to the pipe, returning how many bytes were -/// written. -/// -/// The function will attempt to write the entire contents of `buf`, but -/// only part of the buffer may be written. If the length of `buf` is not -/// greater than `PIPE_BUF` (an OS constant, 4096 under Linux), then the -/// write is guaranteed to be atomic, i.e. either the entire content of -/// `buf` will be written or this method will fail with `WouldBlock`. There -/// is no such guarantee if `buf` is larger than `PIPE_BUF`. -/// -/// This function is usually paired with [`writable`]. -/// -/// [`writable`]: Self::writable -/// -/// # Return -/// -/// If data is successfully written, `Ok(n)` is returned, where `n` is the -/// number of bytes written. If the pipe is not ready to write data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::unix::pipe; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Open a writing end of a fifo -/// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; -/// -/// loop { -/// // Wait for the pipe to be writable -/// tx.writable().await?; -/// -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match tx.try_write(b"hello world") { -/// Ok(n) => { -/// break; -/// } -/// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryWrite({required List buf })=>RustLib.instance.api.tokioNetUnixPipeSenderTryWrite(that: this, buf: buf); - - -/// Tries to write several buffers to the pipe, returning how many bytes -/// were written. -/// -/// Data is written from each buffer in order, with the final buffer read -/// from possible being only partially consumed. This method behaves -/// equivalently to a single call to [`try_write()`] with concatenated -/// buffers. -/// -/// If the total length of buffers is not greater than `PIPE_BUF` (an OS -/// constant, 4096 under Linux), then the write is guaranteed to be atomic, -/// i.e. either the entire contents of buffers will be written or this -/// method will fail with `WouldBlock`. There is no such guarantee if the -/// total length of buffers is greater than `PIPE_BUF`. -/// -/// This function is usually paired with [`writable`]. -/// -/// [`try_write()`]: Self::try_write() -/// [`writable`]: Self::writable -/// -/// # Return -/// -/// If data is successfully written, `Ok(n)` is returned, where `n` is the -/// number of bytes written. If the pipe is not ready to write data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::unix::pipe; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Open a writing end of a fifo -/// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; -/// -/// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; -/// -/// loop { -/// // Wait for the pipe to be writable -/// tx.writable().await?; -/// -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match tx.try_write_vectored(&bufs) { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryWriteVectored({required List buf })=>RustLib.instance.api.tokioNetUnixPipeSenderTryWriteVectored(that: this, buf: buf); - - -/// Waits for the pipe to become writable. -/// -/// This function is equivalent to `ready(Interest::WRITABLE)` and is usually -/// paired with [`try_write()`]. -/// -/// [`try_write()`]: Self::try_write -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::unix::pipe; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Open a writing end of a fifo -/// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; -/// -/// loop { -/// // Wait for the pipe to be writable -/// tx.writable().await?; -/// -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match tx.try_write(b"hello world") { -/// Ok(n) => { -/// break; -/// } -/// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future writable()=>RustLib.instance.api.tokioNetUnixPipeSenderWritable(that: this, ); - - - } - @sealed class SenderTImpl extends RustOpaque implements SenderT { - // Not to be used by end users - SenderTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SenderTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SenderT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SenderT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SenderTPtr, - ); - - /// Blocking send to call outside of asynchronous contexts. -/// -/// This method is intended for use cases where you are sending from -/// synchronous code to asynchronous code, and will work even if the -/// receiver is not using [`blocking_recv`] to receive the message. -/// -/// [`blocking_recv`]: fn@crate::sync::mpsc::Receiver::blocking_recv -/// -/// # Panics -/// -/// This function panics if called within an asynchronous execution -/// context. -/// -/// # Examples -/// -/// ``` -/// # #[cfg(not(target_family = "wasm"))] -/// # { -/// use std::thread; -/// use tokio::runtime::Runtime; -/// use tokio::sync::mpsc; -/// -/// fn main() { -/// let (tx, mut rx) = mpsc::channel::(1); -/// -/// let sync_code = thread::spawn(move || { -/// tx.blocking_send(10).unwrap(); -/// }); -/// -/// Runtime::new().unwrap().block_on(async move { -/// assert_eq!(Some(10), rx.recv().await); -/// }); -/// sync_code.join().unwrap() -/// } -/// # } -/// ``` - Future blockingSend({required T value })=>RustLib.instance.api.tokioNetUnixPipeSenderTBlockingSend(that: this, value: value); - - -/// Returns a reference to the most recently sent value -/// -/// Outstanding borrows hold a read lock on the inner value. This means that -/// long-lived borrows could cause the producer half to block. It is recommended -/// to keep the borrow as short-lived as possible. Additionally, if you are -/// running in an environment that allows `!Send` futures, you must ensure that -/// the returned `Ref` type is never held alive across an `.await` point, -/// otherwise, it can lead to a deadlock. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::watch; -/// -/// let (tx, _) = watch::channel("hello"); -/// assert_eq!(*tx.borrow(), "hello"); -/// ``` - Future borrow()=>RustLib.instance.api.tokioNetUnixPipeSenderTBorrow(that: this, ); - - -/// Returns the current capacity of the channel. -/// -/// The capacity goes down when sending a value by calling [`send`] or by reserving capacity -/// with [`reserve`]. The capacity goes up when values are received by the [`Receiver`]. -/// This is distinct from [`max_capacity`], which always returns buffer capacity initially -/// specified when calling [`channel`] -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel::<()>(5); -/// -/// assert_eq!(tx.capacity(), 5); -/// -/// // Making a reservation drops the capacity by one. -/// let permit = tx.reserve().await.unwrap(); -/// assert_eq!(tx.capacity(), 4); -/// -/// // Sending and receiving a value increases the capacity by one. -/// permit.send(()); -/// rx.recv().await.unwrap(); -/// assert_eq!(tx.capacity(), 5); -/// # } -/// ``` -/// -/// [`send`]: Sender::send -/// [`reserve`]: Sender::reserve -/// [`channel`]: channel -/// [`max_capacity`]: Sender::max_capacity - Future capacity()=>RustLib.instance.api.tokioNetUnixPipeSenderTCapacity(that: this, ); - - -/// A future which completes when the number of [Receiver]s subscribed to this `Sender` reaches -/// zero. -/// -/// # Examples -/// -/// ``` -/// use futures::FutureExt; -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx1) = broadcast::channel::(16); -/// let mut rx2 = tx.subscribe(); -/// -/// let _ = tx.send(10); -/// -/// assert_eq!(rx1.recv().await.unwrap(), 10); -/// drop(rx1); -/// assert!(tx.closed().now_or_never().is_none()); -/// -/// assert_eq!(rx2.recv().await.unwrap(), 10); -/// drop(rx2); -/// assert!(tx.closed().now_or_never().is_some()); -/// # } -/// ``` - Future closed()=>RustLib.instance.api.tokioNetUnixPipeSenderTClosed(that: this, ); - - -/// Converts the `Sender` to a [`WeakSender`] that does not count -/// towards RAII semantics, i.e. if all `Sender` instances of the -/// channel were dropped and only `WeakSender` instances remain, -/// the channel is closed. - Future downgrade()=>RustLib.instance.api.tokioNetUnixPipeSenderTDowngrade(that: this, ); - - -/// Checks if the channel has been closed. This happens when the -/// [`Receiver`] is dropped, or when the [`Receiver::close`] method is -/// called. -/// -/// [`Receiver`]: crate::sync::mpsc::Receiver -/// [`Receiver::close`]: crate::sync::mpsc::Receiver::close -/// -/// ``` -/// let (tx, rx) = tokio::sync::mpsc::channel::<()>(42); -/// assert!(!tx.is_closed()); -/// -/// let tx2 = tx.clone(); -/// assert!(!tx2.is_closed()); -/// -/// drop(rx); -/// assert!(tx.is_closed()); -/// assert!(tx2.is_closed()); -/// ``` - Future isClosed()=>RustLib.instance.api.tokioNetUnixPipeSenderTIsClosed(that: this, ); - - -/// Returns true if there are no queued values. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx1) = broadcast::channel(16); -/// let mut rx2 = tx.subscribe(); -/// -/// assert!(tx.is_empty()); -/// -/// tx.send(10).unwrap(); -/// -/// assert!(!tx.is_empty()); -/// -/// rx1.recv().await.unwrap(); -/// -/// // The queue is still not empty since rx2 hasn't seen the value. -/// assert!(!tx.is_empty()); -/// -/// rx2.recv().await.unwrap(); -/// -/// assert!(tx.is_empty()); -/// # } -/// ``` - Future isEmpty()=>RustLib.instance.api.tokioNetUnixPipeSenderTIsEmpty(that: this, ); - - -/// Returns the number of queued values. -/// -/// A value is queued until it has either been seen by all receivers that were alive at the time -/// it was sent, or has been evicted from the queue by subsequent sends that exceeded the -/// queue's capacity. -/// -/// # Note -/// -/// In contrast to [`Receiver::len`], this method only reports queued values and not values that -/// have been evicted from the queue before being seen by all receivers. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx1) = broadcast::channel(16); -/// let mut rx2 = tx.subscribe(); -/// -/// tx.send(10).unwrap(); -/// tx.send(20).unwrap(); -/// tx.send(30).unwrap(); -/// -/// assert_eq!(tx.len(), 3); -/// -/// rx1.recv().await.unwrap(); -/// -/// // The len is still 3 since rx2 hasn't seen the first value yet. -/// assert_eq!(tx.len(), 3); -/// -/// rx2.recv().await.unwrap(); -/// -/// assert_eq!(tx.len(), 2); -/// # } -/// ``` - Future len()=>RustLib.instance.api.tokioNetUnixPipeSenderTLen(that: this, ); - - -/// Returns the maximum buffer capacity of the channel. -/// -/// The maximum capacity is the buffer capacity initially specified when calling -/// [`channel`]. This is distinct from [`capacity`], which returns the *current* -/// available buffer capacity: as messages are sent and received, the -/// value returned by [`capacity`] will go up or down, whereas the value -/// returned by [`max_capacity`] will remain constant. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, _rx) = mpsc::channel::<()>(5); -/// -/// // both max capacity and capacity are the same at first -/// assert_eq!(tx.max_capacity(), 5); -/// assert_eq!(tx.capacity(), 5); -/// -/// // Making a reservation doesn't change the max capacity. -/// let permit = tx.reserve().await.unwrap(); -/// assert_eq!(tx.max_capacity(), 5); -/// // but drops the capacity by one -/// assert_eq!(tx.capacity(), 4); -/// # } -/// ``` -/// -/// [`channel`]: channel -/// [`max_capacity`]: Sender::max_capacity -/// [`capacity`]: Sender::capacity - Future maxCapacity()=>RustLib.instance.api.tokioNetUnixPipeSenderTMaxCapacity(that: this, ); - - -/// Checks whether the `oneshot` channel has been closed, and if not, schedules the -/// `Waker` in the provided `Context` to receive a notification when the channel is -/// closed. -/// -/// A [`Receiver`] is closed by either calling [`close`] explicitly, or when the -/// [`Receiver`] value is dropped. -/// -/// Note that on multiple calls to poll, only the `Waker` from the `Context` passed -/// to the most recent call will be scheduled to receive a wakeup. -/// -/// [`Receiver`]: struct@crate::sync::oneshot::Receiver -/// [`close`]: fn@crate::sync::oneshot::Receiver::close -/// -/// # Return value -/// -/// This function returns: -/// -/// * `Poll::Pending` if the channel is still open. -/// * `Poll::Ready(())` if the channel is closed. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::oneshot; -/// -/// use std::future::poll_fn; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (mut tx, mut rx) = oneshot::channel::<()>(); -/// -/// tokio::spawn(async move { -/// rx.close(); -/// }); -/// -/// poll_fn(|cx| tx.poll_closed(cx)).await; -/// -/// println!("the receiver dropped"); -/// # } -/// ``` - Future pollClosed({required Context cx })=>RustLib.instance.api.tokioNetUnixPipeSenderTPollClosed(that: this, cx: cx); - - -/// Returns the number of active receivers. -/// -/// An active receiver is a [`Receiver`] handle returned from [`channel`] or -/// [`subscribe`]. These are the handles that will receive values sent on -/// this [`Sender`]. -/// -/// # Note -/// -/// It is not guaranteed that a sent message will reach this number of -/// receivers. Active receivers may never call [`recv`] again before -/// dropping. -/// -/// [`recv`]: crate::sync::broadcast::Receiver::recv -/// [`Receiver`]: crate::sync::broadcast::Receiver -/// [`Sender`]: crate::sync::broadcast::Sender -/// [`subscribe`]: crate::sync::broadcast::Sender::subscribe -/// [`channel`]: crate::sync::broadcast::channel -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, _rx1) = broadcast::channel(16); -/// -/// assert_eq!(1, tx.receiver_count()); -/// -/// let mut _rx2 = tx.subscribe(); -/// -/// assert_eq!(2, tx.receiver_count()); -/// -/// tx.send(10).unwrap(); -/// # } -/// ``` - Future receiverCount()=>RustLib.instance.api.tokioNetUnixPipeSenderTReceiverCount(that: this, ); - - -/// Waits for channel capacity. Once capacity to send one message is -/// available, it is reserved for the caller. -/// -/// If the channel is full, the function waits for the number of unreceived -/// messages to become less than the channel capacity. Capacity to send one -/// message is reserved for the caller. A [`Permit`] is returned to track -/// the reserved capacity. The [`send`] function on [`Permit`] consumes the -/// reserved capacity. -/// -/// Dropping [`Permit`] without sending a message releases the capacity back -/// to the channel. -/// -/// [`Permit`]: Permit -/// [`send`]: Permit::send -/// -/// # Cancel safety -/// -/// This channel uses a queue to ensure that calls to `send` and `reserve` -/// complete in the order they were requested. Cancelling a call to -/// `reserve` makes you lose your place in the queue. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel(1); -/// -/// // Reserve capacity -/// let permit = tx.reserve().await.unwrap(); -/// -/// // Trying to send directly on the `tx` will fail due to no -/// // available capacity. -/// assert!(tx.try_send(123).is_err()); -/// -/// // Sending on the permit succeeds -/// permit.send(456); -/// -/// // The value sent on the permit is received -/// assert_eq!(rx.recv().await.unwrap(), 456); -/// # } -/// ``` - Future reserve()=>RustLib.instance.api.tokioNetUnixPipeSenderTReserve(that: this, ); - - -/// Waits for channel capacity. Once capacity to send `n` messages is -/// available, it is reserved for the caller. -/// -/// If the channel is full or if there are fewer than `n` permits available, the function waits -/// for the number of unreceived messages to become `n` less than the channel capacity. -/// Capacity to send `n` message is then reserved for the caller. -/// -/// A [`PermitIterator`] is returned to track the reserved capacity. -/// You can call this [`Iterator`] until it is exhausted to -/// get a [`Permit`] and then call [`Permit::send`]. This function is similar to -/// [`try_reserve_many`] except it waits for the slots to become available. -/// -/// If the channel is closed, the function returns a [`SendError`]. -/// -/// Dropping [`PermitIterator`] without consuming it entirely releases the remaining -/// permits back to the channel. -/// -/// [`PermitIterator`]: PermitIterator -/// [`Permit`]: Permit -/// [`send`]: Permit::send -/// [`try_reserve_many`]: Sender::try_reserve_many -/// -/// # Cancel safety -/// -/// This channel uses a queue to ensure that calls to `send` and `reserve_many` -/// complete in the order they were requested. Cancelling a call to -/// `reserve_many` makes you lose your place in the queue. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel(2); -/// -/// // Reserve capacity -/// let mut permit = tx.reserve_many(2).await.unwrap(); -/// -/// // Trying to send directly on the `tx` will fail due to no -/// // available capacity. -/// assert!(tx.try_send(123).is_err()); -/// -/// // Sending with the permit iterator succeeds -/// permit.next().unwrap().send(456); -/// permit.next().unwrap().send(457); -/// -/// // The iterator should now be exhausted -/// assert!(permit.next().is_none()); -/// -/// // The value sent on the permit is received -/// assert_eq!(rx.recv().await.unwrap(), 456); -/// assert_eq!(rx.recv().await.unwrap(), 457); -/// # } -/// ``` - Future reserveMany({required BigInt n })=>RustLib.instance.api.tokioNetUnixPipeSenderTReserveMany(that: this, n: n); - - -/// Waits for channel capacity, moving the `Sender` and returning an owned -/// permit. Once capacity to send one message is available, it is reserved -/// for the caller. -/// -/// This moves the sender _by value_, and returns an owned permit that can -/// be used to send a message into the channel. Unlike [`Sender::reserve`], -/// this method may be used in cases where the permit must be valid for the -/// `'static` lifetime. `Sender`s may be cloned cheaply (`Sender::clone` is -/// essentially a reference count increment, comparable to [`Arc::clone`]), -/// so when multiple [`OwnedPermit`]s are needed or the `Sender` cannot be -/// moved, it can be cloned prior to calling `reserve_owned`. -/// -/// If the channel is full, the function waits for the number of unreceived -/// messages to become less than the channel capacity. Capacity to send one -/// message is reserved for the caller. An [`OwnedPermit`] is returned to -/// track the reserved capacity. The [`send`] function on [`OwnedPermit`] -/// consumes the reserved capacity. -/// -/// Dropping the [`OwnedPermit`] without sending a message releases the -/// capacity back to the channel. -/// -/// # Cancel safety -/// -/// This channel uses a queue to ensure that calls to `send` and `reserve` -/// complete in the order they were requested. Cancelling a call to -/// `reserve_owned` makes you lose your place in the queue. -/// -/// # Examples -/// Sending a message using an [`OwnedPermit`]: -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel(1); -/// -/// // Reserve capacity, moving the sender. -/// let permit = tx.reserve_owned().await.unwrap(); -/// -/// // Send a message, consuming the permit and returning -/// // the moved sender. -/// let tx = permit.send(123); -/// -/// // The value sent on the permit is received. -/// assert_eq!(rx.recv().await.unwrap(), 123); -/// -/// // The sender can now be used again. -/// tx.send(456).await.unwrap(); -/// # } -/// ``` -/// -/// When multiple [`OwnedPermit`]s are needed, or the sender cannot be moved -/// by value, it can be inexpensively cloned before calling `reserve_owned`: -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel(1); -/// -/// // Clone the sender and reserve capacity. -/// let permit = tx.clone().reserve_owned().await.unwrap(); -/// -/// // Trying to send directly on the `tx` will fail due to no -/// // available capacity. -/// assert!(tx.try_send(123).is_err()); -/// -/// // Sending on the permit succeeds. -/// permit.send(456); -/// -/// // The value sent on the permit is received -/// assert_eq!(rx.recv().await.unwrap(), 456); -/// # } -/// ``` -/// -/// [`Sender::reserve`]: Sender::reserve -/// [`OwnedPermit`]: OwnedPermit -/// [`send`]: OwnedPermit::send -/// [`Arc::clone`]: std::sync::Arc::clone - Future reserveOwned()=>RustLib.instance.api.tokioNetUnixPipeSenderTReserveOwned(that: this, ); - - -/// Returns `true` if senders belong to the same channel. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, _rx) = broadcast::channel::<()>(16); -/// let tx2 = tx.clone(); -/// -/// assert!(tx.same_channel(&tx2)); -/// -/// let (tx3, _rx3) = broadcast::channel::<()>(16); -/// -/// assert!(!tx3.same_channel(&tx2)); -/// # } -/// ``` - Future sameChannel({required SenderT other })=>RustLib.instance.api.tokioNetUnixPipeSenderTSameChannel(that: this, other: other); - - -/// Attempts to send a value to all active [`Receiver`] handles, returning -/// it back if it could not be sent. -/// -/// A successful send occurs when there is at least one active [`Receiver`] -/// handle. An unsuccessful send would be one where all associated -/// [`Receiver`] handles have already been dropped. -/// -/// # Return -/// -/// On success, the number of subscribed [`Receiver`] handles is returned. -/// This does not mean that this number of receivers will see the message as -/// a receiver may drop or lag ([see lagging](self#lagging)) before receiving -/// the message. -/// -/// # Note -/// -/// A return value of `Ok` **does not** mean that the sent value will be -/// observed by all or any of the active [`Receiver`] handles. [`Receiver`] -/// handles may be dropped before receiving the sent message. -/// -/// A return value of `Err` **does not** mean that future calls to `send` -/// will fail. New [`Receiver`] handles may be created by calling -/// [`subscribe`]. -/// -/// [`Receiver`]: crate::sync::broadcast::Receiver -/// [`subscribe`]: crate::sync::broadcast::Sender::subscribe -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx1) = broadcast::channel(16); -/// let mut rx2 = tx.subscribe(); -/// -/// tokio::spawn(async move { -/// assert_eq!(rx1.recv().await.unwrap(), 10); -/// assert_eq!(rx1.recv().await.unwrap(), 20); -/// }); -/// -/// tokio::spawn(async move { -/// assert_eq!(rx2.recv().await.unwrap(), 10); -/// assert_eq!(rx2.recv().await.unwrap(), 20); -/// }); -/// -/// tx.send(10).unwrap(); -/// tx.send(20).unwrap(); -/// # } -/// ``` - Future send({required T value })=>RustLib.instance.api.tokioNetUnixPipeSenderTSend(that: this, value: value); - - -/// Sends a new value via the channel, notifying all receivers and returning -/// the previous value in the channel. -/// -/// This can be useful for reusing the buffers inside a watched value. -/// Additionally, this method permits sending values even when there are no -/// receivers. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::watch; -/// -/// let (tx, _rx) = watch::channel(1); -/// assert_eq!(tx.send_replace(2), 1); -/// assert_eq!(tx.send_replace(3), 2); -/// ``` - Future sendReplace({required T value })=>RustLib.instance.api.tokioNetUnixPipeSenderTSendReplace(that: this, value: value); - - -/// Sends a value, waiting until there is capacity, but only for a limited time. -/// -/// Shares the same success and error conditions as [`send`], adding one more -/// condition for an unsuccessful send, which is when the provided timeout has -/// elapsed, and there is no capacity available. -/// -/// [`send`]: Sender::send -/// -/// # Errors -/// -/// If the receive half of the channel is closed, either due to [`close`] -/// being called or the [`Receiver`] having been dropped, -/// the function returns an error. The error includes the value passed to `send`. -/// -/// [`close`]: Receiver::close -/// [`Receiver`]: Receiver -/// -/// # Panics -/// -/// This function panics if it is called outside the context of a Tokio -/// runtime [with time enabled](crate::runtime::Builder::enable_time). -/// -/// # Examples -/// -/// In the following example, each call to `send_timeout` will block until the -/// previously sent value was received, unless the timeout has elapsed. -/// -/// ```rust -/// use tokio::sync::mpsc; -/// use tokio::time::{sleep, Duration}; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel(1); -/// -/// tokio::spawn(async move { -/// for i in 0..10 { -/// if let Err(e) = tx.send_timeout(i, Duration::from_millis(100)).await { -/// println!("send error: #{:?}", e); -/// return; -/// } -/// } -/// }); -/// -/// while let Some(i) = rx.recv().await { -/// println!("got = {}", i); -/// sleep(Duration::from_millis(200)).await; -/// } -/// # } -/// ``` - Future sendTimeout({required T value , required Duration timeout })=>RustLib.instance.api.tokioNetUnixPipeSenderTSendTimeout(that: this, value: value, timeout: timeout); - - -/// Returns the number of senders that currently exist. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::watch; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx1, rx) = watch::channel("hello"); -/// -/// assert_eq!(1, tx1.sender_count()); -/// -/// let tx2 = tx1.clone(); -/// -/// assert_eq!(2, tx1.sender_count()); -/// assert_eq!(2, tx2.sender_count()); -/// # } -/// ``` - Future senderCount()=>RustLib.instance.api.tokioNetUnixPipeSenderTSenderCount(that: this, ); - - -/// Returns the number of [`Sender`] handles. - Future strongCount()=>RustLib.instance.api.tokioNetUnixPipeSenderTStrongCount(that: this, ); - - -/// Creates a new [`Receiver`] handle that will receive values sent **after** -/// this call to `subscribe`. -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::broadcast; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, _rx) = broadcast::channel(16); -/// -/// // Will not be seen -/// tx.send(10).unwrap(); -/// -/// let mut rx = tx.subscribe(); -/// -/// tx.send(20).unwrap(); -/// -/// let value = rx.recv().await.unwrap(); -/// assert_eq!(20, value); -/// # } -/// ``` - Future subscribe()=>RustLib.instance.api.tokioNetUnixPipeSenderTSubscribe(that: this, ); - - -/// Tries to acquire a slot in the channel without waiting for the slot to become -/// available. -/// -/// If the channel is full this function will return [`TrySendError`], otherwise -/// if there is a slot available it will return a [`Permit`] that will then allow you -/// to [`send`] on the channel with a guaranteed slot. This function is similar to -/// [`reserve`] except it does not await for the slot to become available. -/// -/// Dropping [`Permit`] without sending a message releases the capacity back -/// to the channel. -/// -/// [`Permit`]: Permit -/// [`send`]: Permit::send -/// [`reserve`]: Sender::reserve -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel(1); -/// -/// // Reserve capacity -/// let permit = tx.try_reserve().unwrap(); -/// -/// // Trying to send directly on the `tx` will fail due to no -/// // available capacity. -/// assert!(tx.try_send(123).is_err()); -/// -/// // Trying to reserve an additional slot on the `tx` will -/// // fail because there is no capacity. -/// assert!(tx.try_reserve().is_err()); -/// -/// // Sending on the permit succeeds -/// permit.send(456); -/// -/// // The value sent on the permit is received -/// assert_eq!(rx.recv().await.unwrap(), 456); -/// -/// # } -/// ``` - Future tryReserve()=>RustLib.instance.api.tokioNetUnixPipeSenderTTryReserve(that: this, ); - - -/// Tries to acquire `n` slots in the channel without waiting for the slot to become -/// available. -/// -/// A [`PermitIterator`] is returned to track the reserved capacity. -/// You can call this [`Iterator`] until it is exhausted to -/// get a [`Permit`] and then call [`Permit::send`]. This function is similar to -/// [`reserve_many`] except it does not await for the slots to become available. -/// -/// If there are fewer than `n` permits available on the channel, then -/// this function will return a [`TrySendError::Full`]. If the channel is closed -/// this function will return a [`TrySendError::Closed`]. -/// -/// Dropping [`PermitIterator`] without consuming it entirely releases the remaining -/// permits back to the channel. -/// -/// [`PermitIterator`]: PermitIterator -/// [`send`]: Permit::send -/// [`reserve_many`]: Sender::reserve_many -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel(2); -/// -/// // Reserve capacity -/// let mut permit = tx.try_reserve_many(2).unwrap(); -/// -/// // Trying to send directly on the `tx` will fail due to no -/// // available capacity. -/// assert!(tx.try_send(123).is_err()); -/// -/// // Trying to reserve an additional slot on the `tx` will -/// // fail because there is no capacity. -/// assert!(tx.try_reserve().is_err()); -/// -/// // Sending with the permit iterator succeeds -/// permit.next().unwrap().send(456); -/// permit.next().unwrap().send(457); -/// -/// // The iterator should now be exhausted -/// assert!(permit.next().is_none()); -/// -/// // The value sent on the permit is received -/// assert_eq!(rx.recv().await.unwrap(), 456); -/// assert_eq!(rx.recv().await.unwrap(), 457); -/// -/// // Trying to call try_reserve_many with 0 will return an empty iterator -/// let mut permit = tx.try_reserve_many(0).unwrap(); -/// assert!(permit.next().is_none()); -/// -/// // Trying to call try_reserve_many with a number greater than the channel -/// // capacity will return an error -/// let permit = tx.try_reserve_many(3); -/// assert!(permit.is_err()); -/// -/// // Trying to call try_reserve_many on a closed channel will return an error -/// drop(rx); -/// let permit = tx.try_reserve_many(1); -/// assert!(permit.is_err()); -/// -/// let permit = tx.try_reserve_many(0); -/// assert!(permit.is_err()); -/// # } -/// ``` - Future tryReserveMany({required BigInt n })=>RustLib.instance.api.tokioNetUnixPipeSenderTTryReserveMany(that: this, n: n); - - -/// Tries to acquire a slot in the channel without waiting for the slot to become -/// available, returning an owned permit. -/// -/// This moves the sender _by value_, and returns an owned permit that can -/// be used to send a message into the channel. Unlike [`Sender::try_reserve`], -/// this method may be used in cases where the permit must be valid for the -/// `'static` lifetime. `Sender`s may be cloned cheaply (`Sender::clone` is -/// essentially a reference count increment, comparable to [`Arc::clone`]), -/// so when multiple [`OwnedPermit`]s are needed or the `Sender` cannot be -/// moved, it can be cloned prior to calling `try_reserve_owned`. -/// -/// If the channel is full this function will return a [`TrySendError`]. -/// Since the sender is taken by value, the `TrySendError` returned in this -/// case contains the sender, so that it may be used again. Otherwise, if -/// there is a slot available, this method will return an [`OwnedPermit`] -/// that can then be used to [`send`] on the channel with a guaranteed slot. -/// This function is similar to [`reserve_owned`] except it does not await -/// for the slot to become available. -/// -/// Dropping the [`OwnedPermit`] without sending a message releases the capacity back -/// to the channel. -/// -/// [`OwnedPermit`]: OwnedPermit -/// [`send`]: OwnedPermit::send -/// [`reserve_owned`]: Sender::reserve_owned -/// [`Arc::clone`]: std::sync::Arc::clone -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let (tx, mut rx) = mpsc::channel(1); -/// -/// // Reserve capacity -/// let permit = tx.clone().try_reserve_owned().unwrap(); -/// -/// // Trying to send directly on the `tx` will fail due to no -/// // available capacity. -/// assert!(tx.try_send(123).is_err()); -/// -/// // Trying to reserve an additional slot on the `tx` will -/// // fail because there is no capacity. -/// assert!(tx.try_reserve().is_err()); -/// -/// // Sending on the permit succeeds -/// permit.send(456); -/// -/// // The value sent on the permit is received -/// assert_eq!(rx.recv().await.unwrap(), 456); -/// -/// # } -/// ``` - Future tryReserveOwned()=>RustLib.instance.api.tokioNetUnixPipeSenderTTryReserveOwned(that: this, ); - - -/// Attempts to immediately send a message on this `Sender`. -/// -/// This method differs from [`send`] by returning immediately if the channel's -/// buffer is full or no receiver is waiting to acquire some data. Compared -/// with [`send`], this function has two failure cases instead of one (one for -/// disconnection, one for a full buffer). -/// -/// # Errors -/// -/// If the channel capacity has been reached, i.e., the channel has `n` -/// buffered values where `n` is the argument passed to [`channel`], then an -/// error is returned. -/// -/// If the receive half of the channel is closed, either due to [`close`] -/// being called or the [`Receiver`] handle dropping, the function returns -/// an error. The error includes the value passed to `send`. -/// -/// [`send`]: Sender::send -/// [`channel`]: channel -/// [`close`]: Receiver::close -/// -/// # Examples -/// -/// ``` -/// use tokio::sync::mpsc; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// // Create a channel with buffer size 1 -/// let (tx1, mut rx) = mpsc::channel(1); -/// let tx2 = tx1.clone(); -/// -/// tokio::spawn(async move { -/// tx1.send(1).await.unwrap(); -/// tx1.send(2).await.unwrap(); -/// // task waits until the receiver receives a value. -/// }); -/// -/// tokio::spawn(async move { -/// // This will return an error and send -/// // no message if the buffer is full -/// let _ = tx2.try_send(3); -/// }); -/// -/// let mut msg; -/// msg = rx.recv().await.unwrap(); -/// println!("message {} received", msg); -/// -/// msg = rx.recv().await.unwrap(); -/// println!("message {} received", msg); -/// -/// // Third message may have never been sent -/// match rx.recv().await { -/// Some(msg) => println!("message {} received", msg), -/// None => println!("the third message was never sent"), -/// } -/// # } -/// ``` - Future trySend({required T message })=>RustLib.instance.api.tokioNetUnixPipeSenderTTrySend(that: this, message: message); - - -/// Returns the number of [`WeakSender`] handles. - Future weakCount()=>RustLib.instance.api.tokioNetUnixPipeSenderTWeakCount(that: this, ); - - - } - @sealed class ShutdownImpl extends RustOpaque implements Shutdown { - // Not to be used by end users - ShutdownImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ShutdownImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Shutdown, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Shutdown, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ShutdownPtr, - ); - - - } - @sealed class ShutdownSelfImpl extends RustOpaque implements ShutdownSelf { - // Not to be used by end users - ShutdownSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ShutdownSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ShutdownSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ShutdownSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ShutdownSelfPtr, - ); - - - } - @sealed class SignalImpl extends RustOpaque implements Signal { - // Not to be used by end users - SignalImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SignalImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Signal, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Signal, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SignalPtr, - ); - - Future pollRecv({required Context cx })=>RustLib.instance.api.tokioSignalUnixSignalPollRecv(that: this, cx: cx); - - -/// Receives the next signal notification event. -/// -/// `None` is returned if no more events can be received by this stream. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If you use it as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, then it is guaranteed that no signal is lost. -/// -/// # Examples -/// -/// Wait for `SIGHUP` -/// -/// ```rust,no_run -/// use tokio::signal::unix::{signal, SignalKind}; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // An infinite stream of hangup signals. -/// let mut stream = signal(SignalKind::hangup())?; -/// -/// // Print whenever a HUP signal is received -/// loop { -/// stream.recv().await; -/// println!("got signal HUP"); -/// } -/// } -/// ``` - Future recv()=>RustLib.instance.api.tokioSignalUnixSignalRecv(that: this, ); - - - } - @sealed class SignalKindImpl extends RustOpaque implements SignalKind { - // Not to be used by end users - SignalKindImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SignalKindImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SignalKind, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SignalKind, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SignalKindPtr, - ); - - /// Get the signal's numeric value. -/// -/// ```rust -/// # use tokio::signal::unix::SignalKind; -/// let kind = SignalKind::interrupt(); -/// assert_eq!(kind.as_raw_value(), libc::SIGINT); -/// ``` - Future asRawValue()=>RustLib.instance.api.tokioSignalUnixSignalKindAsRawValue(that: this, ); - - - } - @sealed class SimplexStreamImpl extends RustOpaque implements SimplexStream { - // Not to be used by end users - SimplexStreamImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SimplexStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SimplexStream, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SimplexStream, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SimplexStreamPtr, - ); - - - } - @sealed class SinkImpl extends RustOpaque implements Sink { - // Not to be used by end users - SinkImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SinkImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Sink, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Sink, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SinkPtr, - ); - - - } - @sealed class SleepImpl extends RustOpaque implements Sleep { - // Not to be used by end users - SleepImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SleepImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Sleep, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Sleep, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SleepPtr, - ); - - /// Returns the instant at which the future will complete. - Future deadline()=>RustLib.instance.api.tokioTimeSleepDeadline(that: this, ); - - -/// Returns `true` if `Sleep` has elapsed. -/// -/// A `Sleep` instance is elapsed when the requested duration has elapsed. - Future isElapsed()=>RustLib.instance.api.tokioTimeSleepIsElapsed(that: this, ); - - -/// Resets the `Sleep` instance to a new deadline. -/// -/// Calling this function allows changing the instant at which the `Sleep` -/// future completes without having to create new associated state. -/// -/// This function can be called both before and after the future has -/// completed. -/// -/// To call this method, you will usually combine the call with -/// [`Pin::as_mut`], which lets you call the method without consuming the -/// `Sleep` itself. -/// -/// # Example -/// -/// ``` -/// use tokio::time::{Duration, Instant}; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let sleep = tokio::time::sleep(Duration::from_millis(10)); -/// tokio::pin!(sleep); -/// -/// sleep.as_mut().reset(Instant::now() + Duration::from_millis(20)); -/// # } -/// ``` -/// -/// See also the top-level examples. -/// -/// [`Pin::as_mut`]: fn@std::pin::Pin::as_mut - Future reset({required Instant deadline })=>RustLib.instance.api.tokioTimeSleepReset(that: this, deadline: deadline); - - - } - @sealed class SocketAddrImpl extends RustOpaque implements SocketAddr { - // Not to be used by end users - SocketAddrImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SocketAddrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SocketAddr, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SocketAddr, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SocketAddrPtr, - ); - - /// Returns the contents of this address if it is a `pathname` address. -/// -/// Documentation reflected in [`SocketAddr`]. -/// -/// [`SocketAddr`]: std::os::unix::net::SocketAddr - Future asPathname()=>RustLib.instance.api.tokioNetUnixSocketAddrAsPathname(that: this, ); - - -/// Returns `true` if the address is unnamed. -/// -/// Documentation reflected in [`SocketAddr`]. -/// -/// [`SocketAddr`]: std::os::unix::net::SocketAddr - Future isUnnamed()=>RustLib.instance.api.tokioNetUnixSocketAddrIsUnnamed(that: this, ); - - - } - @sealed class SplitSelfImpl extends RustOpaque implements SplitSelf { - // Not to be used by end users - SplitSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - SplitSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_SplitSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_SplitSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_SplitSelfPtr, - ); - - - } - @sealed class StdCommandImpl extends RustOpaque implements StdCommand { - // Not to be used by end users - StdCommandImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - StdCommandImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_StdCommand, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_StdCommand, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_StdCommandPtr, - ); - - - } - @sealed class StderrImpl extends RustOpaque implements Stderr { - // Not to be used by end users - StderrImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - StderrImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Stderr, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Stderr, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_StderrPtr, - ); - - - } - @sealed class StdinImpl extends RustOpaque implements Stdin { - // Not to be used by end users - StdinImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - StdinImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Stdin, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Stdin, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_StdinPtr, - ); - - - } - @sealed class StdoutImpl extends RustOpaque implements Stdout { - // Not to be used by end users - StdoutImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - StdoutImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Stdout, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Stdout, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_StdoutPtr, - ); - - - } - @sealed class StopwordTypeImpl extends RustOpaque implements StopwordType { - // Not to be used by end users - StopwordTypeImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - StopwordTypeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_StopwordType, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_StopwordType, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_StopwordTypePtr, - ); - - - } - @sealed class TImpl extends RustOpaque implements T { - // Not to be used by end users - TImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - TImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_T, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_T, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TPtr, - ); - - - } - @sealed class TakeSelfImpl extends RustOpaque implements TakeSelf { - // Not to be used by end users - TakeSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - TakeSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TakeSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TakeSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TakeSelfPtr, - ); - - - } - @sealed class TcpListenerImpl extends RustOpaque implements TcpListener { - // Not to be used by end users - TcpListenerImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - TcpListenerImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TcpListener, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TcpListener, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TcpListenerPtr, - ); - - /// Accepts a new incoming connection from this listener. -/// -/// This function will yield once a new TCP connection is established. When -/// established, the corresponding [`TcpStream`] and the remote peer's -/// address will be returned. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If the method is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, then it is guaranteed that no new connections were -/// accepted by this method. -/// -/// [`TcpStream`]: struct@crate::net::TcpStream -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpListener; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let listener = TcpListener::bind("127.0.0.1:8080").await?; -/// -/// match listener.accept().await { -/// Ok((_socket, addr)) => println!("new client: {:?}", addr), -/// Err(e) => println!("couldn't get client: {:?}", e), -/// } -/// -/// Ok(()) -/// } -/// ``` - Future<(TcpStream,SocketAddr)> accept()=>RustLib.instance.api.tokioNetTcpListenerAccept(that: this, ); - - -/// Turns a [`tokio::net::TcpListener`] into a [`std::net::TcpListener`]. -/// -/// The returned [`std::net::TcpListener`] will have nonblocking mode set as -/// `true`. Use [`set_nonblocking`] to change the blocking mode if needed. -/// -/// # Examples -/// -/// ```rust,no_run -/// use std::error::Error; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// let tokio_listener = tokio::net::TcpListener::bind("127.0.0.1:0").await?; -/// let std_listener = tokio_listener.into_std()?; -/// std_listener.set_nonblocking(false)?; -/// Ok(()) -/// } -/// ``` -/// -/// [`tokio::net::TcpListener`]: TcpListener -/// [`std::net::TcpListener`]: std::net::TcpListener -/// [`set_nonblocking`]: fn@std::net::TcpListener::set_nonblocking - Future intoStd()=>RustLib.instance.api.tokioNetTcpListenerIntoStd(that: this, ); - - -/// Returns the local address that this listener is bound to. -/// -/// This can be useful, for example, when binding to port 0 to figure out -/// which port was actually bound. -/// -/// # Examples -/// -/// ```rust,no_run -/// use tokio::net::TcpListener; -/// -/// use std::io; -/// use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4}; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let listener = TcpListener::bind("127.0.0.1:8080").await?; -/// -/// assert_eq!(listener.local_addr()?, -/// SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080))); -/// -/// Ok(()) -/// } -/// ``` - Future localAddr()=>RustLib.instance.api.tokioNetTcpListenerLocalAddr(that: this, ); - - -/// Polls to accept a new incoming connection to this listener. -/// -/// If there is no connection to accept, `Poll::Pending` is returned and the -/// current task will be notified by a waker. Note that on multiple calls -/// to `poll_accept`, only the `Waker` from the `Context` passed to the most -/// recent call is scheduled to receive a wakeup. - Future pollAccept({required Context cx })=>RustLib.instance.api.tokioNetTcpListenerPollAccept(that: this, cx: cx); - - -/// Sets the value for the `IP_TTL` option on this socket. -/// -/// This value sets the time-to-live field that is used in every packet sent -/// from this socket. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpListener; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let listener = TcpListener::bind("127.0.0.1:0").await?; -/// -/// listener.set_ttl(100).expect("could not set TTL"); -/// -/// Ok(()) -/// } -/// ``` - Future setTtl({required int ttl })=>RustLib.instance.api.tokioNetTcpListenerSetTtl(that: this, ttl: ttl); - - -/// Gets the value of the `IP_TTL` option for this socket. -/// -/// For more information about this option, see [`set_ttl`]. -/// -/// [`set_ttl`]: method@Self::set_ttl -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpListener; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let listener = TcpListener::bind("127.0.0.1:0").await?; -/// -/// listener.set_ttl(100).expect("could not set TTL"); -/// assert_eq!(listener.ttl()?, 100); -/// -/// Ok(()) -/// } -/// ``` - Future ttl()=>RustLib.instance.api.tokioNetTcpListenerTtl(that: this, ); - - - } - @sealed class TcpSocketImpl extends RustOpaque implements TcpSocket { - // Not to be used by end users - TcpSocketImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - TcpSocketImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TcpSocket, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TcpSocket, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TcpSocketPtr, - ); - - /// Binds the socket to the given address. -/// -/// This calls the `bind(2)` operating-system function. Behavior is -/// platform specific. Refer to the target platform's documentation for more -/// details. -/// -/// # Examples -/// -/// Bind a socket before listening. -/// -/// ```no_run -/// use tokio::net::TcpSocket; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let addr = "127.0.0.1:8080".parse().unwrap(); -/// -/// let socket = TcpSocket::new_v4()?; -/// socket.bind(addr)?; -/// -/// let listener = socket.listen(1024)?; -/// # drop(listener); -/// -/// Ok(()) -/// } -/// ``` - Future bind({required SocketAddr addr })=>RustLib.instance.api.tokioNetTcpSocketBind(that: this, addr: addr); - - -/// Establishes a TCP connection with a peer at the specified socket address. -/// -/// The `TcpSocket` is consumed. Once the connection is established, a -/// connected [`TcpStream`] is returned. If the connection fails, the -/// encountered error is returned. -/// -/// [`TcpStream`]: TcpStream -/// -/// This calls the `connect(2)` operating-system function. Behavior is -/// platform specific. Refer to the target platform's documentation for more -/// details. -/// -/// # Examples -/// -/// Connecting to a peer. -/// -/// ```no_run -/// use tokio::net::TcpSocket; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let addr = "127.0.0.1:8080".parse().unwrap(); -/// -/// let socket = TcpSocket::new_v4()?; -/// let stream = socket.connect(addr).await?; -/// # drop(stream); -/// -/// Ok(()) -/// } -/// ``` - Future connect({required SocketAddr addr })=>RustLib.instance.api.tokioNetTcpSocketConnect(that: this, addr: addr); - - -/// Gets the value of the `SO_KEEPALIVE` option on this socket. - Future keepalive()=>RustLib.instance.api.tokioNetTcpSocketKeepalive(that: this, ); - - -/// Reads the linger duration for this socket by getting the `SO_LINGER` -/// option. -/// -/// For more information about this option, see [`set_linger`]. -/// -/// [`set_linger`]: TcpSocket::set_linger - Future linger()=>RustLib.instance.api.tokioNetTcpSocketLinger(that: this, ); - - -/// Converts the socket into a `TcpListener`. -/// -/// `backlog` defines the maximum number of pending connections are queued -/// by the operating system at any given time. Connection are removed from -/// the queue with [`TcpListener::accept`]. When the queue is full, the -/// operating-system will start rejecting connections. -/// -/// [`TcpListener::accept`]: TcpListener::accept -/// -/// This calls the `listen(2)` operating-system function, marking the socket -/// as a passive socket. Behavior is platform specific. Refer to the target -/// platform's documentation for more details. -/// -/// # Examples -/// -/// Create a `TcpListener`. -/// -/// ```no_run -/// use tokio::net::TcpSocket; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let addr = "127.0.0.1:8080".parse().unwrap(); -/// -/// let socket = TcpSocket::new_v4()?; -/// socket.bind(addr)?; -/// -/// let listener = socket.listen(1024)?; -/// # drop(listener); -/// -/// Ok(()) -/// } -/// ``` - Future listen({required int backlog })=>RustLib.instance.api.tokioNetTcpSocketListen(that: this, backlog: backlog); - - -/// Gets the local address of this socket. -/// -/// Will fail on windows if called before `bind`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpSocket; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let addr = "127.0.0.1:8080".parse().unwrap(); -/// -/// let socket = TcpSocket::new_v4()?; -/// socket.bind(addr)?; -/// assert_eq!(socket.local_addr().unwrap().to_string(), "127.0.0.1:8080"); -/// let listener = socket.listen(1024)?; -/// Ok(()) -/// } -/// ``` - Future localAddr()=>RustLib.instance.api.tokioNetTcpSocketLocalAddr(that: this, ); - - -/// Gets the value of the `TCP_NODELAY` option on this socket. -/// -/// For more information about this option, see [`set_nodelay`]. -/// -/// [`set_nodelay`]: TcpSocket::set_nodelay -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpSocket; -/// -/// # async fn dox() -> Result<(), Box> { -/// let socket = TcpSocket::new_v4()?; -/// -/// println!("{:?}", socket.nodelay()?); -/// # Ok(()) -/// # } -/// ``` - Future nodelay()=>RustLib.instance.api.tokioNetTcpSocketNodelay(that: this, ); - - -/// Returns the size of the TCP receive buffer for this socket. -/// -/// On most operating systems, this is the value of the `SO_RCVBUF` socket -/// option. -/// -/// Note that if [`set_recv_buffer_size`] has been called on this socket -/// previously, the value returned by this function may not be the same as -/// the argument provided to `set_recv_buffer_size`. This is for the -/// following reasons: -/// -/// * Most operating systems have minimum and maximum allowed sizes for the -/// receive buffer, and will clamp the provided value if it is below the -/// minimum or above the maximum. The minimum and maximum buffer sizes are -/// OS-dependent. -/// * Linux will double the buffer size to account for internal bookkeeping -/// data, and returns the doubled value from `getsockopt(2)`. As per `man -/// 7 socket`: -/// > Sets or gets the maximum socket send buffer in bytes. The -/// > kernel doubles this value (to allow space for bookkeeping -/// > overhead) when it is set using `setsockopt(2)`, and this doubled -/// > value is returned by `getsockopt(2)`. -/// -/// [`set_recv_buffer_size`]: #method.set_recv_buffer_size - Future recvBufferSize()=>RustLib.instance.api.tokioNetTcpSocketRecvBufferSize(that: this, ); - - -/// Retrieves the value set for `SO_REUSEADDR` on this socket. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpSocket; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let addr = "127.0.0.1:8080".parse().unwrap(); -/// -/// let socket = TcpSocket::new_v4()?; -/// socket.set_reuseaddr(true)?; -/// assert!(socket.reuseaddr().unwrap()); -/// socket.bind(addr)?; -/// -/// let listener = socket.listen(1024)?; -/// Ok(()) -/// } -/// ``` - Future reuseaddr()=>RustLib.instance.api.tokioNetTcpSocketReuseaddr(that: this, ); - - -/// Allows the socket to bind to an in-use port. Only available for unix systems -/// (excluding Solaris, Illumos, and Cygwin). -/// -/// Behavior is platform specific. Refer to the target platform's -/// documentation for more details. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpSocket; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let addr = "127.0.0.1:8080".parse().unwrap(); -/// -/// let socket = TcpSocket::new_v4()?; -/// socket.set_reuseport(true)?; -/// assert!(socket.reuseport().unwrap()); -/// socket.bind(addr)?; -/// -/// let listener = socket.listen(1024)?; -/// Ok(()) -/// } -/// ``` - Future reuseport()=>RustLib.instance.api.tokioNetTcpSocketReuseport(that: this, ); - - -/// Returns the size of the TCP send buffer for this socket. -/// -/// On most operating systems, this is the value of the `SO_SNDBUF` socket -/// option. -/// -/// Note that if [`set_send_buffer_size`] has been called on this socket -/// previously, the value returned by this function may not be the same as -/// the argument provided to `set_send_buffer_size`. This is for the -/// following reasons: -/// -/// * Most operating systems have minimum and maximum allowed sizes for the -/// send buffer, and will clamp the provided value if it is below the -/// minimum or above the maximum. The minimum and maximum buffer sizes are -/// OS-dependent. -/// * Linux will double the buffer size to account for internal bookkeeping -/// data, and returns the doubled value from `getsockopt(2)`. As per `man -/// 7 socket`: -/// > Sets or gets the maximum socket send buffer in bytes. The -/// > kernel doubles this value (to allow space for bookkeeping -/// > overhead) when it is set using `setsockopt(2)`, and this doubled -/// > value is returned by `getsockopt(2)`. -/// -/// [`set_send_buffer_size`]: #method.set_send_buffer_size - Future sendBufferSize()=>RustLib.instance.api.tokioNetTcpSocketSendBufferSize(that: this, ); - - -/// Sets value for the `SO_KEEPALIVE` option on this socket. - Future setKeepalive({required bool keepalive })=>RustLib.instance.api.tokioNetTcpSocketSetKeepalive(that: this, keepalive: keepalive); - - -/// Sets the linger duration of this socket by setting the `SO_LINGER` option. -/// -/// This option controls the action taken when a stream has unsent messages and the stream is -/// closed. If `SO_LINGER` is set, the system shall block the process until it can transmit the -/// data or until the time expires. -/// -/// If `SO_LINGER` is not specified, and the socket is closed, the system handles the call in a -/// way that allows the process to continue as quickly as possible. -/// -/// This option is deprecated because setting `SO_LINGER` on a socket used with Tokio is always -/// incorrect as it leads to blocking the thread when the socket is closed. For more details, -/// please see: -/// -/// > Volumes of communications have been devoted to the intricacies of `SO_LINGER` versus -/// > non-blocking (`O_NONBLOCK`) sockets. From what I can tell, the final word is: don't do -/// > it. Rely on the `shutdown()`-followed-by-`read()`-eof technique instead. -/// > -/// > From [The ultimate `SO_LINGER` page, or: why is my tcp not reliable](https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable) - Future setLinger({Duration? dur })=>RustLib.instance.api.tokioNetTcpSocketSetLinger(that: this, dur: dur); - - -/// Sets the value of the `TCP_NODELAY` option on this socket. -/// -/// If set, this option disables the Nagle algorithm. This means that segments are always -/// sent as soon as possible, even if there is only a small amount of data. When not set, -/// data is buffered until there is a sufficient amount to send out, thereby avoiding -/// the frequent sending of small packets. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpSocket; -/// -/// # async fn dox() -> Result<(), Box> { -/// let socket = TcpSocket::new_v4()?; -/// -/// socket.set_nodelay(true)?; -/// # Ok(()) -/// # } -/// ``` - Future setNodelay({required bool nodelay })=>RustLib.instance.api.tokioNetTcpSocketSetNodelay(that: this, nodelay: nodelay); - - -/// Sets the size of the TCP receive buffer on this socket. -/// -/// On most operating systems, this sets the `SO_RCVBUF` socket option. - Future setRecvBufferSize({required int size })=>RustLib.instance.api.tokioNetTcpSocketSetRecvBufferSize(that: this, size: size); - - -/// Allows the socket to bind to an in-use address. -/// -/// Behavior is platform specific. Refer to the target platform's -/// documentation for more details. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpSocket; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let addr = "127.0.0.1:8080".parse().unwrap(); -/// -/// let socket = TcpSocket::new_v4()?; -/// socket.set_reuseaddr(true)?; -/// socket.bind(addr)?; -/// -/// let listener = socket.listen(1024)?; -/// # drop(listener); -/// -/// Ok(()) -/// } -/// ``` - Future setReuseaddr({required bool reuseaddr })=>RustLib.instance.api.tokioNetTcpSocketSetReuseaddr(that: this, reuseaddr: reuseaddr); - - -/// Allows the socket to bind to an in-use port. Only available for unix systems -/// (excluding Solaris, Illumos, and Cygwin). -/// -/// Behavior is platform specific. Refer to the target platform's -/// documentation for more details. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpSocket; -/// -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let addr = "127.0.0.1:8080".parse().unwrap(); -/// -/// let socket = TcpSocket::new_v4()?; -/// socket.set_reuseport(true)?; -/// socket.bind(addr)?; -/// -/// let listener = socket.listen(1024)?; -/// Ok(()) -/// } -/// ``` - Future setReuseport({required bool reuseport })=>RustLib.instance.api.tokioNetTcpSocketSetReuseport(that: this, reuseport: reuseport); - - -/// Sets the size of the TCP send buffer on this socket. -/// -/// On most operating systems, this sets the `SO_SNDBUF` socket option. - Future setSendBufferSize({required int size })=>RustLib.instance.api.tokioNetTcpSocketSetSendBufferSize(that: this, size: size); - - -/// Sets the value for the `IPV6_TCLASS` option on this socket. -/// -/// Specifies the traffic class field that is used in every packet -/// sent from this socket. -/// -/// # Note -/// -/// This may not have any effect on IPv4 sockets. - Future setTclassV6({required int tclass })=>RustLib.instance.api.tokioNetTcpSocketSetTclassV6(that: this, tclass: tclass); - - -/// Deprecated. Use [`set_tos_v4()`] instead. -/// -/// [`set_tos_v4()`]: Self::set_tos_v4 - Future setTos({required int tos })=>RustLib.instance.api.tokioNetTcpSocketSetTos(that: this, tos: tos); - - -/// Sets the value for the `IP_TOS` option on this socket. -/// -/// This value sets the type-of-service field that is used in every packet -/// sent from this socket. -/// -/// # Note -/// -/// - This may not have any effect on IPv6 sockets. -/// - On Windows, `IP_TOS` is only supported on [Windows 8+ or -/// Windows Server 2012+.](https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options) - Future setTosV4({required int tos })=>RustLib.instance.api.tokioNetTcpSocketSetTosV4(that: this, tos: tos); - - -/// Returns the value of the `SO_ERROR` option. - Future takeError()=>RustLib.instance.api.tokioNetTcpSocketTakeError(that: this, ); - - -/// Gets the value of the `IPV6_TCLASS` option for this socket. -/// -/// For more information about this option, see [`set_tclass_v6`]. -/// -/// [`set_tclass_v6`]: Self::set_tclass_v6 - Future tclassV6()=>RustLib.instance.api.tokioNetTcpSocketTclassV6(that: this, ); - - -/// Deprecated. Use [`tos_v4()`] instead. -/// -/// [`tos_v4()`]: Self::tos_v4 - Future tos()=>RustLib.instance.api.tokioNetTcpSocketTos(that: this, ); - - -/// Gets the value of the `IP_TOS` option for this socket. -/// -/// For more information about this option, see [`set_tos_v4`]. -/// -/// [`set_tos_v4`]: Self::set_tos_v4 - Future tosV4()=>RustLib.instance.api.tokioNetTcpSocketTosV4(that: this, ); - - - } - @sealed class TcpStreamImpl extends RustOpaque implements TcpStream { - // Not to be used by end users - TcpStreamImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - TcpStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TcpStream, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TcpStream, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TcpStreamPtr, - ); - - /// Splits a `TcpStream` into a read half and a write half, which can be used -/// to read and write the stream concurrently. -/// -/// Unlike [`split`], the owned halves can be moved to separate tasks, however -/// this comes at the cost of a heap allocation. -/// -/// **Note:** Dropping the write half will shut down the write half of the TCP -/// stream. This is equivalent to calling [`shutdown()`] on the `TcpStream`. -/// -/// [`split`]: TcpStream::split() -/// [`shutdown()`]: fn@crate::io::AsyncWriteExt::shutdown - Future<(OwnedReadHalf,OwnedWriteHalf)> intoSplit()=>RustLib.instance.api.tokioNetTcpStreamIntoSplit(that: this, ); - - -/// Turns a [`tokio::net::TcpStream`] into a [`std::net::TcpStream`]. -/// -/// The returned [`std::net::TcpStream`] will have nonblocking mode set as `true`. -/// Use [`set_nonblocking`] to change the blocking mode if needed. -/// -/// # Examples -/// -/// ``` -/// use std::error::Error; -/// use std::io::Read; -/// use tokio::net::TcpListener; -/// # use tokio::net::TcpStream; -/// # use tokio::io::AsyncWriteExt; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. -/// let mut data = [0u8; 12]; -/// # if false { -/// let listener = TcpListener::bind("127.0.0.1:34254").await?; -/// # } -/// # let listener = TcpListener::bind("127.0.0.1:0").await?; -/// # let addr = listener.local_addr().unwrap(); -/// # let handle = tokio::spawn(async move { -/// # let mut stream: TcpStream = TcpStream::connect(addr).await.unwrap(); -/// # stream.write_all(b"Hello world!").await.unwrap(); -/// # }); -/// let (tokio_tcp_stream, _) = listener.accept().await?; -/// let mut std_tcp_stream = tokio_tcp_stream.into_std()?; -/// # handle.await.expect("The task being joined has panicked"); -/// std_tcp_stream.set_nonblocking(false)?; -/// std_tcp_stream.read_exact(&mut data)?; -/// # assert_eq!(b"Hello world!", &data); -/// Ok(()) -/// } -/// ``` -/// [`tokio::net::TcpStream`]: TcpStream -/// [`std::net::TcpStream`]: std::net::TcpStream -/// [`set_nonblocking`]: fn@std::net::TcpStream::set_nonblocking - Future intoStd()=>RustLib.instance.api.tokioNetTcpStreamIntoStd(that: this, ); - - -/// Reads the linger duration for this socket by getting the `SO_LINGER` -/// option. -/// -/// For more information about this option, see [`set_linger`]. -/// -/// [`set_linger`]: TcpStream::set_linger -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// -/// # async fn dox() -> Result<(), Box> { -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// println!("{:?}", stream.linger()?); -/// # Ok(()) -/// # } -/// ``` - Future linger()=>RustLib.instance.api.tokioNetTcpStreamLinger(that: this, ); - - -/// Returns the local address that this stream is bound to. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// -/// # async fn dox() -> Result<(), Box> { -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// println!("{:?}", stream.local_addr()?); -/// # Ok(()) -/// # } -/// ``` - Future localAddr()=>RustLib.instance.api.tokioNetTcpStreamLocalAddr(that: this, ); - - -/// Gets the value of the `TCP_NODELAY` option on this socket. -/// -/// For more information about this option, see [`set_nodelay`]. -/// -/// [`set_nodelay`]: TcpStream::set_nodelay -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// -/// # async fn dox() -> Result<(), Box> { -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// println!("{:?}", stream.nodelay()?); -/// # Ok(()) -/// # } -/// ``` - Future nodelay()=>RustLib.instance.api.tokioNetTcpStreamNodelay(that: this, ); - - -/// Receives data on the socket from the remote address to which it is -/// connected, without removing that data from the queue. On success, -/// returns the number of bytes peeked. -/// -/// Successive calls return the same data. This is accomplished by passing -/// `MSG_PEEK` as a flag to the underlying `recv` system call. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If the method is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, then it is guaranteed that no peek was performed, and -/// that `buf` has not been modified. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// use tokio::io::AsyncReadExt; -/// use std::error::Error; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let mut stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// let mut b1 = [0; 10]; -/// let mut b2 = [0; 10]; -/// -/// // Peek at the data -/// let n = stream.peek(&mut b1).await?; -/// -/// // Read the data -/// assert_eq!(n, stream.read(&mut b2[..n]).await?); -/// assert_eq!(&b1[..n], &b2[..n]); -/// -/// Ok(()) -/// } -/// ``` -/// -/// The [`read`] method is defined on the [`AsyncReadExt`] trait. -/// -/// [`read`]: fn@crate::io::AsyncReadExt::read -/// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt - Future peek({required U8 buf })=>RustLib.instance.api.tokioNetTcpStreamPeek(that: this, buf: buf); - - -/// Returns the remote address that this stream is connected to. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// -/// # async fn dox() -> Result<(), Box> { -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// println!("{:?}", stream.peer_addr()?); -/// # Ok(()) -/// # } -/// ``` - Future peerAddr()=>RustLib.instance.api.tokioNetTcpStreamPeerAddr(that: this, ); - - -/// Attempts to receive data on the socket, without removing that data from -/// the queue, registering the current task for wakeup if data is not yet -/// available. -/// -/// Note that on multiple calls to `poll_peek`, `poll_read` or -/// `poll_read_ready`, only the `Waker` from the `Context` passed to the -/// most recent call is scheduled to receive a wakeup. (However, -/// `poll_write` retains a second, independent waker.) -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if data is not yet available. -/// * `Poll::Ready(Ok(n))` if data is available. `n` is the number of bytes peeked. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::io::{self, ReadBuf}; -/// use tokio::net::TcpStream; -/// -/// use std::future::poll_fn; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let stream = TcpStream::connect("127.0.0.1:8000").await?; -/// let mut buf = [0; 10]; -/// let mut buf = ReadBuf::new(&mut buf); -/// -/// poll_fn(|cx| { -/// stream.poll_peek(cx, &mut buf) -/// }).await?; -/// -/// Ok(()) -/// } -/// ``` - Future pollPeek({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetTcpStreamPollPeek(that: this, cx: cx, buf: buf); - - -/// Polls for read readiness. -/// -/// If the tcp stream is not currently ready for reading, this method will -/// store a clone of the `Waker` from the provided `Context`. When the tcp -/// stream becomes ready for reading, `Waker::wake` will be called on the -/// waker. -/// -/// Note that on multiple calls to `poll_read_ready`, `poll_read` or -/// `poll_peek`, only the `Waker` from the `Context` passed to the most -/// recent call is scheduled to receive a wakeup. (However, -/// `poll_write_ready` retains a second, independent waker.) -/// -/// This function is intended for cases where creating and pinning a future -/// via [`readable`] is not feasible. Where possible, using [`readable`] is -/// preferred, as this supports polling from multiple tasks at once. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the tcp stream is not ready for reading. -/// * `Poll::Ready(Ok(()))` if the tcp stream is ready for reading. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`readable`]: method@Self::readable - Future pollReadReady({required Context cx })=>RustLib.instance.api.tokioNetTcpStreamPollReadReady(that: this, cx: cx); - - -/// Polls for write readiness. -/// -/// If the tcp stream is not currently ready for writing, this method will -/// store a clone of the `Waker` from the provided `Context`. When the tcp -/// stream becomes ready for writing, `Waker::wake` will be called on the -/// waker. -/// -/// Note that on multiple calls to `poll_write_ready` or `poll_write`, only -/// the `Waker` from the `Context` passed to the most recent call is -/// scheduled to receive a wakeup. (However, `poll_read_ready` retains a -/// second, independent waker.) -/// -/// This function is intended for cases where creating and pinning a future -/// via [`writable`] is not feasible. Where possible, using [`writable`] is -/// preferred, as this supports polling from multiple tasks at once. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the tcp stream is not ready for writing. -/// * `Poll::Ready(Ok(()))` if the tcp stream is ready for writing. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`writable`]: method@Self::writable - Future pollWriteReady({required Context cx })=>RustLib.instance.api.tokioNetTcpStreamPollWriteReady(that: this, cx: cx); - - -/// Waits for the socket to become readable. -/// -/// This function is equivalent to `ready(Interest::READABLE)` and is usually -/// paired with `try_read()`. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// let mut msg = vec![0; 1024]; -/// -/// loop { -/// // Wait for the socket to be readable -/// stream.readable().await?; -/// -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_read(&mut msg) { -/// Ok(n) => { -/// msg.truncate(n); -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// println!("GOT = {:?}", msg); -/// Ok(()) -/// } -/// ``` - Future readable()=>RustLib.instance.api.tokioNetTcpStreamReadable(that: this, ); - - -/// Waits for any of the requested ready states. -/// -/// This function is usually paired with `try_read()` or `try_write()`. It -/// can be used to concurrently read / write to the same socket on a single -/// task without splitting the socket. -/// -/// The function may complete without the socket being ready. This is a -/// false-positive and attempting an operation will return with -/// `io::ErrorKind::WouldBlock`. The function can also return with an empty -/// [`Ready`] set, so you should always check the returned value and possibly -/// wait again if the requested states are not set. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read or write that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// Concurrently read and write to the stream on the same task without -/// splitting. -/// -/// ```no_run -/// use tokio::io::Interest; -/// use tokio::net::TcpStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// loop { -/// let ready = stream.ready(Interest::READABLE | Interest::WRITABLE).await?; -/// -/// if ready.is_readable() { -/// let mut data = vec![0; 1024]; -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_read(&mut data) { -/// Ok(n) => { -/// println!("read {} bytes", n); -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// -/// } -/// -/// if ready.is_writable() { -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_write(b"hello world") { -/// Ok(n) => { -/// println!("write {} bytes", n); -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// } -/// } -/// ``` - Future ready({required Interest interest })=>RustLib.instance.api.tokioNetTcpStreamReady(that: this, interest: interest); - - -/// Sets the linger duration of this socket by setting the `SO_LINGER` option. -/// -/// This option controls the action taken when a stream has unsent messages and the stream is -/// closed. If `SO_LINGER` is set, the system shall block the process until it can transmit the -/// data or until the time expires. -/// -/// If `SO_LINGER` is not specified, and the stream is closed, the system handles the call in a -/// way that allows the process to continue as quickly as possible. -/// -/// This option is deprecated because setting `SO_LINGER` on a socket used with Tokio is -/// always incorrect as it leads to blocking the thread when the socket is closed. For more -/// details, please see: -/// -/// > Volumes of communications have been devoted to the intricacies of `SO_LINGER` versus -/// > non-blocking (`O_NONBLOCK`) sockets. From what I can tell, the final word is: don't -/// > do it. Rely on the `shutdown()`-followed-by-`read()`-eof technique instead. -/// > -/// > From [The ultimate `SO_LINGER` page, or: why is my tcp not reliable](https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable) -/// -/// # Examples -/// -/// ```no_run -/// # #![allow(deprecated)] -/// use tokio::net::TcpStream; -/// -/// # async fn dox() -> Result<(), Box> { -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// stream.set_linger(None)?; -/// # Ok(()) -/// # } -/// ``` - Future setLinger({Duration? dur })=>RustLib.instance.api.tokioNetTcpStreamSetLinger(that: this, dur: dur); - - -/// Sets the value of the `TCP_NODELAY` option on this socket. -/// -/// If set, this option disables the Nagle algorithm. This means that -/// segments are always sent as soon as possible, even if there is only a -/// small amount of data. When not set, data is buffered until there is a -/// sufficient amount to send out, thereby avoiding the frequent sending of -/// small packets. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// -/// # async fn dox() -> Result<(), Box> { -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// stream.set_nodelay(true)?; -/// # Ok(()) -/// # } -/// ``` - Future setNodelay({required bool nodelay })=>RustLib.instance.api.tokioNetTcpStreamSetNodelay(that: this, nodelay: nodelay); - - -/// Sets the value for the `IP_TTL` option on this socket. -/// -/// This value sets the time-to-live field that is used in every packet sent -/// from this socket. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// -/// # async fn dox() -> Result<(), Box> { -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// stream.set_ttl(123)?; -/// # Ok(()) -/// # } -/// ``` - Future setTtl({required int ttl })=>RustLib.instance.api.tokioNetTcpStreamSetTtl(that: this, ttl: ttl); - - -/// Returns the value of the `SO_ERROR` option. - Future takeError()=>RustLib.instance.api.tokioNetTcpStreamTakeError(that: this, ); - - -/// Tries to read data from the stream into the provided buffer, returning how -/// many bytes were read. -/// -/// Receives any pending data from the socket but does not wait for new data -/// to arrive. On success, returns the number of bytes read. Because -/// `try_read()` is non-blocking, the buffer does not have to be stored by -/// the async task and can exist entirely on the stack. -/// -/// Usually, [`readable()`] or [`ready()`] is used with this function. -/// -/// [`readable()`]: TcpStream::readable() -/// [`ready()`]: TcpStream::ready() -/// -/// # Return -/// -/// If data is successfully read, `Ok(n)` is returned, where `n` is the -/// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: -/// -/// 1. The stream's read half is closed and will no longer yield data. -/// 2. The specified buffer was 0 bytes in length. -/// -/// If the stream is not ready to read data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// loop { -/// // Wait for the socket to be readable -/// stream.readable().await?; -/// -/// // Creating the buffer **after** the `await` prevents it from -/// // being stored in the async task. -/// let mut buf = [0; 4096]; -/// -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_read(&mut buf) { -/// Ok(0) => break, -/// Ok(n) => { -/// println!("read {} bytes", n); -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryRead({required U8 buf })=>RustLib.instance.api.tokioNetTcpStreamTryRead(that: this, buf: buf); - - -/// Tries to read data from the stream into the provided buffers, returning -/// how many bytes were read. -/// -/// Data is copied to fill each buffer in order, with the final buffer -/// written to possibly being only partially filled. This method behaves -/// equivalently to a single call to [`try_read()`] with concatenated -/// buffers. -/// -/// Receives any pending data from the socket but does not wait for new data -/// to arrive. On success, returns the number of bytes read. Because -/// `try_read_vectored()` is non-blocking, the buffer does not have to be -/// stored by the async task and can exist entirely on the stack. -/// -/// Usually, [`readable()`] or [`ready()`] is used with this function. -/// -/// [`try_read()`]: TcpStream::try_read() -/// [`readable()`]: TcpStream::readable() -/// [`ready()`]: TcpStream::ready() -/// -/// # Return -/// -/// If data is successfully read, `Ok(n)` is returned, where `n` is the -/// number of bytes read. `Ok(0)` indicates the stream's read half is closed -/// and will no longer yield data. If the stream is not ready to read data -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// use std::error::Error; -/// use std::io::{self, IoSliceMut}; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// loop { -/// // Wait for the socket to be readable -/// stream.readable().await?; -/// -/// // Creating the buffer **after** the `await` prevents it from -/// // being stored in the async task. -/// let mut buf_a = [0; 512]; -/// let mut buf_b = [0; 1024]; -/// let mut bufs = [ -/// IoSliceMut::new(&mut buf_a), -/// IoSliceMut::new(&mut buf_b), -/// ]; -/// -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_read_vectored(&mut bufs) { -/// Ok(0) => break, -/// Ok(n) => { -/// println!("read {} bytes", n); -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryReadVectored({required IoSliceMut bufs })=>RustLib.instance.api.tokioNetTcpStreamTryReadVectored(that: this, bufs: bufs); - - -/// Try to write a buffer to the stream, returning how many bytes were -/// written. -/// -/// The function will attempt to write the entire contents of `buf`, but -/// only part of the buffer may be written. -/// -/// This function is usually paired with `writable()`. -/// -/// # Return -/// -/// If data is successfully written, `Ok(n)` is returned, where `n` is the -/// number of bytes written. If the stream is not ready to write data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// loop { -/// // Wait for the socket to be writable -/// stream.writable().await?; -/// -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_write(b"hello world") { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryWrite({required List buf })=>RustLib.instance.api.tokioNetTcpStreamTryWrite(that: this, buf: buf); - - -/// Tries to write several buffers to the stream, returning how many bytes -/// were written. -/// -/// Data is written from each buffer in order, with the final buffer read -/// from possibly being only partially consumed. This method behaves -/// equivalently to a single call to [`try_write()`] with concatenated -/// buffers. -/// -/// This function is usually paired with `writable()`. -/// -/// [`try_write()`]: TcpStream::try_write() -/// -/// # Return -/// -/// If data is successfully written, `Ok(n)` is returned, where `n` is the -/// number of bytes written. If the stream is not ready to write data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; -/// -/// loop { -/// // Wait for the socket to be writable -/// stream.writable().await?; -/// -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_write_vectored(&bufs) { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryWriteVectored({required List bufs })=>RustLib.instance.api.tokioNetTcpStreamTryWriteVectored(that: this, bufs: bufs); - - -/// Gets the value of the `IP_TTL` option for this socket. -/// -/// For more information about this option, see [`set_ttl`]. -/// -/// [`set_ttl`]: TcpStream::set_ttl -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// -/// # async fn dox() -> Result<(), Box> { -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// println!("{:?}", stream.ttl()?); -/// # Ok(()) -/// # } -/// ``` - Future ttl()=>RustLib.instance.api.tokioNetTcpStreamTtl(that: this, ); - - -/// Waits for the socket to become writable. -/// -/// This function is equivalent to `ready(Interest::WRITABLE)` and is usually -/// paired with `try_write()`. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to write that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::TcpStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let stream = TcpStream::connect("127.0.0.1:8080").await?; -/// -/// loop { -/// // Wait for the socket to be writable -/// stream.writable().await?; -/// -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_write(b"hello world") { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future writable()=>RustLib.instance.api.tokioNetTcpStreamWritable(that: this, ); - - - } - @sealed class TryCurrentErrorImpl extends RustOpaque implements TryCurrentError { - // Not to be used by end users - TryCurrentErrorImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - TryCurrentErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TryCurrentError, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TryCurrentError, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TryCurrentErrorPtr, - ); - - /// Returns true if the call failed because there is currently no runtime in -/// the Tokio context. - Future isMissingContext()=>RustLib.instance.api.tokioRuntimeTryCurrentErrorIsMissingContext(that: this, ); - - -/// Returns true if the call failed because the Tokio context thread-local -/// had been destroyed. This can usually only happen if in the destructor of -/// other thread-locals. - Future isThreadLocalDestroyed()=>RustLib.instance.api.tokioRuntimeTryCurrentErrorIsThreadLocalDestroyed(that: this, ); - - - } - @sealed class TryRecvErrorImpl extends RustOpaque implements TryRecvError { - // Not to be used by end users - TryRecvErrorImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - TryRecvErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TryRecvError, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TryRecvError, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TryRecvErrorPtr, - ); - - - } - @sealed class TrySendErrorImpl extends RustOpaque implements TrySendError { - // Not to be used by end users - TrySendErrorImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - TrySendErrorImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TrySendError, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendError, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendErrorPtr, - ); - - - } - @sealed class TrySendErrorSelfImpl extends RustOpaque implements TrySendErrorSelf { - // Not to be used by end users - TrySendErrorSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - TrySendErrorSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TrySendErrorSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendErrorSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendErrorSelfPtr, - ); - - - } - @sealed class TrySendErrorTImpl extends RustOpaque implements TrySendErrorT { - // Not to be used by end users - TrySendErrorTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - TrySendErrorTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_TrySendErrorT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendErrorT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_TrySendErrorTPtr, - ); - - - } - @sealed class U8Impl extends RustOpaque implements U8 { - // Not to be used by end users - U8Impl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - U8Impl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_U8, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_U8, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_U8Ptr, - ); - - - } - @sealed class UCredImpl extends RustOpaque implements UCred { - // Not to be used by end users - UCredImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - UCredImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UCred, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UCred, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UCredPtr, - ); - - /// Gets GID (group ID) of the process. - Future gid()=>RustLib.instance.api.tokioNetUnixUCredGid(that: this, ); - - -/// Gets PID (process ID) of the process. -/// -/// This is only implemented under Linux, Android, iOS, macOS, Solaris, -/// Illumos and Cygwin. On other platforms this will always return `None`. - Future pid()=>RustLib.instance.api.tokioNetUnixUCredPid(that: this, ); - - -/// Gets UID (user ID) of the process. - Future uid()=>RustLib.instance.api.tokioNetUnixUCredUid(that: this, ); - - - } - @sealed class UdpSocketImpl extends RustOpaque implements UdpSocket { - // Not to be used by end users - UdpSocketImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - UdpSocketImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UdpSocket, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UdpSocket, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UdpSocketPtr, - ); - - /// Gets the value of the `SO_BROADCAST` option for this socket. -/// -/// For more information about this option, see [`set_broadcast`]. -/// -/// [`set_broadcast`]: method@Self::set_broadcast - Future broadcast()=>RustLib.instance.api.tokioNetUdpSocketBroadcast(that: this, ); - - -/// Turns a [`tokio::net::UdpSocket`] into a [`std::net::UdpSocket`]. -/// -/// The returned [`std::net::UdpSocket`] will have nonblocking mode set as -/// `true`. Use [`set_nonblocking`] to change the blocking mode if needed. -/// -/// # Examples -/// -/// ```rust,no_run -/// use std::error::Error; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// let tokio_socket = tokio::net::UdpSocket::bind("127.0.0.1:0").await?; -/// let std_socket = tokio_socket.into_std()?; -/// std_socket.set_nonblocking(false)?; -/// Ok(()) -/// } -/// ``` -/// -/// [`tokio::net::UdpSocket`]: UdpSocket -/// [`std::net::UdpSocket`]: std::net::UdpSocket -/// [`set_nonblocking`]: fn@std::net::UdpSocket::set_nonblocking - Future intoStd()=>RustLib.instance.api.tokioNetUdpSocketIntoStd(that: this, ); - - -/// Executes an operation of the `IP_ADD_MEMBERSHIP` type. -/// -/// This function specifies a new multicast group for this socket to join. -/// The address must be a valid multicast address, and `interface` is the -/// address of the local interface with which the system should join the -/// multicast group. If it's equal to `INADDR_ANY` then an appropriate -/// interface is chosen by the system. - Future joinMulticastV4({required Ipv4Addr multiaddr , required Ipv4Addr interface_ })=>RustLib.instance.api.tokioNetUdpSocketJoinMulticastV4(that: this, multiaddr: multiaddr, interface_: interface_); - - -/// Executes an operation of the `IPV6_ADD_MEMBERSHIP` type. -/// -/// This function specifies a new multicast group for this socket to join. -/// The address must be a valid multicast address, and `interface` is the -/// index of the interface to join/leave (or 0 to indicate any interface). - Future joinMulticastV6({required Ipv6Addr multiaddr , required int interface_ })=>RustLib.instance.api.tokioNetUdpSocketJoinMulticastV6(that: this, multiaddr: multiaddr, interface_: interface_); - - -/// Executes an operation of the `IP_DROP_MEMBERSHIP` type. -/// -/// For more information about this option, see [`join_multicast_v4`]. -/// -/// [`join_multicast_v4`]: method@Self::join_multicast_v4 - Future leaveMulticastV4({required Ipv4Addr multiaddr , required Ipv4Addr interface_ })=>RustLib.instance.api.tokioNetUdpSocketLeaveMulticastV4(that: this, multiaddr: multiaddr, interface_: interface_); - - -/// Executes an operation of the `IPV6_DROP_MEMBERSHIP` type. -/// -/// For more information about this option, see [`join_multicast_v6`]. -/// -/// [`join_multicast_v6`]: method@Self::join_multicast_v6 - Future leaveMulticastV6({required Ipv6Addr multiaddr , required int interface_ })=>RustLib.instance.api.tokioNetUdpSocketLeaveMulticastV6(that: this, multiaddr: multiaddr, interface_: interface_); - - -/// Returns the local address that this socket is bound to. -/// -/// # Example -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// # use std::{io, net::SocketAddr}; -/// -/// # #[tokio::main] -/// # async fn main() -> io::Result<()> { -/// let addr = "0.0.0.0:8080".parse::().unwrap(); -/// let sock = UdpSocket::bind(addr).await?; -/// // the address the socket is bound to -/// let local_addr = sock.local_addr()?; -/// # Ok(()) -/// # } -/// ``` - Future localAddr()=>RustLib.instance.api.tokioNetUdpSocketLocalAddr(that: this, ); - - -/// Gets the value of the `IP_MULTICAST_LOOP` option for this socket. -/// -/// For more information about this option, see [`set_multicast_loop_v4`]. -/// -/// [`set_multicast_loop_v4`]: method@Self::set_multicast_loop_v4 - Future multicastLoopV4()=>RustLib.instance.api.tokioNetUdpSocketMulticastLoopV4(that: this, ); - - -/// Gets the value of the `IPV6_MULTICAST_LOOP` option for this socket. -/// -/// For more information about this option, see [`set_multicast_loop_v6`]. -/// -/// [`set_multicast_loop_v6`]: method@Self::set_multicast_loop_v6 - Future multicastLoopV6()=>RustLib.instance.api.tokioNetUdpSocketMulticastLoopV6(that: this, ); - - -/// Gets the value of the `IP_MULTICAST_TTL` option for this socket. -/// -/// For more information about this option, see [`set_multicast_ttl_v4`]. -/// -/// [`set_multicast_ttl_v4`]: method@Self::set_multicast_ttl_v4 - Future multicastTtlV4()=>RustLib.instance.api.tokioNetUdpSocketMulticastTtlV4(that: this, ); - - -/// Receives a single datagram from the connected address without removing it from the queue. -/// On success, returns the number of bytes read from whence the data came. -/// -/// # Notes -/// -/// On Windows, if the data is larger than the buffer specified, the buffer -/// is filled with the first part of the data, and peek returns the error -/// `WSAEMSGSIZE(10040)`. The excess data is lost. -/// Make sure to always use a sufficiently large buffer to hold the -/// maximum UDP packet size, which can be up to 65536 bytes in size. -/// -/// MacOS will return an error if you pass a zero-sized buffer. -/// -/// If you're merely interested in learning the sender of the data at the head of the queue, -/// try [`peek_sender`]. -/// -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// -/// let mut buf = vec![0u8; 32]; -/// let len = socket.peek(&mut buf).await?; -/// -/// println!("peeked {:?} bytes", len); -/// -/// Ok(()) -/// } -/// ``` -/// -/// [`peek_sender`]: method@Self::peek_sender -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future peek({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketPeek(that: this, buf: buf); - - -/// Receives data from the socket, without removing it from the input queue. -/// On success, returns the number of bytes read and the address from whence -/// the data came. -/// -/// # Notes -/// -/// On Windows, if the data is larger than the buffer specified, the buffer -/// is filled with the first part of the data, and `peek_from` returns the error -/// `WSAEMSGSIZE(10040)`. The excess data is lost. -/// Make sure to always use a sufficiently large buffer to hold the -/// maximum UDP packet size, which can be up to 65536 bytes in size. -/// -/// MacOS will return an error if you pass a zero-sized buffer. -/// -/// If you're merely interested in learning the sender of the data at the head of the queue, -/// try [`peek_sender`]. -/// -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// -/// let mut buf = vec![0u8; 32]; -/// let (len, addr) = socket.peek_from(&mut buf).await?; -/// -/// println!("peeked {:?} bytes from {:?}", len, addr); -/// -/// Ok(()) -/// } -/// ``` -/// -/// [`peek_sender`]: method@Self::peek_sender -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future<(BigInt,SocketAddr)> peekFrom({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketPeekFrom(that: this, buf: buf); - - -/// Retrieve the sender of the data at the head of the input queue, waiting if empty. -/// -/// This is equivalent to calling [`peek_from`] with a zero-sized buffer, -/// but suppresses the `WSAEMSGSIZE` error on Windows and the "invalid argument" error on macOS. -/// -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// [`peek_from`]: method@Self::peek_from -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future peekSender()=>RustLib.instance.api.tokioNetUdpSocketPeekSender(that: this, ); - - -/// Returns the socket address of the remote peer this socket was connected to. -/// -/// # Example -/// -/// ``` -/// use tokio::net::UdpSocket; -/// -/// # use std::{io, net::SocketAddr}; -/// # #[tokio::main] -/// # async fn main() -> io::Result<()> { -/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. -/// let addr = "0.0.0.0:8080".parse::().unwrap(); -/// let peer = "127.0.0.1:11100".parse::().unwrap(); -/// let sock = UdpSocket::bind(addr).await?; -/// sock.connect(peer).await?; -/// assert_eq!(peer, sock.peer_addr()?); -/// # Ok(()) -/// # } -/// ``` - Future peerAddr()=>RustLib.instance.api.tokioNetUdpSocketPeerAddr(that: this, ); - - -/// Receives data from the connected address, without removing it from the input queue. -/// -/// # Notes -/// -/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the -/// `Waker` from the `Context` passed to the most recent call will be scheduled to -/// receive a wakeup -/// -/// On Windows, if the data is larger than the buffer specified, the buffer -/// is filled with the first part of the data, and peek returns the error -/// `WSAEMSGSIZE(10040)`. The excess data is lost. -/// Make sure to always use a sufficiently large buffer to hold the -/// maximum UDP packet size, which can be up to 65536 bytes in size. -/// -/// MacOS will return an error if you pass a zero-sized buffer. -/// -/// If you're merely interested in learning the sender of the data at the head of the queue, -/// try [`poll_peek_sender`]. -/// -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not ready to read -/// * `Poll::Ready(Ok(()))` reads data into `ReadBuf` if the socket is ready -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`poll_peek_sender`]: method@Self::poll_peek_sender -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future pollPeek({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUdpSocketPollPeek(that: this, cx: cx, buf: buf); - - -/// Receives data from the socket, without removing it from the input queue. -/// On success, returns the sending address of the datagram. -/// -/// # Notes -/// -/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the -/// `Waker` from the `Context` passed to the most recent call will be scheduled to -/// receive a wakeup -/// -/// On Windows, if the data is larger than the buffer specified, the buffer -/// is filled with the first part of the data, and peek returns the error -/// `WSAEMSGSIZE(10040)`. The excess data is lost. -/// Make sure to always use a sufficiently large buffer to hold the -/// maximum UDP packet size, which can be up to 65536 bytes in size. -/// -/// MacOS will return an error if you pass a zero-sized buffer. -/// -/// If you're merely interested in learning the sender of the data at the head of the queue, -/// try [`poll_peek_sender`]. -/// -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not ready to read -/// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`poll_peek_sender`]: method@Self::poll_peek_sender -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future pollPeekFrom({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUdpSocketPollPeekFrom(that: this, cx: cx, buf: buf); - - -/// Retrieve the sender of the data at the head of the input queue, -/// scheduling a wakeup if empty. -/// -/// This is equivalent to calling [`poll_peek_from`] with a zero-sized buffer, -/// but suppresses the `WSAEMSGSIZE` error on Windows and the "invalid argument" error on macOS. -/// -/// # Notes -/// -/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the -/// `Waker` from the `Context` passed to the most recent call will be scheduled to -/// receive a wakeup. -/// -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// [`poll_peek_from`]: method@Self::poll_peek_from -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future pollPeekSender({required Context cx })=>RustLib.instance.api.tokioNetUdpSocketPollPeekSender(that: this, cx: cx); - - -/// Attempts to receive a single datagram message on the socket from the remote -/// address to which it is `connect`ed. -/// -/// The [`connect`] method will connect this socket to a remote address. This method -/// resolves to an error if the socket is not connected. -/// -/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the -/// `Waker` from the `Context` passed to the most recent call will be scheduled to -/// receive a wakeup. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not ready to read -/// * `Poll::Ready(Ok(()))` reads data `ReadBuf` if the socket is ready -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`connect`]: method@Self::connect - Future pollRecv({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUdpSocketPollRecv(that: this, cx: cx, buf: buf); - - -/// Attempts to receive a single datagram on the socket. -/// -/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the -/// `Waker` from the `Context` passed to the most recent call will be scheduled to -/// receive a wakeup. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not ready to read -/// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// # Notes -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future pollRecvFrom({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUdpSocketPollRecvFrom(that: this, cx: cx, buf: buf); - - -/// Polls for read/receive readiness. -/// -/// If the udp stream is not currently ready for receiving, this method will -/// store a clone of the `Waker` from the provided `Context`. When the udp -/// socket becomes ready for reading, `Waker::wake` will be called on the -/// waker. -/// -/// Note that on multiple calls to `poll_recv_ready`, `poll_recv` or -/// `poll_peek`, only the `Waker` from the `Context` passed to the most -/// recent call is scheduled to receive a wakeup. (However, -/// `poll_send_ready` retains a second, independent waker.) -/// -/// This function is intended for cases where creating and pinning a future -/// via [`readable`] is not feasible. Where possible, using [`readable`] is -/// preferred, as this supports polling from multiple tasks at once. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the udp stream is not ready for reading. -/// * `Poll::Ready(Ok(()))` if the udp stream is ready for reading. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`readable`]: method@Self::readable - Future pollRecvReady({required Context cx })=>RustLib.instance.api.tokioNetUdpSocketPollRecvReady(that: this, cx: cx); - - -/// Attempts to send data on the socket to the remote address to which it -/// was previously `connect`ed. -/// -/// The [`connect`] method will connect this socket to a remote address. -/// This method will fail if the socket is not connected. -/// -/// Note that on multiple calls to a `poll_*` method in the send direction, -/// only the `Waker` from the `Context` passed to the most recent call will -/// be scheduled to receive a wakeup. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not available to write -/// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`connect`]: method@Self::connect - Future pollSend({required Context cx , required List buf })=>RustLib.instance.api.tokioNetUdpSocketPollSend(that: this, cx: cx, buf: buf); - - -/// Polls for write/send readiness. -/// -/// If the udp stream is not currently ready for sending, this method will -/// store a clone of the `Waker` from the provided `Context`. When the udp -/// stream becomes ready for sending, `Waker::wake` will be called on the -/// waker. -/// -/// Note that on multiple calls to `poll_send_ready` or `poll_send`, only -/// the `Waker` from the `Context` passed to the most recent call is -/// scheduled to receive a wakeup. (However, `poll_recv_ready` retains a -/// second, independent waker.) -/// -/// This function is intended for cases where creating and pinning a future -/// via [`writable`] is not feasible. Where possible, using [`writable`] is -/// preferred, as this supports polling from multiple tasks at once. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the udp stream is not ready for writing. -/// * `Poll::Ready(Ok(()))` if the udp stream is ready for writing. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`writable`]: method@Self::writable - Future pollSendReady({required Context cx })=>RustLib.instance.api.tokioNetUdpSocketPollSendReady(that: this, cx: cx); - - -/// Attempts to send data on the socket to a given address. -/// -/// Note that on multiple calls to a `poll_*` method in the send direction, only the -/// `Waker` from the `Context` passed to the most recent call will be scheduled to -/// receive a wakeup. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not ready to write -/// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. - Future pollSendTo({required Context cx , required List buf , required SocketAddr target })=>RustLib.instance.api.tokioNetUdpSocketPollSendTo(that: this, cx: cx, buf: buf, target: target); - - -/// Waits for the socket to become readable. -/// -/// This function is equivalent to `ready(Interest::READABLE)` and is usually -/// paired with `try_recv()`. -/// -/// The function may complete without the socket being readable. This is a -/// false-positive and attempting a `try_recv()` will return with -/// `io::ErrorKind::WouldBlock`. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Connect to a peer -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// socket.connect("127.0.0.1:8081").await?; -/// -/// loop { -/// // Wait for the socket to be readable -/// socket.readable().await?; -/// -/// // The buffer is **not** included in the async task and will -/// // only exist on the stack. -/// let mut buf = [0; 1024]; -/// -/// // Try to recv data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match socket.try_recv(&mut buf) { -/// Ok(n) => { -/// println!("GOT {:?}", &buf[..n]); -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future readable()=>RustLib.instance.api.tokioNetUdpSocketReadable(that: this, ); - - -/// Waits for any of the requested ready states. -/// -/// This function is usually paired with `try_recv()` or `try_send()`. It -/// can be used to concurrently `recv` / `send` to the same socket on a single -/// task without splitting the socket. -/// -/// The function may complete without the socket being ready. This is a -/// false-positive and attempting an operation will return with -/// `io::ErrorKind::WouldBlock`. The function can also return with an empty -/// [`Ready`] set, so you should always check the returned value and possibly -/// wait again if the requested states are not set. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read or write that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// Concurrently receive from and send to the socket on the same task -/// without splitting. -/// -/// ```no_run -/// use tokio::io::{self, Interest}; -/// use tokio::net::UdpSocket; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// socket.connect("127.0.0.1:8081").await?; -/// -/// loop { -/// let ready = socket.ready(Interest::READABLE | Interest::WRITABLE).await?; -/// -/// if ready.is_readable() { -/// // The buffer is **not** included in the async task and will only exist -/// // on the stack. -/// let mut data = [0; 1024]; -/// match socket.try_recv(&mut data[..]) { -/// Ok(n) => { -/// println!("received {:?}", &data[..n]); -/// } -/// // False-positive, continue -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// if ready.is_writable() { -/// // Write some data -/// match socket.try_send(b"hello world") { -/// Ok(n) => { -/// println!("sent {} bytes", n); -/// } -/// // False-positive, continue -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// } -/// } -/// ``` - Future ready({required Interest interest })=>RustLib.instance.api.tokioNetUdpSocketReady(that: this, interest: interest); - - -/// Receives a single datagram message on the socket from the remote address -/// to which it is connected. On success, returns the number of bytes read. -/// -/// The function must be called with valid byte array `buf` of sufficient -/// size to hold the message bytes. If a message is too long to fit in the -/// supplied buffer, excess bytes may be discarded. -/// -/// The [`connect`] method will connect this socket to a remote address. -/// This method will fail if the socket is not connected. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If `recv` is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, it is guaranteed that no messages were received on this -/// socket. -/// -/// [`connect`]: method@Self::connect -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Bind socket -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// socket.connect("127.0.0.1:8081").await?; -/// -/// let mut buf = vec![0; 10]; -/// let n = socket.recv(&mut buf).await?; -/// -/// println!("received {} bytes {:?}", n, &buf[..n]); -/// -/// Ok(()) -/// } -/// ``` - Future recv({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketRecv(that: this, buf: buf); - - -/// Receives a single datagram message on the socket. On success, returns -/// the number of bytes read and the origin. -/// -/// The function must be called with valid byte array `buf` of sufficient -/// size to hold the message bytes. If a message is too long to fit in the -/// supplied buffer, excess bytes may be discarded. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If `recv_from` is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, it is guaranteed that no messages were received on this -/// socket. -/// -/// # Example -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// -/// let mut buf = vec![0u8; 32]; -/// let (len, addr) = socket.recv_from(&mut buf).await?; -/// -/// println!("received {:?} bytes from {:?}", len, addr); -/// -/// Ok(()) -/// } -/// ``` -/// -/// # Notes -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future<(BigInt,SocketAddr)> recvFrom({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketRecvFrom(that: this, buf: buf); - - -/// Sends data on the socket to the remote address that the socket is -/// connected to. -/// -/// The [`connect`] method will connect this socket to a remote address. -/// This method will fail if the socket is not connected. -/// -/// [`connect`]: method@Self::connect -/// -/// # Return -/// -/// On success, the number of bytes sent is returned, otherwise, the -/// encountered error is returned. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If `send` is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, then it is guaranteed that the message was not sent. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::io; -/// use tokio::net::UdpSocket; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Bind socket -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// socket.connect("127.0.0.1:8081").await?; -/// -/// // Send a message -/// socket.send(b"hello world").await?; -/// -/// Ok(()) -/// } -/// ``` - Future send({required List buf })=>RustLib.instance.api.tokioNetUdpSocketSend(that: this, buf: buf); - - -/// Sets the value of the `SO_BROADCAST` option for this socket. -/// -/// When enabled, this socket is allowed to send packets to a broadcast -/// address. - Future setBroadcast({required bool on_ })=>RustLib.instance.api.tokioNetUdpSocketSetBroadcast(that: this, on_: on_); - - -/// Sets the value of the `IP_MULTICAST_LOOP` option for this socket. -/// -/// If enabled, multicast packets will be looped back to the local socket. -/// -/// # Note -/// -/// This may not have any effect on IPv6 sockets. - Future setMulticastLoopV4({required bool on_ })=>RustLib.instance.api.tokioNetUdpSocketSetMulticastLoopV4(that: this, on_: on_); - - -/// Sets the value of the `IPV6_MULTICAST_LOOP` option for this socket. -/// -/// Controls whether this socket sees the multicast packets it sends itself. -/// -/// # Note -/// -/// This may not have any effect on IPv4 sockets. - Future setMulticastLoopV6({required bool on_ })=>RustLib.instance.api.tokioNetUdpSocketSetMulticastLoopV6(that: this, on_: on_); - - -/// Sets the value of the `IP_MULTICAST_TTL` option for this socket. -/// -/// Indicates the time-to-live value of outgoing multicast packets for -/// this socket. The default value is 1 which means that multicast packets -/// don't leave the local network unless explicitly requested. -/// -/// # Note -/// -/// This may not have any effect on IPv6 sockets. - Future setMulticastTtlV4({required int ttl })=>RustLib.instance.api.tokioNetUdpSocketSetMulticastTtlV4(that: this, ttl: ttl); - - -/// Sets the value for the `IPV6_TCLASS` option on this socket. -/// -/// Specifies the traffic class field that is used in every packet -/// sent from this socket. -/// -/// # Note -/// -/// This may not have any effect on IPv4 sockets. - Future setTclassV6({required int tclass })=>RustLib.instance.api.tokioNetUdpSocketSetTclassV6(that: this, tclass: tclass); - - -/// Deprecated. Use [`set_tos_v4()`] instead. -/// -/// [`set_tos_v4()`]: Self::set_tos_v4 - Future setTos({required int tos })=>RustLib.instance.api.tokioNetUdpSocketSetTos(that: this, tos: tos); - - -/// Sets the value for the `IP_TOS` option on this socket. -/// -/// This value sets the type-of-service field that is used in every packet -/// sent from this socket. -/// -/// # Note -/// -/// - This may not have any effect on IPv6 sockets. -/// - On Windows, `IP_TOS` is only supported on [Windows 8+ or -/// Windows Server 2012+.](https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options) - Future setTosV4({required int tos })=>RustLib.instance.api.tokioNetUdpSocketSetTosV4(that: this, tos: tos); - - -/// Sets the value for the `IP_TTL` option on this socket. -/// -/// This value sets the time-to-live field that is used in every packet sent -/// from this socket. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// # use std::io; -/// -/// # async fn dox() -> io::Result<()> { -/// let sock = UdpSocket::bind("127.0.0.1:8080").await?; -/// sock.set_ttl(60)?; -/// -/// # Ok(()) -/// # } -/// ``` - Future setTtl({required int ttl })=>RustLib.instance.api.tokioNetUdpSocketSetTtl(that: this, ttl: ttl); - - -/// Returns the value of the `SO_ERROR` option. -/// -/// # Examples -/// ``` -/// use tokio::net::UdpSocket; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. -/// // Create a socket -/// let socket = UdpSocket::bind("0.0.0.0:8080").await?; -/// -/// if let Ok(Some(err)) = socket.take_error() { -/// println!("Got error: {:?}", err); -/// } -/// -/// Ok(()) -/// } -/// ``` - Future takeError()=>RustLib.instance.api.tokioNetUdpSocketTakeError(that: this, ); - - -/// Gets the value of the `IPV6_TCLASS` option for this socket. -/// -/// For more information about this option, see [`set_tclass_v6`]. -/// -/// [`set_tclass_v6`]: Self::set_tclass_v6 - Future tclassV6()=>RustLib.instance.api.tokioNetUdpSocketTclassV6(that: this, ); - - -/// Deprecated. Use [`tos_v4()`] instead. -/// -/// [`tos_v4()`]: Self::tos_v4 - Future tos()=>RustLib.instance.api.tokioNetUdpSocketTos(that: this, ); - - -/// Gets the value of the `IP_TOS` option for this socket. -/// -/// For more information about this option, see [`set_tos_v4`]. -/// -/// [`set_tos_v4`]: Self::set_tos_v4 - Future tosV4()=>RustLib.instance.api.tokioNetUdpSocketTosV4(that: this, ); - - -/// Tries to receive data on the connected address without removing it from the input queue. -/// On success, returns the number of bytes read. -/// -/// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is -/// returned. This function is usually paired with `readable()`. -/// -/// # Notes -/// -/// On Windows, if the data is larger than the buffer specified, the buffer -/// is filled with the first part of the data, and peek returns the error -/// `WSAEMSGSIZE(10040)`. The excess data is lost. -/// Make sure to always use a sufficiently large buffer to hold the -/// maximum UDP packet size, which can be up to 65536 bytes in size. -/// -/// MacOS will return an error if you pass a zero-sized buffer. -/// -/// If you're merely interested in learning the sender of the data at the head of the queue, -/// try [`try_peek_sender`]. -/// -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// [`try_peek_sender`]: method@Self::try_peek_sender -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future tryPeek({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketTryPeek(that: this, buf: buf); - - -/// Tries to receive data on the socket without removing it from the input queue. -/// On success, returns the number of bytes read and the sending address of the -/// datagram. -/// -/// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is -/// returned. This function is usually paired with `readable()`. -/// -/// # Notes -/// -/// On Windows, if the data is larger than the buffer specified, the buffer -/// is filled with the first part of the data, and peek returns the error -/// `WSAEMSGSIZE(10040)`. The excess data is lost. -/// Make sure to always use a sufficiently large buffer to hold the -/// maximum UDP packet size, which can be up to 65536 bytes in size. -/// -/// MacOS will return an error if you pass a zero-sized buffer. -/// -/// If you're merely interested in learning the sender of the data at the head of the queue, -/// try [`try_peek_sender`]. -/// -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// [`try_peek_sender`]: method@Self::try_peek_sender -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future<(BigInt,SocketAddr)> tryPeekFrom({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketTryPeekFrom(that: this, buf: buf); - - -/// Try to retrieve the sender of the data at the head of the input queue. -/// -/// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is -/// returned. This function is usually paired with `readable()`. -/// -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future tryPeekSender()=>RustLib.instance.api.tokioNetUdpSocketTryPeekSender(that: this, ); - - -/// Tries to receive a single datagram message on the socket from the remote -/// address to which it is connected. On success, returns the number of -/// bytes read. -/// -/// This method must be called with valid byte array `buf` of sufficient size -/// to hold the message bytes. If a message is too long to fit in the -/// supplied buffer, excess bytes may be discarded. -/// -/// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is -/// returned. This function is usually paired with `readable()`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Connect to a peer -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// socket.connect("127.0.0.1:8081").await?; -/// -/// loop { -/// // Wait for the socket to be readable -/// socket.readable().await?; -/// -/// // The buffer is **not** included in the async task and will -/// // only exist on the stack. -/// let mut buf = [0; 1024]; -/// -/// // Try to recv data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match socket.try_recv(&mut buf) { -/// Ok(n) => { -/// println!("GOT {:?}", &buf[..n]); -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryRecv({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketTryRecv(that: this, buf: buf); - - -/// Tries to receive a single datagram message on the socket. On success, -/// returns the number of bytes read and the origin. -/// -/// This method must be called with valid byte array `buf` of sufficient size -/// to hold the message bytes. If a message is too long to fit in the -/// supplied buffer, excess bytes may be discarded. -/// -/// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is -/// returned. This function is usually paired with `readable()`. -/// -/// # Notes -/// -/// Note that the socket address **cannot** be implicitly trusted, because it is relatively -/// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. -/// Because UDP is stateless and does not validate the origin of a packet, -/// the attacker does not need to be able to intercept traffic in order to interfere. -/// It is important to be aware of this when designing your application-level protocol. -/// -/// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Connect to a peer -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// -/// loop { -/// // Wait for the socket to be readable -/// socket.readable().await?; -/// -/// // The buffer is **not** included in the async task and will -/// // only exist on the stack. -/// let mut buf = [0; 1024]; -/// -/// // Try to recv data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match socket.try_recv_from(&mut buf) { -/// Ok((n, _addr)) => { -/// println!("GOT {:?}", &buf[..n]); -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future<(BigInt,SocketAddr)> tryRecvFrom({required U8 buf })=>RustLib.instance.api.tokioNetUdpSocketTryRecvFrom(that: this, buf: buf); - - -/// Tries to send data on the socket to the remote address to which it is -/// connected. -/// -/// When the socket buffer is full, `Err(io::ErrorKind::WouldBlock)` is -/// returned. This function is usually paired with `writable()`. -/// -/// # Returns -/// -/// If successful, `Ok(n)` is returned, where `n` is the number of bytes -/// sent. If the socket is not ready to send data, -/// `Err(ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Bind a UDP socket -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// -/// // Connect to a peer -/// socket.connect("127.0.0.1:8081").await?; -/// -/// loop { -/// // Wait for the socket to be writable -/// socket.writable().await?; -/// -/// // Try to send data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match socket.try_send(b"hello world") { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future trySend({required List buf })=>RustLib.instance.api.tokioNetUdpSocketTrySend(that: this, buf: buf); - - -/// Tries to send data on the socket to the given address, but if the send is -/// blocked this will return right away. -/// -/// This function is usually paired with `writable()`. -/// -/// # Returns -/// -/// If successful, returns the number of bytes sent -/// -/// Users should ensure that when the remote cannot receive, the -/// [`ErrorKind::WouldBlock`] is properly handled. An error can also occur -/// if the IP version of the socket does not match that of `target`. -/// -/// [`ErrorKind::WouldBlock`]: std::io::ErrorKind::WouldBlock -/// -/// # Example -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// -/// let dst = "127.0.0.1:8081".parse()?; -/// -/// loop { -/// socket.writable().await?; -/// -/// match socket.try_send_to(&b"hello world"[..], dst) { -/// Ok(sent) => { -/// println!("sent {} bytes", sent); -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// // Writable false positive. -/// continue; -/// } -/// Err(e) => return Err(e.into()), -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future trySendTo({required List buf , required SocketAddr target })=>RustLib.instance.api.tokioNetUdpSocketTrySendTo(that: this, buf: buf, target: target); - - -/// Gets the value of the `IP_TTL` option for this socket. -/// -/// For more information about this option, see [`set_ttl`]. -/// -/// [`set_ttl`]: method@Self::set_ttl -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// # use std::io; -/// -/// # async fn dox() -> io::Result<()> { -/// let sock = UdpSocket::bind("127.0.0.1:8080").await?; -/// -/// println!("{:?}", sock.ttl()?); -/// # Ok(()) -/// # } -/// ``` - Future ttl()=>RustLib.instance.api.tokioNetUdpSocketTtl(that: this, ); - - -/// Waits for the socket to become writable. -/// -/// This function is equivalent to `ready(Interest::WRITABLE)` and is -/// usually paired with `try_send()` or `try_send_to()`. -/// -/// The function may complete without the socket being writable. This is a -/// false-positive and attempting a `try_send()` will return with -/// `io::ErrorKind::WouldBlock`. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to write that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UdpSocket; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Bind socket -/// let socket = UdpSocket::bind("127.0.0.1:8080").await?; -/// socket.connect("127.0.0.1:8081").await?; -/// -/// loop { -/// // Wait for the socket to be writable -/// socket.writable().await?; -/// -/// // Try to send data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match socket.try_send(b"hello world") { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future writable()=>RustLib.instance.api.tokioNetUdpSocketWritable(that: this, ); - - - } - @sealed class UidTImpl extends RustOpaque implements UidT { - // Not to be used by end users - UidTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - UidTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UidT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UidT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UidTPtr, - ); - - - } - @sealed class UnixDatagramImpl extends RustOpaque implements UnixDatagram { - // Not to be used by end users - UnixDatagramImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - UnixDatagramImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UnixDatagram, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UnixDatagram, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UnixDatagramPtr, - ); - - /// Turns a [`tokio::net::UnixDatagram`] into a [`std::os::unix::net::UnixDatagram`]. -/// -/// The returned [`std::os::unix::net::UnixDatagram`] will have nonblocking -/// mode set as `true`. Use [`set_nonblocking`] to change the blocking mode -/// if needed. -/// -/// # Examples -/// -/// ```rust,no_run -/// # use std::error::Error; -/// # async fn dox() -> Result<(), Box> { -/// let tokio_socket = tokio::net::UnixDatagram::bind("/path/to/the/socket")?; -/// let std_socket = tokio_socket.into_std()?; -/// std_socket.set_nonblocking(false)?; -/// # Ok(()) -/// # } -/// ``` -/// -/// [`tokio::net::UnixDatagram`]: UnixDatagram -/// [`std::os::unix::net::UnixDatagram`]: std::os::unix::net::UnixDatagram -/// [`set_nonblocking`]: fn@std::os::unix::net::UnixDatagram::set_nonblocking - Future intoStd()=>RustLib.instance.api.tokioNetUnixDatagramIntoStd(that: this, ); - - -/// Returns the local address that this socket is bound to. -/// -/// # Examples -/// For a socket bound to a local path -/// ``` -/// # use std::error::Error; -/// # #[tokio::main] -/// # async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. -/// use tokio::net::UnixDatagram; -/// use tempfile::tempdir; -/// -/// // We use a temporary directory so that the socket -/// // files left by the bound sockets will get cleaned up. -/// let tmp = tempdir()?; -/// -/// // Bind socket to a filesystem path -/// let socket_path = tmp.path().join("socket"); -/// let socket = UnixDatagram::bind(&socket_path)?; -/// -/// assert_eq!(socket.local_addr()?.as_pathname().unwrap(), &socket_path); -/// -/// # Ok(()) -/// # } -/// ``` -/// -/// For an unbound socket -/// ``` -/// # use std::error::Error; -/// # #[tokio::main] -/// # async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. -/// use tokio::net::UnixDatagram; -/// -/// // Create an unbound socket -/// let socket = UnixDatagram::unbound()?; -/// -/// assert!(socket.local_addr()?.is_unnamed()); -/// -/// # Ok(()) -/// # } -/// ``` - Future localAddr()=>RustLib.instance.api.tokioNetUnixDatagramLocalAddr(that: this, ); - - -/// Returns the address of this socket's peer. -/// -/// The `connect` method will connect the socket to a peer. -/// -/// # Examples -/// For a peer with a local path -/// ``` -/// # use std::error::Error; -/// # #[tokio::main] -/// # async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. -/// use tokio::net::UnixDatagram; -/// use tempfile::tempdir; -/// -/// // Create an unbound socket -/// let tx = UnixDatagram::unbound()?; -/// -/// // Create another, bound socket -/// let tmp = tempdir()?; -/// let rx_path = tmp.path().join("rx"); -/// let rx = UnixDatagram::bind(&rx_path)?; -/// -/// // Connect to the bound socket -/// tx.connect(&rx_path)?; -/// -/// assert_eq!(tx.peer_addr()?.as_pathname().unwrap(), &rx_path); -/// -/// # Ok(()) -/// # } -/// ``` -/// -/// For an unbound peer -/// ``` -/// # use std::error::Error; -/// # #[tokio::main] -/// # async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. -/// use tokio::net::UnixDatagram; -/// -/// // Create the pair of sockets -/// let (sock1, sock2) = UnixDatagram::pair()?; -/// -/// assert!(sock1.peer_addr()?.is_unnamed()); -/// -/// # Ok(()) -/// # } -/// ``` - Future peerAddr()=>RustLib.instance.api.tokioNetUnixDatagramPeerAddr(that: this, ); - - -/// Attempts to receive a single datagram message on the socket from the remote -/// address to which it is `connect`ed. -/// -/// The [`connect`] method will connect this socket to a remote address. This method -/// resolves to an error if the socket is not connected. -/// -/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the -/// `Waker` from the `Context` passed to the most recent call will be scheduled to -/// receive a wakeup. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not ready to read -/// * `Poll::Ready(Ok(()))` reads data `ReadBuf` if the socket is ready -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`connect`]: method@Self::connect - Future pollRecv({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUnixDatagramPollRecv(that: this, cx: cx, buf: buf); - - -/// Attempts to receive a single datagram on the specified address. -/// -/// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the -/// `Waker` from the `Context` passed to the most recent call will be scheduled to -/// receive a wakeup. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not ready to read -/// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. - Future pollRecvFrom({required Context cx , required ReadBuf buf })=>RustLib.instance.api.tokioNetUnixDatagramPollRecvFrom(that: this, cx: cx, buf: buf); - - -/// Polls for read/receive readiness. -/// -/// If the socket is not currently ready for receiving, this method will -/// store a clone of the `Waker` from the provided `Context`. When the -/// socket becomes ready for reading, `Waker::wake` will be called on the -/// waker. -/// -/// Note that on multiple calls to `poll_recv_ready`, `poll_recv` or -/// `poll_peek`, only the `Waker` from the `Context` passed to the most -/// recent call is scheduled to receive a wakeup. (However, -/// `poll_send_ready` retains a second, independent waker.) -/// -/// This function is intended for cases where creating and pinning a future -/// via [`readable`] is not feasible. Where possible, using [`readable`] is -/// preferred, as this supports polling from multiple tasks at once. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not ready for reading. -/// * `Poll::Ready(Ok(()))` if the socket is ready for reading. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`readable`]: method@Self::readable - Future pollRecvReady({required Context cx })=>RustLib.instance.api.tokioNetUnixDatagramPollRecvReady(that: this, cx: cx); - - -/// Attempts to send data on the socket to the remote address to which it -/// was previously `connect`ed. -/// -/// The [`connect`] method will connect this socket to a remote address. -/// This method will fail if the socket is not connected. -/// -/// Note that on multiple calls to a `poll_*` method in the send direction, -/// only the `Waker` from the `Context` passed to the most recent call will -/// be scheduled to receive a wakeup. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not available to write -/// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`connect`]: method@Self::connect - Future pollSend({required Context cx , required List buf })=>RustLib.instance.api.tokioNetUnixDatagramPollSend(that: this, cx: cx, buf: buf); - - -/// Polls for write/send readiness. -/// -/// If the socket is not currently ready for sending, this method will -/// store a clone of the `Waker` from the provided `Context`. When the socket -/// becomes ready for sending, `Waker::wake` will be called on the -/// waker. -/// -/// Note that on multiple calls to `poll_send_ready` or `poll_send`, only -/// the `Waker` from the `Context` passed to the most recent call is -/// scheduled to receive a wakeup. (However, `poll_recv_ready` retains a -/// second, independent waker.) -/// -/// This function is intended for cases where creating and pinning a future -/// via [`writable`] is not feasible. Where possible, using [`writable`] is -/// preferred, as this supports polling from multiple tasks at once. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the socket is not ready for writing. -/// * `Poll::Ready(Ok(()))` if the socket is ready for writing. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`writable`]: method@Self::writable - Future pollSendReady({required Context cx })=>RustLib.instance.api.tokioNetUnixDatagramPollSendReady(that: this, cx: cx); - - -/// Waits for the socket to become readable. -/// -/// This function is equivalent to `ready(Interest::READABLE)` and is usually -/// paired with `try_recv()`. -/// -/// The function may complete without the socket being readable. This is a -/// false-positive and attempting a `try_recv()` will return with -/// `io::ErrorKind::WouldBlock`. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixDatagram; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Connect to a peer -/// let dir = tempfile::tempdir().unwrap(); -/// let client_path = dir.path().join("client.sock"); -/// let server_path = dir.path().join("server.sock"); -/// let socket = UnixDatagram::bind(&client_path)?; -/// socket.connect(&server_path)?; -/// -/// loop { -/// // Wait for the socket to be readable -/// socket.readable().await?; -/// -/// // The buffer is **not** included in the async task and will -/// // only exist on the stack. -/// let mut buf = [0; 1024]; -/// -/// // Try to recv data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match socket.try_recv(&mut buf) { -/// Ok(n) => { -/// println!("GOT {:?}", &buf[..n]); -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future readable()=>RustLib.instance.api.tokioNetUnixDatagramReadable(that: this, ); - - -/// Waits for any of the requested ready states. -/// -/// This function is usually paired with `try_recv()` or `try_send()`. It -/// can be used to concurrently `recv` / `send` to the same socket on a single -/// task without splitting the socket. -/// -/// The function may complete without the socket being ready. This is a -/// false-positive and attempting an operation will return with -/// `io::ErrorKind::WouldBlock`. The function can also return with an empty -/// [`Ready`] set, so you should always check the returned value and possibly -/// wait again if the requested states are not set. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read or write that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// Concurrently receive from and send to the socket on the same task -/// without splitting. -/// -/// ```no_run -/// use tokio::io::Interest; -/// use tokio::net::UnixDatagram; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let dir = tempfile::tempdir().unwrap(); -/// let client_path = dir.path().join("client.sock"); -/// let server_path = dir.path().join("server.sock"); -/// let socket = UnixDatagram::bind(&client_path)?; -/// socket.connect(&server_path)?; -/// -/// loop { -/// let ready = socket.ready(Interest::READABLE | Interest::WRITABLE).await?; -/// -/// if ready.is_readable() { -/// let mut data = [0; 1024]; -/// match socket.try_recv(&mut data[..]) { -/// Ok(n) => { -/// println!("received {:?}", &data[..n]); -/// } -/// // False-positive, continue -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// if ready.is_writable() { -/// // Write some data -/// match socket.try_send(b"hello world") { -/// Ok(n) => { -/// println!("sent {} bytes", n); -/// } -/// // False-positive, continue -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// } -/// } -/// ``` - Future ready({required Interest interest })=>RustLib.instance.api.tokioNetUnixDatagramReady(that: this, interest: interest); - - -/// Receives data from the socket. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If `recv` is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, it is guaranteed that no messages were received on this -/// socket. -/// -/// # Examples -/// ``` -/// # use std::error::Error; -/// # #[tokio::main] -/// # async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. -/// use tokio::net::UnixDatagram; -/// -/// // Create the pair of sockets -/// let (sock1, sock2) = UnixDatagram::pair()?; -/// -/// // Since the sockets are paired, the paired send/recv -/// // functions can be used -/// let bytes = b"hello world"; -/// sock1.send(bytes).await?; -/// -/// let mut buff = vec![0u8; 24]; -/// let size = sock2.recv(&mut buff).await?; -/// -/// let dgram = &buff[..size]; -/// assert_eq!(dgram, bytes); -/// -/// # Ok(()) -/// # } -/// ``` - Future recv({required U8 buf })=>RustLib.instance.api.tokioNetUnixDatagramRecv(that: this, buf: buf); - - -/// Receives data from the socket. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If `recv_from` is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, it is guaranteed that no messages were received on this -/// socket. -/// -/// # Examples -/// ``` -/// # use std::error::Error; -/// # #[tokio::main] -/// # async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. -/// use tokio::net::UnixDatagram; -/// use tempfile::tempdir; -/// -/// // We use a temporary directory so that the socket -/// // files left by the bound sockets will get cleaned up. -/// let tmp = tempdir()?; -/// -/// // Bind each socket to a filesystem path -/// let tx_path = tmp.path().join("tx"); -/// let tx = UnixDatagram::bind(&tx_path)?; -/// let rx_path = tmp.path().join("rx"); -/// let rx = UnixDatagram::bind(&rx_path)?; -/// -/// let bytes = b"hello world"; -/// tx.send_to(bytes, &rx_path).await?; -/// -/// let mut buf = vec![0u8; 24]; -/// let (size, addr) = rx.recv_from(&mut buf).await?; -/// -/// let dgram = &buf[..size]; -/// assert_eq!(dgram, bytes); -/// assert_eq!(addr.as_pathname().unwrap(), &tx_path); -/// -/// # Ok(()) -/// # } -/// ``` - Future<(BigInt,SocketAddr)> recvFrom({required U8 buf })=>RustLib.instance.api.tokioNetUnixDatagramRecvFrom(that: this, buf: buf); - - -/// Sends data on the socket to the socket's peer. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If `send` is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, then it is guaranteed that the message was not sent. -/// -/// # Examples -/// ``` -/// # use std::error::Error; -/// # #[tokio::main] -/// # async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. -/// use tokio::net::UnixDatagram; -/// -/// // Create the pair of sockets -/// let (sock1, sock2) = UnixDatagram::pair()?; -/// -/// // Since the sockets are paired, the paired send/recv -/// // functions can be used -/// let bytes = b"hello world"; -/// sock1.send(bytes).await?; -/// -/// let mut buff = vec![0u8; 24]; -/// let size = sock2.recv(&mut buff).await?; -/// -/// let dgram = &buff[..size]; -/// assert_eq!(dgram, bytes); -/// -/// # Ok(()) -/// # } -/// ``` - Future send({required List buf })=>RustLib.instance.api.tokioNetUnixDatagramSend(that: this, buf: buf); - - -/// Shuts down the read, write, or both halves of this connection. -/// -/// This function will cause all pending and future I/O calls on the -/// specified portions to immediately return with an appropriate value -/// (see the documentation of `Shutdown`). -/// -/// # Examples -/// ``` -/// # use std::error::Error; -/// # #[tokio::main] -/// # async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. -/// use tokio::net::UnixDatagram; -/// use std::net::Shutdown; -/// -/// // Create an unbound socket -/// let (socket, other) = UnixDatagram::pair()?; -/// -/// socket.shutdown(Shutdown::Both)?; -/// -/// // NOTE: the following commented out code does NOT work as expected. -/// // Due to an underlying issue, the recv call will block indefinitely. -/// // See: https://github.com/tokio-rs/tokio/issues/1679 -/// //let mut buff = vec![0u8; 24]; -/// //let size = socket.recv(&mut buff).await?; -/// //assert_eq!(size, 0); -/// -/// let send_result = socket.send(b"hello world").await; -/// assert!(send_result.is_err()); -/// -/// # Ok(()) -/// # } -/// ``` - Future shutdown({required Shutdown how })=>RustLib.instance.api.tokioNetUnixDatagramShutdown(that: this, how: how); - - -/// Returns the value of the `SO_ERROR` option. -/// -/// # Examples -/// ``` -/// # use std::error::Error; -/// # #[tokio::main] -/// # async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. -/// use tokio::net::UnixDatagram; -/// -/// // Create an unbound socket -/// let socket = UnixDatagram::unbound()?; -/// -/// if let Ok(Some(err)) = socket.take_error() { -/// println!("Got error: {:?}", err); -/// } -/// -/// # Ok(()) -/// # } -/// ``` - Future takeError()=>RustLib.instance.api.tokioNetUnixDatagramTakeError(that: this, ); - - -/// Tries to receive a datagram from the peer without waiting. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixDatagram; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Connect to a peer -/// let dir = tempfile::tempdir().unwrap(); -/// let client_path = dir.path().join("client.sock"); -/// let server_path = dir.path().join("server.sock"); -/// let socket = UnixDatagram::bind(&client_path)?; -/// socket.connect(&server_path)?; -/// -/// loop { -/// // Wait for the socket to be readable -/// socket.readable().await?; -/// -/// // The buffer is **not** included in the async task and will -/// // only exist on the stack. -/// let mut buf = [0; 1024]; -/// -/// // Try to recv data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match socket.try_recv(&mut buf) { -/// Ok(n) => { -/// println!("GOT {:?}", &buf[..n]); -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryRecv({required U8 buf })=>RustLib.instance.api.tokioNetUnixDatagramTryRecv(that: this, buf: buf); - - -/// Tries to receive data from the socket without waiting. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixDatagram; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// // Connect to a peer -/// let dir = tempfile::tempdir().unwrap(); -/// let client_path = dir.path().join("client.sock"); -/// let server_path = dir.path().join("server.sock"); -/// let socket = UnixDatagram::bind(&client_path)?; -/// -/// loop { -/// // Wait for the socket to be readable -/// socket.readable().await?; -/// -/// // The buffer is **not** included in the async task and will -/// // only exist on the stack. -/// let mut buf = [0; 1024]; -/// -/// // Try to recv data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match socket.try_recv_from(&mut buf) { -/// Ok((n, _addr)) => { -/// println!("GOT {:?}", &buf[..n]); -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future<(BigInt,SocketAddr)> tryRecvFrom({required U8 buf })=>RustLib.instance.api.tokioNetUnixDatagramTryRecvFrom(that: this, buf: buf); - - -/// Tries to send a datagram to the peer without waiting. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixDatagram; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let dir = tempfile::tempdir().unwrap(); -/// let client_path = dir.path().join("client.sock"); -/// let server_path = dir.path().join("server.sock"); -/// let socket = UnixDatagram::bind(&client_path)?; -/// socket.connect(&server_path)?; -/// -/// loop { -/// // Wait for the socket to be writable -/// socket.writable().await?; -/// -/// // Try to send data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match socket.try_send(b"hello world") { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future trySend({required List buf })=>RustLib.instance.api.tokioNetUnixDatagramTrySend(that: this, buf: buf); - - -/// Waits for the socket to become writable. -/// -/// This function is equivalent to `ready(Interest::WRITABLE)` and is -/// usually paired with `try_send()` or `try_send_to()`. -/// -/// The function may complete without the socket being writable. This is a -/// false-positive and attempting a `try_send()` will return with -/// `io::ErrorKind::WouldBlock`. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to write that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixDatagram; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let dir = tempfile::tempdir().unwrap(); -/// let client_path = dir.path().join("client.sock"); -/// let server_path = dir.path().join("server.sock"); -/// let socket = UnixDatagram::bind(&client_path)?; -/// socket.connect(&server_path)?; -/// -/// loop { -/// // Wait for the socket to be writable -/// socket.writable().await?; -/// -/// // Try to send data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match socket.try_send(b"hello world") { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future writable()=>RustLib.instance.api.tokioNetUnixDatagramWritable(that: this, ); - - - } - @sealed class UnixListenerImpl extends RustOpaque implements UnixListener { - // Not to be used by end users - UnixListenerImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - UnixListenerImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UnixListener, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UnixListener, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UnixListenerPtr, - ); - - /// Accepts a new incoming connection to this listener. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If the method is used as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, then it is guaranteed that no new connections were -/// accepted by this method. - Future<(UnixStream,SocketAddr)> accept()=>RustLib.instance.api.tokioNetUnixListenerAccept(that: this, ); - - -/// Turns a [`tokio::net::UnixListener`] into a [`std::os::unix::net::UnixListener`]. -/// -/// The returned [`std::os::unix::net::UnixListener`] will have nonblocking mode -/// set as `true`. Use [`set_nonblocking`] to change the blocking mode if needed. -/// -/// # Examples -/// -/// ```rust,no_run -/// # use std::error::Error; -/// # async fn dox() -> Result<(), Box> { -/// let tokio_listener = tokio::net::UnixListener::bind("/path/to/the/socket")?; -/// let std_listener = tokio_listener.into_std()?; -/// std_listener.set_nonblocking(false)?; -/// # Ok(()) -/// # } -/// ``` -/// -/// [`tokio::net::UnixListener`]: UnixListener -/// [`std::os::unix::net::UnixListener`]: std::os::unix::net::UnixListener -/// [`set_nonblocking`]: fn@std::os::unix::net::UnixListener::set_nonblocking - Future intoStd()=>RustLib.instance.api.tokioNetUnixListenerIntoStd(that: this, ); - - -/// Returns the local socket address of this listener. - Future localAddr()=>RustLib.instance.api.tokioNetUnixListenerLocalAddr(that: this, ); - - -/// Polls to accept a new incoming connection to this listener. -/// -/// If there is no connection to accept, `Poll::Pending` is returned and the -/// current task will be notified by a waker. Note that on multiple calls -/// to `poll_accept`, only the `Waker` from the `Context` passed to the most -/// recent call is scheduled to receive a wakeup. - Future pollAccept({required Context cx })=>RustLib.instance.api.tokioNetUnixListenerPollAccept(that: this, cx: cx); - - -/// Returns the value of the `SO_ERROR` option. - Future takeError()=>RustLib.instance.api.tokioNetUnixListenerTakeError(that: this, ); - - - } - @sealed class UnixSocketImpl extends RustOpaque implements UnixSocket { - // Not to be used by end users - UnixSocketImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - UnixSocketImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UnixSocket, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UnixSocket, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UnixSocketPtr, - ); - - /// Converts the socket into a [`UnixDatagram`]. -/// -/// Calling this function on a socket created by [`new_stream`] will return an error. -/// -/// [`new_stream`]: `UnixSocket::new_stream` - Future datagram()=>RustLib.instance.api.tokioNetUnixSocketDatagram(that: this, ); - - -/// Converts the socket into a `UnixListener`. -/// -/// `backlog` defines the maximum number of pending connections are queued -/// by the operating system at any given time. Connection are removed from -/// the queue with [`UnixListener::accept`]. When the queue is full, the -/// operating-system will start rejecting connections. -/// -/// Calling this function on a socket created by [`new_datagram`] will return an error. -/// -/// This calls the `listen(2)` operating-system function, marking the socket -/// as a passive socket. -/// -/// [`new_datagram`]: `UnixSocket::new_datagram` - Future listen({required int backlog })=>RustLib.instance.api.tokioNetUnixSocketListen(that: this, backlog: backlog); - - - } - @sealed class UnixStreamImpl extends RustOpaque implements UnixStream { - // Not to be used by end users - UnixStreamImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - UnixStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_UnixStream, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_UnixStream, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_UnixStreamPtr, - ); - - /// Splits a `UnixStream` into a read half and a write half, which can be used -/// to read and write the stream concurrently. -/// -/// Unlike [`split`], the owned halves can be moved to separate tasks, however -/// this comes at the cost of a heap allocation. -/// -/// **Note:** Dropping the write half will only shut down the write half of the -/// stream. This is equivalent to calling [`shutdown()`] on the `UnixStream`. -/// -/// [`split`]: Self::split() -/// [`shutdown()`]: fn@crate::io::AsyncWriteExt::shutdown - Future<(OwnedReadHalf,OwnedWriteHalf)> intoSplit()=>RustLib.instance.api.tokioNetUnixStreamIntoSplit(that: this, ); - - -/// Turns a [`tokio::net::UnixStream`] into a [`std::os::unix::net::UnixStream`]. -/// -/// The returned [`std::os::unix::net::UnixStream`] will have nonblocking -/// mode set as `true`. Use [`set_nonblocking`] to change the blocking -/// mode if needed. -/// -/// # Examples -/// -/// ``` -/// use std::error::Error; -/// use std::io::Read; -/// use tokio::net::UnixListener; -/// # use tokio::net::UnixStream; -/// # use tokio::io::AsyncWriteExt; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. -/// let dir = tempfile::tempdir().unwrap(); -/// let bind_path = dir.path().join("bind_path"); -/// -/// let mut data = [0u8; 12]; -/// let listener = UnixListener::bind(&bind_path)?; -/// # let handle = tokio::spawn(async { -/// # let mut stream = UnixStream::connect(bind_path).await.unwrap(); -/// # stream.write(b"Hello world!").await.unwrap(); -/// # }); -/// let (tokio_unix_stream, _) = listener.accept().await?; -/// let mut std_unix_stream = tokio_unix_stream.into_std()?; -/// # handle.await.expect("The task being joined has panicked"); -/// std_unix_stream.set_nonblocking(false)?; -/// std_unix_stream.read_exact(&mut data)?; -/// # assert_eq!(b"Hello world!", &data); -/// Ok(()) -/// } -/// ``` -/// [`tokio::net::UnixStream`]: UnixStream -/// [`std::os::unix::net::UnixStream`]: std::os::unix::net::UnixStream -/// [`set_nonblocking`]: fn@std::os::unix::net::UnixStream::set_nonblocking - Future intoStd()=>RustLib.instance.api.tokioNetUnixStreamIntoStd(that: this, ); - - -/// Returns the socket address of the local half of this connection. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixStream; -/// -/// # async fn dox() -> Result<(), Box> { -/// let dir = tempfile::tempdir().unwrap(); -/// let bind_path = dir.path().join("bind_path"); -/// let stream = UnixStream::connect(bind_path).await?; -/// -/// println!("{:?}", stream.local_addr()?); -/// # Ok(()) -/// # } -/// ``` - Future localAddr()=>RustLib.instance.api.tokioNetUnixStreamLocalAddr(that: this, ); - - -/// Returns the socket address of the remote half of this connection. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixStream; -/// -/// # async fn dox() -> Result<(), Box> { -/// let dir = tempfile::tempdir().unwrap(); -/// let bind_path = dir.path().join("bind_path"); -/// let stream = UnixStream::connect(bind_path).await?; -/// -/// println!("{:?}", stream.peer_addr()?); -/// # Ok(()) -/// # } -/// ``` - Future peerAddr()=>RustLib.instance.api.tokioNetUnixStreamPeerAddr(that: this, ); - - -/// Returns effective credentials of the process which called `connect` or `pair`. - Future peerCred()=>RustLib.instance.api.tokioNetUnixStreamPeerCred(that: this, ); - - -/// Polls for read readiness. -/// -/// If the unix stream is not currently ready for reading, this method will -/// store a clone of the `Waker` from the provided `Context`. When the unix -/// stream becomes ready for reading, `Waker::wake` will be called on the -/// waker. -/// -/// Note that on multiple calls to `poll_read_ready` or `poll_read`, only -/// the `Waker` from the `Context` passed to the most recent call is -/// scheduled to receive a wakeup. (However, `poll_write_ready` retains a -/// second, independent waker.) -/// -/// This function is intended for cases where creating and pinning a future -/// via [`readable`] is not feasible. Where possible, using [`readable`] is -/// preferred, as this supports polling from multiple tasks at once. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the unix stream is not ready for reading. -/// * `Poll::Ready(Ok(()))` if the unix stream is ready for reading. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`readable`]: method@Self::readable - Future pollReadReady({required Context cx })=>RustLib.instance.api.tokioNetUnixStreamPollReadReady(that: this, cx: cx); - - -/// Polls for write readiness. -/// -/// If the unix stream is not currently ready for writing, this method will -/// store a clone of the `Waker` from the provided `Context`. When the unix -/// stream becomes ready for writing, `Waker::wake` will be called on the -/// waker. -/// -/// Note that on multiple calls to `poll_write_ready` or `poll_write`, only -/// the `Waker` from the `Context` passed to the most recent call is -/// scheduled to receive a wakeup. (However, `poll_read_ready` retains a -/// second, independent waker.) -/// -/// This function is intended for cases where creating and pinning a future -/// via [`writable`] is not feasible. Where possible, using [`writable`] is -/// preferred, as this supports polling from multiple tasks at once. -/// -/// # Return value -/// -/// The function returns: -/// -/// * `Poll::Pending` if the unix stream is not ready for writing. -/// * `Poll::Ready(Ok(()))` if the unix stream is ready for writing. -/// * `Poll::Ready(Err(e))` if an error is encountered. -/// -/// # Errors -/// -/// This function may encounter any standard I/O error except `WouldBlock`. -/// -/// [`writable`]: method@Self::writable - Future pollWriteReady({required Context cx })=>RustLib.instance.api.tokioNetUnixStreamPollWriteReady(that: this, cx: cx); - - -/// Waits for the socket to become readable. -/// -/// This function is equivalent to `ready(Interest::READABLE)` and is usually -/// paired with `try_read()`. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let dir = tempfile::tempdir().unwrap(); -/// let bind_path = dir.path().join("bind_path"); -/// let stream = UnixStream::connect(bind_path).await?; -/// -/// let mut msg = vec![0; 1024]; -/// -/// loop { -/// // Wait for the socket to be readable -/// stream.readable().await?; -/// -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_read(&mut msg) { -/// Ok(n) => { -/// msg.truncate(n); -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// println!("GOT = {:?}", msg); -/// Ok(()) -/// } -/// ``` - Future readable()=>RustLib.instance.api.tokioNetUnixStreamReadable(that: this, ); - - -/// Waits for any of the requested ready states. -/// -/// This function is usually paired with `try_read()` or `try_write()`. It -/// can be used to concurrently read / write to the same socket on a single -/// task without splitting the socket. -/// -/// The function may complete without the socket being ready. This is a -/// false-positive and attempting an operation will return with -/// `io::ErrorKind::WouldBlock`. The function can also return with an empty -/// [`Ready`] set, so you should always check the returned value and possibly -/// wait again if the requested states are not set. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to read or write that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// Concurrently read and write to the stream on the same task without -/// splitting. -/// -/// ```no_run -/// use tokio::io::Interest; -/// use tokio::net::UnixStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// let dir = tempfile::tempdir().unwrap(); -/// let bind_path = dir.path().join("bind_path"); -/// let stream = UnixStream::connect(bind_path).await?; -/// -/// loop { -/// let ready = stream.ready(Interest::READABLE | Interest::WRITABLE).await?; -/// -/// if ready.is_readable() { -/// let mut data = vec![0; 1024]; -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_read(&mut data) { -/// Ok(n) => { -/// println!("read {} bytes", n); -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// -/// } -/// -/// if ready.is_writable() { -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_write(b"hello world") { -/// Ok(n) => { -/// println!("write {} bytes", n); -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// } -/// } -/// ``` - Future ready({required Interest interest })=>RustLib.instance.api.tokioNetUnixStreamReady(that: this, interest: interest); - - -/// Returns the value of the `SO_ERROR` option. - Future takeError()=>RustLib.instance.api.tokioNetUnixStreamTakeError(that: this, ); - - -/// Try to read data from the stream into the provided buffer, returning how -/// many bytes were read. -/// -/// Receives any pending data from the socket but does not wait for new data -/// to arrive. On success, returns the number of bytes read. Because -/// `try_read()` is non-blocking, the buffer does not have to be stored by -/// the async task and can exist entirely on the stack. -/// -/// Usually, [`readable()`] or [`ready()`] is used with this function. -/// -/// [`readable()`]: UnixStream::readable() -/// [`ready()`]: UnixStream::ready() -/// -/// # Return -/// -/// If data is successfully read, `Ok(n)` is returned, where `n` is the -/// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: -/// -/// 1. The stream's read half is closed and will no longer yield data. -/// 2. The specified buffer was 0 bytes in length. -/// -/// If the stream is not ready to read data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let dir = tempfile::tempdir().unwrap(); -/// let bind_path = dir.path().join("bind_path"); -/// let stream = UnixStream::connect(bind_path).await?; -/// -/// loop { -/// // Wait for the socket to be readable -/// stream.readable().await?; -/// -/// // Creating the buffer **after** the `await` prevents it from -/// // being stored in the async task. -/// let mut buf = [0; 4096]; -/// -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_read(&mut buf) { -/// Ok(0) => break, -/// Ok(n) => { -/// println!("read {} bytes", n); -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryRead({required U8 buf })=>RustLib.instance.api.tokioNetUnixStreamTryRead(that: this, buf: buf); - - -/// Tries to read data from the stream into the provided buffers, returning -/// how many bytes were read. -/// -/// Data is copied to fill each buffer in order, with the final buffer -/// written to possibly being only partially filled. This method behaves -/// equivalently to a single call to [`try_read()`] with concatenated -/// buffers. -/// -/// Receives any pending data from the socket but does not wait for new data -/// to arrive. On success, returns the number of bytes read. Because -/// `try_read_vectored()` is non-blocking, the buffer does not have to be -/// stored by the async task and can exist entirely on the stack. -/// -/// Usually, [`readable()`] or [`ready()`] is used with this function. -/// -/// [`try_read()`]: UnixStream::try_read() -/// [`readable()`]: UnixStream::readable() -/// [`ready()`]: UnixStream::ready() -/// -/// # Return -/// -/// If data is successfully read, `Ok(n)` is returned, where `n` is the -/// number of bytes read. `Ok(0)` indicates the stream's read half is closed -/// and will no longer yield data. If the stream is not ready to read data -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixStream; -/// use std::error::Error; -/// use std::io::{self, IoSliceMut}; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let dir = tempfile::tempdir().unwrap(); -/// let bind_path = dir.path().join("bind_path"); -/// let stream = UnixStream::connect(bind_path).await?; -/// -/// loop { -/// // Wait for the socket to be readable -/// stream.readable().await?; -/// -/// // Creating the buffer **after** the `await` prevents it from -/// // being stored in the async task. -/// let mut buf_a = [0; 512]; -/// let mut buf_b = [0; 1024]; -/// let mut bufs = [ -/// IoSliceMut::new(&mut buf_a), -/// IoSliceMut::new(&mut buf_b), -/// ]; -/// -/// // Try to read data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_read_vectored(&mut bufs) { -/// Ok(0) => break, -/// Ok(n) => { -/// println!("read {} bytes", n); -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryReadVectored({required IoSliceMut bufs })=>RustLib.instance.api.tokioNetUnixStreamTryReadVectored(that: this, bufs: bufs); - - -/// Tries to write a buffer to the stream, returning how many bytes were -/// written. -/// -/// The function will attempt to write the entire contents of `buf`, but -/// only part of the buffer may be written. -/// -/// This function is usually paired with `writable()`. -/// -/// # Return -/// -/// If data is successfully written, `Ok(n)` is returned, where `n` is the -/// number of bytes written. If the stream is not ready to write data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let dir = tempfile::tempdir().unwrap(); -/// let bind_path = dir.path().join("bind_path"); -/// let stream = UnixStream::connect(bind_path).await?; -/// -/// loop { -/// // Wait for the socket to be writable -/// stream.writable().await?; -/// -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_write(b"hello world") { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryWrite({required List buf })=>RustLib.instance.api.tokioNetUnixStreamTryWrite(that: this, buf: buf); - - -/// Tries to write several buffers to the stream, returning how many bytes -/// were written. -/// -/// Data is written from each buffer in order, with the final buffer read -/// from possible being only partially consumed. This method behaves -/// equivalently to a single call to [`try_write()`] with concatenated -/// buffers. -/// -/// This function is usually paired with `writable()`. -/// -/// [`try_write()`]: UnixStream::try_write() -/// -/// # Return -/// -/// If data is successfully written, `Ok(n)` is returned, where `n` is the -/// number of bytes written. If the stream is not ready to write data, -/// `Err(io::ErrorKind::WouldBlock)` is returned. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let dir = tempfile::tempdir().unwrap(); -/// let bind_path = dir.path().join("bind_path"); -/// let stream = UnixStream::connect(bind_path).await?; -/// -/// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; -/// -/// loop { -/// // Wait for the socket to be writable -/// stream.writable().await?; -/// -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_write_vectored(&bufs) { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future tryWriteVectored({required List buf })=>RustLib.instance.api.tokioNetUnixStreamTryWriteVectored(that: this, buf: buf); - - -/// Waits for the socket to become writable. -/// -/// This function is equivalent to `ready(Interest::WRITABLE)` and is usually -/// paired with `try_write()`. -/// -/// # Cancel safety -/// -/// This method is cancel safe. Once a readiness event occurs, the method -/// will continue to return immediately until the readiness event is -/// consumed by an attempt to write that fails with `WouldBlock` or -/// `Poll::Pending`. -/// -/// # Examples -/// -/// ```no_run -/// use tokio::net::UnixStream; -/// use std::error::Error; -/// use std::io; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // Connect to a peer -/// let dir = tempfile::tempdir().unwrap(); -/// let bind_path = dir.path().join("bind_path"); -/// let stream = UnixStream::connect(bind_path).await?; -/// -/// loop { -/// // Wait for the socket to be writable -/// stream.writable().await?; -/// -/// // Try to write data, this may still fail with `WouldBlock` -/// // if the readiness event is a false positive. -/// match stream.try_write(b"hello world") { -/// Ok(n) => { -/// break; -/// } -/// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { -/// continue; -/// } -/// Err(e) => { -/// return Err(e.into()); -/// } -/// } -/// } -/// -/// Ok(()) -/// } -/// ``` - Future writable()=>RustLib.instance.api.tokioNetUnixStreamWritable(that: this, ); - - - } - @sealed class ValueImpl extends RustOpaque implements Value { - // Not to be used by end users - ValueImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ValueImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_Value, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_Value, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ValuePtr, - ); - - - } - @sealed class ValueTypeImpl extends RustOpaque implements ValueType { - // Not to be used by end users - ValueTypeImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - ValueTypeImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_ValueType, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_ValueType, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_ValueTypePtr, - ); - - - } - @sealed class VecTImpl extends RustOpaque implements VecT { - // Not to be used by end users - VecTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - VecTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_VecT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_VecT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_VecTPtr, - ); - - - } - @sealed class WeakSenderTImpl extends RustOpaque implements WeakSenderT { - // Not to be used by end users - WeakSenderTImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WeakSenderTImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WeakSenderT, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WeakSenderT, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WeakSenderTPtr, - ); - - - } - @sealed class WriteF32LeMutSelfImpl extends RustOpaque implements WriteF32LeMutSelf { - // Not to be used by end users - WriteF32LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteF32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteF32LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF32LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF32LeMutSelfPtr, - ); - - - } - @sealed class WriteF32MutSelfImpl extends RustOpaque implements WriteF32MutSelf { - // Not to be used by end users - WriteF32MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteF32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteF32MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF32MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF32MutSelfPtr, - ); - - - } - @sealed class WriteF64LeMutSelfImpl extends RustOpaque implements WriteF64LeMutSelf { - // Not to be used by end users - WriteF64LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteF64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteF64LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF64LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF64LeMutSelfPtr, - ); - - - } - @sealed class WriteF64MutSelfImpl extends RustOpaque implements WriteF64MutSelf { - // Not to be used by end users - WriteF64MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteF64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteF64MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF64MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteF64MutSelfPtr, - ); - - - } - @sealed class WriteHalfSimplexStreamImpl extends RustOpaque implements WriteHalfSimplexStream { - // Not to be used by end users - WriteHalfSimplexStreamImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteHalfSimplexStreamImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteHalfSimplexStream, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteHalfSimplexStream, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteHalfSimplexStreamPtr, - ); - - - } - @sealed class WriteI128LeMutSelfImpl extends RustOpaque implements WriteI128LeMutSelf { - // Not to be used by end users - WriteI128LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteI128LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI128LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI128LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI128LeMutSelfPtr, - ); - - - } - @sealed class WriteI128MutSelfImpl extends RustOpaque implements WriteI128MutSelf { - // Not to be used by end users - WriteI128MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteI128MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI128MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI128MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI128MutSelfPtr, - ); - - - } - @sealed class WriteI16LeMutSelfImpl extends RustOpaque implements WriteI16LeMutSelf { - // Not to be used by end users - WriteI16LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteI16LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI16LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI16LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI16LeMutSelfPtr, - ); - - - } - @sealed class WriteI16MutSelfImpl extends RustOpaque implements WriteI16MutSelf { - // Not to be used by end users - WriteI16MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteI16MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI16MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI16MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI16MutSelfPtr, - ); - - - } - @sealed class WriteI32LeMutSelfImpl extends RustOpaque implements WriteI32LeMutSelf { - // Not to be used by end users - WriteI32LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteI32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI32LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI32LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI32LeMutSelfPtr, - ); - - - } - @sealed class WriteI32MutSelfImpl extends RustOpaque implements WriteI32MutSelf { - // Not to be used by end users - WriteI32MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteI32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI32MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI32MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI32MutSelfPtr, - ); - - - } - @sealed class WriteI64LeMutSelfImpl extends RustOpaque implements WriteI64LeMutSelf { - // Not to be used by end users - WriteI64LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteI64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI64LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI64LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI64LeMutSelfPtr, - ); - - - } - @sealed class WriteI64MutSelfImpl extends RustOpaque implements WriteI64MutSelf { - // Not to be used by end users - WriteI64MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteI64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI64MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI64MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI64MutSelfPtr, - ); - - - } - @sealed class WriteI8MutSelfImpl extends RustOpaque implements WriteI8MutSelf { - // Not to be used by end users - WriteI8MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteI8MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteI8MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI8MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteI8MutSelfPtr, - ); - - - } - @sealed class WriteU128LeMutSelfImpl extends RustOpaque implements WriteU128LeMutSelf { - // Not to be used by end users - WriteU128LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteU128LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU128LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU128LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU128LeMutSelfPtr, - ); - - - } - @sealed class WriteU128MutSelfImpl extends RustOpaque implements WriteU128MutSelf { - // Not to be used by end users - WriteU128MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteU128MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU128MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU128MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU128MutSelfPtr, - ); - - - } - @sealed class WriteU16LeMutSelfImpl extends RustOpaque implements WriteU16LeMutSelf { - // Not to be used by end users - WriteU16LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteU16LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU16LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU16LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU16LeMutSelfPtr, - ); - - - } - @sealed class WriteU16MutSelfImpl extends RustOpaque implements WriteU16MutSelf { - // Not to be used by end users - WriteU16MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteU16MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU16MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU16MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU16MutSelfPtr, - ); - - - } - @sealed class WriteU32LeMutSelfImpl extends RustOpaque implements WriteU32LeMutSelf { - // Not to be used by end users - WriteU32LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteU32LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU32LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU32LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU32LeMutSelfPtr, - ); - - - } - @sealed class WriteU32MutSelfImpl extends RustOpaque implements WriteU32MutSelf { - // Not to be used by end users - WriteU32MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteU32MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU32MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU32MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU32MutSelfPtr, - ); - - - } - @sealed class WriteU64LeMutSelfImpl extends RustOpaque implements WriteU64LeMutSelf { - // Not to be used by end users - WriteU64LeMutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteU64LeMutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU64LeMutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU64LeMutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU64LeMutSelfPtr, - ); - - - } - @sealed class WriteU64MutSelfImpl extends RustOpaque implements WriteU64MutSelf { - // Not to be used by end users - WriteU64MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteU64MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU64MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU64MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU64MutSelfPtr, - ); - - - } - @sealed class WriteU8MutSelfImpl extends RustOpaque implements WriteU8MutSelf { - // Not to be used by end users - WriteU8MutSelfImpl.frbInternalDcoDecode(List wire): - super.frbInternalDcoDecode(wire, _kStaticData); - - // Not to be used by end users - WriteU8MutSelfImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative): - super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: RustLib.instance.api.rust_arc_increment_strong_count_WriteU8MutSelf, - rustArcDecrementStrongCount: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU8MutSelf, - rustArcDecrementStrongCountPtr: RustLib.instance.api.rust_arc_decrement_strong_count_WriteU8MutSelfPtr, - ); - - - } \ No newline at end of file +/// Main entrypoint of the Rust API +class RustLib extends BaseEntrypoint { + @internal + static final instance = RustLib._(); + + RustLib._(); + + /// Initialize flutter_rust_bridge + static Future init({ + RustLibApi? api, + BaseHandler? handler, + ExternalLibrary? externalLibrary, + bool forceSameCodegenVersion = true, + }) async { + await instance.initImpl( + api: api, + handler: handler, + externalLibrary: externalLibrary, + forceSameCodegenVersion: forceSameCodegenVersion, + ); + } + + /// Initialize flutter_rust_bridge in mock mode. + /// No libraries for FFI are loaded. + static void initMock({ + required RustLibApi api, + }) { + instance.initMockImpl( + api: api, + ); + } + + /// Dispose flutter_rust_bridge + /// + /// The call to this function is optional, since flutter_rust_bridge (and everything else) + /// is automatically disposed when the app stops. + static void dispose() => instance.disposeImpl(); + + @override + ApiImplConstructor get apiImplConstructor => + RustLibApiImpl.new; + + @override + WireConstructor get wireConstructor => + RustLibWire.fromExternalLibrary; + + @override + Future executeRustInitializers() async { + await api.crateApiSimpleInitApp(); + } + + @override + ExternalLibraryLoaderConfig get defaultExternalLibraryLoaderConfig => + kDefaultExternalLibraryLoaderConfig; + + @override + String get codegenVersion => '2.11.1'; + + @override + int get rustContentHash => -1918914929; + + static const kDefaultExternalLibraryLoaderConfig = + ExternalLibraryLoaderConfig( + stem: 'rust_lib_mobile_app', + ioDirectory: 'rust/target/release/', + webPrefix: 'pkg/', + ); +} + +abstract class RustLibApi extends BaseApi { + String crateApiSimpleGreet({required String name}); + + Future crateApiSimpleInitApp(); +} + +class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { + RustLibApiImpl({ + required super.handler, + required super.wire, + required super.generalizedFrbRustBinding, + required super.portManager, + }); + + @override + String crateApiSimpleGreet({required String name}) { + return handler.executeSync(SyncTask( + callFfi: () { + final serializer = SseSerializer(generalizedFrbRustBinding); + sse_encode_String(name, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 1)!; + }, + codec: SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ), + constMeta: kCrateApiSimpleGreetConstMeta, + argValues: [name], + apiImpl: this, + )); + } + + TaskConstMeta get kCrateApiSimpleGreetConstMeta => const TaskConstMeta( + debugName: "greet", + argNames: ["name"], + ); + + @override + Future crateApiSimpleInitApp() { + return handler.executeNormal(NormalTask( + callFfi: (port_) { + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, + funcId: 2, port: port_); + }, + codec: SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ), + constMeta: kCrateApiSimpleInitAppConstMeta, + argValues: [], + apiImpl: this, + )); + } + + TaskConstMeta get kCrateApiSimpleInitAppConstMeta => const TaskConstMeta( + debugName: "init_app", + argNames: [], + ); + + @protected + String dco_decode_String(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return raw as String; + } + + @protected + Uint8List dco_decode_list_prim_u_8_strict(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return raw as Uint8List; + } + + @protected + int dco_decode_u_8(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return raw as int; + } + + @protected + void dco_decode_unit(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return; + } + + @protected + String sse_decode_String(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + var inner = sse_decode_list_prim_u_8_strict(deserializer); + return utf8.decoder.convert(inner); + } + + @protected + Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + var len_ = sse_decode_i_32(deserializer); + return deserializer.buffer.getUint8List(len_); + } + + @protected + int sse_decode_u_8(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return deserializer.buffer.getUint8(); + } + + @protected + void sse_decode_unit(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + } + + @protected + int sse_decode_i_32(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return deserializer.buffer.getInt32(); + } + + @protected + bool sse_decode_bool(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return deserializer.buffer.getUint8() != 0; + } + + @protected + void sse_encode_String(String self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_list_prim_u_8_strict(utf8.encoder.convert(self), serializer); + } + + @protected + void sse_encode_list_prim_u_8_strict( + Uint8List self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_i_32(self.length, serializer); + serializer.buffer.putUint8List(self); + } + + @protected + void sse_encode_u_8(int self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + serializer.buffer.putUint8(self); + } + + @protected + void sse_encode_unit(void self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + } + + @protected + void sse_encode_i_32(int self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + serializer.buffer.putInt32(self); + } + + @protected + void sse_encode_bool(bool self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + serializer.buffer.putUint8(self ? 1 : 0); + } +} diff --git a/mobile_app/lib/src/rust/frb_generated.io.dart b/mobile_app/lib/src/rust/frb_generated.io.dart index 3771419..2af216f 100644 --- a/mobile_app/lib/src/rust/frb_generated.io.dart +++ b/mobile_app/lib/src/rust/frb_generated.io.dart @@ -3,7690 +3,82 @@ // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field -import 'api/keyword_search.dart'; import 'api/simple.dart'; import 'dart:async'; import 'dart:convert'; import 'dart:ffi' as ffi; import 'frb_generated.dart'; -import 'lib.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_io.dart'; -import 'third_party/seekstorm/commit.dart'; -import 'third_party/seekstorm/geo_search.dart'; -import 'third_party/seekstorm/highlighter.dart'; -import 'third_party/seekstorm/index.dart'; -import 'third_party/seekstorm/ingest.dart'; -import 'third_party/seekstorm/search.dart'; -import 'third_party/seekstorm/utils.dart'; -import 'third_party/tokio/io.dart'; -import 'third_party/tokio/macros/support.dart'; -import 'third_party/tokio/net.dart'; -import 'third_party/tokio/net/tcp.dart'; -import 'third_party/tokio/net/tcp/listener.dart'; -import 'third_party/tokio/net/tcp/split_owned.dart'; -import 'third_party/tokio/net/udp.dart'; -import 'third_party/tokio/net/unix.dart'; -import 'third_party/tokio/net/unix/datagram/socket.dart'; -import 'third_party/tokio/net/unix/listener.dart'; -import 'third_party/tokio/net/unix/pipe.dart'; -import 'third_party/tokio/process.dart'; -import 'third_party/tokio/process/sys.dart'; -import 'third_party/tokio/runtime.dart'; -import 'third_party/tokio/signal.dart'; -import 'third_party/tokio/signal/unix.dart'; -import 'third_party/tokio/sync.dart'; -import 'third_party/tokio/sync/broadcast.dart'; -import 'third_party/tokio/sync/broadcast/error.dart'; -import 'third_party/tokio/sync/mpsc/bounded.dart'; -import 'third_party/tokio/sync/mpsc/error.dart'; -import 'third_party/tokio/sync/oneshot.dart'; -import 'third_party/tokio/sync/watch.dart'; -import 'third_party/tokio/task.dart'; -import 'third_party/tokio/task/coop.dart'; -import 'third_party/tokio/time.dart'; -import 'third_party/tokio/time/error.dart'; -import 'third_party/tokio/time/interval.dart'; +abstract class RustLibApiImplPlatform extends BaseApiImpl { + RustLibApiImplPlatform({ + required super.handler, + required super.wire, + required super.generalizedFrbRustBinding, + required super.portManager, + }); + @protected + String dco_decode_String(dynamic raw); + @protected + Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); - abstract class RustLibApiImplPlatform extends BaseApiImpl { - RustLibApiImplPlatform({ - required super.handler, - required super.wire, - required super.generalizedFrbRustBinding, - required super.portManager, - }); + @protected + int dco_decode_u_8(dynamic raw); - CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AHashMapStringFacetPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacetPtr; + @protected + void dco_decode_unit(dynamic raw); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AcquireErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireErrorPtr; + @protected + String sse_decode_String(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ArcIndexPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndexPtr; + @protected + Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierPtr; + @protected + int sse_decode_u_8(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierWaitResultPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResultPtr; + @protected + void sse_decode_unit(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildPtr; + @protected + int sse_decode_i_32(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStderrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderrPtr; + @protected + bool sse_decode_bool(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdinPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdinPtr; + @protected + void sse_encode_String(String self, SseSerializer serializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdoutPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdoutPtr; + @protected + void sse_encode_list_prim_u_8_strict( + Uint8List self, SseSerializer serializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CommandPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommandPtr; + @protected + void sse_encode_u_8(int self, SseSerializer serializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ContextPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstaticPtr; + @protected + void sse_encode_unit(void self, SseSerializer serializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DocumentItemPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItemPtr; + @protected + void sse_encode_i_32(int self, SseSerializer serializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DuplexStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStreamPtr; + @protected + void sse_encode_bool(bool self, SseSerializer serializer); +} -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EmptyPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmptyPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EnterGuardPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstaticPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerErrorPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ExitStatusPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatusPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFieldPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFieldPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFilterPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilterPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetValuePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValuePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FilePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFilePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FileTypePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileTypePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FillBufSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FlushSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FrequentwordTypePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordTypePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HandlePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandlePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HighlighterPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighterPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IdPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIdPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMapStringVecStringUsizePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusizePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMetaObjectPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObjectPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InstantPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstantPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InterestPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterestPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IntervalPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIntervalPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSliceMutPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_Ptr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSlicePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestaticPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv4AddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4AddrPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv6AddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6AddrPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LinesSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalEnterGuardPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuardPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalSetPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSetPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldJsonPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJsonPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifiedPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstaticPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifyPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifyPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OpenOptionsPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptionsPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OrderingPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrderingPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedFdPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFdPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedNotifiedPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotifiedPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedPermitTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedReadHalfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedSemaphorePermitPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermitPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedWriteHalfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PathPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPathPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PdfDocumentPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstaticPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitIteratorTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollInstantPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstantPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollRestoreOnPendingPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPendingPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultSocketAddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddrPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddrPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddrPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUsizePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusizePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollUsizePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusizePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryFacetPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacetPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryRewritingPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewritingPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangesPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangesPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangeU64Ptr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64Ptr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadBufPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstaticPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadHalfSimplexStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStreamPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI8MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU8MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadyPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadyPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RecvErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvErrorPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RefTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RepeatPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeatPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RestoreOnPendingPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPendingPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultObjectPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObjectPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultSortPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSortPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReuniteErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteErrorPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimeMetricsPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetricsPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SchemaFieldPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaFieldPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekFromPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFromPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePermitPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstaticPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendTimeoutErrorTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalKindPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKindPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SimplexStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStreamPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SinkPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSinkPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SleepPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleepPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SocketAddrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddrPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SplitSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdCommandPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommandPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StderrPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderrPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdinPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdinPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdoutPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdoutPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StopwordTypePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordTypePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TakeSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpListenerPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListenerPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpSocketPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocketPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStreamPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryCurrentErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentErrorPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryRecvErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvErrorPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UCredPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCredPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UdpSocketPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocketPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixDatagramPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagramPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixListenerPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListenerPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixSocketPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocketPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStreamPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValuePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValuePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValueTypePtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueTypePtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_VecTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WeakSenderTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderTPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteHalfSimplexStreamPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStreamPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI8MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64LeMutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU8MutSelfPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelfPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CIntPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_intPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_GidTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_tPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PidTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_tPtr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_U8Ptr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8Ptr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UidTPtr => wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_tPtr; - - - - @protected AnyhowException dco_decode_AnyhowException(dynamic raw); - -@protected AHashMapStringFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); - -@protected AcquireError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw); - -@protected ArcIndex dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); - -@protected Barrier dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); - -@protected BarrierWaitResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); - -@protected Child dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); - -@protected ChildStderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); - -@protected ChildStdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); - -@protected ChildStdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); - -@protected Command dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); - -@protected DocumentItem dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw); - -@protected DuplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw); - -@protected Empty dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw); - -@protected EnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw); - -@protected Error dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); - -@protected ExitStatus dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); - -@protected FacetField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); - -@protected FacetFilter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); - -@protected FacetValue dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw); - -@protected File dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw); - -@protected FileType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw); - -@protected FillBufSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw); - -@protected FlushSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw); - -@protected FrequentwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw); - -@protected Handle dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); - -@protected Highlighter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); - -@protected Id dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw); - -@protected Index dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); - -@protected IndexMapStringVecStringUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw); - -@protected IndexMetaObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); - -@protected Instant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw); - -@protected Interest dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); - -@protected Interval dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); - -@protected IoSlice dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); - -@protected Ipv4Addr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw); - -@protected LinesSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw); - -@protected LocalEnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw); - -@protected LocalSet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); - -@protected MinMaxField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); - -@protected MinMaxFieldJson dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); - -@protected Notified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw); - -@protected Notify dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); - -@protected OpenOptions dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); - -@protected Ordering dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw); - -@protected OwnedFd dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw); - -@protected OwnedNotified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw); - -@protected OwnedPermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw); - -@protected OwnedReadHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); - -@protected OwnedSemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected OwnedWriteHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); - -@protected PdfDocument dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw); - -@protected PermitIteratorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw); - -@protected PermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw); - -@protected Poll dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw); - -@protected PollInstant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw); - -@protected PollOption dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw); - -@protected PollOptionT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw); - -@protected PollRestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw); - -@protected PollResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw); - -@protected PollResultSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw); - -@protected PollResultTcpStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw); - -@protected PollResultUnixStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw); - -@protected PollResultUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw); - -@protected PollUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw); - -@protected QueryFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); - -@protected QueryRewriting dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw); - -@protected Ranges dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw); - -@protected RangeU64 dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw); - -@protected ReadF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw); - -@protected ReadF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw); - -@protected ReadF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw); - -@protected ReadF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw); - -@protected ReadHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw); - -@protected ReadI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw); - -@protected ReadI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw); - -@protected ReadI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw); - -@protected ReadI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw); - -@protected ReadI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw); - -@protected ReadI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw); - -@protected ReadI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw); - -@protected ReadI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw); - -@protected ReadI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw); - -@protected ReadU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw); - -@protected ReadU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw); - -@protected ReadU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw); - -@protected ReadU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw); - -@protected ReadU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw); - -@protected ReadU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw); - -@protected ReadU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw); - -@protected ReadU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw); - -@protected ReadU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw); - -@protected Ready dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw); - -@protected Receiver dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); - -@protected ReceiverT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); - -@protected RecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw); - -@protected RefT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw); - -@protected Repeat dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw); - -@protected RestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); - -@protected Result dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); - -@protected ResultObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); - -@protected ResultSort dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); - -@protected ReuniteError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); - -@protected Runtime dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); - -@protected RuntimeMetrics dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); - -@protected SchemaField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); - -@protected SeekFrom dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw); - -@protected SeekSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw); - -@protected Semaphore dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); - -@protected SemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw); - -@protected SendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw); - -@protected SendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw); - -@protected SendTimeoutErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw); - -@protected Sender dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); - -@protected SenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); - -@protected Shutdown dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw); - -@protected ShutdownSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw); - -@protected Signal dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); - -@protected SignalKind dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); - -@protected SimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw); - -@protected Sink dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw); - -@protected Sleep dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); - -@protected SocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); - -@protected SplitSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw); - -@protected StdCommand dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw); - -@protected Stderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw); - -@protected Stdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw); - -@protected Stdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw); - -@protected StopwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw); - -@protected T dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw); - -@protected TakeSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw); - -@protected TcpListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); - -@protected TcpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); - -@protected TcpStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); - -@protected TryCurrentError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); - -@protected TryRecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw); - -@protected TrySendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw); - -@protected TrySendErrorSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw); - -@protected TrySendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw); - -@protected UCred dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); - -@protected UdpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); - -@protected UnixDatagram dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); - -@protected UnixListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); - -@protected UnixSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw); - -@protected UnixStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); - -@protected Value dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw); - -@protected ValueType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw); - -@protected WeakSenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw); - -@protected WriteF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw); - -@protected WriteF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw); - -@protected WriteF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw); - -@protected WriteF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw); - -@protected WriteHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw); - -@protected WriteI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw); - -@protected WriteI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw); - -@protected WriteI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw); - -@protected WriteI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw); - -@protected WriteI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw); - -@protected WriteI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw); - -@protected WriteI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw); - -@protected WriteI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw); - -@protected WriteI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw); - -@protected WriteU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw); - -@protected WriteU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw); - -@protected WriteU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw); - -@protected WriteU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw); - -@protected WriteU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw); - -@protected WriteU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw); - -@protected WriteU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw); - -@protected WriteU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw); - -@protected WriteU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw); - -@protected CInt dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw); - -@protected GidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw); - -@protected PidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); - -@protected UidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw); - -@protected Child dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); - -@protected Command dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); - -@protected Context dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw); - -@protected FacetField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); - -@protected Index dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); - -@protected IndexMetaObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); - -@protected Interval dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); - -@protected IoSliceMut dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw); - -@protected MinMaxField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); - -@protected MinMaxFieldJson dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); - -@protected OpenOptions dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); - -@protected OwnedReadHalf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); - -@protected OwnedSemaphorePermit dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected ReadBuf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw); - -@protected ReceiverT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); - -@protected ResultObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); - -@protected ResultSort dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); - -@protected ReuniteError dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); - -@protected SchemaField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); - -@protected SenderT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); - -@protected Signal dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); - -@protected VecT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw); - -@protected U8 dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw); - -@protected ArcIndex dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); - -@protected Barrier dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); - -@protected BarrierWaitResult dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); - -@protected Child dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); - -@protected Command dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); - -@protected Error dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); - -@protected FacetField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); - -@protected Handle dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); - -@protected Index dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); - -@protected IndexMetaObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); - -@protected Interval dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); - -@protected Ipv6Addr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw); - -@protected LocalSet dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); - -@protected MinMaxField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); - -@protected MinMaxFieldJson dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); - -@protected Notify dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); - -@protected OwnedReadHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); - -@protected OwnedSemaphorePermit dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected OwnedWriteHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); - -@protected Path dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); - -@protected Receiver dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); - -@protected ReceiverT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); - -@protected RestoreOnPending dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); - -@protected ResultObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); - -@protected ResultSort dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); - -@protected ReuniteError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); - -@protected Runtime dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); - -@protected RuntimeMetrics dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); - -@protected SchemaField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); - -@protected Semaphore dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); - -@protected Sender dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); - -@protected SenderT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); - -@protected SignalKind dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); - -@protected Sleep dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); - -@protected SocketAddr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); - -@protected TcpListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); - -@protected TcpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); - -@protected TcpStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); - -@protected TryCurrentError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); - -@protected UCred dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); - -@protected UdpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); - -@protected UnixDatagram dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); - -@protected UnixListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); - -@protected UnixStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); - -@protected Duration dco_decode_Chrono_Duration(dynamic raw); - -@protected BigInt dco_decode_I128(dynamic raw); - -@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(dynamic raw); - -@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(dynamic raw); - -@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw); - -@protected AHashMapStringFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); - -@protected AcquireError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw); - -@protected ArcIndex dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); - -@protected Barrier dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); - -@protected BarrierWaitResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); - -@protected Child dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); - -@protected ChildStderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); - -@protected ChildStdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); - -@protected ChildStdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); - -@protected Command dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); - -@protected Context dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw); - -@protected DocumentItem dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw); - -@protected DuplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw); - -@protected Empty dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw); - -@protected EnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw); - -@protected Error dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); - -@protected ExitStatus dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); - -@protected FacetField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); - -@protected FacetFilter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); - -@protected FacetValue dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw); - -@protected File dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw); - -@protected FileType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw); - -@protected FillBufSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw); - -@protected FlushSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw); - -@protected FrequentwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw); - -@protected Handle dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); - -@protected Highlighter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); - -@protected Id dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw); - -@protected Index dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); - -@protected IndexMapStringVecStringUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw); - -@protected IndexMetaObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); - -@protected Instant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw); - -@protected Interest dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); - -@protected Interval dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); - -@protected IoSliceMut dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw); - -@protected IoSlice dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); - -@protected Ipv4Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw); - -@protected Ipv6Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw); - -@protected LinesSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw); - -@protected LocalEnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw); - -@protected LocalSet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); - -@protected MinMaxField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); - -@protected MinMaxFieldJson dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); - -@protected Notified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw); - -@protected Notify dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); - -@protected OpenOptions dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); - -@protected Ordering dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw); - -@protected OwnedFd dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw); - -@protected OwnedNotified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw); - -@protected OwnedPermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw); - -@protected OwnedReadHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); - -@protected OwnedSemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected OwnedWriteHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); - -@protected Path dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); - -@protected PdfDocument dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw); - -@protected PermitIteratorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw); - -@protected PermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw); - -@protected Poll dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw); - -@protected PollInstant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw); - -@protected PollOption dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw); - -@protected PollOptionT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw); - -@protected PollRestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw); - -@protected PollResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw); - -@protected PollResultSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw); - -@protected PollResultTcpStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw); - -@protected PollResultUnixStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw); - -@protected PollResultUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw); - -@protected PollUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw); - -@protected QueryFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); - -@protected QueryRewriting dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw); - -@protected Ranges dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw); - -@protected RangeU64 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw); - -@protected ReadBuf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw); - -@protected ReadF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw); - -@protected ReadF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw); - -@protected ReadF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw); - -@protected ReadF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw); - -@protected ReadHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw); - -@protected ReadI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw); - -@protected ReadI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw); - -@protected ReadI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw); - -@protected ReadI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw); - -@protected ReadI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw); - -@protected ReadI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw); - -@protected ReadI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw); - -@protected ReadI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw); - -@protected ReadI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw); - -@protected ReadU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw); - -@protected ReadU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw); - -@protected ReadU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw); - -@protected ReadU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw); - -@protected ReadU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw); - -@protected ReadU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw); - -@protected ReadU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw); - -@protected ReadU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw); - -@protected ReadU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw); - -@protected Ready dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw); - -@protected Receiver dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); - -@protected ReceiverT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); - -@protected RecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw); - -@protected RefT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw); - -@protected Repeat dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw); - -@protected RestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); - -@protected Result dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); - -@protected ResultObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); - -@protected ResultSort dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); - -@protected ReuniteError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); - -@protected Runtime dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); - -@protected RuntimeMetrics dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); - -@protected SchemaField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); - -@protected SeekFrom dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw); - -@protected SeekSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw); - -@protected Semaphore dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); - -@protected SemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw); - -@protected SendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw); - -@protected SendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw); - -@protected SendTimeoutErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw); - -@protected Sender dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); - -@protected SenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); - -@protected Shutdown dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw); - -@protected ShutdownSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw); - -@protected Signal dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); - -@protected SignalKind dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); - -@protected SimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw); - -@protected Sink dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw); - -@protected Sleep dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); - -@protected SocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); - -@protected SplitSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw); - -@protected StdCommand dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw); - -@protected Stderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw); - -@protected Stdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw); - -@protected Stdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw); - -@protected StopwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw); - -@protected T dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw); - -@protected TakeSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw); - -@protected TcpListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); - -@protected TcpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); - -@protected TcpStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); - -@protected TryCurrentError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); - -@protected TryRecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw); - -@protected TrySendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw); - -@protected TrySendErrorSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw); - -@protected TrySendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw); - -@protected UCred dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); - -@protected UdpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); - -@protected UnixDatagram dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); - -@protected UnixListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); - -@protected UnixSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw); - -@protected UnixStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); - -@protected Value dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw); - -@protected ValueType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw); - -@protected VecT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw); - -@protected WeakSenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw); - -@protected WriteF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw); - -@protected WriteF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw); - -@protected WriteF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw); - -@protected WriteF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw); - -@protected WriteHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw); - -@protected WriteI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw); - -@protected WriteI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw); - -@protected WriteI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw); - -@protected WriteI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw); - -@protected WriteI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw); - -@protected WriteI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw); - -@protected WriteI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw); - -@protected WriteI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw); - -@protected WriteI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw); - -@protected WriteU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw); - -@protected WriteU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw); - -@protected WriteU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw); - -@protected WriteU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw); - -@protected WriteU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw); - -@protected WriteU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw); - -@protected WriteU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw); - -@protected WriteU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw); - -@protected WriteU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw); - -@protected CInt dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw); - -@protected GidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw); - -@protected PidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); - -@protected U8 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw); - -@protected UidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw); - -@protected Set dco_decode_Set_String_None(dynamic raw); - -@protected String dco_decode_String(dynamic raw); - -@protected AsyncBufReadExt dco_decode_TraitDef_AsyncBufReadExt(dynamic raw); - -@protected AsyncReadExt dco_decode_TraitDef_AsyncReadExt(dynamic raw); - -@protected AsyncSeekExt dco_decode_TraitDef_AsyncSeekExt(dynamic raw); - -@protected AsyncWriteExt dco_decode_TraitDef_AsyncWriteExt(dynamic raw); - -@protected Close dco_decode_TraitDef_Close(dynamic raw); - -@protected Commit dco_decode_TraitDef_Commit(dynamic raw); - -@protected DeleteDocument dco_decode_TraitDef_DeleteDocument(dynamic raw); - -@protected DeleteDocuments dco_decode_TraitDef_DeleteDocuments(dynamic raw); - -@protected DeleteDocumentsByQuery dco_decode_TraitDef_DeleteDocumentsByQuery(dynamic raw); - -@protected IndexDocument dco_decode_TraitDef_IndexDocument(dynamic raw); - -@protected IndexDocument2 dco_decode_TraitDef_IndexDocument2(dynamic raw); - -@protected IndexDocumentShard dco_decode_TraitDef_IndexDocumentShard(dynamic raw); - -@protected IndexDocuments dco_decode_TraitDef_IndexDocuments(dynamic raw); - -@protected IndexPdf dco_decode_TraitDef_IndexPdf(dynamic raw); - -@protected IndexPdfBytes dco_decode_TraitDef_IndexPdfBytes(dynamic raw); - -@protected IndexPdfFile dco_decode_TraitDef_IndexPdfFile(dynamic raw); - -@protected IngestCsv dco_decode_TraitDef_IngestCsv(dynamic raw); - -@protected IngestJson dco_decode_TraitDef_IngestJson(dynamic raw); - -@protected IngestPdf dco_decode_TraitDef_IngestPdf(dynamic raw); - -@protected InternalStream dco_decode_TraitDef_InternalStream(dynamic raw); - -@protected Search dco_decode_TraitDef_Search(dynamic raw); - -@protected SearchShard dco_decode_TraitDef_SearchShard(dynamic raw); - -@protected UpdateDocument dco_decode_TraitDef_UpdateDocument(dynamic raw); - -@protected UpdateDocuments dco_decode_TraitDef_UpdateDocuments(dynamic raw); - -@protected BigInt dco_decode_U128(dynamic raw); - -@protected AccessType dco_decode_access_type(dynamic raw); - -@protected bool dco_decode_bool(dynamic raw); - -@protected AHashMapStringFacet dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); - -@protected ChildStderr dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); - -@protected ChildStdin dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); - -@protected ChildStdout dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); - -@protected Error dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); - -@protected ExitStatus dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); - -@protected Highlighter dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); - -@protected Interest dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); - -@protected OwnedSemaphorePermit dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected PidT dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); - -@protected Path dco_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); - -@protected Duration dco_decode_box_autoadd_Chrono_Duration(dynamic raw); - -@protected QueryCompletion dco_decode_box_autoadd_query_completion(dynamic raw); - -@protected (BigInt,Map) dco_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); - -@protected SearchFn dco_decode_box_autoadd_search_fn(dynamic raw); - -@protected SpellingCorrection dco_decode_box_autoadd_spelling_correction(dynamic raw); - -@protected int dco_decode_box_autoadd_u_32(dynamic raw); - -@protected void dco_decode_box_autoadd_unit(dynamic raw); - -@protected BigInt dco_decode_box_autoadd_usize(dynamic raw); - -@protected CompressionType dco_decode_compression_type(dynamic raw); - -@protected DistanceField dco_decode_distance_field(dynamic raw); - -@protected DistanceUnit dco_decode_distance_unit(dynamic raw); - -@protected double dco_decode_f_32(dynamic raw); - -@protected double dco_decode_f_64(dynamic raw); - -@protected FieldType dco_decode_field_type(dynamic raw); - -@protected Highlight dco_decode_highlight(dynamic raw); - -@protected int dco_decode_i_16(dynamic raw); - -@protected int dco_decode_i_32(dynamic raw); - -@protected PlatformInt64 dco_decode_i_64(dynamic raw); - -@protected int dco_decode_i_8(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); - -@protected List> dco_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw); - -@protected List dco_decode_list_String(dynamic raw); - -@protected List dco_decode_list_distance_field(dynamic raw); - -@protected List dco_decode_list_highlight(dynamic raw); - -@protected List dco_decode_list_prim_f_64_loose(dynamic raw); - -@protected Float64List dco_decode_list_prim_f_64_strict(dynamic raw); - -@protected Uint64List dco_decode_list_prim_u_64_strict(dynamic raw); - -@protected List dco_decode_list_prim_u_8_loose(dynamic raw); - -@protected Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); - -@protected Uint64List dco_decode_list_prim_usize_strict(dynamic raw); - -@protected List<(String,MinMaxFieldJson)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw); - -@protected List<(String,SchemaField)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw); - -@protected List<(String,Value)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw); - -@protected List<(BigInt,Map)> dco_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); - -@protected List dco_decode_list_synonym(dynamic raw); - -@protected MissedTickBehavior dco_decode_missed_tick_behavior(dynamic raw); - -@protected NgramType dco_decode_ngram_type(dynamic raw); - -@protected AHashMapStringFacet? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); - -@protected ChildStderr? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); - -@protected ChildStdin? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); - -@protected ChildStdout? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); - -@protected Error? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); - -@protected ExitStatus? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); - -@protected Highlighter? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); - -@protected Interest? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); - -@protected OwnedSemaphorePermit? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected PidT? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); - -@protected Path? dco_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); - -@protected Duration? dco_decode_opt_box_autoadd_Chrono_Duration(dynamic raw); - -@protected QueryCompletion? dco_decode_opt_box_autoadd_query_completion(dynamic raw); - -@protected SpellingCorrection? dco_decode_opt_box_autoadd_spelling_correction(dynamic raw); - -@protected int? dco_decode_opt_box_autoadd_u_32(dynamic raw); - -@protected void? dco_decode_opt_box_autoadd_unit(dynamic raw); - -@protected BigInt? dco_decode_opt_box_autoadd_usize(dynamic raw); - -@protected Uint64List? dco_decode_opt_list_prim_usize_strict(dynamic raw); - -@protected QueryCompletion dco_decode_query_completion(dynamic raw); - -@protected QueryType dco_decode_query_type(dynamic raw); - -@protected RangeType dco_decode_range_type(dynamic raw); - -@protected (DuplexStream,DuplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(dynamic raw); - -@protected (OwnedReadHalf,OwnedWriteHalf) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(dynamic raw); - -@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(dynamic raw); - -@protected (Sender,Receiver) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(dynamic raw); - -@protected (TcpStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); - -@protected (UnixDatagram,UnixDatagram) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(dynamic raw); - -@protected (UnixStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); - -@protected (UnixStream,UnixStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(dynamic raw); - -@protected (String,MinMaxFieldJson) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw); - -@protected (String,SchemaField) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw); - -@protected (String,Value) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw); - -@protected (BigInt,Map) dco_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); - -@protected (BigInt,SocketAddr) dco_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); - -@protected ResultType dco_decode_result_type(dynamic raw); - -@protected RuntimeFlavor dco_decode_runtime_flavor(dynamic raw); - -@protected SearchFn dco_decode_search_fn(dynamic raw); - -@protected SimilarityType dco_decode_similarity_type(dynamic raw); - -@protected SortOrder dco_decode_sort_order(dynamic raw); - -@protected SpellingCorrection dco_decode_spelling_correction(dynamic raw); - -@protected StemmerType dco_decode_stemmer_type(dynamic raw); - -@protected Synonym dco_decode_synonym(dynamic raw); - -@protected TokenizerType dco_decode_tokenizer_type(dynamic raw); - -@protected TryAcquireError dco_decode_try_acquire_error(dynamic raw); - -@protected int dco_decode_u_16(dynamic raw); - -@protected int dco_decode_u_32(dynamic raw); - -@protected BigInt dco_decode_u_64(dynamic raw); - -@protected int dco_decode_u_8(dynamic raw); - -@protected void dco_decode_unit(dynamic raw); - -@protected BigInt dco_decode_usize(dynamic raw); - -@protected AnyhowException sse_decode_AnyhowException(SseDeserializer deserializer); - -@protected AHashMapStringFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); - -@protected AcquireError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer); - -@protected ArcIndex sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); - -@protected Barrier sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); - -@protected BarrierWaitResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); - -@protected Child sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); - -@protected ChildStderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); - -@protected ChildStdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); - -@protected ChildStdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); - -@protected Command sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); - -@protected DocumentItem sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer); - -@protected DuplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer); - -@protected Empty sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer); - -@protected EnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer); - -@protected Error sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); - -@protected ExitStatus sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); - -@protected FacetField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); - -@protected FacetFilter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); - -@protected FacetValue sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer); - -@protected File sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer); - -@protected FileType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer); - -@protected FillBufSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer); - -@protected FlushSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer); - -@protected FrequentwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer); - -@protected Handle sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); - -@protected Highlighter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); - -@protected Id sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer); - -@protected Index sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); - -@protected IndexMapStringVecStringUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer); - -@protected IndexMetaObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); - -@protected Instant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer); - -@protected Interest sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); - -@protected Interval sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); - -@protected IoSlice sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); - -@protected Ipv4Addr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer); - -@protected LinesSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer); - -@protected LocalEnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer); - -@protected LocalSet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); - -@protected MinMaxField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); - -@protected MinMaxFieldJson sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); - -@protected Notified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer); - -@protected Notify sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); - -@protected OpenOptions sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); - -@protected Ordering sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer); - -@protected OwnedFd sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer); - -@protected OwnedNotified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer); - -@protected OwnedPermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer); - -@protected OwnedReadHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected OwnedWriteHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); - -@protected PdfDocument sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer); - -@protected PermitIteratorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer); - -@protected PermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer); - -@protected Poll sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer); - -@protected PollInstant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer); - -@protected PollOption sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer); - -@protected PollOptionT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer); - -@protected PollRestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer); - -@protected PollResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer); - -@protected PollResultSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer); - -@protected PollResultTcpStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer); - -@protected PollResultUnixStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer); - -@protected PollResultUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer); - -@protected PollUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer); - -@protected QueryFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); - -@protected QueryRewriting sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer); - -@protected Ranges sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer); - -@protected RangeU64 sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer); - -@protected ReadF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer); - -@protected ReadF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer); - -@protected ReadF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer); - -@protected ReadF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer); - -@protected ReadHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer); - -@protected ReadI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer); - -@protected ReadI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer); - -@protected ReadI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer); - -@protected ReadI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer); - -@protected ReadI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer); - -@protected ReadI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer); - -@protected ReadI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer); - -@protected ReadI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer); - -@protected ReadI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer); - -@protected ReadU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer); - -@protected ReadU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer); - -@protected ReadU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer); - -@protected ReadU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer); - -@protected ReadU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer); - -@protected ReadU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer); - -@protected ReadU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer); - -@protected ReadU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer); - -@protected ReadU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer); - -@protected Ready sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer); - -@protected Receiver sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); - -@protected ReceiverT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); - -@protected RecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer); - -@protected RefT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer); - -@protected Repeat sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer); - -@protected RestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); - -@protected Result sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); - -@protected ResultObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); - -@protected ResultSort sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); - -@protected ReuniteError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); - -@protected Runtime sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); - -@protected RuntimeMetrics sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); - -@protected SchemaField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); - -@protected SeekFrom sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer); - -@protected SeekSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer); - -@protected Semaphore sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); - -@protected SemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer); - -@protected SendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer); - -@protected SendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer); - -@protected SendTimeoutErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer); - -@protected Sender sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); - -@protected SenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); - -@protected Shutdown sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer); - -@protected ShutdownSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer); - -@protected Signal sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); - -@protected SignalKind sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); - -@protected SimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer); - -@protected Sink sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer); - -@protected Sleep sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); - -@protected SocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); - -@protected SplitSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer); - -@protected StdCommand sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer); - -@protected Stderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer); - -@protected Stdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer); - -@protected Stdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer); - -@protected StopwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer); - -@protected T sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer); - -@protected TakeSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer); - -@protected TcpListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); - -@protected TcpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); - -@protected TcpStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); - -@protected TryCurrentError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); - -@protected TryRecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer); - -@protected TrySendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer); - -@protected TrySendErrorSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer); - -@protected TrySendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer); - -@protected UCred sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); - -@protected UdpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); - -@protected UnixDatagram sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); - -@protected UnixListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); - -@protected UnixSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer); - -@protected UnixStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); - -@protected Value sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer); - -@protected ValueType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer); - -@protected WeakSenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer); - -@protected WriteF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer); - -@protected WriteF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer); - -@protected WriteF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer); - -@protected WriteF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer); - -@protected WriteHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer); - -@protected WriteI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer); - -@protected WriteI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer); - -@protected WriteI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer); - -@protected WriteI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer); - -@protected WriteI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer); - -@protected WriteI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer); - -@protected WriteI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer); - -@protected WriteI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer); - -@protected WriteI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer); - -@protected WriteU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer); - -@protected WriteU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer); - -@protected WriteU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer); - -@protected WriteU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer); - -@protected WriteU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer); - -@protected WriteU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer); - -@protected WriteU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer); - -@protected WriteU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer); - -@protected WriteU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer); - -@protected CInt sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer); - -@protected GidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer); - -@protected PidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); - -@protected UidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer); - -@protected Child sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); - -@protected Command sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); - -@protected Context sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer); - -@protected FacetField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); - -@protected Index sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); - -@protected IndexMetaObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); - -@protected Interval sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); - -@protected IoSliceMut sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer); - -@protected MinMaxField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); - -@protected MinMaxFieldJson sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); - -@protected OpenOptions sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); - -@protected OwnedReadHalf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected ReadBuf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer); - -@protected ReceiverT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); - -@protected ResultObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); - -@protected ResultSort sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); - -@protected ReuniteError sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); - -@protected SchemaField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); - -@protected SenderT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); - -@protected Signal sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); - -@protected VecT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer); - -@protected U8 sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer); - -@protected ArcIndex sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); - -@protected Barrier sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); - -@protected BarrierWaitResult sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); - -@protected Child sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); - -@protected Command sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); - -@protected Error sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); - -@protected FacetField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); - -@protected Handle sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); - -@protected Index sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); - -@protected IndexMetaObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); - -@protected Interval sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); - -@protected Ipv6Addr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer); - -@protected LocalSet sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); - -@protected MinMaxField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); - -@protected MinMaxFieldJson sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); - -@protected Notify sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); - -@protected OwnedReadHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected OwnedWriteHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); - -@protected Path sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); - -@protected Receiver sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); - -@protected ReceiverT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); - -@protected RestoreOnPending sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); - -@protected ResultObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); - -@protected ResultSort sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); - -@protected ReuniteError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); - -@protected Runtime sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); - -@protected RuntimeMetrics sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); - -@protected SchemaField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); - -@protected Semaphore sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); - -@protected Sender sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); - -@protected SenderT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); - -@protected SignalKind sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); - -@protected Sleep sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); - -@protected SocketAddr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); - -@protected TcpListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); - -@protected TcpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); - -@protected TcpStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); - -@protected TryCurrentError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); - -@protected UCred sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); - -@protected UdpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); - -@protected UnixDatagram sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); - -@protected UnixListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); - -@protected UnixStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); - -@protected Duration sse_decode_Chrono_Duration(SseDeserializer deserializer); - -@protected BigInt sse_decode_I128(SseDeserializer deserializer); - -@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(SseDeserializer deserializer); - -@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(SseDeserializer deserializer); - -@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer); - -@protected AHashMapStringFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); - -@protected AcquireError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer); - -@protected ArcIndex sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); - -@protected Barrier sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); - -@protected BarrierWaitResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); - -@protected Child sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); - -@protected ChildStderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); - -@protected ChildStdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); - -@protected ChildStdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); - -@protected Command sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); - -@protected Context sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer); - -@protected DocumentItem sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer); - -@protected DuplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer); - -@protected Empty sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer); - -@protected EnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer); - -@protected Error sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); - -@protected ExitStatus sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); - -@protected FacetField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); - -@protected FacetFilter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); - -@protected FacetValue sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer); - -@protected File sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer); - -@protected FileType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer); - -@protected FillBufSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer); - -@protected FlushSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer); - -@protected FrequentwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer); - -@protected Handle sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); - -@protected Highlighter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); - -@protected Id sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer); - -@protected Index sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); - -@protected IndexMapStringVecStringUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer); - -@protected IndexMetaObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); - -@protected Instant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer); - -@protected Interest sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); - -@protected Interval sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); - -@protected IoSliceMut sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer); - -@protected IoSlice sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); - -@protected Ipv4Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer); - -@protected Ipv6Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer); - -@protected LinesSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer); - -@protected LocalEnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer); - -@protected LocalSet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); - -@protected MinMaxField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); - -@protected MinMaxFieldJson sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); - -@protected Notified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer); - -@protected Notify sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); - -@protected OpenOptions sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); - -@protected Ordering sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer); - -@protected OwnedFd sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer); - -@protected OwnedNotified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer); - -@protected OwnedPermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer); - -@protected OwnedReadHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected OwnedWriteHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); - -@protected Path sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); - -@protected PdfDocument sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer); - -@protected PermitIteratorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer); - -@protected PermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer); - -@protected Poll sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer); - -@protected PollInstant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer); - -@protected PollOption sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer); - -@protected PollOptionT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer); - -@protected PollRestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer); - -@protected PollResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer); - -@protected PollResultSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer); - -@protected PollResultTcpStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer); - -@protected PollResultUnixStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer); - -@protected PollResultUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer); - -@protected PollUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer); - -@protected QueryFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); - -@protected QueryRewriting sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer); - -@protected Ranges sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer); - -@protected RangeU64 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer); - -@protected ReadBuf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer); - -@protected ReadF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer); - -@protected ReadF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer); - -@protected ReadF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer); - -@protected ReadF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer); - -@protected ReadHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer); - -@protected ReadI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer); - -@protected ReadI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer); - -@protected ReadI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer); - -@protected ReadI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer); - -@protected ReadI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer); - -@protected ReadI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer); - -@protected ReadI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer); - -@protected ReadI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer); - -@protected ReadI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer); - -@protected ReadU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer); - -@protected ReadU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer); - -@protected ReadU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer); - -@protected ReadU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer); - -@protected ReadU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer); - -@protected ReadU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer); - -@protected ReadU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer); - -@protected ReadU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer); - -@protected ReadU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer); - -@protected Ready sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer); - -@protected Receiver sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); - -@protected ReceiverT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); - -@protected RecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer); - -@protected RefT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer); - -@protected Repeat sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer); - -@protected RestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); - -@protected Result sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); - -@protected ResultObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); - -@protected ResultSort sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); - -@protected ReuniteError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); - -@protected Runtime sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); - -@protected RuntimeMetrics sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); - -@protected SchemaField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); - -@protected SeekFrom sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer); - -@protected SeekSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer); - -@protected Semaphore sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); - -@protected SemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer); - -@protected SendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer); - -@protected SendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer); - -@protected SendTimeoutErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer); - -@protected Sender sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); - -@protected SenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); - -@protected Shutdown sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer); - -@protected ShutdownSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer); - -@protected Signal sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); - -@protected SignalKind sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); - -@protected SimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer); - -@protected Sink sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer); - -@protected Sleep sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); - -@protected SocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); - -@protected SplitSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer); - -@protected StdCommand sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer); - -@protected Stderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer); - -@protected Stdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer); - -@protected Stdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer); - -@protected StopwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer); - -@protected T sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer); - -@protected TakeSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer); - -@protected TcpListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); - -@protected TcpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); - -@protected TcpStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); - -@protected TryCurrentError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); - -@protected TryRecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer); - -@protected TrySendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer); - -@protected TrySendErrorSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer); - -@protected TrySendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer); - -@protected UCred sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); - -@protected UdpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); - -@protected UnixDatagram sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); - -@protected UnixListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); - -@protected UnixSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer); - -@protected UnixStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); - -@protected Value sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer); - -@protected ValueType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer); - -@protected VecT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer); - -@protected WeakSenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer); - -@protected WriteF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer); - -@protected WriteF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer); - -@protected WriteF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer); - -@protected WriteF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer); - -@protected WriteHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer); - -@protected WriteI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer); - -@protected WriteI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer); - -@protected WriteI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer); - -@protected WriteI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer); - -@protected WriteI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer); - -@protected WriteI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer); - -@protected WriteI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer); - -@protected WriteI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer); - -@protected WriteI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer); - -@protected WriteU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer); - -@protected WriteU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer); - -@protected WriteU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer); - -@protected WriteU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer); - -@protected WriteU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer); - -@protected WriteU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer); - -@protected WriteU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer); - -@protected WriteU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer); - -@protected WriteU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer); - -@protected CInt sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer); - -@protected GidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer); - -@protected PidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); - -@protected U8 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer); - -@protected UidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer); - -@protected Set sse_decode_Set_String_None(SseDeserializer deserializer); - -@protected String sse_decode_String(SseDeserializer deserializer); - -@protected BigInt sse_decode_U128(SseDeserializer deserializer); - -@protected AccessType sse_decode_access_type(SseDeserializer deserializer); - -@protected bool sse_decode_bool(SseDeserializer deserializer); - -@protected AHashMapStringFacet sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); - -@protected ChildStderr sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); - -@protected ChildStdin sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); - -@protected ChildStdout sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); - -@protected Error sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); - -@protected ExitStatus sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); - -@protected Highlighter sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); - -@protected Interest sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected PidT sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); - -@protected Path sse_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); - -@protected Duration sse_decode_box_autoadd_Chrono_Duration(SseDeserializer deserializer); - -@protected QueryCompletion sse_decode_box_autoadd_query_completion(SseDeserializer deserializer); - -@protected (BigInt,Map) sse_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); - -@protected SearchFn sse_decode_box_autoadd_search_fn(SseDeserializer deserializer); - -@protected SpellingCorrection sse_decode_box_autoadd_spelling_correction(SseDeserializer deserializer); - -@protected int sse_decode_box_autoadd_u_32(SseDeserializer deserializer); - -@protected void sse_decode_box_autoadd_unit(SseDeserializer deserializer); - -@protected BigInt sse_decode_box_autoadd_usize(SseDeserializer deserializer); - -@protected CompressionType sse_decode_compression_type(SseDeserializer deserializer); - -@protected DistanceField sse_decode_distance_field(SseDeserializer deserializer); - -@protected DistanceUnit sse_decode_distance_unit(SseDeserializer deserializer); - -@protected double sse_decode_f_32(SseDeserializer deserializer); - -@protected double sse_decode_f_64(SseDeserializer deserializer); - -@protected FieldType sse_decode_field_type(SseDeserializer deserializer); - -@protected Highlight sse_decode_highlight(SseDeserializer deserializer); - -@protected int sse_decode_i_16(SseDeserializer deserializer); - -@protected int sse_decode_i_32(SseDeserializer deserializer); - -@protected PlatformInt64 sse_decode_i_64(SseDeserializer deserializer); - -@protected int sse_decode_i_8(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); - -@protected List> sse_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer); - -@protected List sse_decode_list_String(SseDeserializer deserializer); - -@protected List sse_decode_list_distance_field(SseDeserializer deserializer); - -@protected List sse_decode_list_highlight(SseDeserializer deserializer); - -@protected List sse_decode_list_prim_f_64_loose(SseDeserializer deserializer); - -@protected Float64List sse_decode_list_prim_f_64_strict(SseDeserializer deserializer); - -@protected Uint64List sse_decode_list_prim_u_64_strict(SseDeserializer deserializer); - -@protected List sse_decode_list_prim_u_8_loose(SseDeserializer deserializer); - -@protected Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); - -@protected Uint64List sse_decode_list_prim_usize_strict(SseDeserializer deserializer); - -@protected List<(String,MinMaxFieldJson)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer); - -@protected List<(String,SchemaField)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer); - -@protected List<(String,Value)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer); - -@protected List<(BigInt,Map)> sse_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); - -@protected List sse_decode_list_synonym(SseDeserializer deserializer); - -@protected MissedTickBehavior sse_decode_missed_tick_behavior(SseDeserializer deserializer); - -@protected NgramType sse_decode_ngram_type(SseDeserializer deserializer); - -@protected AHashMapStringFacet? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); - -@protected ChildStderr? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); - -@protected ChildStdin? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); - -@protected ChildStdout? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); - -@protected Error? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); - -@protected ExitStatus? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); - -@protected Highlighter? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); - -@protected Interest? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected PidT? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); - -@protected Path? sse_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); - -@protected Duration? sse_decode_opt_box_autoadd_Chrono_Duration(SseDeserializer deserializer); - -@protected QueryCompletion? sse_decode_opt_box_autoadd_query_completion(SseDeserializer deserializer); - -@protected SpellingCorrection? sse_decode_opt_box_autoadd_spelling_correction(SseDeserializer deserializer); - -@protected int? sse_decode_opt_box_autoadd_u_32(SseDeserializer deserializer); - -@protected void? sse_decode_opt_box_autoadd_unit(SseDeserializer deserializer); - -@protected BigInt? sse_decode_opt_box_autoadd_usize(SseDeserializer deserializer); - -@protected Uint64List? sse_decode_opt_list_prim_usize_strict(SseDeserializer deserializer); - -@protected QueryCompletion sse_decode_query_completion(SseDeserializer deserializer); - -@protected QueryType sse_decode_query_type(SseDeserializer deserializer); - -@protected RangeType sse_decode_range_type(SseDeserializer deserializer); - -@protected (DuplexStream,DuplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(SseDeserializer deserializer); - -@protected (OwnedReadHalf,OwnedWriteHalf) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(SseDeserializer deserializer); - -@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(SseDeserializer deserializer); - -@protected (Sender,Receiver) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(SseDeserializer deserializer); - -@protected (TcpStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); - -@protected (UnixDatagram,UnixDatagram) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(SseDeserializer deserializer); - -@protected (UnixStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); - -@protected (UnixStream,UnixStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(SseDeserializer deserializer); - -@protected (String,MinMaxFieldJson) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer); - -@protected (String,SchemaField) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer); - -@protected (String,Value) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer); - -@protected (BigInt,Map) sse_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); - -@protected (BigInt,SocketAddr) sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); - -@protected ResultType sse_decode_result_type(SseDeserializer deserializer); - -@protected RuntimeFlavor sse_decode_runtime_flavor(SseDeserializer deserializer); - -@protected SearchFn sse_decode_search_fn(SseDeserializer deserializer); - -@protected SimilarityType sse_decode_similarity_type(SseDeserializer deserializer); - -@protected SortOrder sse_decode_sort_order(SseDeserializer deserializer); - -@protected SpellingCorrection sse_decode_spelling_correction(SseDeserializer deserializer); - -@protected StemmerType sse_decode_stemmer_type(SseDeserializer deserializer); - -@protected Synonym sse_decode_synonym(SseDeserializer deserializer); - -@protected TokenizerType sse_decode_tokenizer_type(SseDeserializer deserializer); - -@protected TryAcquireError sse_decode_try_acquire_error(SseDeserializer deserializer); - -@protected int sse_decode_u_16(SseDeserializer deserializer); - -@protected int sse_decode_u_32(SseDeserializer deserializer); - -@protected BigInt sse_decode_u_64(SseDeserializer deserializer); - -@protected int sse_decode_u_8(SseDeserializer deserializer); - -@protected void sse_decode_unit(SseDeserializer deserializer); - -@protected BigInt sse_decode_usize(SseDeserializer deserializer); - -@protected void sse_encode_AnyhowException(AnyhowException self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); - -@protected void sse_encode_Chrono_Duration(Duration self, SseSerializer serializer); - -@protected void sse_encode_I128(BigInt self, SseSerializer serializer); - -@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(Map self, SseSerializer serializer); - -@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(Map self, SseSerializer serializer); - -@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(Map self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer); - -@protected void sse_encode_Set_String_None(Set self, SseSerializer serializer); - -@protected void sse_encode_String(String self, SseSerializer serializer); - -@protected void sse_encode_U128(BigInt self, SseSerializer serializer); - -@protected void sse_encode_access_type(AccessType self, SseSerializer serializer); - -@protected void sse_encode_bool(bool self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Chrono_Duration(Duration self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_query_completion(QueryCompletion self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_search_fn(SearchFn self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_spelling_correction(SpellingCorrection self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_u_32(int self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_unit(void self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_usize(BigInt self, SseSerializer serializer); - -@protected void sse_encode_compression_type(CompressionType self, SseSerializer serializer); - -@protected void sse_encode_distance_field(DistanceField self, SseSerializer serializer); - -@protected void sse_encode_distance_unit(DistanceUnit self, SseSerializer serializer); - -@protected void sse_encode_f_32(double self, SseSerializer serializer); - -@protected void sse_encode_f_64(double self, SseSerializer serializer); - -@protected void sse_encode_field_type(FieldType self, SseSerializer serializer); - -@protected void sse_encode_highlight(Highlight self, SseSerializer serializer); - -@protected void sse_encode_i_16(int self, SseSerializer serializer); - -@protected void sse_encode_i_32(int self, SseSerializer serializer); - -@protected void sse_encode_i_64(PlatformInt64 self, SseSerializer serializer); - -@protected void sse_encode_i_8(int self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(List self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(List self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(List self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(List self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(List self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(List self, SseSerializer serializer); - -@protected void sse_encode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(List> self, SseSerializer serializer); - -@protected void sse_encode_list_String(List self, SseSerializer serializer); - -@protected void sse_encode_list_distance_field(List self, SseSerializer serializer); - -@protected void sse_encode_list_highlight(List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_f_64_loose(List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_f_64_strict(Float64List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_u_64_strict(Uint64List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_u_8_loose(List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_u_8_strict(Uint8List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_usize_strict(Uint64List self, SseSerializer serializer); - -@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(List<(String,MinMaxFieldJson)> self, SseSerializer serializer); - -@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(List<(String,SchemaField)> self, SseSerializer serializer); - -@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(List<(String,Value)> self, SseSerializer serializer); - -@protected void sse_encode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(List<(BigInt,Map)> self, SseSerializer serializer); - -@protected void sse_encode_list_synonym(List self, SseSerializer serializer); - -@protected void sse_encode_missed_tick_behavior(MissedTickBehavior self, SseSerializer serializer); - -@protected void sse_encode_ngram_type(NgramType self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Chrono_Duration(Duration? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_query_completion(QueryCompletion? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_spelling_correction(SpellingCorrection? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_u_32(int? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_unit(void? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_usize(BigInt? self, SseSerializer serializer); - -@protected void sse_encode_opt_list_prim_usize_strict(Uint64List? self, SseSerializer serializer); - -@protected void sse_encode_query_completion(QueryCompletion self, SseSerializer serializer); - -@protected void sse_encode_query_type(QueryType self, SseSerializer serializer); - -@protected void sse_encode_range_type(RangeType self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream((DuplexStream,DuplexStream) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half((OwnedReadHalf,OwnedWriteHalf) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream((ReadHalfSimplexStream,WriteHalfSimplexStream) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver((Sender,Receiver) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((TcpStream,SocketAddr) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram((UnixDatagram,UnixDatagram) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((UnixStream,SocketAddr) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream((UnixStream,UnixStream) self, SseSerializer serializer); - -@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json((String,MinMaxFieldJson) self, SseSerializer serializer); - -@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field((String,SchemaField) self, SseSerializer serializer); - -@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value((String,Value) self, SseSerializer serializer); - -@protected void sse_encode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer); - -@protected void sse_encode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((BigInt,SocketAddr) self, SseSerializer serializer); - -@protected void sse_encode_result_type(ResultType self, SseSerializer serializer); - -@protected void sse_encode_runtime_flavor(RuntimeFlavor self, SseSerializer serializer); - -@protected void sse_encode_search_fn(SearchFn self, SseSerializer serializer); - -@protected void sse_encode_similarity_type(SimilarityType self, SseSerializer serializer); - -@protected void sse_encode_sort_order(SortOrder self, SseSerializer serializer); - -@protected void sse_encode_spelling_correction(SpellingCorrection self, SseSerializer serializer); - -@protected void sse_encode_stemmer_type(StemmerType self, SseSerializer serializer); - -@protected void sse_encode_synonym(Synonym self, SseSerializer serializer); - -@protected void sse_encode_tokenizer_type(TokenizerType self, SseSerializer serializer); - -@protected void sse_encode_try_acquire_error(TryAcquireError self, SseSerializer serializer); - -@protected void sse_encode_u_16(int self, SseSerializer serializer); - -@protected void sse_encode_u_32(int self, SseSerializer serializer); - -@protected void sse_encode_u_64(BigInt self, SseSerializer serializer); - -@protected void sse_encode_u_8(int self, SseSerializer serializer); - -@protected void sse_encode_unit(void self, SseSerializer serializer); - -@protected void sse_encode_usize(BigInt self, SseSerializer serializer); - } - - - -// Section: wire_class - - - class RustLibWire implements BaseWire { - - factory RustLibWire.fromExternalLibrary(ExternalLibrary lib) => - RustLibWire(lib.ffiDynamicLibrary); - - /// Holds the symbol lookup function. - final ffi.Pointer Function(String symbolName) - _lookup; - - /// The symbols are looked up in [dynamicLibrary]. - RustLibWire(ffi.DynamicLibrary dynamicLibrary) - : _lookup = dynamicLibrary.lookup; - - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacetPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacetPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireErrorPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireErrorPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndexPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndexPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndexPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndexPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResultPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResultPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderrPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderrPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdinPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdinPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdinPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdinPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdoutPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdoutPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdoutPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdoutPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommandPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommandPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommandPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommandPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstaticPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstaticPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItemPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItemPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItemPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItemPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStreamPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStreamPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmptyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmptyPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmptyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmptyPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstaticPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstaticPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerErrorPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerErrorPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatusPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatusPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatusPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatusPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFieldPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFieldPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilterPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilterPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilterPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilterPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValuePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValuePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValuePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValuePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFilePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFilePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFilePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFilePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileTypePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileTypePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordTypePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordTypePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandlePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandlePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandlePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandlePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighterPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighterPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighterPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighterPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIdPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIdPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIdPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIdPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusizePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusizePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObjectPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObjectPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObjectPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObjectPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstantPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstantPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstantPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstantPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterestPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterestPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterestPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterestPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIntervalPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIntervalPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIntervalPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIntervalPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_ = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_Ptr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_ = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_Ptr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestaticPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestaticPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4AddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4AddrPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4AddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4AddrPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6AddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6AddrPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6AddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6AddrPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuardPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuardPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuardPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuardPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSetPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSetPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJsonPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJsonPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJsonPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJsonPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstaticPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstaticPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifyPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifyPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptionsPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptionsPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptionsPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptionsPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrderingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrderingPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrderingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrderingPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFdPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFdPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFdPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFdPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotifiedPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotifiedPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotifiedPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotifiedPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermitPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermitPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermitPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermitPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPathPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPathPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPathPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPathPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstaticPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstaticPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstantPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstantPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstantPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstantPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPendingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPendingPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPendingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPendingPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddrPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddrPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddrPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddrPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddrPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddrPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusizePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusizePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusizePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusizePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusizePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacetPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacetPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacetPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewritingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewritingPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewritingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewritingPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangesPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangesPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangesPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangesPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64 = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64Ptr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64 = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64Ptr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstaticPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstaticPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStreamPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStreamPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadyPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadyPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadyPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvErrorPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvErrorPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeatPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeatPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeatPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeatPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPendingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPendingPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPendingPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPendingPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObjectPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObjectPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObjectPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObjectPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSortPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSortPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSortPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSortPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteErrorPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteErrorPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetricsPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetricsPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetricsPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetricsPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaFieldPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaFieldPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaFieldPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFromPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFromPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFromPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFromPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstaticPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstaticPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstaticPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKindPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKindPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKindPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKindPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStreamPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStreamPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSinkPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSinkPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSinkPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSinkPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleepPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleepPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleepPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleepPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddrPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddrPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommandPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommandPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommandPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommandPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderrPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderrPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderrPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdinPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdinPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdinPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdinPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdoutPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdoutPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdoutPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdoutPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordTypePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordTypePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListenerPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListenerPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListenerPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListenerPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocketPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocketPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStreamPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStreamPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentErrorPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentErrorPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvErrorPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvErrorPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCredPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCredPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCredPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCredPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocketPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocketPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagramPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagramPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagramPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagramPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListenerPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListenerPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListenerPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListenerPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocketPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocketPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocketPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStreamPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStreamPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValuePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValuePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValuePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValuePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueTypePtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueTypePtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueTypePtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderTPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderTPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderTPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStreamPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStreamPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStreamPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelfPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelfPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelfPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_intPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_intPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_intPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_intPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_tPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_tPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_tPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_tPtr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8 = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8Ptr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( - ptr, - ); - } +// Section: wire_class - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8Ptr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8 = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8Ptr.asFunction)>(); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( - ptr, - ); - } +class RustLibWire implements BaseWire { + factory RustLibWire.fromExternalLibrary(ExternalLibrary lib) => + RustLibWire(lib.ffiDynamicLibrary); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_tPtr.asFunction)>(); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( - ptr, - ); - } + /// Holds the symbol lookup function. + final ffi.Pointer Function(String symbolName) + _lookup; - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_tPtr = _lookup)>>('frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_tPtr.asFunction)>(); - - } - \ No newline at end of file + /// The symbols are looked up in [dynamicLibrary]. + RustLibWire(ffi.DynamicLibrary dynamicLibrary) + : _lookup = dynamicLibrary.lookup; +} diff --git a/mobile_app/lib/src/rust/frb_generated.web.dart b/mobile_app/lib/src/rust/frb_generated.web.dart index 4fddeda..981737f 100644 --- a/mobile_app/lib/src/rust/frb_generated.web.dart +++ b/mobile_app/lib/src/rust/frb_generated.web.dart @@ -3,5149 +3,82 @@ // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field - // Static analysis wrongly picks the IO variant, thus ignore this // ignore_for_file: argument_type_not_assignable -import 'api/keyword_search.dart'; import 'api/simple.dart'; import 'dart:async'; import 'dart:convert'; import 'frb_generated.dart'; -import 'lib.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_web.dart'; -import 'third_party/seekstorm/commit.dart'; -import 'third_party/seekstorm/geo_search.dart'; -import 'third_party/seekstorm/highlighter.dart'; -import 'third_party/seekstorm/index.dart'; -import 'third_party/seekstorm/ingest.dart'; -import 'third_party/seekstorm/search.dart'; -import 'third_party/seekstorm/utils.dart'; -import 'third_party/tokio/io.dart'; -import 'third_party/tokio/macros/support.dart'; -import 'third_party/tokio/net.dart'; -import 'third_party/tokio/net/tcp.dart'; -import 'third_party/tokio/net/tcp/listener.dart'; -import 'third_party/tokio/net/tcp/split_owned.dart'; -import 'third_party/tokio/net/udp.dart'; -import 'third_party/tokio/net/unix.dart'; -import 'third_party/tokio/net/unix/datagram/socket.dart'; -import 'third_party/tokio/net/unix/listener.dart'; -import 'third_party/tokio/net/unix/pipe.dart'; -import 'third_party/tokio/process.dart'; -import 'third_party/tokio/process/sys.dart'; -import 'third_party/tokio/runtime.dart'; -import 'third_party/tokio/signal.dart'; -import 'third_party/tokio/signal/unix.dart'; -import 'third_party/tokio/sync.dart'; -import 'third_party/tokio/sync/broadcast.dart'; -import 'third_party/tokio/sync/broadcast/error.dart'; -import 'third_party/tokio/sync/mpsc/bounded.dart'; -import 'third_party/tokio/sync/mpsc/error.dart'; -import 'third_party/tokio/sync/oneshot.dart'; -import 'third_party/tokio/sync/watch.dart'; -import 'third_party/tokio/task.dart'; -import 'third_party/tokio/task/coop.dart'; -import 'third_party/tokio/time.dart'; -import 'third_party/tokio/time/error.dart'; -import 'third_party/tokio/time/interval.dart'; - - - - - abstract class RustLibApiImplPlatform extends BaseApiImpl { - RustLibApiImplPlatform({ - required super.handler, - required super.wire, - required super.generalizedFrbRustBinding, - required super.portManager, - }); - - CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AHashMapStringFacetPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_AcquireErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ArcIndexPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_BarrierWaitResultPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStderrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdinPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ChildStdoutPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CommandPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ContextPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DocumentItemPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_DuplexStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EmptyPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_EnterGuardPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ExitStatusPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFieldPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetFilterPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FacetValuePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FilePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FileTypePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FillBufSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FlushSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_FrequentwordTypePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HandlePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_HighlighterPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IdPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMapStringVecStringUsizePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IndexMetaObjectPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InstantPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_InterestPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IntervalPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSliceMutPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_IoSlicePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv4AddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_Ipv6AddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LinesSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalEnterGuardPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_LocalSetPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MinMaxFieldJsonPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifiedPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_NotifyPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OpenOptionsPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OrderingPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedFdPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedNotifiedPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedPermitTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedReadHalfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedSemaphorePermitPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_OwnedWriteHalfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PathPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PdfDocumentPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitIteratorTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PermitTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollInstantPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollOptionTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollRestoreOnPendingPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultSocketAddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultTcpStreamSocketAddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUnixStreamSocketAddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollResultUsizePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PollUsizePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryFacetPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_QueryRewritingPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangesPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RangeU64Ptr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadBufPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadF64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadHalfSimplexStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI128MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI16MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadI8MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU128MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU16MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadU8MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReadyPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReceiverTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RecvErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RefTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RepeatPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RestoreOnPendingPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultObjectPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ResultSortPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ReuniteErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RuntimeMetricsPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SchemaFieldPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekFromPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SeekSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SemaphorePermitPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendErrorTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SendTimeoutErrorTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SenderTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ShutdownSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SignalKindPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind; -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SimplexStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream; +abstract class RustLibApiImplPlatform extends BaseApiImpl { + RustLibApiImplPlatform({ + required super.handler, + required super.wire, + required super.generalizedFrbRustBinding, + required super.portManager, + }); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SinkPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink; + @protected + String dco_decode_String(dynamic raw); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SleepPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep; + @protected + Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SocketAddrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr; + @protected + int dco_decode_u_8(dynamic raw); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_SplitSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf; + @protected + void dco_decode_unit(dynamic raw); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdCommandPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand; + @protected + String sse_decode_String(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StderrPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr; + @protected + Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdinPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin; + @protected + int sse_decode_u_8(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StdoutPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout; + @protected + void sse_decode_unit(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_StopwordTypePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType; + @protected + int sse_decode_i_32(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT; + @protected + bool sse_decode_bool(SseDeserializer deserializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TakeSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf; + @protected + void sse_encode_String(String self, SseSerializer serializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpListenerPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener; + @protected + void sse_encode_list_prim_u_8_strict( + Uint8List self, SseSerializer serializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpSocketPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket; + @protected + void sse_encode_u_8(int self, SseSerializer serializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TcpStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream; + @protected + void sse_encode_unit(void self, SseSerializer serializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryCurrentErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError; + @protected + void sse_encode_i_32(int self, SseSerializer serializer); -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TryRecvErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError; + @protected + void sse_encode_bool(bool self, SseSerializer serializer); +} -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_TrySendErrorTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UCredPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UdpSocketPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixDatagramPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixListenerPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixSocketPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UnixStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValuePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_ValueTypePtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_VecTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WeakSenderTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteF64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteHalfSimplexStreamPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI128MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI16MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteI8MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU128MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU16MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU32MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64LeMutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU64MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_WriteU8MutSelfPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_CIntPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_GidTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PidTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_U8Ptr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8; - -CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_UidTPtr => wire.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t; - - - - @protected AnyhowException dco_decode_AnyhowException(dynamic raw); - -@protected AHashMapStringFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); - -@protected AcquireError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw); - -@protected ArcIndex dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); - -@protected Barrier dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); - -@protected BarrierWaitResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); - -@protected Child dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); - -@protected ChildStderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); - -@protected ChildStdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); - -@protected ChildStdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); - -@protected Command dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); - -@protected DocumentItem dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw); - -@protected DuplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw); - -@protected Empty dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw); - -@protected EnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw); - -@protected Error dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); - -@protected ExitStatus dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); - -@protected FacetField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); - -@protected FacetFilter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); - -@protected FacetValue dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw); - -@protected File dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw); - -@protected FileType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw); - -@protected FillBufSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw); - -@protected FlushSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw); - -@protected FrequentwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw); - -@protected Handle dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); - -@protected Highlighter dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); - -@protected Id dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw); - -@protected Index dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); - -@protected IndexMapStringVecStringUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw); - -@protected IndexMetaObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); - -@protected Instant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw); - -@protected Interest dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); - -@protected Interval dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); - -@protected IoSlice dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); - -@protected Ipv4Addr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw); - -@protected LinesSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw); - -@protected LocalEnterGuard dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw); - -@protected LocalSet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); - -@protected MinMaxField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); - -@protected MinMaxFieldJson dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); - -@protected Notified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw); - -@protected Notify dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); - -@protected OpenOptions dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); - -@protected Ordering dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw); - -@protected OwnedFd dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw); - -@protected OwnedNotified dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw); - -@protected OwnedPermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw); - -@protected OwnedReadHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); - -@protected OwnedSemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected OwnedWriteHalf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); - -@protected PdfDocument dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw); - -@protected PermitIteratorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw); - -@protected PermitT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw); - -@protected Poll dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw); - -@protected PollInstant dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw); - -@protected PollOption dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw); - -@protected PollOptionT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw); - -@protected PollRestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw); - -@protected PollResult dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw); - -@protected PollResultSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw); - -@protected PollResultTcpStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw); - -@protected PollResultUnixStreamSocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw); - -@protected PollResultUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw); - -@protected PollUsize dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw); - -@protected QueryFacet dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); - -@protected QueryRewriting dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw); - -@protected Ranges dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw); - -@protected RangeU64 dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw); - -@protected ReadF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw); - -@protected ReadF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw); - -@protected ReadF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw); - -@protected ReadF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw); - -@protected ReadHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw); - -@protected ReadI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw); - -@protected ReadI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw); - -@protected ReadI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw); - -@protected ReadI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw); - -@protected ReadI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw); - -@protected ReadI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw); - -@protected ReadI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw); - -@protected ReadI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw); - -@protected ReadI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw); - -@protected ReadU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw); - -@protected ReadU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw); +// Section: wire_class -@protected ReadU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw); - -@protected ReadU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw); - -@protected ReadU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw); - -@protected ReadU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw); - -@protected ReadU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw); - -@protected ReadU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw); - -@protected ReadU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw); - -@protected Ready dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw); - -@protected Receiver dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); - -@protected ReceiverT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); - -@protected RecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw); - -@protected RefT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw); - -@protected Repeat dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw); - -@protected RestoreOnPending dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); - -@protected Result dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); - -@protected ResultObject dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); - -@protected ResultSort dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); - -@protected ReuniteError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); - -@protected Runtime dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); - -@protected RuntimeMetrics dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); - -@protected SchemaField dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); - -@protected SeekFrom dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw); - -@protected SeekSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw); - -@protected Semaphore dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); - -@protected SemaphorePermit dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw); - -@protected SendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw); - -@protected SendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw); - -@protected SendTimeoutErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw); - -@protected Sender dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); - -@protected SenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); - -@protected Shutdown dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw); - -@protected ShutdownSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw); - -@protected Signal dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); - -@protected SignalKind dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); - -@protected SimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw); - -@protected Sink dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw); - -@protected Sleep dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); - -@protected SocketAddr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); - -@protected SplitSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw); - -@protected StdCommand dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw); - -@protected Stderr dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw); - -@protected Stdin dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw); - -@protected Stdout dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw); - -@protected StopwordType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw); - -@protected T dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw); - -@protected TakeSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw); - -@protected TcpListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); - -@protected TcpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); - -@protected TcpStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); - -@protected TryCurrentError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); - -@protected TryRecvError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw); - -@protected TrySendError dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw); - -@protected TrySendErrorSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw); - -@protected TrySendErrorT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw); - -@protected UCred dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); - -@protected UdpSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); - -@protected UnixDatagram dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); - -@protected UnixListener dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); - -@protected UnixSocket dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw); - -@protected UnixStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); - -@protected Value dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw); - -@protected ValueType dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw); - -@protected WeakSenderT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw); - -@protected WriteF32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw); - -@protected WriteF32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw); - -@protected WriteF64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw); - -@protected WriteF64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw); - -@protected WriteHalfSimplexStream dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw); - -@protected WriteI128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw); - -@protected WriteI128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw); - -@protected WriteI16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw); - -@protected WriteI16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw); - -@protected WriteI32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw); - -@protected WriteI32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw); - -@protected WriteI64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw); - -@protected WriteI64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw); - -@protected WriteI8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw); - -@protected WriteU128LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw); - -@protected WriteU128MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw); - -@protected WriteU16LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw); - -@protected WriteU16MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw); - -@protected WriteU32LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw); - -@protected WriteU32MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw); - -@protected WriteU64LeMutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw); - -@protected WriteU64MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw); - -@protected WriteU8MutSelf dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw); - -@protected CInt dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw); - -@protected GidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw); - -@protected PidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); - -@protected UidT dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw); - -@protected Child dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); - -@protected Command dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); - -@protected Context dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw); - -@protected FacetField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); - -@protected Index dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); - -@protected IndexMetaObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); - -@protected Interval dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); - -@protected IoSliceMut dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw); - -@protected MinMaxField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); - -@protected MinMaxFieldJson dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); - -@protected OpenOptions dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); - -@protected OwnedReadHalf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); - -@protected OwnedSemaphorePermit dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected ReadBuf dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw); - -@protected ReceiverT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); - -@protected ResultObject dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); - -@protected ResultSort dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); - -@protected ReuniteError dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); - -@protected SchemaField dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); - -@protected SenderT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); - -@protected Signal dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); - -@protected VecT dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw); - -@protected U8 dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw); - -@protected ArcIndex dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); - -@protected Barrier dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); - -@protected BarrierWaitResult dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); - -@protected Child dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); - -@protected Command dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); - -@protected Error dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); - -@protected FacetField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); - -@protected Handle dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); - -@protected Index dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); - -@protected IndexMetaObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); - -@protected Interval dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); - -@protected Ipv6Addr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw); - -@protected LocalSet dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); - -@protected MinMaxField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); - -@protected MinMaxFieldJson dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); - -@protected Notify dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); - -@protected OwnedReadHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); - -@protected OwnedSemaphorePermit dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected OwnedWriteHalf dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); - -@protected Path dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); - -@protected Receiver dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); - -@protected ReceiverT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); - -@protected RestoreOnPending dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); - -@protected ResultObject dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); - -@protected ResultSort dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); - -@protected ReuniteError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); - -@protected Runtime dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); - -@protected RuntimeMetrics dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); - -@protected SchemaField dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); - -@protected Semaphore dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); - -@protected Sender dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); - -@protected SenderT dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); - -@protected SignalKind dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); - -@protected Sleep dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); - -@protected SocketAddr dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); - -@protected TcpListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); - -@protected TcpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); - -@protected TcpStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); - -@protected TryCurrentError dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); - -@protected UCred dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); - -@protected UdpSocket dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); - -@protected UnixDatagram dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); - -@protected UnixListener dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); - -@protected UnixStream dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); - -@protected Duration dco_decode_Chrono_Duration(dynamic raw); - -@protected BigInt dco_decode_I128(dynamic raw); - -@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(dynamic raw); - -@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(dynamic raw); - -@protected Map dco_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw); - -@protected AHashMapStringFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); - -@protected AcquireError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(dynamic raw); - -@protected ArcIndex dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(dynamic raw); - -@protected Barrier dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(dynamic raw); - -@protected BarrierWaitResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(dynamic raw); - -@protected Child dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(dynamic raw); - -@protected ChildStderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); - -@protected ChildStdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); - -@protected ChildStdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); - -@protected Command dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(dynamic raw); - -@protected Context dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(dynamic raw); - -@protected DocumentItem dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(dynamic raw); - -@protected DuplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(dynamic raw); - -@protected Empty dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(dynamic raw); - -@protected EnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(dynamic raw); - -@protected Error dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); - -@protected ExitStatus dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); - -@protected FacetField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(dynamic raw); - -@protected FacetFilter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); - -@protected FacetValue dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(dynamic raw); - -@protected File dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(dynamic raw); - -@protected FileType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(dynamic raw); - -@protected FillBufSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(dynamic raw); - -@protected FlushSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(dynamic raw); - -@protected FrequentwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(dynamic raw); - -@protected Handle dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(dynamic raw); - -@protected Highlighter dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); - -@protected Id dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(dynamic raw); - -@protected Index dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(dynamic raw); - -@protected IndexMapStringVecStringUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(dynamic raw); - -@protected IndexMetaObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(dynamic raw); - -@protected Instant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(dynamic raw); - -@protected Interest dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); - -@protected Interval dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(dynamic raw); - -@protected IoSliceMut dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(dynamic raw); - -@protected IoSlice dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); - -@protected Ipv4Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(dynamic raw); - -@protected Ipv6Addr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(dynamic raw); - -@protected LinesSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(dynamic raw); - -@protected LocalEnterGuard dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(dynamic raw); - -@protected LocalSet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(dynamic raw); - -@protected MinMaxField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(dynamic raw); - -@protected MinMaxFieldJson dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(dynamic raw); - -@protected Notified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(dynamic raw); - -@protected Notify dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(dynamic raw); - -@protected OpenOptions dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(dynamic raw); - -@protected Ordering dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(dynamic raw); - -@protected OwnedFd dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(dynamic raw); - -@protected OwnedNotified dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(dynamic raw); - -@protected OwnedPermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(dynamic raw); - -@protected OwnedReadHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(dynamic raw); - -@protected OwnedSemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected OwnedWriteHalf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(dynamic raw); - -@protected Path dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); - -@protected PdfDocument dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(dynamic raw); - -@protected PermitIteratorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(dynamic raw); - -@protected PermitT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(dynamic raw); - -@protected Poll dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(dynamic raw); - -@protected PollInstant dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(dynamic raw); - -@protected PollOption dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(dynamic raw); - -@protected PollOptionT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(dynamic raw); - -@protected PollRestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(dynamic raw); - -@protected PollResult dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(dynamic raw); - -@protected PollResultSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(dynamic raw); - -@protected PollResultTcpStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(dynamic raw); - -@protected PollResultUnixStreamSocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(dynamic raw); - -@protected PollResultUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(dynamic raw); - -@protected PollUsize dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(dynamic raw); - -@protected QueryFacet dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); - -@protected QueryRewriting dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(dynamic raw); - -@protected Ranges dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(dynamic raw); - -@protected RangeU64 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(dynamic raw); - -@protected ReadBuf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(dynamic raw); - -@protected ReadF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(dynamic raw); - -@protected ReadF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(dynamic raw); - -@protected ReadF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(dynamic raw); - -@protected ReadF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(dynamic raw); - -@protected ReadHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(dynamic raw); - -@protected ReadI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(dynamic raw); - -@protected ReadI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(dynamic raw); - -@protected ReadI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(dynamic raw); - -@protected ReadI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(dynamic raw); - -@protected ReadI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(dynamic raw); - -@protected ReadI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(dynamic raw); - -@protected ReadI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(dynamic raw); - -@protected ReadI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(dynamic raw); - -@protected ReadI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(dynamic raw); - -@protected ReadU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(dynamic raw); - -@protected ReadU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(dynamic raw); - -@protected ReadU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(dynamic raw); - -@protected ReadU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(dynamic raw); - -@protected ReadU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(dynamic raw); - -@protected ReadU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(dynamic raw); - -@protected ReadU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(dynamic raw); - -@protected ReadU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(dynamic raw); - -@protected ReadU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(dynamic raw); - -@protected Ready dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(dynamic raw); - -@protected Receiver dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(dynamic raw); - -@protected ReceiverT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(dynamic raw); - -@protected RecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(dynamic raw); - -@protected RefT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(dynamic raw); - -@protected Repeat dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(dynamic raw); - -@protected RestoreOnPending dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(dynamic raw); - -@protected Result dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); - -@protected ResultObject dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(dynamic raw); - -@protected ResultSort dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); - -@protected ReuniteError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(dynamic raw); - -@protected Runtime dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(dynamic raw); - -@protected RuntimeMetrics dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(dynamic raw); - -@protected SchemaField dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); - -@protected SeekFrom dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(dynamic raw); - -@protected SeekSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(dynamic raw); - -@protected Semaphore dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(dynamic raw); - -@protected SemaphorePermit dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(dynamic raw); - -@protected SendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(dynamic raw); - -@protected SendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(dynamic raw); - -@protected SendTimeoutErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(dynamic raw); - -@protected Sender dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(dynamic raw); - -@protected SenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(dynamic raw); - -@protected Shutdown dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(dynamic raw); - -@protected ShutdownSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(dynamic raw); - -@protected Signal dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(dynamic raw); - -@protected SignalKind dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(dynamic raw); - -@protected SimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(dynamic raw); - -@protected Sink dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(dynamic raw); - -@protected Sleep dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(dynamic raw); - -@protected SocketAddr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(dynamic raw); - -@protected SplitSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(dynamic raw); - -@protected StdCommand dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(dynamic raw); - -@protected Stderr dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(dynamic raw); - -@protected Stdin dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(dynamic raw); - -@protected Stdout dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(dynamic raw); - -@protected StopwordType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(dynamic raw); - -@protected T dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(dynamic raw); - -@protected TakeSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(dynamic raw); - -@protected TcpListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(dynamic raw); - -@protected TcpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(dynamic raw); - -@protected TcpStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(dynamic raw); - -@protected TryCurrentError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(dynamic raw); - -@protected TryRecvError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(dynamic raw); - -@protected TrySendError dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(dynamic raw); - -@protected TrySendErrorSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(dynamic raw); - -@protected TrySendErrorT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(dynamic raw); - -@protected UCred dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(dynamic raw); - -@protected UdpSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(dynamic raw); - -@protected UnixDatagram dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(dynamic raw); - -@protected UnixListener dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(dynamic raw); - -@protected UnixSocket dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(dynamic raw); - -@protected UnixStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(dynamic raw); - -@protected Value dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(dynamic raw); - -@protected ValueType dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(dynamic raw); - -@protected VecT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(dynamic raw); - -@protected WeakSenderT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(dynamic raw); - -@protected WriteF32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(dynamic raw); - -@protected WriteF32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(dynamic raw); - -@protected WriteF64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(dynamic raw); - -@protected WriteF64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(dynamic raw); - -@protected WriteHalfSimplexStream dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(dynamic raw); - -@protected WriteI128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(dynamic raw); - -@protected WriteI128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(dynamic raw); - -@protected WriteI16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(dynamic raw); - -@protected WriteI16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(dynamic raw); - -@protected WriteI32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(dynamic raw); - -@protected WriteI32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(dynamic raw); - -@protected WriteI64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(dynamic raw); - -@protected WriteI64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(dynamic raw); - -@protected WriteI8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(dynamic raw); - -@protected WriteU128LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(dynamic raw); - -@protected WriteU128MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(dynamic raw); - -@protected WriteU16LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(dynamic raw); - -@protected WriteU16MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(dynamic raw); - -@protected WriteU32LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(dynamic raw); - -@protected WriteU32MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(dynamic raw); - -@protected WriteU64LeMutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(dynamic raw); - -@protected WriteU64MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(dynamic raw); - -@protected WriteU8MutSelf dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(dynamic raw); - -@protected CInt dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(dynamic raw); - -@protected GidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(dynamic raw); - -@protected PidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); - -@protected U8 dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(dynamic raw); - -@protected UidT dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(dynamic raw); - -@protected Set dco_decode_Set_String_None(dynamic raw); - -@protected String dco_decode_String(dynamic raw); - -@protected AsyncBufReadExt dco_decode_TraitDef_AsyncBufReadExt(dynamic raw); - -@protected AsyncReadExt dco_decode_TraitDef_AsyncReadExt(dynamic raw); - -@protected AsyncSeekExt dco_decode_TraitDef_AsyncSeekExt(dynamic raw); - -@protected AsyncWriteExt dco_decode_TraitDef_AsyncWriteExt(dynamic raw); - -@protected Close dco_decode_TraitDef_Close(dynamic raw); - -@protected Commit dco_decode_TraitDef_Commit(dynamic raw); - -@protected DeleteDocument dco_decode_TraitDef_DeleteDocument(dynamic raw); - -@protected DeleteDocuments dco_decode_TraitDef_DeleteDocuments(dynamic raw); - -@protected DeleteDocumentsByQuery dco_decode_TraitDef_DeleteDocumentsByQuery(dynamic raw); - -@protected IndexDocument dco_decode_TraitDef_IndexDocument(dynamic raw); - -@protected IndexDocument2 dco_decode_TraitDef_IndexDocument2(dynamic raw); - -@protected IndexDocumentShard dco_decode_TraitDef_IndexDocumentShard(dynamic raw); - -@protected IndexDocuments dco_decode_TraitDef_IndexDocuments(dynamic raw); - -@protected IndexPdf dco_decode_TraitDef_IndexPdf(dynamic raw); - -@protected IndexPdfBytes dco_decode_TraitDef_IndexPdfBytes(dynamic raw); - -@protected IndexPdfFile dco_decode_TraitDef_IndexPdfFile(dynamic raw); - -@protected IngestCsv dco_decode_TraitDef_IngestCsv(dynamic raw); - -@protected IngestJson dco_decode_TraitDef_IngestJson(dynamic raw); - -@protected IngestPdf dco_decode_TraitDef_IngestPdf(dynamic raw); - -@protected InternalStream dco_decode_TraitDef_InternalStream(dynamic raw); - -@protected Search dco_decode_TraitDef_Search(dynamic raw); - -@protected SearchShard dco_decode_TraitDef_SearchShard(dynamic raw); - -@protected UpdateDocument dco_decode_TraitDef_UpdateDocument(dynamic raw); - -@protected UpdateDocuments dco_decode_TraitDef_UpdateDocuments(dynamic raw); - -@protected BigInt dco_decode_U128(dynamic raw); - -@protected AccessType dco_decode_access_type(dynamic raw); - -@protected bool dco_decode_bool(dynamic raw); - -@protected AHashMapStringFacet dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); - -@protected ChildStderr dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); - -@protected ChildStdin dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); - -@protected ChildStdout dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); - -@protected Error dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); - -@protected ExitStatus dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); - -@protected Highlighter dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); - -@protected Interest dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); - -@protected OwnedSemaphorePermit dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected PidT dco_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); - -@protected Path dco_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); - -@protected Duration dco_decode_box_autoadd_Chrono_Duration(dynamic raw); - -@protected QueryCompletion dco_decode_box_autoadd_query_completion(dynamic raw); - -@protected (BigInt,Map) dco_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); - -@protected SearchFn dco_decode_box_autoadd_search_fn(dynamic raw); - -@protected SpellingCorrection dco_decode_box_autoadd_spelling_correction(dynamic raw); - -@protected int dco_decode_box_autoadd_u_32(dynamic raw); - -@protected void dco_decode_box_autoadd_unit(dynamic raw); - -@protected BigInt dco_decode_box_autoadd_usize(dynamic raw); - -@protected CompressionType dco_decode_compression_type(dynamic raw); - -@protected DistanceField dco_decode_distance_field(dynamic raw); - -@protected DistanceUnit dco_decode_distance_unit(dynamic raw); - -@protected double dco_decode_f_32(dynamic raw); - -@protected double dco_decode_f_64(dynamic raw); - -@protected FieldType dco_decode_field_type(dynamic raw); - -@protected Highlight dco_decode_highlight(dynamic raw); - -@protected int dco_decode_i_16(dynamic raw); - -@protected int dco_decode_i_32(dynamic raw); - -@protected PlatformInt64 dco_decode_i_64(dynamic raw); - -@protected int dco_decode_i_8(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(dynamic raw); - -@protected List dco_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(dynamic raw); - -@protected List> dco_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(dynamic raw); - -@protected List dco_decode_list_String(dynamic raw); - -@protected List dco_decode_list_distance_field(dynamic raw); - -@protected List dco_decode_list_highlight(dynamic raw); - -@protected List dco_decode_list_prim_f_64_loose(dynamic raw); - -@protected Float64List dco_decode_list_prim_f_64_strict(dynamic raw); - -@protected Uint64List dco_decode_list_prim_u_64_strict(dynamic raw); - -@protected List dco_decode_list_prim_u_8_loose(dynamic raw); - -@protected Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); - -@protected Uint64List dco_decode_list_prim_usize_strict(dynamic raw); - -@protected List<(String,MinMaxFieldJson)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw); - -@protected List<(String,SchemaField)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw); - -@protected List<(String,Value)> dco_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw); - -@protected List<(BigInt,Map)> dco_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); - -@protected List dco_decode_list_synonym(dynamic raw); - -@protected MissedTickBehavior dco_decode_missed_tick_behavior(dynamic raw); - -@protected NgramType dco_decode_ngram_type(dynamic raw); - -@protected AHashMapStringFacet? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(dynamic raw); - -@protected ChildStderr? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(dynamic raw); - -@protected ChildStdin? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(dynamic raw); - -@protected ChildStdout? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(dynamic raw); - -@protected Error? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(dynamic raw); - -@protected ExitStatus? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(dynamic raw); - -@protected Highlighter? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(dynamic raw); - -@protected Interest? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(dynamic raw); - -@protected OwnedSemaphorePermit? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(dynamic raw); - -@protected PidT? dco_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(dynamic raw); - -@protected Path? dco_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(dynamic raw); - -@protected Duration? dco_decode_opt_box_autoadd_Chrono_Duration(dynamic raw); - -@protected QueryCompletion? dco_decode_opt_box_autoadd_query_completion(dynamic raw); - -@protected SpellingCorrection? dco_decode_opt_box_autoadd_spelling_correction(dynamic raw); - -@protected int? dco_decode_opt_box_autoadd_u_32(dynamic raw); - -@protected void? dco_decode_opt_box_autoadd_unit(dynamic raw); - -@protected BigInt? dco_decode_opt_box_autoadd_usize(dynamic raw); - -@protected Uint64List? dco_decode_opt_list_prim_usize_strict(dynamic raw); - -@protected QueryCompletion dco_decode_query_completion(dynamic raw); - -@protected QueryType dco_decode_query_type(dynamic raw); - -@protected RangeType dco_decode_range_type(dynamic raw); - -@protected (DuplexStream,DuplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(dynamic raw); - -@protected (OwnedReadHalf,OwnedWriteHalf) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(dynamic raw); - -@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(dynamic raw); - -@protected (Sender,Receiver) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(dynamic raw); - -@protected (TcpStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); - -@protected (UnixDatagram,UnixDatagram) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(dynamic raw); - -@protected (UnixStream,SocketAddr) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); - -@protected (UnixStream,UnixStream) dco_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(dynamic raw); - -@protected (String,MinMaxFieldJson) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(dynamic raw); - -@protected (String,SchemaField) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(dynamic raw); - -@protected (String,Value) dco_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(dynamic raw); - -@protected (BigInt,Map) dco_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(dynamic raw); - -@protected (BigInt,SocketAddr) dco_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(dynamic raw); - -@protected ResultType dco_decode_result_type(dynamic raw); - -@protected RuntimeFlavor dco_decode_runtime_flavor(dynamic raw); - -@protected SearchFn dco_decode_search_fn(dynamic raw); - -@protected SimilarityType dco_decode_similarity_type(dynamic raw); - -@protected SortOrder dco_decode_sort_order(dynamic raw); - -@protected SpellingCorrection dco_decode_spelling_correction(dynamic raw); - -@protected StemmerType dco_decode_stemmer_type(dynamic raw); - -@protected Synonym dco_decode_synonym(dynamic raw); - -@protected TokenizerType dco_decode_tokenizer_type(dynamic raw); - -@protected TryAcquireError dco_decode_try_acquire_error(dynamic raw); - -@protected int dco_decode_u_16(dynamic raw); - -@protected int dco_decode_u_32(dynamic raw); - -@protected BigInt dco_decode_u_64(dynamic raw); - -@protected int dco_decode_u_8(dynamic raw); - -@protected void dco_decode_unit(dynamic raw); - -@protected BigInt dco_decode_usize(dynamic raw); - -@protected AnyhowException sse_decode_AnyhowException(SseDeserializer deserializer); - -@protected AHashMapStringFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); - -@protected AcquireError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer); - -@protected ArcIndex sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); - -@protected Barrier sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); - -@protected BarrierWaitResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); - -@protected Child sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); - -@protected ChildStderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); - -@protected ChildStdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); - -@protected ChildStdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); - -@protected Command sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); - -@protected DocumentItem sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer); - -@protected DuplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer); - -@protected Empty sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer); - -@protected EnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer); - -@protected Error sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); - -@protected ExitStatus sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); - -@protected FacetField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); - -@protected FacetFilter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); - -@protected FacetValue sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer); - -@protected File sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer); - -@protected FileType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer); - -@protected FillBufSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer); - -@protected FlushSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer); - -@protected FrequentwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer); - -@protected Handle sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); - -@protected Highlighter sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); - -@protected Id sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer); - -@protected Index sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); - -@protected IndexMapStringVecStringUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer); - -@protected IndexMetaObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); - -@protected Instant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer); - -@protected Interest sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); - -@protected Interval sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); - -@protected IoSlice sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); - -@protected Ipv4Addr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer); - -@protected LinesSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer); - -@protected LocalEnterGuard sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer); - -@protected LocalSet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); - -@protected MinMaxField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); - -@protected MinMaxFieldJson sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); - -@protected Notified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer); - -@protected Notify sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); - -@protected OpenOptions sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); - -@protected Ordering sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer); - -@protected OwnedFd sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer); - -@protected OwnedNotified sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer); - -@protected OwnedPermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer); - -@protected OwnedReadHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected OwnedWriteHalf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); - -@protected PdfDocument sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer); - -@protected PermitIteratorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer); - -@protected PermitT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer); - -@protected Poll sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer); - -@protected PollInstant sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer); - -@protected PollOption sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer); - -@protected PollOptionT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer); - -@protected PollRestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer); - -@protected PollResult sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer); - -@protected PollResultSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer); - -@protected PollResultTcpStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer); - -@protected PollResultUnixStreamSocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer); - -@protected PollResultUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer); - -@protected PollUsize sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer); - -@protected QueryFacet sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); - -@protected QueryRewriting sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer); - -@protected Ranges sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer); - -@protected RangeU64 sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer); - -@protected ReadF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer); - -@protected ReadF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer); - -@protected ReadF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer); - -@protected ReadF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer); - -@protected ReadHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer); - -@protected ReadI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer); - -@protected ReadI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer); - -@protected ReadI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer); - -@protected ReadI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer); - -@protected ReadI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer); - -@protected ReadI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer); - -@protected ReadI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer); - -@protected ReadI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer); - -@protected ReadI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer); - -@protected ReadU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer); - -@protected ReadU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer); - -@protected ReadU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer); - -@protected ReadU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer); - -@protected ReadU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer); - -@protected ReadU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer); - -@protected ReadU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer); - -@protected ReadU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer); - -@protected ReadU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer); - -@protected Ready sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer); - -@protected Receiver sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); - -@protected ReceiverT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); - -@protected RecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer); - -@protected RefT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer); - -@protected Repeat sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer); - -@protected RestoreOnPending sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); - -@protected Result sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); - -@protected ResultObject sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); - -@protected ResultSort sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); - -@protected ReuniteError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); - -@protected Runtime sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); - -@protected RuntimeMetrics sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); - -@protected SchemaField sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); - -@protected SeekFrom sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer); - -@protected SeekSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer); - -@protected Semaphore sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); - -@protected SemaphorePermit sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer); - -@protected SendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer); - -@protected SendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer); - -@protected SendTimeoutErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer); - -@protected Sender sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); - -@protected SenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); - -@protected Shutdown sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer); - -@protected ShutdownSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer); - -@protected Signal sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); - -@protected SignalKind sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); - -@protected SimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer); - -@protected Sink sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer); - -@protected Sleep sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); - -@protected SocketAddr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); - -@protected SplitSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer); - -@protected StdCommand sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer); - -@protected Stderr sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer); - -@protected Stdin sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer); - -@protected Stdout sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer); - -@protected StopwordType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer); - -@protected T sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer); - -@protected TakeSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer); - -@protected TcpListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); - -@protected TcpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); - -@protected TcpStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); - -@protected TryCurrentError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); - -@protected TryRecvError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer); - -@protected TrySendError sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer); - -@protected TrySendErrorSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer); - -@protected TrySendErrorT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer); - -@protected UCred sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); - -@protected UdpSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); - -@protected UnixDatagram sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); - -@protected UnixListener sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); - -@protected UnixSocket sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer); - -@protected UnixStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); - -@protected Value sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer); - -@protected ValueType sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer); - -@protected WeakSenderT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer); - -@protected WriteF32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer); - -@protected WriteF32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer); - -@protected WriteF64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer); - -@protected WriteF64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer); - -@protected WriteHalfSimplexStream sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer); - -@protected WriteI128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer); - -@protected WriteI128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer); - -@protected WriteI16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer); - -@protected WriteI16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer); - -@protected WriteI32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer); - -@protected WriteI32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer); - -@protected WriteI64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer); - -@protected WriteI64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer); - -@protected WriteI8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer); - -@protected WriteU128LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer); - -@protected WriteU128MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer); - -@protected WriteU16LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer); - -@protected WriteU16MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer); - -@protected WriteU32LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer); - -@protected WriteU32MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer); - -@protected WriteU64LeMutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer); - -@protected WriteU64MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer); - -@protected WriteU8MutSelf sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer); - -@protected CInt sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer); - -@protected GidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer); - -@protected PidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); - -@protected UidT sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer); - -@protected Child sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); - -@protected Command sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); - -@protected Context sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer); - -@protected FacetField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); - -@protected Index sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); - -@protected IndexMetaObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); - -@protected Interval sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); - -@protected IoSliceMut sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer); - -@protected MinMaxField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); - -@protected MinMaxFieldJson sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); - -@protected OpenOptions sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); - -@protected OwnedReadHalf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected ReadBuf sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer); - -@protected ReceiverT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); - -@protected ResultObject sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); - -@protected ResultSort sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); - -@protected ReuniteError sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); - -@protected SchemaField sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); - -@protected SenderT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); - -@protected Signal sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); - -@protected VecT sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer); - -@protected U8 sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer); - -@protected ArcIndex sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); - -@protected Barrier sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); - -@protected BarrierWaitResult sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); - -@protected Child sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); - -@protected Command sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); - -@protected Error sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); - -@protected FacetField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); - -@protected Handle sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); - -@protected Index sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); - -@protected IndexMetaObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); - -@protected Interval sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); - -@protected Ipv6Addr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer); - -@protected LocalSet sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); - -@protected MinMaxField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); - -@protected MinMaxFieldJson sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); - -@protected Notify sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); - -@protected OwnedReadHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected OwnedWriteHalf sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); - -@protected Path sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); - -@protected Receiver sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); - -@protected ReceiverT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); - -@protected RestoreOnPending sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); - -@protected ResultObject sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); - -@protected ResultSort sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); - -@protected ReuniteError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); - -@protected Runtime sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); - -@protected RuntimeMetrics sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); - -@protected SchemaField sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); - -@protected Semaphore sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); - -@protected Sender sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); - -@protected SenderT sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); - -@protected SignalKind sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); - -@protected Sleep sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); - -@protected SocketAddr sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); - -@protected TcpListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); - -@protected TcpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); - -@protected TcpStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); - -@protected TryCurrentError sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); - -@protected UCred sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); - -@protected UdpSocket sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); - -@protected UnixDatagram sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); - -@protected UnixListener sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); - -@protected UnixStream sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); - -@protected Duration sse_decode_Chrono_Duration(SseDeserializer deserializer); - -@protected BigInt sse_decode_I128(SseDeserializer deserializer); - -@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(SseDeserializer deserializer); - -@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(SseDeserializer deserializer); - -@protected Map sse_decode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer); - -@protected AHashMapStringFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); - -@protected AcquireError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(SseDeserializer deserializer); - -@protected ArcIndex sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(SseDeserializer deserializer); - -@protected Barrier sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(SseDeserializer deserializer); - -@protected BarrierWaitResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(SseDeserializer deserializer); - -@protected Child sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(SseDeserializer deserializer); - -@protected ChildStderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); - -@protected ChildStdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); - -@protected ChildStdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); - -@protected Command sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(SseDeserializer deserializer); - -@protected Context sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(SseDeserializer deserializer); - -@protected DocumentItem sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(SseDeserializer deserializer); - -@protected DuplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(SseDeserializer deserializer); - -@protected Empty sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(SseDeserializer deserializer); - -@protected EnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(SseDeserializer deserializer); - -@protected Error sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); - -@protected ExitStatus sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); - -@protected FacetField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(SseDeserializer deserializer); - -@protected FacetFilter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); - -@protected FacetValue sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(SseDeserializer deserializer); - -@protected File sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(SseDeserializer deserializer); - -@protected FileType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(SseDeserializer deserializer); - -@protected FillBufSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(SseDeserializer deserializer); - -@protected FlushSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(SseDeserializer deserializer); - -@protected FrequentwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(SseDeserializer deserializer); - -@protected Handle sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(SseDeserializer deserializer); - -@protected Highlighter sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); - -@protected Id sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(SseDeserializer deserializer); - -@protected Index sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(SseDeserializer deserializer); - -@protected IndexMapStringVecStringUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(SseDeserializer deserializer); - -@protected IndexMetaObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(SseDeserializer deserializer); - -@protected Instant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(SseDeserializer deserializer); - -@protected Interest sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); - -@protected Interval sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(SseDeserializer deserializer); - -@protected IoSliceMut sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(SseDeserializer deserializer); - -@protected IoSlice sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); - -@protected Ipv4Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(SseDeserializer deserializer); - -@protected Ipv6Addr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(SseDeserializer deserializer); - -@protected LinesSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(SseDeserializer deserializer); - -@protected LocalEnterGuard sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(SseDeserializer deserializer); - -@protected LocalSet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(SseDeserializer deserializer); - -@protected MinMaxField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(SseDeserializer deserializer); - -@protected MinMaxFieldJson sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(SseDeserializer deserializer); - -@protected Notified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(SseDeserializer deserializer); - -@protected Notify sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(SseDeserializer deserializer); - -@protected OpenOptions sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(SseDeserializer deserializer); - -@protected Ordering sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(SseDeserializer deserializer); - -@protected OwnedFd sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(SseDeserializer deserializer); - -@protected OwnedNotified sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(SseDeserializer deserializer); - -@protected OwnedPermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(SseDeserializer deserializer); - -@protected OwnedReadHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected OwnedWriteHalf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(SseDeserializer deserializer); - -@protected Path sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); - -@protected PdfDocument sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(SseDeserializer deserializer); - -@protected PermitIteratorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(SseDeserializer deserializer); - -@protected PermitT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(SseDeserializer deserializer); - -@protected Poll sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(SseDeserializer deserializer); - -@protected PollInstant sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(SseDeserializer deserializer); - -@protected PollOption sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(SseDeserializer deserializer); - -@protected PollOptionT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(SseDeserializer deserializer); - -@protected PollRestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(SseDeserializer deserializer); - -@protected PollResult sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(SseDeserializer deserializer); - -@protected PollResultSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(SseDeserializer deserializer); - -@protected PollResultTcpStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(SseDeserializer deserializer); - -@protected PollResultUnixStreamSocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(SseDeserializer deserializer); - -@protected PollResultUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(SseDeserializer deserializer); - -@protected PollUsize sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(SseDeserializer deserializer); - -@protected QueryFacet sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); - -@protected QueryRewriting sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(SseDeserializer deserializer); - -@protected Ranges sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(SseDeserializer deserializer); - -@protected RangeU64 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(SseDeserializer deserializer); - -@protected ReadBuf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(SseDeserializer deserializer); - -@protected ReadF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(SseDeserializer deserializer); - -@protected ReadF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(SseDeserializer deserializer); - -@protected ReadF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(SseDeserializer deserializer); - -@protected ReadF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(SseDeserializer deserializer); - -@protected ReadHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(SseDeserializer deserializer); - -@protected ReadI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(SseDeserializer deserializer); - -@protected ReadI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(SseDeserializer deserializer); - -@protected ReadI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(SseDeserializer deserializer); - -@protected ReadI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(SseDeserializer deserializer); - -@protected ReadI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(SseDeserializer deserializer); - -@protected ReadI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(SseDeserializer deserializer); - -@protected ReadI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(SseDeserializer deserializer); - -@protected ReadI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(SseDeserializer deserializer); - -@protected ReadI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(SseDeserializer deserializer); - -@protected ReadU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(SseDeserializer deserializer); - -@protected ReadU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(SseDeserializer deserializer); - -@protected ReadU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(SseDeserializer deserializer); - -@protected ReadU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(SseDeserializer deserializer); - -@protected ReadU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(SseDeserializer deserializer); - -@protected ReadU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(SseDeserializer deserializer); - -@protected ReadU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(SseDeserializer deserializer); - -@protected ReadU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(SseDeserializer deserializer); - -@protected ReadU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(SseDeserializer deserializer); - -@protected Ready sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(SseDeserializer deserializer); - -@protected Receiver sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(SseDeserializer deserializer); - -@protected ReceiverT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(SseDeserializer deserializer); - -@protected RecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(SseDeserializer deserializer); - -@protected RefT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(SseDeserializer deserializer); - -@protected Repeat sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(SseDeserializer deserializer); - -@protected RestoreOnPending sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(SseDeserializer deserializer); - -@protected Result sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); - -@protected ResultObject sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(SseDeserializer deserializer); - -@protected ResultSort sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); - -@protected ReuniteError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(SseDeserializer deserializer); - -@protected Runtime sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(SseDeserializer deserializer); - -@protected RuntimeMetrics sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(SseDeserializer deserializer); - -@protected SchemaField sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); - -@protected SeekFrom sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SseDeserializer deserializer); - -@protected SeekSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SseDeserializer deserializer); - -@protected Semaphore sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(SseDeserializer deserializer); - -@protected SemaphorePermit sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SseDeserializer deserializer); - -@protected SendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SseDeserializer deserializer); - -@protected SendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SseDeserializer deserializer); - -@protected SendTimeoutErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SseDeserializer deserializer); - -@protected Sender sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(SseDeserializer deserializer); - -@protected SenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SseDeserializer deserializer); - -@protected Shutdown sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(SseDeserializer deserializer); - -@protected ShutdownSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(SseDeserializer deserializer); - -@protected Signal sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(SseDeserializer deserializer); - -@protected SignalKind sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SseDeserializer deserializer); - -@protected SimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SseDeserializer deserializer); - -@protected Sink sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(SseDeserializer deserializer); - -@protected Sleep sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(SseDeserializer deserializer); - -@protected SocketAddr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SseDeserializer deserializer); - -@protected SplitSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SseDeserializer deserializer); - -@protected StdCommand sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(SseDeserializer deserializer); - -@protected Stderr sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(SseDeserializer deserializer); - -@protected Stdin sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(SseDeserializer deserializer); - -@protected Stdout sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(SseDeserializer deserializer); - -@protected StopwordType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(SseDeserializer deserializer); - -@protected T sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(SseDeserializer deserializer); - -@protected TakeSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(SseDeserializer deserializer); - -@protected TcpListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(SseDeserializer deserializer); - -@protected TcpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(SseDeserializer deserializer); - -@protected TcpStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(SseDeserializer deserializer); - -@protected TryCurrentError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(SseDeserializer deserializer); - -@protected TryRecvError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(SseDeserializer deserializer); - -@protected TrySendError sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(SseDeserializer deserializer); - -@protected TrySendErrorSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(SseDeserializer deserializer); - -@protected TrySendErrorT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(SseDeserializer deserializer); - -@protected UCred sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(SseDeserializer deserializer); - -@protected UdpSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(SseDeserializer deserializer); - -@protected UnixDatagram sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(SseDeserializer deserializer); - -@protected UnixListener sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(SseDeserializer deserializer); - -@protected UnixSocket sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(SseDeserializer deserializer); - -@protected UnixStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(SseDeserializer deserializer); - -@protected Value sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(SseDeserializer deserializer); - -@protected ValueType sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(SseDeserializer deserializer); - -@protected VecT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(SseDeserializer deserializer); - -@protected WeakSenderT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(SseDeserializer deserializer); - -@protected WriteF32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(SseDeserializer deserializer); - -@protected WriteF32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(SseDeserializer deserializer); - -@protected WriteF64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(SseDeserializer deserializer); - -@protected WriteF64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(SseDeserializer deserializer); - -@protected WriteHalfSimplexStream sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(SseDeserializer deserializer); - -@protected WriteI128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(SseDeserializer deserializer); - -@protected WriteI128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(SseDeserializer deserializer); - -@protected WriteI16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(SseDeserializer deserializer); - -@protected WriteI16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(SseDeserializer deserializer); - -@protected WriteI32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(SseDeserializer deserializer); - -@protected WriteI32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(SseDeserializer deserializer); - -@protected WriteI64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(SseDeserializer deserializer); - -@protected WriteI64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(SseDeserializer deserializer); - -@protected WriteI8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(SseDeserializer deserializer); - -@protected WriteU128LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(SseDeserializer deserializer); - -@protected WriteU128MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(SseDeserializer deserializer); - -@protected WriteU16LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(SseDeserializer deserializer); - -@protected WriteU16MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(SseDeserializer deserializer); - -@protected WriteU32LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(SseDeserializer deserializer); - -@protected WriteU32MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(SseDeserializer deserializer); - -@protected WriteU64LeMutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(SseDeserializer deserializer); - -@protected WriteU64MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(SseDeserializer deserializer); - -@protected WriteU8MutSelf sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(SseDeserializer deserializer); - -@protected CInt sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(SseDeserializer deserializer); - -@protected GidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(SseDeserializer deserializer); - -@protected PidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); - -@protected U8 sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(SseDeserializer deserializer); - -@protected UidT sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(SseDeserializer deserializer); - -@protected Set sse_decode_Set_String_None(SseDeserializer deserializer); - -@protected String sse_decode_String(SseDeserializer deserializer); - -@protected BigInt sse_decode_U128(SseDeserializer deserializer); - -@protected AccessType sse_decode_access_type(SseDeserializer deserializer); - -@protected bool sse_decode_bool(SseDeserializer deserializer); - -@protected AHashMapStringFacet sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); - -@protected ChildStderr sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); - -@protected ChildStdin sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); - -@protected ChildStdout sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); - -@protected Error sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); - -@protected ExitStatus sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); - -@protected Highlighter sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); - -@protected Interest sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected PidT sse_decode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); - -@protected Path sse_decode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); - -@protected Duration sse_decode_box_autoadd_Chrono_Duration(SseDeserializer deserializer); - -@protected QueryCompletion sse_decode_box_autoadd_query_completion(SseDeserializer deserializer); - -@protected (BigInt,Map) sse_decode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); - -@protected SearchFn sse_decode_box_autoadd_search_fn(SseDeserializer deserializer); - -@protected SpellingCorrection sse_decode_box_autoadd_spelling_correction(SseDeserializer deserializer); - -@protected int sse_decode_box_autoadd_u_32(SseDeserializer deserializer); - -@protected void sse_decode_box_autoadd_unit(SseDeserializer deserializer); - -@protected BigInt sse_decode_box_autoadd_usize(SseDeserializer deserializer); - -@protected CompressionType sse_decode_compression_type(SseDeserializer deserializer); - -@protected DistanceField sse_decode_distance_field(SseDeserializer deserializer); - -@protected DistanceUnit sse_decode_distance_unit(SseDeserializer deserializer); - -@protected double sse_decode_f_32(SseDeserializer deserializer); - -@protected double sse_decode_f_64(SseDeserializer deserializer); - -@protected FieldType sse_decode_field_type(SseDeserializer deserializer); - -@protected Highlight sse_decode_highlight(SseDeserializer deserializer); - -@protected int sse_decode_i_16(SseDeserializer deserializer); - -@protected int sse_decode_i_32(SseDeserializer deserializer); - -@protected PlatformInt64 sse_decode_i_64(SseDeserializer deserializer); - -@protected int sse_decode_i_8(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(SseDeserializer deserializer); - -@protected List sse_decode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SseDeserializer deserializer); - -@protected List> sse_decode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(SseDeserializer deserializer); - -@protected List sse_decode_list_String(SseDeserializer deserializer); - -@protected List sse_decode_list_distance_field(SseDeserializer deserializer); - -@protected List sse_decode_list_highlight(SseDeserializer deserializer); - -@protected List sse_decode_list_prim_f_64_loose(SseDeserializer deserializer); - -@protected Float64List sse_decode_list_prim_f_64_strict(SseDeserializer deserializer); - -@protected Uint64List sse_decode_list_prim_u_64_strict(SseDeserializer deserializer); - -@protected List sse_decode_list_prim_u_8_loose(SseDeserializer deserializer); - -@protected Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); - -@protected Uint64List sse_decode_list_prim_usize_strict(SseDeserializer deserializer); - -@protected List<(String,MinMaxFieldJson)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer); - -@protected List<(String,SchemaField)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer); - -@protected List<(String,Value)> sse_decode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer); - -@protected List<(BigInt,Map)> sse_decode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); - -@protected List sse_decode_list_synonym(SseDeserializer deserializer); - -@protected MissedTickBehavior sse_decode_missed_tick_behavior(SseDeserializer deserializer); - -@protected NgramType sse_decode_ngram_type(SseDeserializer deserializer); - -@protected AHashMapStringFacet? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(SseDeserializer deserializer); - -@protected ChildStderr? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(SseDeserializer deserializer); - -@protected ChildStdin? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(SseDeserializer deserializer); - -@protected ChildStdout? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(SseDeserializer deserializer); - -@protected Error? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(SseDeserializer deserializer); - -@protected ExitStatus? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(SseDeserializer deserializer); - -@protected Highlighter? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(SseDeserializer deserializer); - -@protected Interest? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(SseDeserializer deserializer); - -@protected OwnedSemaphorePermit? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(SseDeserializer deserializer); - -@protected PidT? sse_decode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(SseDeserializer deserializer); - -@protected Path? sse_decode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(SseDeserializer deserializer); - -@protected Duration? sse_decode_opt_box_autoadd_Chrono_Duration(SseDeserializer deserializer); - -@protected QueryCompletion? sse_decode_opt_box_autoadd_query_completion(SseDeserializer deserializer); - -@protected SpellingCorrection? sse_decode_opt_box_autoadd_spelling_correction(SseDeserializer deserializer); - -@protected int? sse_decode_opt_box_autoadd_u_32(SseDeserializer deserializer); - -@protected void? sse_decode_opt_box_autoadd_unit(SseDeserializer deserializer); - -@protected BigInt? sse_decode_opt_box_autoadd_usize(SseDeserializer deserializer); - -@protected Uint64List? sse_decode_opt_list_prim_usize_strict(SseDeserializer deserializer); - -@protected QueryCompletion sse_decode_query_completion(SseDeserializer deserializer); - -@protected QueryType sse_decode_query_type(SseDeserializer deserializer); - -@protected RangeType sse_decode_range_type(SseDeserializer deserializer); - -@protected (DuplexStream,DuplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream(SseDeserializer deserializer); - -@protected (OwnedReadHalf,OwnedWriteHalf) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half(SseDeserializer deserializer); - -@protected (ReadHalfSimplexStream,WriteHalfSimplexStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream(SseDeserializer deserializer); - -@protected (Sender,Receiver) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver(SseDeserializer deserializer); - -@protected (TcpStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); - -@protected (UnixDatagram,UnixDatagram) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram(SseDeserializer deserializer); - -@protected (UnixStream,SocketAddr) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); - -@protected (UnixStream,UnixStream) sse_decode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream(SseDeserializer deserializer); - -@protected (String,MinMaxFieldJson) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(SseDeserializer deserializer); - -@protected (String,SchemaField) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(SseDeserializer deserializer); - -@protected (String,Value) sse_decode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(SseDeserializer deserializer); - -@protected (BigInt,Map) sse_decode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(SseDeserializer deserializer); - -@protected (BigInt,SocketAddr) sse_decode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr(SseDeserializer deserializer); - -@protected ResultType sse_decode_result_type(SseDeserializer deserializer); - -@protected RuntimeFlavor sse_decode_runtime_flavor(SseDeserializer deserializer); - -@protected SearchFn sse_decode_search_fn(SseDeserializer deserializer); - -@protected SimilarityType sse_decode_similarity_type(SseDeserializer deserializer); - -@protected SortOrder sse_decode_sort_order(SseDeserializer deserializer); - -@protected SpellingCorrection sse_decode_spelling_correction(SseDeserializer deserializer); - -@protected StemmerType sse_decode_stemmer_type(SseDeserializer deserializer); - -@protected Synonym sse_decode_synonym(SseDeserializer deserializer); - -@protected TokenizerType sse_decode_tokenizer_type(SseDeserializer deserializer); - -@protected TryAcquireError sse_decode_try_acquire_error(SseDeserializer deserializer); - -@protected int sse_decode_u_16(SseDeserializer deserializer); - -@protected int sse_decode_u_32(SseDeserializer deserializer); - -@protected BigInt sse_decode_u_64(SseDeserializer deserializer); - -@protected int sse_decode_u_8(SseDeserializer deserializer); - -@protected void sse_decode_unit(SseDeserializer deserializer); - -@protected BigInt sse_decode_usize(SseDeserializer deserializer); - -@protected void sse_encode_AnyhowException(AnyhowException self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer); - -@protected void sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); - -@protected void sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); - -@protected void sse_encode_Chrono_Duration(Duration self, SseSerializer serializer); - -@protected void sse_encode_I128(BigInt self, SseSerializer serializer); - -@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson_None(Map self, SseSerializer serializer); - -@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField_None(Map self, SseSerializer serializer); - -@protected void sse_encode_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(Map self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(AcquireError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ArcIndex self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(Barrier self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(BarrierWaitResult self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(Child self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(Command self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(Context self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(DocumentItem self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(DuplexStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(Empty self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(EnterGuard self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(FacetField self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(FacetFilter self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(FacetValue self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(File self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(FileType self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(FillBufSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(FlushSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(FrequentwordType self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(Handle self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(Id self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(Index self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(IndexMapStringVecStringUsize self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(IndexMetaObject self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(Instant self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(Interval self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(IoSliceMut self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(IoSlice self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(Ipv4Addr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(Ipv6Addr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(LinesSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(LocalEnterGuard self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(LocalSet self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(MinMaxField self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(MinMaxFieldJson self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(Notified self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(Notify self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(OpenOptions self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(Ordering self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(OwnedFd self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(OwnedNotified self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(OwnedPermitT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(OwnedReadHalf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(OwnedWriteHalf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(PdfDocument self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(PermitIteratorT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(PermitT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(Poll self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(PollInstant self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(PollOption self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(PollOptionT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(PollRestoreOnPending self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(PollResult self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(PollResultSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(PollResultTcpStreamSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(PollResultUnixStreamSocketAddr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(PollResultUsize self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(PollUsize self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(QueryFacet self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(QueryRewriting self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(Ranges self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(RangeU64 self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ReadBuf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ReadF32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ReadF32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ReadF64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ReadF64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ReadHalfSimplexStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ReadI128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ReadI128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ReadI16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ReadI16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ReadI32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ReadI32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ReadI64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ReadI64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ReadI8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ReadU128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ReadU128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ReadU16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ReadU16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ReadU32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ReadU32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ReadU64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ReadU64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ReadU8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(Ready self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(Receiver self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ReceiverT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(RecvError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(RefT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(Repeat self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(RestoreOnPending self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(Result self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ResultObject self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ResultSort self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ReuniteError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(Runtime self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(RuntimeMetrics self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(SchemaField self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(SeekFrom self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(SeekSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(Semaphore self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(SemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(SendError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(SendErrorT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(SendTimeoutErrorT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(Sender self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(SenderT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(Shutdown self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ShutdownSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(Signal self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(SignalKind self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(SimplexStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(Sink self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(Sleep self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(SocketAddr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(SplitSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(StdCommand self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(Stderr self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(Stdin self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(Stdout self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(StopwordType self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(T self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(TakeSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(TcpListener self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(TcpSocket self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(TcpStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(TryCurrentError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(TryRecvError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(TrySendError self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(TrySendErrorSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(TrySendErrorT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(UCred self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(UdpSocket self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(UnixDatagram self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(UnixListener self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(UnixSocket self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(UnixStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(Value self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ValueType self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(VecT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(WeakSenderT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(WriteF32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(WriteF32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(WriteF64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(WriteF64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(WriteHalfSimplexStream self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(WriteI128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(WriteI128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(WriteI16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(WriteI16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(WriteI32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(WriteI32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(WriteI64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(WriteI64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(WriteI8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(WriteU128LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(WriteU128MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(WriteU16LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(WriteU16MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(WriteU32LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(WriteU32MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(WriteU64LeMutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(WriteU64MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(WriteU8MutSelf self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(CInt self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(GidT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(U8 self, SseSerializer serializer); - -@protected void sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(UidT self, SseSerializer serializer); - -@protected void sse_encode_Set_String_None(Set self, SseSerializer serializer); - -@protected void sse_encode_String(String self, SseSerializer serializer); - -@protected void sse_encode_U128(BigInt self, SseSerializer serializer); - -@protected void sse_encode_access_type(AccessType self, SseSerializer serializer); - -@protected void sse_encode_bool(bool self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_Chrono_Duration(Duration self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_query_completion(QueryCompletion self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_search_fn(SearchFn self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_spelling_correction(SpellingCorrection self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_u_32(int self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_unit(void self, SseSerializer serializer); - -@protected void sse_encode_box_autoadd_usize(BigInt self, SseSerializer serializer); - -@protected void sse_encode_compression_type(CompressionType self, SseSerializer serializer); - -@protected void sse_encode_distance_field(DistanceField self, SseSerializer serializer); - -@protected void sse_encode_distance_unit(DistanceUnit self, SseSerializer serializer); - -@protected void sse_encode_f_32(double self, SseSerializer serializer); - -@protected void sse_encode_f_64(double self, SseSerializer serializer); - -@protected void sse_encode_field_type(FieldType self, SseSerializer serializer); - -@protected void sse_encode_highlight(Highlight self, SseSerializer serializer); - -@protected void sse_encode_i_16(int self, SseSerializer serializer); - -@protected void sse_encode_i_32(int self, SseSerializer serializer); - -@protected void sse_encode_i_64(PlatformInt64 self, SseSerializer serializer); - -@protected void sse_encode_i_8(int self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(List self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(List self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(List self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(List self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(List self, SseSerializer serializer); - -@protected void sse_encode_list_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(List self, SseSerializer serializer); - -@protected void sse_encode_list_Map_String_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue_None(List> self, SseSerializer serializer); - -@protected void sse_encode_list_String(List self, SseSerializer serializer); - -@protected void sse_encode_list_distance_field(List self, SseSerializer serializer); - -@protected void sse_encode_list_highlight(List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_f_64_loose(List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_f_64_strict(Float64List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_u_64_strict(Uint64List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_u_8_loose(List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_u_8_strict(Uint8List self, SseSerializer serializer); - -@protected void sse_encode_list_prim_usize_strict(Uint64List self, SseSerializer serializer); - -@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json(List<(String,MinMaxFieldJson)> self, SseSerializer serializer); - -@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field(List<(String,SchemaField)> self, SseSerializer serializer); - -@protected void sse_encode_list_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value(List<(String,Value)> self, SseSerializer serializer); - -@protected void sse_encode_list_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none(List<(BigInt,Map)> self, SseSerializer serializer); - -@protected void sse_encode_list_synonym(List self, SseSerializer serializer); - -@protected void sse_encode_missed_tick_behavior(MissedTickBehavior self, SseSerializer serializer); - -@protected void sse_encode_ngram_type(NgramType self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(AHashMapStringFacet? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ChildStderr? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ChildStdin? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ChildStdout? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(Error? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ExitStatus? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(Highlighter? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(Interest? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(OwnedSemaphorePermit? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(PidT? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(Path? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_Chrono_Duration(Duration? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_query_completion(QueryCompletion? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_spelling_correction(SpellingCorrection? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_u_32(int? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_unit(void? self, SseSerializer serializer); - -@protected void sse_encode_opt_box_autoadd_usize(BigInt? self, SseSerializer serializer); - -@protected void sse_encode_opt_list_prim_usize_strict(Uint64List? self, SseSerializer serializer); - -@protected void sse_encode_query_completion(QueryCompletion self, SseSerializer serializer); - -@protected void sse_encode_query_type(QueryType self, SseSerializer serializer); - -@protected void sse_encode_range_type(RangeType self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_duplex_stream((DuplexStream,DuplexStream) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_read_half_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_owned_write_half((OwnedReadHalf,OwnedWriteHalf) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_read_half_simplex_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_write_half_simplex_stream((ReadHalfSimplexStream,WriteHalfSimplexStream) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_sender_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_receiver((Sender,Receiver) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_tcp_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((TcpStream,SocketAddr) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_datagram((UnixDatagram,UnixDatagram) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((UnixStream,SocketAddr) self, SseSerializer serializer); - -@protected void sse_encode_record_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_unix_stream((UnixStream,UnixStream) self, SseSerializer serializer); - -@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_min_max_field_json((String,MinMaxFieldJson) self, SseSerializer serializer); - -@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_schema_field((String,SchemaField) self, SseSerializer serializer); - -@protected void sse_encode_record_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value((String,Value) self, SseSerializer serializer); - -@protected void sse_encode_record_u_64_map_string_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_value_none((BigInt,Map) self, SseSerializer serializer); - -@protected void sse_encode_record_usize_auto_owned_rust_opaque_flutter_rust_bridgefor_generated_rust_auto_opaque_inner_socket_addr((BigInt,SocketAddr) self, SseSerializer serializer); - -@protected void sse_encode_result_type(ResultType self, SseSerializer serializer); - -@protected void sse_encode_runtime_flavor(RuntimeFlavor self, SseSerializer serializer); - -@protected void sse_encode_search_fn(SearchFn self, SseSerializer serializer); - -@protected void sse_encode_similarity_type(SimilarityType self, SseSerializer serializer); - -@protected void sse_encode_sort_order(SortOrder self, SseSerializer serializer); - -@protected void sse_encode_spelling_correction(SpellingCorrection self, SseSerializer serializer); - -@protected void sse_encode_stemmer_type(StemmerType self, SseSerializer serializer); - -@protected void sse_encode_synonym(Synonym self, SseSerializer serializer); - -@protected void sse_encode_tokenizer_type(TokenizerType self, SseSerializer serializer); - -@protected void sse_encode_try_acquire_error(TryAcquireError self, SseSerializer serializer); - -@protected void sse_encode_u_16(int self, SseSerializer serializer); - -@protected void sse_encode_u_32(int self, SseSerializer serializer); - -@protected void sse_encode_u_64(BigInt self, SseSerializer serializer); - -@protected void sse_encode_u_8(int self, SseSerializer serializer); - -@protected void sse_encode_unit(void self, SseSerializer serializer); - -@protected void sse_encode_usize(BigInt self, SseSerializer serializer); - } - - - -// Section: wire_class - -class RustLibWire implements BaseWire { - RustLibWire.fromExternalLibrary(ExternalLibrary lib); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(ptr); - -void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(int ptr) => wasmModule.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(ptr); - -void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(int ptr) => wasmModule.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(ptr); - } - @JS('wasm_bindgen') external RustLibWasmModule get wasmModule; - - @JS() @anonymous extension type RustLibWasmModule._(JSObject _) implements JSObject { - external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t(int ptr); - -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(int ptr); - -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8(int ptr); +class RustLibWire implements BaseWire { + RustLibWire.fromExternalLibrary(ExternalLibrary lib); +} -external void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(int ptr); +@JS('wasm_bindgen') +external RustLibWasmModule get wasmModule; -external void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t(int ptr); - } - \ No newline at end of file +@JS() +@anonymous +extension type RustLibWasmModule._(JSObject _) implements JSObject {} diff --git a/mobile_app/lib/src/rust/lib.dart b/mobile_app/lib/src/rust/lib.dart index 9d5f928..5890449 100644 --- a/mobile_app/lib/src/rust/lib.dart +++ b/mobile_app/lib/src/rust/lib.dart @@ -12,68 +12,14 @@ abstract class AHashMapStringFacet implements RustOpaqueInterface {} // Rust type: RustOpaqueMoi >>> abstract class ArcIndex implements RustOpaqueInterface {} -// Rust type: RustOpaqueMoi> -abstract class ExitStatus implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class File implements RustOpaqueInterface {} - // Rust type: RustOpaqueMoi , usize) >>> abstract class IndexMapStringVecStringUsize implements RustOpaqueInterface {} -// Rust type: RustOpaqueMoi> -abstract class Instant implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Ipv4Addr implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Ipv6Addr implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class Notified implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class OwnedNotified implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class OwnedPermitT implements RustOpaqueInterface {} - // Rust type: RustOpaqueMoi> abstract class Path implements RustOpaqueInterface {} -// Rust type: RustOpaqueMoi>> -abstract class PermitIteratorT implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class PermitT implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadBuf implements RustOpaqueInterface {} - // Rust type: RustOpaqueMoi> abstract class Result implements RustOpaqueInterface {} -// Rust type: RustOpaqueMoi> -abstract class StdCommand implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class T implements RustOpaqueInterface {} - // Rust type: RustOpaqueMoi> abstract class Value implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class CInt implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class GidT implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class PidT implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class U8 implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class UidT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/search.dart b/mobile_app/lib/src/rust/third_party/seekstorm/search.dart index 23de9e1..5374173 100644 --- a/mobile_app/lib/src/rust/third_party/seekstorm/search.dart +++ b/mobile_app/lib/src/rust/third_party/seekstorm/search.dart @@ -52,8 +52,6 @@ abstract class ResultObject implements RustOpaqueInterface { List get results; - List get suggestions; - set facets(AHashMapStringFacet facets); set originalQuery(String originalQuery); @@ -68,8 +66,6 @@ abstract class ResultObject implements RustOpaqueInterface { set results(List results); - set suggestions(List suggestions); - static Future default_() => RustLib.instance.api.seekstormSearchResultObjectDefault(); } diff --git a/mobile_app/lib/storage.dart b/mobile_app/lib/storage.dart index e244e20..b61277d 100644 --- a/mobile_app/lib/storage.dart +++ b/mobile_app/lib/storage.dart @@ -3,7 +3,6 @@ import 'dart:io'; import 'package:logger/logger.dart'; - class Log { static Logger? _logger; @@ -20,6 +19,4 @@ class Log { } return _logger!; } - - } diff --git a/mobile_app/lib/utils.dart b/mobile_app/lib/utils.dart index 0644b33..74a189b 100644 --- a/mobile_app/lib/utils.dart +++ b/mobile_app/lib/utils.dart @@ -2,12 +2,9 @@ import 'dart:io'; import 'package:permission_handler/permission_handler.dart'; import 'package:mobile_app/src/rust/api/simple.dart'; - - // import 'package:path_provider/path_provider.dart'; (Optional if you need specific paths) class PdfScanner { - Future> getAllPdfs() async { List pdfs = []; @@ -28,16 +25,19 @@ class PdfScanner { } // Recursive function to walk through folders - Future _searchForPdfs(Directory dir, List pdfs) async { + Future _searchForPdfs( + Directory dir, List pdfs) async { try { - - List entities = dir.listSync(recursive: false, followLinks: false); + List entities = + dir.listSync(recursive: false, followLinks: false); for (FileSystemEntity entity in entities) { // Skip hidden folders (start with .) and the Android data folder (restricted) if (entity.path.split('/').last.startsWith('.')) continue; - if (entity.path.contains('/Android/obb')) continue; // Avoid Access Denied errors - if (entity.path.contains('/Android/data')) continue; // Avoid Access Denied errors + if (entity.path.contains('/Android/obb')) + continue; // Avoid Access Denied errors + if (entity.path.contains('/Android/data')) + continue; // Avoid Access Denied errors if (entity is File) { if (entity.path.toLowerCase().endsWith(".pdf")) { @@ -48,8 +48,7 @@ class PdfScanner { await _searchForPdfs(entity, pdfs); } } - } catch (e) { - } + } catch (e) {} } void openFiles(FileSystemEntity file) async { @@ -58,12 +57,8 @@ class PdfScanner { print(data); } } - void openFilesRs() async { - - } - void indexPdfFiles() async { - - } + void openFilesRs() async {} -} \ No newline at end of file + void indexPdfFiles() async {} +} diff --git a/mobile_app/linux/flutter/generated_plugins.cmake b/mobile_app/linux/flutter/generated_plugins.cmake index a6ac924..f585e33 100644 --- a/mobile_app/linux/flutter/generated_plugins.cmake +++ b/mobile_app/linux/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST + flutter_tantivy rust_lib_mobile_app ) diff --git a/mobile_app/rust/Cargo.lock b/mobile_app/rust/Cargo.lock index 4d20d4d..5944227 100644 --- a/mobile_app/rust/Cargo.lock +++ b/mobile_app/rust/Cargo.lock @@ -17,20 +17,6 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "getrandom", - "once_cell", - "serde", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.4" @@ -51,6 +37,12 @@ dependencies = [ "backtrace", ] +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + [[package]] name = "android_log-sys" version = "0.3.2" @@ -68,15 +60,6 @@ dependencies = [ "log", ] -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - [[package]] name = "anyhow" version = "1.0.100" @@ -84,16 +67,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] -name = "arrayvec" -version = "0.7.6" +name = "arc-swap" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +checksum = "51d03449bb8ca2cc2ef70869af31463d1ae5ccc8fa3e334b307203fbf815207e" +dependencies = [ + "rustversion", +] [[package]] -name = "async-recursion" -version = "1.1.1" +name = "async-trait" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", @@ -106,12 +92,6 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - [[package]] name = "autocfg" version = "1.5.0" @@ -145,6 +125,15 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +[[package]] +name = "bitpacking" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a7139abd3d9cebf8cd6f920a389cf3dc9576172e32f4563f188cae3c3eb019" +dependencies = [ + "crunchy", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -155,12 +144,28 @@ dependencies = [ ] [[package]] -name = "block2" -version = "0.6.2" +name = "bon" +version = "3.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +checksum = "234655ec178edd82b891e262ea7cf71f6584bcd09eff94db786be23f1821825c" dependencies = [ - "objc2", + "bon-macros", + "rustversion", +] + +[[package]] +name = "bon-macros" +version = "3.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ec27229c38ed0eb3c0feee3d2c1d6a4379ae44f418a29a658890e062d8f365" +dependencies = [ + "darling", + "ident_case", + "prettyplease", + "proc-macro2", + "quote", + "rustversion", + "syn", ] [[package]] @@ -187,32 +192,11 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" -[[package]] -name = "byteorder-lite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" - -[[package]] -name = "bytes" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" - -[[package]] -name = "castaway" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" -dependencies = [ - "rustversion", -] - [[package]] name = "cc" -version = "1.2.53" +version = "1.2.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932" +checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" dependencies = [ "find-msvc-tools", "jobserver", @@ -221,52 +205,16 @@ dependencies = [ ] [[package]] -name = "cfg-if" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "chrono" -version = "0.4.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" -dependencies = [ - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-link", -] - -[[package]] -name = "colored" -version = "3.1.1" +name = "census" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" -dependencies = [ - "windows-sys 0.61.2", -] +checksum = "4f4c707c6a209cbe82d10abd08e1ea8995e9ea937d2550646e02798948992be0" [[package]] -name = "compact_str" -version = "0.9.0" +name = "cfg-if" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" -dependencies = [ - "castaway", - "cfg-if", - "itoa", - "rustversion", - "ryu", - "static_assertions", -] +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "console_error_panic_hook" @@ -279,28 +227,12 @@ dependencies = [ ] [[package]] -name = "console_log" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f" -dependencies = [ - "log", - "web-sys", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "cpufeatures" -version = "0.2.17" +name = "crc32fast" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ - "libc", + "cfg-if", ] [[package]] @@ -337,6 +269,12 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + [[package]] name = "crypto-common" version = "0.1.7" @@ -348,35 +286,37 @@ dependencies = [ ] [[package]] -name = "csv" -version = "1.4.0" +name = "darling" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde_core", + "darling_core", + "darling_macro", ] [[package]] -name = "csv-core" -version = "0.1.13" +name = "darling_core" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" dependencies = [ - "memchr", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", ] [[package]] -name = "ctrlc" -version = "3.5.1" +name = "darling_macro" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ - "dispatch2", - "nix", - "windows-sys 0.61.2", + "darling_core", + "quote", + "syn", ] [[package]] @@ -413,37 +353,30 @@ dependencies = [ ] [[package]] -name = "digest" -version = "0.10.7" +name = "deranged" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ - "block-buffer", - "crypto-common", + "powerfmt", + "serde_core", ] [[package]] -name = "dispatch2" -version = "0.3.0" +name = "digest" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "bitflags", - "block2", - "libc", - "objc2", + "block-buffer", + "crypto-common", ] [[package]] -name = "displaydoc" -version = "0.2.5" +name = "downcast-rs" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" [[package]] name = "either" @@ -478,16 +411,22 @@ dependencies = [ ] [[package]] -name = "find-msvc-tools" -version = "0.1.8" +name = "fastdivide" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" +checksum = "9afc2bd4d5a73106dd53d10d73d3401c2f32730ba2c0b93ddb888a8983680471" [[package]] -name = "finl_unicode" -version = "1.4.0" +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "find-msvc-tools" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9844ddc3a6e533d62bba727eb6c28b5d360921d5175e9ff0f1e621a5c590a4d5" +checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" [[package]] name = "flutter_rust_bridge" @@ -538,12 +477,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "form_urlencoded" -version = "1.2.2" +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "fs4" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +checksum = "8640e34b88f7652208ce9e88b1a37a2ae95227d84abec377ccd3c5cfeb141ed4" dependencies = [ - "percent-encoding", + "rustix", + "windows-sys 0.59.0", ] [[package]] @@ -645,6 +591,17 @@ dependencies = [ "version_check", ] +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + [[package]] name = "getrandom" version = "0.3.4" @@ -663,34 +620,6 @@ version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" -[[package]] -name = "gxhash" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3ce1bab7aa741d4e7042b2aae415b78741f267a98a7271ea226cd5ba6c43d7d" -dependencies = [ - "rustversion", -] - -[[package]] -name = "h2" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "hashbrown" version = "0.14.5" @@ -699,9 +628,14 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.16.1" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] [[package]] name = "hermit-abi" @@ -716,332 +650,138 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] -name = "http" -version = "1.4.0" +name = "htmlescape" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163" + +[[package]] +name = "hyperloglogplus" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +checksum = "621debdf94dcac33e50475fdd76d34d5ea9c0362a834b9db08c3024696c1fbe3" dependencies = [ - "bytes", - "itoa", + "serde", ] [[package]] -name = "http-body" +name = "ident_case" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" -dependencies = [ - "bytes", - "http", -] +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] -name = "http-body-util" -version = "0.1.3" +name = "itertools" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ - "bytes", - "futures-core", - "http", - "http-body", - "pin-project-lite", + "either", ] [[package]] -name = "httparse" -version = "1.10.1" +name = "itoa" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] -name = "httpdate" -version = "1.0.3" +name = "jobserver" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom 0.3.4", + "libc", +] [[package]] -name = "hyper" -version = "1.8.1" +name = "js-sys" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" dependencies = [ - "atomic-waker", - "bytes", - "futures-channel", - "futures-core", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "pin-utils", - "smallvec", - "tokio", - "want", + "once_cell", + "wasm-bindgen", ] [[package]] -name = "hyper-util" -version = "0.1.19" +name = "lazy_static" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" -dependencies = [ - "bytes", - "futures-core", - "http", - "http-body", - "hyper", - "pin-project-lite", - "tokio", -] +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] -name = "iana-time-zone" -version = "0.1.64" +name = "levenshtein_automata" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core", -] +checksum = "0c2cdeb66e45e9f36bfad5bbdb4d2384e70936afbee843c6f6543f0c551ebb25" [[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" +name = "libc" +version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] -name = "icu_collections" -version = "2.1.1" +name = "libm" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" -dependencies = [ - "displaydoc", - "potential_utf", - "yoke", - "zerofrom", - "zerovec", -] +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] -name = "icu_locale_core" -version = "2.1.1" +name = "linux-raw-sys" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] -name = "icu_normalizer" -version = "2.1.1" +name = "lock_api" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "zerovec", + "scopeguard", ] [[package]] -name = "icu_normalizer_data" -version = "2.1.1" +name = "log" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] -name = "icu_properties" -version = "2.1.2" +name = "lru" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "zerotrie", - "zerovec", + "hashbrown 0.15.5", ] [[package]] -name = "icu_properties_data" -version = "2.1.2" +name = "lz4_flex" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" +checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" [[package]] -name = "icu_provider" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" -dependencies = [ - "displaydoc", - "icu_locale_core", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", -] - -[[package]] -name = "idna" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "image" -version = "0.25.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" -dependencies = [ - "bytemuck", - "byteorder-lite", - "moxcms", - "num-traits", - "zune-core", - "zune-jpeg", -] - -[[package]] -name = "indexmap" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" -dependencies = [ - "equivalent", - "hashbrown 0.16.1", - "serde", - "serde_core", -] - -[[package]] -name = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" - -[[package]] -name = "jobserver" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" -dependencies = [ - "getrandom", - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "libc" -version = "0.2.180" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" - -[[package]] -name = "libloading" -version = "0.9.0" +name = "md-5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if", - "windows-link", -] - -[[package]] -name = "litemap" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" - -[[package]] -name = "lock_api" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" -dependencies = [ - "scopeguard", + "digest", ] [[package]] -name = "log" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" - -[[package]] -name = "maybe-owned" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" - -[[package]] -name = "md-5" -version = "0.10.6" +name = "measure_time" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +checksum = "51c55d61e72fc3ab704396c5fa16f4c184db37978ae4e94ca8959693a235fc0e" dependencies = [ - "cfg-if", - "digest", + "log", ] [[package]] @@ -1059,6 +799,12 @@ dependencies = [ "libc", ] +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.8.9" @@ -1069,122 +815,26 @@ dependencies = [ ] [[package]] -name = "mio" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" -dependencies = [ - "libc", - "wasi", - "windows-sys 0.61.2", -] - -[[package]] -name = "moxcms" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97" -dependencies = [ - "num-traits", - "pxfm", -] - -[[package]] -name = "nix" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" -dependencies = [ - "bitflags", - "cfg-if", - "cfg_aliases", - "libc", -] - -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "num-format" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" -dependencies = [ - "arrayvec", - "itoa", -] - -[[package]] -name = "num-integer" -version = "0.1.46" +name = "murmurhash32" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] +checksum = "2195bf6aa996a481483b29d62a7663eed3fe39600c460e323f8ff41e90bdd89b" [[package]] -name = "num-iter" -version = "0.1.45" +name = "nom" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ - "autocfg", - "num-integer", - "num-traits", + "memchr", + "minimal-lexical", ] [[package]] -name = "num-rational" -version = "0.4.2" +name = "num-conv" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", -] +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" [[package]] name = "num-traits" @@ -1193,6 +843,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -1205,21 +856,6 @@ dependencies = [ "libc", ] -[[package]] -name = "objc2" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" -dependencies = [ - "objc2-encode", -] - -[[package]] -name = "objc2-encode" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" - [[package]] name = "object" version = "0.37.3" @@ -1235,6 +871,12 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "oneshot" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ce66197e99546da6c6d991285f605192e794ceae69686c17163844a7bf8fcc2" + [[package]] name = "oslog" version = "0.2.0" @@ -1247,13 +889,12 @@ dependencies = [ ] [[package]] -name = "parking_lot" -version = "0.12.5" +name = "ownedbytes" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +checksum = "2fbd56f7631767e61784dc43f8580f403f4475bd4aaa4da003e6295e1bab4a7e" dependencies = [ - "lock_api", - "parking_lot_core", + "stable_deref_trait", ] [[package]] @@ -1269,38 +910,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "pdfium-render" -version = "0.8.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6553f6604a52b3203db7b4e9d51eb4dd193cf455af9e56d40cab6575b547b679" -dependencies = [ - "bitflags", - "bytemuck", - "bytes", - "chrono", - "console_error_panic_hook", - "console_log", - "image", - "itertools", - "js-sys", - "libloading", - "log", - "maybe-owned", - "once_cell", - "utf16string", - "vecmath", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - [[package]] name = "pin-project-lite" version = "0.2.16" @@ -1313,12 +922,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "piston-float" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad78bf43dcf80e8f950c92b84f938a0fc7590b7f6866fbcbeca781609c115590" - [[package]] name = "pkg-config" version = "0.3.32" @@ -1332,13 +935,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" [[package]] -name = "potential_utf" -version = "0.1.4" +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" -dependencies = [ - "zerovec", -] +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" @@ -1350,28 +950,29 @@ dependencies = [ ] [[package]] -name = "proc-macro2" -version = "1.0.105" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ - "unicode-ident", + "proc-macro2", + "syn", ] [[package]] -name = "pxfm" -version = "0.1.27" +name = "proc-macro2" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ - "num-traits", + "unicode-ident", ] [[package]] name = "quote" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" dependencies = [ "proc-macro2", ] @@ -1384,19 +985,20 @@ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "rand" -version = "0.9.2" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ + "libc", "rand_chacha", "rand_core", ] [[package]] name = "rand_chacha" -version = "0.9.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", "rand_core", @@ -1404,11 +1006,21 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.9.5" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + +[[package]] +name = "rand_distr" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ - "getrandom", + "num-traits", + "rand", ] [[package]] @@ -1484,7 +1096,7 @@ name = "rust_lib_mobile_app" version = "0.1.0" dependencies = [ "flutter_rust_bridge", - "seekstorm", + "tantivy", ] [[package]] @@ -1494,25 +1106,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] -name = "rustversion" -version = "1.0.22" +name = "rustc-hash" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] -name = "ryu" -version = "1.0.22" +name = "rustix" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] [[package]] -name = "same-file" -version = "1.0.6" +name = "rustversion" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "scopeguard" @@ -1520,55 +1136,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "seekstorm" -version = "1.2.5" -source = "git+https://github.com/Ok3ks/seekstorm?rev=d59a1119f8012d0dd0a31252c44e83618bd4102f#d59a1119f8012d0dd0a31252c44e83618bd4102f" -dependencies = [ - "ahash", - "aho-corasick", - "async-recursion", - "base64", - "chrono", - "colored", - "crossbeam-channel", - "csv", - "ctrlc", - "finl_unicode", - "futures", - "http-body-util", - "hyper", - "hyper-util", - "indexmap", - "itertools", - "lazy_static", - "memmap2", - "num", - "num-derive", - "num-format", - "num-traits", - "num_cpus", - "pdfium-render", - "rand", - "rayon", - "regex", - "regex-syntax", - "rust-stemmers", - "serde", - "serde_json", - "sha2", - "smallvec", - "symspell_complete_rs", - "tokio", - "tokio-test", - "unicode-normalization", - "url", - "utoipa", - "walkdir", - "winapi", - "zstd", -] - [[package]] name = "serde" version = "1.0.228" @@ -1600,40 +1167,16 @@ dependencies = [ ] [[package]] -name = "serde_json" -version = "1.0.149" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" -dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] - -[[package]] -name = "serde_norway" -version = "0.9.42" +name = "serde_json" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e408f29489b5fd500fab51ff1484fc859bb655f32c671f307dcd733b72e8168c" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "indexmap", "itoa", - "ryu", + "memchr", "serde", - "unsafe-libyaml-norway", -] - -[[package]] -name = "sha2" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", + "serde_core", + "zmij", ] [[package]] @@ -1643,13 +1186,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] -name = "signal-hook-registry" -version = "1.4.8" +name = "sketches-ddsketch" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" dependencies = [ - "errno", - "libc", + "serde", ] [[package]] @@ -1664,50 +1206,18 @@ version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" -[[package]] -name = "socket2" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" -dependencies = [ - "libc", - "windows-sys 0.60.2", -] - [[package]] name = "stable_deref_trait" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "strsim" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "symspell_complete_rs" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57249a02e607aaafa8ca327e7503bd213e96842aaed8b6a5aab2f20d30875aa0" -dependencies = [ - "ahash", - "compact_str", - "gxhash", - "itertools", - "regex", - "smallvec", - "strsim", - "unicode-normalization", -] - [[package]] name = "syn" version = "2.0.114" @@ -1720,223 +1230,261 @@ dependencies = [ ] [[package]] -name = "synstructure" -version = "0.13.2" +name = "tantivy" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +checksum = "502915c7381c5cb2d2781503962610cb880ad8f1a0ca95df1bae645d5ebf2545" dependencies = [ - "proc-macro2", - "quote", - "syn", + "aho-corasick", + "arc-swap", + "base64", + "bitpacking", + "bon", + "byteorder", + "census", + "crc32fast", + "crossbeam-channel", + "downcast-rs", + "fastdivide", + "fnv", + "fs4", + "htmlescape", + "hyperloglogplus", + "itertools", + "levenshtein_automata", + "log", + "lru", + "lz4_flex", + "measure_time", + "memmap2", + "once_cell", + "oneshot", + "rayon", + "regex", + "rust-stemmers", + "rustc-hash", + "serde", + "serde_json", + "sketches-ddsketch", + "smallvec", + "tantivy-bitpacker", + "tantivy-columnar", + "tantivy-common", + "tantivy-fst", + "tantivy-query-grammar", + "tantivy-stacker", + "tantivy-tokenizer-api", + "tempfile", + "thiserror", + "time", + "uuid", + "winapi", ] [[package]] -name = "threadpool" -version = "1.8.1" +name = "tantivy-bitpacker" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +checksum = "c3b04eed5108d8283607da6710fe17a7663523440eaf7ea5a1a440d19a1448b6" dependencies = [ - "num_cpus", + "bitpacking", ] [[package]] -name = "tinystr" -version = "0.8.2" +name = "tantivy-columnar" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +checksum = "8b628488ae936c83e92b5c4056833054ca56f76c0e616aee8339e24ac89119cd" dependencies = [ - "displaydoc", - "zerovec", + "downcast-rs", + "fastdivide", + "itertools", + "serde", + "tantivy-bitpacker", + "tantivy-common", + "tantivy-sstable", + "tantivy-stacker", ] [[package]] -name = "tinyvec" -version = "1.10.0" +name = "tantivy-common" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" +checksum = "f880aa7cab0c063a47b62596d10991cdd0b6e0e0575d9c5eeb298b307a25de55" dependencies = [ - "tinyvec_macros", + "async-trait", + "byteorder", + "ownedbytes", + "serde", + "time", ] [[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.49.0" +name = "tantivy-fst" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +checksum = "d60769b80ad7953d8a7b2c70cdfe722bbcdcac6bccc8ac934c40c034d866fc18" dependencies = [ - "bytes", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.61.2", + "byteorder", + "regex-syntax", + "utf8-ranges", ] [[package]] -name = "tokio-macros" -version = "2.6.0" +name = "tantivy-query-grammar" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +checksum = "768fccdc84d60d86235d42d7e4c33acf43c418258ff5952abf07bd7837fcd26b" dependencies = [ - "proc-macro2", - "quote", - "syn", + "nom", + "serde", + "serde_json", ] [[package]] -name = "tokio-stream" -version = "0.1.18" +name = "tantivy-sstable" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +checksum = "f8292095d1a8a2c2b36380ec455f910ab52dde516af36321af332c93f20ab7d5" dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", + "futures-util", + "itertools", + "tantivy-bitpacker", + "tantivy-common", + "tantivy-fst", + "zstd", ] [[package]] -name = "tokio-test" -version = "0.4.5" +name = "tantivy-stacker" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6d24790a10a7af737693a3e8f1d03faef7e6ca0cc99aae5066f533766de545" +checksum = "23d38a379411169f0b3002c9cba61cdfe315f757e9d4f239c00c282497a0749d" dependencies = [ - "futures-core", - "tokio", - "tokio-stream", + "murmurhash32", + "rand_distr", + "tantivy-common", ] [[package]] -name = "tokio-util" -version = "0.7.18" +name = "tantivy-tokenizer-api" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +checksum = "23024f6aeb25ceb1a0e27740c84bdb0fae52626737b7e9a9de6ad5aa25c7b038" dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", + "serde", ] [[package]] -name = "tracing" -version = "0.1.44" +name = "tempfile" +version = "3.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" dependencies = [ - "pin-project-lite", - "tracing-core", + "fastrand", + "getrandom 0.3.4", + "once_cell", + "rustix", + "windows-sys 0.61.2", ] [[package]] -name = "tracing-core" -version = "0.1.36" +name = "thiserror" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "once_cell", + "thiserror-impl", ] [[package]] -name = "try-lock" -version = "0.2.5" +name = "thiserror-impl" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "typenum" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] -name = "unicode-ident" -version = "1.0.22" +name = "threadpool" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] [[package]] -name = "unicode-normalization" -version = "0.1.25" +name = "time" +version = "0.3.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" +checksum = "9da98b7d9b7dad93488a84b8248efc35352b0b2657397d4167e7ad67e5d535e5" dependencies = [ - "tinyvec", + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", ] [[package]] -name = "unsafe-libyaml-norway" -version = "0.2.15" +name = "time-core" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39abd59bf32521c7f2301b52d05a6a2c975b6003521cbd0c6dc1582f0a22104" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] -name = "url" -version = "2.5.8" +name = "time-macros" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +checksum = "78cc610bac2dcee56805c99642447d4c5dbde4d01f752ffea0199aee1f601dc4" dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", + "num-conv", + "time-core", ] [[package]] -name = "utf16string" -version = "0.2.0" +name = "tokio" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b62a1e85e12d5d712bf47a85f426b73d303e2d00a90de5f3004df3596e9d216" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" dependencies = [ - "byteorder", + "pin-project-lite", ] [[package]] -name = "utf8_iter" -version = "1.0.4" +name = "typenum" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] -name = "utoipa" -version = "5.4.0" +name = "unicode-ident" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993" -dependencies = [ - "indexmap", - "serde", - "serde_json", - "serde_norway", - "utoipa-gen", -] +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] -name = "utoipa-gen" -version = "5.4.0" +name = "utf8-ranges" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d79d08d92ab8af4c5e8a6da20c47ae3f61a0f1dabc1997cdf2d082b757ca08b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +checksum = "7fcfc827f90e53a02eaef5e535ee14266c1d569214c6aa70133a624d8a3164ba" [[package]] -name = "vecmath" -version = "1.0.0" +name = "uuid" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ae1e0d85bca567dee1dcf87fb1ca2e792792f66f87dced8381f99cd91156a" +checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" dependencies = [ - "piston-float", + "getrandom 0.3.4", + "js-sys", + "serde_core", + "wasm-bindgen", ] [[package]] @@ -1945,25 +1493,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -2064,85 +1593,23 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" -dependencies = [ - "windows-sys 0.61.2", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link", - "windows-result", - "windows-strings", -] - -[[package]] -name = "windows-implement" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "windows-interface" -version = "0.59.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" -[[package]] -name = "windows-result" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" -dependencies = [ - "windows-link", -] - [[package]] name = "windows-sys" -version = "0.60.2" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ "windows-targets", ] @@ -2158,11 +1625,10 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows-link", "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", @@ -2175,51 +1641,51 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" -version = "0.53.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" -version = "0.53.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.53.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" -version = "0.53.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" -version = "0.53.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" -version = "0.53.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "wit-bindgen" @@ -2227,103 +1693,20 @@ version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" -[[package]] -name = "writeable" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" - -[[package]] -name = "yoke" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" -dependencies = [ - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - [[package]] name = "zerocopy" -version = "0.8.33" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" +checksum = "71ddd76bcebeed25db614f82bf31a9f4222d3fbba300e6fb6c00afa26cbd4d9d" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerotrie" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", -] - -[[package]] -name = "zerovec" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.11.2" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +checksum = "d8187381b52e32220d50b255276aa16a084ec0a9017a0ca2152a1f55c539758d" dependencies = [ "proc-macro2", "quote", @@ -2332,9 +1715,9 @@ dependencies = [ [[package]] name = "zmij" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65" +checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" [[package]] name = "zstd" @@ -2363,18 +1746,3 @@ dependencies = [ "cc", "pkg-config", ] - -[[package]] -name = "zune-core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" - -[[package]] -name = "zune-jpeg" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2959ca473aae96a14ecedf501d20b3608d2825ba280d5adb57d651721885b0c2" -dependencies = [ - "zune-core", -] diff --git a/mobile_app/rust/Cargo.toml b/mobile_app/rust/Cargo.toml index c6f8364..371c110 100644 --- a/mobile_app/rust/Cargo.toml +++ b/mobile_app/rust/Cargo.toml @@ -8,7 +8,8 @@ crate-type = ["cdylib", "staticlib"] [dependencies] flutter_rust_bridge = "=2.11.1" -seekstorm = { git = "https://github.com/Ok3ks/seekstorm", rev = "d59a1119f8012d0dd0a31252c44e83618bd4102f", version = "1.2.5" } +tantivy = "0.25.0" +#seekstorm = { git = "https://github.com/Ok3ks/seekstorm", branch = "compile-for-mobile", version = "1.2.5" } [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(frb_expand)'] } diff --git a/mobile_app/rust/src/api/keyword_search.rs b/mobile_app/rust/src/api/keyword_search.rs index 2c30a5f..e69de29 100644 --- a/mobile_app/rust/src/api/keyword_search.rs +++ b/mobile_app/rust/src/api/keyword_search.rs @@ -1,81 +0,0 @@ -use seekstorm::index::{ open_index}; -use seekstorm::index::IndexArc; -use std::path::Path; - - -pub struct SearchFn { - pub path_to_index: String, -} - -impl SearchFn { - pub async fn new(&self) -> SearchFn { - use seekstorm::index::{ - AccessType, FrequentwordType, IndexMetaObject, NgramSet, SimilarityType, StemmerType, - StopwordType, TokenizerType, FieldType, create_index, SchemaField - }; - - let schema = vec![SchemaField::new("title".to_string(), true, true, FieldType::String16, false, false, 1.0, false, false)]; - let meta = IndexMetaObject { - id: 0, - name: "acho_index".into(), - similarity: SimilarityType::Bm25f, - tokenizer: TokenizerType::AsciiAlphabetic, - stemmer: StemmerType::None, - stop_words: StopwordType::None, - frequent_words: FrequentwordType::English, - ngram_indexing: NgramSet::NgramFF as u8, - access_type: AccessType::Mmap, - spelling_correction: None, - query_completion: None, - }; - let _segment_number_bits1 = 11; - create_index( - Path::new(self.path_to_index.as_str()), - meta, - &schema, - &Vec::new(), - 11, - false, - None, - ) - .await; - - SearchFn { - path_to_index: self.path_to_index.clone(), - } - } - - pub async fn ingest_pdf_dir(&self, dir_path: &Path) { - use seekstorm::ingest::IndexPdfFile; - - let file_path = Path::new(&dir_path); - let index_arc: Result = open_index(Path::new(self.path_to_index.as_str()), false).await; - - match index_arc { - Ok(index_arc) => { - let _ = index_arc.index_pdf_file(file_path).await; - } - - Err(_error) => { - Err(_error.into()); - } - } - - Ok(()) - } - - ///For reset functionality, clearing index - pub async fn delete_index(&self) { - let index_arc: Result = open_index(Path::new(self.path_to_index.as_str()), false).await; - - match index_arc { - Ok(index_arc) => { - index_arc.write().await.delete_index(); - } - - Err(_) => { - // Err(error.into()); - } - } - } -} diff --git a/mobile_app/rust/src/frb_generated.rs b/mobile_app/rust/src/frb_generated.rs index d4eac8a..4f41c47 100644 --- a/mobile_app/rust/src/frb_generated.rs +++ b/mobile_app/rust/src/frb_generated.rs @@ -25,42 +25,9 @@ // Section: imports -use crate::*; use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt}; use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; use flutter_rust_bridge::{Handler, IntoIntoDart}; -use seekstorm::geo_search::*; -use seekstorm::highlighter::*; -use seekstorm::index::*; -use seekstorm::ingest::*; -use seekstorm::search::*; -use tokio::io::*; -use tokio::net::tcp::listener::*; -use tokio::net::tcp::split_owned::*; -use tokio::net::tcp::*; -use tokio::net::udp::*; -use tokio::net::unix::datagram::socket::*; -use tokio::net::unix::listener::*; -use tokio::net::unix::pipe::*; -use tokio::net::unix::*; -use tokio::net::*; -use tokio::process::sys::*; -use tokio::process::*; -use tokio::runtime::*; -use tokio::signal::unix::InternalStream; -use tokio::signal::unix::*; -use tokio::sync::broadcast::error::*; -use tokio::sync::broadcast::*; -use tokio::sync::mpsc::bounded::*; -use tokio::sync::mpsc::error::*; -use tokio::sync::oneshot::*; -use tokio::sync::watch::*; -use tokio::sync::*; -use tokio::task::coop::*; -use tokio::task::*; -use tokio::time::error::*; -use tokio::time::interval::*; -use tokio::time::*; // Section: boilerplate @@ -70,7 +37,7 @@ flutter_rust_bridge::frb_generated_boilerplate!( default_rust_auto_opaque = RustAutoOpaqueMoi, ); pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.11.1"; -pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = 606630313; +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -1918914929; // Section: executor @@ -78,17 +45,16 @@ flutter_rust_bridge::frb_generated_default_handler!(); // Section: wire_funcs -fn wire__tokio__sync__BarrierWaitResult_is_leader_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, +fn wire__crate__api__simple__greet_impl( ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, rust_vec_len_: i32, data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "BarrierWaitResult_is_leader", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + debug_name: "greet", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, }, move || { let message = unsafe { @@ -100,36 +66,16 @@ fn wire__tokio__sync__BarrierWaitResult_is_leader_impl( }; let mut deserializer = flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); + let api_name = ::sse_decode(&mut deserializer); deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::sync::BarrierWaitResult::is_leader(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(crate::api::simple::greet(api_name))?; + Ok(output_ok) + })()) }, ) } -fn wire__tokio__sync__Barrier_new_impl( +fn wire__crate__api__simple__init_app_impl( port_: flutter_rust_bridge::for_generated::MessagePort, ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, rust_vec_len_: i32, @@ -137,7 +83,7 @@ fn wire__tokio__sync__Barrier_new_impl( ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Barrier_new", + debug_name: "init_app", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -151,46764 +97,180 @@ fn wire__tokio__sync__Barrier_new_impl( }; let mut deserializer = flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_n = ::sse_decode(&mut deserializer); deserializer.end(); move |context| { transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::sync::Barrier::new(api_n))?; + let output_ok = Result::<_, ()>::Ok({ + crate::api::simple::init_app(); + })?; Ok(output_ok) })()) } }, ) } -fn wire__tokio__sync__Barrier_wait_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Barrier_wait", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::sync::Barrier::wait(&*api_that_guard).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) + +// Section: dart2rust + +impl SseDecode for String { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >::sse_decode(deserializer); + return String::from_utf8(inner).unwrap(); + } } -fn wire__tokio__process__ChildStderr_from_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ChildStderr_from_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_inner = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::process::ChildStderr::from_std(api_inner)?; - Ok(output_ok) - })(), - ) - } - }, - ) + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } } -fn wire__tokio__process__ChildStderr_into_owned_fd_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ChildStderr_into_owned_fd", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::process::ChildStderr::into_owned_fd(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) + +impl SseDecode for u8 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_u8().unwrap() + } } -fn wire__tokio__process__ChildStdin_from_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ChildStdin_from_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_inner = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::process::ChildStdin::from_std(api_inner)?; - Ok(output_ok) - })(), - ) - } - }, - ) + +impl SseDecode for () { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {} } -fn wire__tokio__process__ChildStdin_into_owned_fd_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ChildStdin_into_owned_fd", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::process::ChildStdin::into_owned_fd(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) + +impl SseDecode for i32 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_i32::().unwrap() + } } -fn wire__tokio__process__ChildStdout_from_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ChildStdout_from_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_inner = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::process::ChildStdout::from_std(api_inner)?; - Ok(output_ok) - })(), - ) - } - }, - ) + +impl SseDecode for bool { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_u8().unwrap() != 0 + } } -fn wire__tokio__process__ChildStdout_into_owned_fd_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, + +fn pde_ffi_dispatcher_primary_impl( + func_id: i32, + port: flutter_rust_bridge::for_generated::MessagePort, + ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len: i32, + data_len: i32, ) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ChildStdout_into_owned_fd", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::process::ChildStdout::into_owned_fd(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__process__Child_auto_accessor_get_stderr_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_auto_accessor_get_stderr", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.stderr.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__process__Child_auto_accessor_get_stdin_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_auto_accessor_get_stdin", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.stdin.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__process__Child_auto_accessor_get_stdout_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_auto_accessor_get_stdout", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.stdout.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__process__Child_auto_accessor_set_stderr_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_auto_accessor_set_stderr", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_stderr = >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.stderr = api_stderr; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__process__Child_auto_accessor_set_stdin_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_auto_accessor_set_stdin", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_stdin = >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.stdin = api_stdin; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__process__Child_auto_accessor_set_stdout_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_auto_accessor_set_stdout", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_stdout = >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.stdout = api_stdout; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__process__Child_id_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_id", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::process::Child::id(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__process__Child_kill_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_kill", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::process::Child::kill(&mut *api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__process__Child_start_kill_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_start_kill", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::process::Child::start_kill(&mut *api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__process__Child_try_wait_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_try_wait", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::process::Child::try_wait(&mut *api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__process__Child_wait_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Child_wait", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::process::Child::wait(&mut *api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__process__Command_as_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Command_as_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::process::Command::as_std(&*api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__process__Command_as_std_mut_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Command_as_std_mut", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::process::Command::as_std_mut(&mut *api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__process__Command_env_clear_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Command_env_clear", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::process::Command::env_clear(&mut *api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__process__Command_get_kill_on_drop_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Command_get_kill_on_drop", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::process::Command::get_kill_on_drop(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__process__Command_gid_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Command_gid", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_id = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::process::Command::gid(&mut *api_that_guard, api_id); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__process__Command_into_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Command_into_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::process::Command::into_std(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__process__Command_kill_on_drop_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Command_kill_on_drop", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_kill_on_drop = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::process::Command::kill_on_drop( - &mut *api_that_guard, - api_kill_on_drop, - ); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__process__Command_process_group_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Command_process_group", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_pgroup = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::process::Command::process_group(&mut *api_that_guard, api_pgroup); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__process__Command_spawn_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Command_spawn", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::process::Command::spawn(&mut *api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__process__Command_uid_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Command_uid", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_id = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::process::Command::uid(&mut *api_that_guard, api_id); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__error__Error_at_capacity_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Error_at_capacity", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::time::error::Error::at_capacity())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__error__Error_invalid_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Error_invalid", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::time::error::Error::invalid())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__error__Error_is_at_capacity_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Error_is_at_capacity", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::time::error::Error::is_at_capacity(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__error__Error_is_invalid_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Error_is_invalid", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::time::error::Error::is_invalid( - &*api_that_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__error__Error_is_shutdown_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Error_is_shutdown", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::time::error::Error::is_shutdown( - &*api_that_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__error__Error_shutdown_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Error_shutdown", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::time::error::Error::shutdown())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__FacetField_auto_accessor_get_max_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "FacetField_auto_accessor_get_max", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.max.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__FacetField_auto_accessor_get_min_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "FacetField_auto_accessor_get_min", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.min.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__FacetField_auto_accessor_get_name_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "FacetField_auto_accessor_get_name", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.name.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__FacetField_auto_accessor_get_values_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "FacetField_auto_accessor_get_values", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.values.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__FacetField_auto_accessor_set_max_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "FacetField_auto_accessor_set_max", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_max = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.max = api_max; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__FacetField_auto_accessor_set_min_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "FacetField_auto_accessor_set_min", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_min = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.min = api_min; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__FacetField_auto_accessor_set_name_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "FacetField_auto_accessor_set_name", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_name = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.name = api_name; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__FacetField_auto_accessor_set_values_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "FacetField_auto_accessor_set_values", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_values = - , usize)>>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.values = api_values; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__FacetField_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "FacetField_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::index::FacetField::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__FrequentwordType_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "FrequentwordType_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::index::FrequentwordType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Handle_current_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Handle_current", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::runtime::Handle::current())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Handle_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Handle_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::runtime::Handle::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Handle_enter_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Handle_enter", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::runtime::Handle::enter(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Handle_id_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Handle_id", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::runtime::Handle::id(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Handle_metrics_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Handle_metrics", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::runtime::Handle::metrics(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Handle_runtime_flavor_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Handle_runtime_flavor", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::runtime::Handle::runtime_flavor( - &*api_that_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Handle_try_current_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Handle_try_current", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, TryCurrentError>((move || { - let output_ok = tokio::runtime::Handle::try_current()?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_access_type_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_access_type", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.access_type.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_frequent_words_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_frequent_words", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.frequent_words.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_id_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_id", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.id.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_name_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_name", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.name.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_ngram_indexing_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_ngram_indexing", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.ngram_indexing.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_query_completion_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_query_completion", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.query_completion.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_similarity_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_similarity", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.similarity.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_spelling_correction_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_spelling_correction", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.spelling_correction.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_stemmer_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_stemmer", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.stemmer.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_stop_words_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_stop_words", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.stop_words.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_get_tokenizer_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_get_tokenizer", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.tokenizer.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_access_type_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_access_type", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_access_type = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.access_type = api_access_type; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_frequent_words_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_frequent_words", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_frequent_words = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.frequent_words = api_frequent_words; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_id_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_id", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_id = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.id = api_id; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_name_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_name", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_name = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.name = api_name; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_ngram_indexing_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_ngram_indexing", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_ngram_indexing = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.ngram_indexing = api_ngram_indexing; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_query_completion_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_query_completion", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_query_completion = - >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.query_completion = api_query_completion; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_similarity_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_similarity", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_similarity = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.similarity = api_similarity; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_spelling_correction_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_spelling_correction", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_spelling_correction = - >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.spelling_correction = api_spelling_correction; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_stemmer_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_stemmer", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_stemmer = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.stemmer = api_stemmer; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_stop_words_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_stop_words", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_stop_words = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.stop_words = api_stop_words; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__IndexMetaObject_auto_accessor_set_tokenizer_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "IndexMetaObject_auto_accessor_set_tokenizer", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_tokenizer = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.tokenizer = api_tokenizer; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_add_synonyms_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_add_synonyms", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_synonyms = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, String>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = - seekstorm::index::Index::add_synonyms(&mut *api_that_guard, &api_synonyms)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__Index_auto_accessor_get_index_format_version_major_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_auto_accessor_get_index_format_version_major", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(api_that_guard.index_format_version_major.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_auto_accessor_get_index_format_version_minor_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_auto_accessor_get_index_format_version_minor", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(api_that_guard.index_format_version_minor.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_auto_accessor_get_meta_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_auto_accessor_get_meta", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.meta.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_auto_accessor_get_schema_map_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_auto_accessor_get_schema_map", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.schema_map.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_auto_accessor_get_stored_field_names_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_auto_accessor_get_stored_field_names", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.stored_field_names.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_auto_accessor_set_index_format_version_major_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_auto_accessor_set_index_format_version_major", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_index_format_version_major = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.index_format_version_major = api_index_format_version_major; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_auto_accessor_set_index_format_version_minor_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_auto_accessor_set_index_format_version_minor", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_index_format_version_minor = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.index_format_version_minor = api_index_format_version_minor; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_auto_accessor_set_meta_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_auto_accessor_set_meta", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_meta = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.meta = api_meta; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_auto_accessor_set_schema_map_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_auto_accessor_set_schema_map", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_schema_map = - >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.schema_map = api_schema_map; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_auto_accessor_set_stored_field_names_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_auto_accessor_set_stored_field_names", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_stored_field_names = >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.stored_field_names = api_stored_field_names; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__Index_clear_index_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_clear_index", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - seekstorm::index::Index::clear_index(&mut *api_that_guard).await; - })?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_committed_doc_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_committed_doc_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - seekstorm::index::Index::committed_doc_count(&*api_that_guard).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_current_doc_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_current_doc_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - seekstorm::index::Index::current_doc_count(&*api_that_guard).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_delete_index_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_delete_index", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - seekstorm::index::Index::delete_index(&mut *api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__Index_facets_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_facets_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(seekstorm::index::Index::facets_count( - &*api_that_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__Index_get_document_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_get_document", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_doc_id = ::sse_decode(&mut deserializer); - let api_include_uncommited = ::sse_decode(&mut deserializer); - let api_highlighter_option = >::sse_decode(&mut deserializer); - let api_fields = >::sse_decode(&mut deserializer); - let api_distance_fields = - >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, String>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = seekstorm::index::Index::get_document( - &*api_that_guard, - api_doc_id, - api_include_uncommited, - &api_highlighter_option, - &api_fields, - &api_distance_fields, - ) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_get_facet_value_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_get_facet_value", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_field = ::sse_decode(&mut deserializer); - let api_doc_id = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let output_ok = Result::<_, ()>::Ok( - seekstorm::index::Index::get_facet_value( - api_that, &api_field, api_doc_id, - ) - .await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_get_file_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_get_file", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_doc_id = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, String>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - seekstorm::index::Index::get_file(&*api_that_guard, api_doc_id).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_get_index_string_facets_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_get_index_string_facets", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_query_facets = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - seekstorm::index::Index::get_index_string_facets( - &*api_that_guard, - api_query_facets, - ) - .await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_get_synonyms_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_get_synonyms", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, String>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = seekstorm::index::Index::get_synonyms(&*api_that_guard)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__Index_index_facets_minmax_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_index_facets_minmax", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - seekstorm::index::Index::index_facets_minmax(&*api_that_guard).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_indexed_doc_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_indexed_doc_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - seekstorm::index::Index::indexed_doc_count(&*api_that_guard).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_level_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_level_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - seekstorm::index::Index::level_count(&*api_that_guard).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_set_synonyms_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_set_synonyms", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_synonyms = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, String>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = - seekstorm::index::Index::set_synonyms(&mut *api_that_guard, &api_synonyms)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__Index_shard_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_shard_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - seekstorm::index::Index::shard_count(&*api_that_guard).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__Index_uncommitted_doc_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Index_uncommitted_doc_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - seekstorm::index::Index::uncommitted_doc_count(&*api_that_guard).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__io__Interest_add_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interest_add", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_other = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::io::Interest::add(api_that, api_other))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__Interest_is_error_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interest_is_error", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::Interest::is_error(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__Interest_is_readable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interest_is_readable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::io::Interest::is_readable(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__Interest_is_writable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interest_is_writable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::io::Interest::is_writable(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__Interest_remove_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interest_remove", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_other = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::io::Interest::remove(api_that, api_other))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Interval_missed_tick_behavior_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interval_missed_tick_behavior", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::time::Interval::missed_tick_behavior(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Interval_period_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interval_period", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::time::Interval::period(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Interval_poll_tick_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interval_poll_tick", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::time::Interval::poll_tick( - &mut *api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Interval_reset_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interval_reset", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::time::Interval::reset(&mut *api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Interval_reset_after_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interval_reset_after", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_after = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::time::Interval::reset_after(&mut *api_that_guard, api_after); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Interval_reset_at_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interval_reset_at", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_deadline = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::time::Interval::reset_at(&mut *api_that_guard, api_deadline); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Interval_reset_immediately_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interval_reset_immediately", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::time::Interval::reset_immediately(&mut *api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Interval_set_missed_tick_behavior_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interval_set_missed_tick_behavior", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_behavior = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::time::Interval::set_missed_tick_behavior( - &mut *api_that_guard, - api_behavior, - ); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Interval_tick_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Interval_tick", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::time::Interval::tick(&mut *api_that_guard).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__task__LocalSet_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "LocalSet_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::task::LocalSet::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__task__LocalSet_enter_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "LocalSet_enter", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::task::LocalSet::enter(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__task__LocalSet_id_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "LocalSet_id", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::task::LocalSet::id(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__task__LocalSet_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "LocalSet_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::task::LocalSet::new())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__MinMaxFieldJson_auto_accessor_get_max_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MinMaxFieldJson_auto_accessor_get_max", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.max.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__MinMaxFieldJson_auto_accessor_get_min_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MinMaxFieldJson_auto_accessor_get_min", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.min.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__MinMaxFieldJson_auto_accessor_set_max_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MinMaxFieldJson_auto_accessor_set_max", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_max = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.max = api_max; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__MinMaxFieldJson_auto_accessor_set_min_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MinMaxFieldJson_auto_accessor_set_min", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_min = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.min = api_min; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__MinMaxFieldJson_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MinMaxFieldJson_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::index::MinMaxFieldJson::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__MinMaxField_auto_accessor_get_max_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MinMaxField_auto_accessor_get_max", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.max.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__MinMaxField_auto_accessor_get_min_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MinMaxField_auto_accessor_get_min", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.min.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__MinMaxField_auto_accessor_set_max_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MinMaxField_auto_accessor_set_max", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_max = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.max = api_max; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__MinMaxField_auto_accessor_set_min_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MinMaxField_auto_accessor_set_min", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_min = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.min = api_min; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__MinMaxField_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MinMaxField_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::index::MinMaxField::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Notify_const_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Notify_const_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::sync::Notify::const_new())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Notify_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Notify_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::sync::Notify::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Notify_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Notify_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::sync::Notify::new())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Notify_notified_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Notify_notified", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::sync::Notify::notified(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Notify_notified_owned_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Notify_notified_owned", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::sync::Notify::notified_owned(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Notify_notify_last_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Notify_notify_last", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::sync::Notify::notify_last(&*api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Notify_notify_one_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Notify_notify_one", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::sync::Notify::notify_one(&*api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Notify_notify_waiters_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Notify_notify_waiters", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::sync::Notify::notify_waiters(&*api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_append_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_append", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_append = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::OpenOptions::append( - &mut *api_that_guard, - api_append, - ); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_create_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_create", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_create = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::OpenOptions::create( - &mut *api_that_guard, - api_create, - ); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_create_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_create_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_create_new = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::OpenOptions::create_new( - &mut *api_that_guard, - api_create_new, - ); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_custom_flags_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_custom_flags", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_flags = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::OpenOptions::custom_flags( - &mut *api_that_guard, - api_flags, - ); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::OpenOptions::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_mode_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_mode", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_mode = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::OpenOptions::mode(&mut *api_that_guard, api_mode); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::OpenOptions::new())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_read_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_read", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_read = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::OpenOptions::read(&mut *api_that_guard, api_read); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_truncate_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_truncate", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_truncate = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::OpenOptions::truncate( - &mut *api_that_guard, - api_truncate, - ); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_unchecked_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_unchecked", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_value = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::OpenOptions::unchecked( - &mut *api_that_guard, - api_value, - ); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__OpenOptions_write_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OpenOptions_write", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_write = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::OpenOptions::write(&mut *api_that_guard, api_write); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedReadHalf_local_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedReadHalf_local_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::tcp::OwnedReadHalf::local_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedReadHalf_peek_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedReadHalf_peek", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref_mut().await) - } - 1 => { - api_buf_guard = - Some(api_buf.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = tokio::net::tcp::OwnedReadHalf::peek( - &mut *api_that_guard, - &mut *api_buf_guard, - ) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedReadHalf_peer_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedReadHalf_peer_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::tcp::OwnedReadHalf::peer_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedReadHalf_poll_peek_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedReadHalf_poll_peek", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 2, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::tcp::OwnedReadHalf::poll_peek( - &mut *api_that_guard, - &mut *api_cx_guard, - &mut *api_buf_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedReadHalf_readable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedReadHalf_readable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::tcp::OwnedReadHalf::readable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedReadHalf_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedReadHalf_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_interest = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::tcp::OwnedReadHalf::ready(&*api_that_guard, api_interest) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedReadHalf_reunite_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedReadHalf_reunite", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_other = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ReuniteError>((move || { - let output_ok = tokio::net::tcp::OwnedReadHalf::reunite(api_that, api_other)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedReadHalf_try_read_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedReadHalf_try_read", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = tokio::net::tcp::OwnedReadHalf::try_read( - &*api_that_guard, - &mut *api_buf_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedReadHalf_try_read_vectored_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedReadHalf_try_read_vectored", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_bufs = ]>, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_bufs_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_bufs, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_bufs_guard = Some(api_bufs.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_bufs_guard = api_bufs_guard.unwrap(); - let output_ok = tokio::net::tcp::OwnedReadHalf::try_read_vectored( - &*api_that_guard, - &mut *api_bufs_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__sync__OwnedSemaphorePermit_merge_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedSemaphorePermit_merge", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_other = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::sync::OwnedSemaphorePermit::merge(&mut *api_that_guard, api_other); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__OwnedSemaphorePermit_num_permits_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedSemaphorePermit_num_permits", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::sync::OwnedSemaphorePermit::num_permits(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__OwnedSemaphorePermit_semaphore_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedSemaphorePermit_semaphore", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::sync::OwnedSemaphorePermit::semaphore(&*api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__OwnedSemaphorePermit_split_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedSemaphorePermit_split", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_n = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::sync::OwnedSemaphorePermit::split( - &mut *api_that_guard, - api_n, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedWriteHalf_local_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedWriteHalf_local_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::tcp::OwnedWriteHalf::local_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedWriteHalf_peer_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedWriteHalf_peer_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::tcp::OwnedWriteHalf::peer_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedWriteHalf_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedWriteHalf_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_interest = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::tcp::OwnedWriteHalf::ready(&*api_that_guard, api_interest) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedWriteHalf_reunite_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedWriteHalf_reunite", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_other = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ReuniteError>((move || { - let output_ok = tokio::net::tcp::OwnedWriteHalf::reunite(api_that, api_other)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedWriteHalf_try_write_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedWriteHalf_try_write", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::tcp::OwnedWriteHalf::try_write(&*api_that_guard, &api_buf)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedWriteHalf_try_write_vectored_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedWriteHalf_try_write_vectored", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_bufs = >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::tcp::OwnedWriteHalf::try_write_vectored( - &*api_that_guard, - &api_bufs, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__tcp__OwnedWriteHalf_writable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OwnedWriteHalf_writable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::tcp::OwnedWriteHalf::writable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__search__QueryFacet_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "QueryFacet_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::search::QueryFacet::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__search__QueryRewriting_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "QueryRewriting_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::search::QueryRewriting::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__search__Ranges_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Ranges_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::search::Ranges::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__Ready_is_empty_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Ready_is_empty", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::Ready::is_empty(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__Ready_is_error_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Ready_is_error", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::Ready::is_error(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__Ready_is_read_closed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Ready_is_read_closed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::io::Ready::is_read_closed(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__Ready_is_readable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Ready_is_readable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::Ready::is_readable(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__Ready_is_writable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Ready_is_writable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::Ready::is_writable(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__Ready_is_write_closed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Ready_is_write_closed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::io::Ready::is_write_closed(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_blocking_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_blocking_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, RecvError>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Receiver::blocking_recv(&mut *api_that_guard)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_blocking_recv_many_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_blocking_recv_many", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_buffer = >, - >>::sse_decode(&mut deserializer); - let api_limit = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_buffer_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buffer, - 1, - true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - 1 => api_buffer_guard = Some(api_buffer.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let mut api_buffer_guard = api_buffer_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::blocking_recv_many( - &mut *api_that_guard, - &mut *api_buffer_guard, - api_limit, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_borrow_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_borrow", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::borrow( - &*api_that_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_borrow_and_update_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_borrow_and_update", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Receiver::borrow_and_update(&mut *api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_capacity_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_capacity", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Receiver::capacity(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_changed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_changed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, RecvError>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Receiver::changed(&mut *api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_close_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_close", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::Receiver::close(&mut *api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_has_changed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_has_changed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, RecvError>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Receiver::has_changed(&*api_that_guard)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_is_closed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_is_closed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Receiver::is_closed(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_is_empty_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_is_empty", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Receiver::is_empty(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_is_terminated_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_is_terminated", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Receiver::is_terminated(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_len_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_len", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::len( - &*api_that_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_mark_changed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_mark_changed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::Receiver::mark_changed(&mut *api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_mark_unchanged_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_mark_unchanged", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::Receiver::mark_unchanged(&mut *api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_max_capacity_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_max_capacity", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Receiver::max_capacity(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_poll_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_poll_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::poll_recv( - &mut *api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_poll_recv_many_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_poll_recv_many", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buffer = >, - >>::sse_decode(&mut deserializer); - let api_limit = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let mut api_buffer_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buffer, - 2, - true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - 2 => api_buffer_guard = Some(api_buffer.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let mut api_buffer_guard = api_buffer_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::poll_recv_many( - &mut *api_that_guard, - &mut *api_cx_guard, - &mut *api_buffer_guard, - api_limit, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, RecvError>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Receiver::recv(&mut *api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_recv_many_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_recv_many", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_buffer = >, - >>::sse_decode(&mut deserializer); - let api_limit = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let mut api_buffer_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buffer, - 1, - true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref_mut().await) - } - 1 => { - api_buffer_guard = - Some(api_buffer.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let mut api_buffer_guard = api_buffer_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Receiver::recv_many( - &mut *api_that_guard, - &mut *api_buffer_guard, - api_limit, - ) - .await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_resubscribe_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_resubscribe", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Receiver::resubscribe(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_same_channel_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_same_channel", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_other = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_other_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_other, 1, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_other_guard = Some(api_other.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let api_other_guard = api_other_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::same_channel( - &*api_that_guard, - &*api_other_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_sender_strong_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_sender_strong_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Receiver::sender_strong_count(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_sender_weak_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_sender_weak_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Receiver::sender_weak_count(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__ReceiverT_try_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReceiverT_try_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, TryRecvError>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Receiver::try_recv(&mut *api_that_guard)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_from_file_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_from_file", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_file = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::unix::pipe::Receiver::from_file(api_file)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_from_file_unchecked_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_from_file_unchecked", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_file = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = - tokio::net::unix::pipe::Receiver::from_file_unchecked(api_file)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_from_owned_fd_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_from_owned_fd", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_owned_fd = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = - tokio::net::unix::pipe::Receiver::from_owned_fd(api_owned_fd)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_from_owned_fd_unchecked_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_from_owned_fd_unchecked", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_owned_fd = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::unix::pipe::Receiver::from_owned_fd_unchecked( - api_owned_fd, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_into_blocking_fd_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_into_blocking_fd", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = - tokio::net::unix::pipe::Receiver::into_blocking_fd(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_into_nonblocking_fd_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_into_nonblocking_fd", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = - tokio::net::unix::pipe::Receiver::into_nonblocking_fd(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_poll_read_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_poll_read_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::Receiver::poll_read_ready( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_readable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_readable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Receiver::readable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_interest = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Receiver::ready(&*api_that_guard, api_interest) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_try_read_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_try_read", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = tokio::net::unix::pipe::Receiver::try_read( - &*api_that_guard, - &mut *api_buf_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Receiver_try_read_vectored_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Receiver_try_read_vectored", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_bufs = ]>, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_bufs_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_bufs, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_bufs_guard = Some(api_bufs.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_bufs_guard = api_bufs_guard.unwrap(); - let output_ok = tokio::net::unix::pipe::Receiver::try_read_vectored( - &*api_that_guard, - &mut *api_bufs_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__task__coop__RestoreOnPending_made_progress_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RestoreOnPending_made_progress", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::task::coop::RestoreOnPending::made_progress(&*api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_get_facets_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_get_facets", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.facets.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_get_original_query_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_get_original_query", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.original_query.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_get_query_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_get_query", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.query.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_get_query_terms_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_get_query_terms", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.query_terms.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_get_result_count_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_get_result_count", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.result_count.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_get_result_count_total_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_get_result_count_total", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.result_count_total.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_get_results_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_get_results", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.results.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_get_suggestions_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_get_suggestions", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.suggestions.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_set_facets_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_set_facets", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_facets = >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.facets = api_facets; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_set_original_query_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_set_original_query", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_original_query = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.original_query = api_original_query; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_set_query_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_set_query", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_query = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.query = api_query; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_set_query_terms_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_set_query_terms", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_query_terms = >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.query_terms = api_query_terms; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_set_result_count_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_set_result_count", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_result_count = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.result_count = api_result_count; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_set_result_count_total_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_set_result_count_total", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_result_count_total = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.result_count_total = api_result_count_total; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_set_results_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_set_results", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_results = >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.results = api_results; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_auto_accessor_set_suggestions_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_auto_accessor_set_suggestions", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_suggestions = >::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.suggestions = api_suggestions; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultObject_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultObject_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::search::ResultObject::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__search__ResultSort_auto_accessor_get_base_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultSort_auto_accessor_get_base", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.base.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultSort_auto_accessor_get_field_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultSort_auto_accessor_get_field", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.field.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultSort_auto_accessor_get_order_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultSort_auto_accessor_get_order", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.order.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultSort_auto_accessor_set_base_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultSort_auto_accessor_set_base", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_base = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.base = api_base; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultSort_auto_accessor_set_field_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultSort_auto_accessor_set_field", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_field = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.field = api_field; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__search__ResultSort_auto_accessor_set_order_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ResultSort_auto_accessor_set_order", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_order = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.order = api_order; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__net__tcp__ReuniteError_auto_accessor_get_field0_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReuniteError_auto_accessor_get_field0", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.field0.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__net__tcp__ReuniteError_auto_accessor_get_field1_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReuniteError_auto_accessor_get_field1", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.field1.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__net__tcp__ReuniteError_auto_accessor_set_field0_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReuniteError_auto_accessor_set_field0", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_field0 = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.field0 = api_field0; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__net__tcp__ReuniteError_auto_accessor_set_field1_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ReuniteError_auto_accessor_set_field1", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_field1 = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.field1 = api_field1; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__runtime__RuntimeMetrics_global_queue_depth_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RuntimeMetrics_global_queue_depth", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::runtime::RuntimeMetrics::global_queue_depth(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__RuntimeMetrics_num_alive_tasks_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RuntimeMetrics_num_alive_tasks", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::runtime::RuntimeMetrics::num_alive_tasks(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__RuntimeMetrics_num_workers_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RuntimeMetrics_num_workers", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::runtime::RuntimeMetrics::num_workers(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__RuntimeMetrics_worker_park_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RuntimeMetrics_worker_park_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_worker = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::runtime::RuntimeMetrics::worker_park_count( - &*api_that_guard, - api_worker, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__RuntimeMetrics_worker_park_unpark_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RuntimeMetrics_worker_park_unpark_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_worker = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::runtime::RuntimeMetrics::worker_park_unpark_count( - &*api_that_guard, - api_worker, - ), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__RuntimeMetrics_worker_total_busy_duration_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RuntimeMetrics_worker_total_busy_duration", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_worker = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::runtime::RuntimeMetrics::worker_total_busy_duration( - &*api_that_guard, - api_worker, - ), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Runtime_enter_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Runtime_enter", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::runtime::Runtime::enter(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Runtime_handle_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Runtime_handle", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::runtime::Runtime::handle(&*api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Runtime_metrics_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Runtime_metrics", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::runtime::Runtime::metrics(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__Runtime_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Runtime_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::runtime::Runtime::new()?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__runtime__Runtime_shutdown_background_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Runtime_shutdown_background", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok({ - tokio::runtime::Runtime::shutdown_background(api_that); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_get_boost_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_get_boost", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.boost.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_get_completion_source_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_get_completion_source", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.completion_source.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_get_dictionary_source_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_get_dictionary_source", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.dictionary_source.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_get_facet_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_get_facet", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.facet.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_get_field_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_get_field", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.field.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_get_field_type_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_get_field_type", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.field_type.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_get_indexed_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_get_indexed", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.indexed.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_get_longest_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_get_longest", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.longest.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_get_stored_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_get_stored", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(api_that_guard.stored.clone())?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_set_boost_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_set_boost", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_boost = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.boost = api_boost; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_set_completion_source_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_set_completion_source", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_completion_source = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.completion_source = api_completion_source; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_set_dictionary_source_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_set_dictionary_source", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_dictionary_source = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.dictionary_source = api_dictionary_source; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_set_facet_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_set_facet", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_facet = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.facet = api_facet; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_set_field_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_set_field", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_field = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.field = api_field; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_set_field_type_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_set_field_type", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_field_type = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.field_type = api_field_type; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_set_indexed_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_set_indexed", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_indexed = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.indexed = api_indexed; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_set_longest_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_set_longest", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_longest = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.longest = api_longest; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_auto_accessor_set_stored_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_auto_accessor_set_stored", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_stored = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - { - api_that_guard.stored = api_stored; - }; - })?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__seekstorm__index__SchemaField_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SchemaField_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_field = ::sse_decode(&mut deserializer); - let api_stored = ::sse_decode(&mut deserializer); - let api_indexed = ::sse_decode(&mut deserializer); - let api_field_type = ::sse_decode(&mut deserializer); - let api_facet = ::sse_decode(&mut deserializer); - let api_longest = ::sse_decode(&mut deserializer); - let api_boost = ::sse_decode(&mut deserializer); - let api_dictionary_source = ::sse_decode(&mut deserializer); - let api_completion_source = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::index::SchemaField::new( - api_field, - api_stored, - api_indexed, - api_field_type, - api_facet, - api_longest, - api_boost, - api_dictionary_source, - api_completion_source, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_acquire_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_acquire", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, AcquireError>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::sync::Semaphore::acquire(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_acquire_many_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_acquire_many", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_n = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, AcquireError>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::sync::Semaphore::acquire_many(&*api_that_guard, api_n).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_acquire_many_owned_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_acquire_many_owned", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_n = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, AcquireError>( - (move || async move { - let output_ok = - tokio::sync::Semaphore::acquire_many_owned(api_that, api_n).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_acquire_owned_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_acquire_owned", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, AcquireError>( - (move || async move { - let output_ok = tokio::sync::Semaphore::acquire_owned(api_that).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_add_permits_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_add_permits", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_n = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::sync::Semaphore::add_permits(&*api_that_guard, api_n); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_available_permits_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_available_permits", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::sync::Semaphore::available_permits(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_close_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_close", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::sync::Semaphore::close(&*api_that_guard); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_const_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_const_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_permits = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::sync::Semaphore::const_new(api_permits))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_forget_permits_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_forget_permits", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_n = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::sync::Semaphore::forget_permits( - &*api_that_guard, - api_n, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_is_closed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_is_closed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::sync::Semaphore::is_closed(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_permits = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::sync::Semaphore::new(api_permits))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_try_acquire_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_try_acquire", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, tokio::sync::TryAcquireError>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::sync::Semaphore::try_acquire(&*api_that_guard)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_try_acquire_many_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_try_acquire_many", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_n = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, tokio::sync::TryAcquireError>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::sync::Semaphore::try_acquire_many(&*api_that_guard, api_n)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_try_acquire_many_owned_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_try_acquire_many_owned", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_n = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, tokio::sync::TryAcquireError>((move || { - let output_ok = - tokio::sync::Semaphore::try_acquire_many_owned(api_that, api_n)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__sync__Semaphore_try_acquire_owned_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Semaphore_try_acquire_owned", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, tokio::sync::TryAcquireError>((move || { - let output_ok = tokio::sync::Semaphore::try_acquire_owned(api_that)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_blocking_send_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_blocking_send", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_value = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, SendError>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Sender::blocking_send(&*api_that_guard, api_value)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_borrow_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_borrow", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::borrow( - &*api_that_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_capacity_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_capacity", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::capacity( - &*api_that_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_closed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_closed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - tokio::net::unix::pipe::Sender::closed(&*api_that_guard).await; - })?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_downgrade_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_downgrade", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Sender::downgrade(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_is_closed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_is_closed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Sender::is_closed(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_is_empty_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_is_empty", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::is_empty( - &*api_that_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_len_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_len", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::len(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_max_capacity_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_max_capacity", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Sender::max_capacity(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_capacity = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::new(api_capacity))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_poll_closed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_poll_closed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::poll_closed( - &mut *api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_receiver_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_receiver_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Sender::receiver_count(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_reserve_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_reserve", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, SendError<()>>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Sender::reserve(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_reserve_many_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_reserve_many", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_n = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, SendError<()>>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Sender::reserve_many(&*api_that_guard, api_n) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_reserve_owned_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_reserve_owned", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, SendError<()>>( - (move || async move { - let output_ok = - tokio::net::unix::pipe::Sender::reserve_owned(api_that).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_same_channel_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_same_channel", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_other = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_other_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_other, 1, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_other_guard = Some(api_other.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let api_other_guard = api_other_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::same_channel( - &*api_that_guard, - &*api_other_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_send_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_send", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_value = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, SendError>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Sender::send(&*api_that_guard, api_value)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_send_replace_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_send_replace", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_value = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Sender::send_replace(&*api_that_guard, api_value), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_send_timeout_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_send_timeout", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_value = ::sse_decode(&mut deserializer); - let api_timeout = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, SendTimeoutError>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::unix::pipe::Sender::send_timeout( - &*api_that_guard, - api_value, - api_timeout, - ) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_sender_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_sender_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Sender::sender_count(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_strong_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_strong_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Sender::strong_count(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_subscribe_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_subscribe", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Sender::subscribe(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_try_reserve_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_try_reserve", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, TrySendError<()>>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::unix::pipe::Sender::try_reserve(&*api_that_guard)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_try_reserve_many_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_try_reserve_many", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_n = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, TrySendError<()>>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Sender::try_reserve_many(&*api_that_guard, api_n)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_try_reserve_owned_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_try_reserve_owned", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, TrySendError>((move || { - let output_ok = tokio::net::unix::pipe::Sender::try_reserve_owned(api_that)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_try_send_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_try_send", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - let api_message = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, TrySendError>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Sender::try_send(&*api_that_guard, api_message)?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__SenderT_weak_count_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SenderT_weak_count", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::pipe::Sender::weak_count(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_from_file_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_from_file", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_file = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::unix::pipe::Sender::from_file(api_file)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_from_file_unchecked_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_from_file_unchecked", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_file = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = - tokio::net::unix::pipe::Sender::from_file_unchecked(api_file)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_from_owned_fd_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_from_owned_fd", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_owned_fd = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = - tokio::net::unix::pipe::Sender::from_owned_fd(api_owned_fd)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_from_owned_fd_unchecked_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_from_owned_fd_unchecked", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_owned_fd = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = - tokio::net::unix::pipe::Sender::from_owned_fd_unchecked(api_owned_fd)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_into_blocking_fd_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_into_blocking_fd", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::unix::pipe::Sender::into_blocking_fd(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_into_nonblocking_fd_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_into_nonblocking_fd", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = - tokio::net::unix::pipe::Sender::into_nonblocking_fd(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_poll_write_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_poll_write_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::pipe::Sender::poll_write_ready( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_interest = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Sender::ready(&*api_that_guard, api_interest) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_try_write_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_try_write", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Sender::try_write(&*api_that_guard, &api_buf)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_try_write_vectored_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_try_write_vectored", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::unix::pipe::Sender::try_write_vectored( - &*api_that_guard, - &api_buf, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__Sender_writable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sender_writable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::unix::pipe::Sender::writable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_alarm_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_alarm", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::alarm())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_as_raw_value_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_as_raw_value", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::signal::unix::SignalKind::as_raw_value(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_child_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_child", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::child())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_from_raw_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_from_raw", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_signum = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::from_raw(api_signum))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_hangup_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_hangup", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::hangup())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_info_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_info", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::info())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_interrupt_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_interrupt", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::interrupt())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_io_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_io", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::io())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_pipe_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_pipe", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::pipe())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_quit_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_quit", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::quit())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_terminate_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_terminate", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::terminate())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_user_defined1_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_user_defined1", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::user_defined1())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_user_defined2_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_user_defined2", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::user_defined2())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__SignalKind_window_change_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SignalKind_window_change", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::signal::unix::SignalKind::window_change())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__Signal_poll_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Signal_poll_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref_mut()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::signal::unix::Signal::poll_recv( - &mut *api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__signal__unix__Signal_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Signal_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, true, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let mut api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::signal::unix::Signal::recv(&mut *api_that_guard).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__io__SimplexStream_new_unsplit_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SimplexStream_new_unsplit", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_max_buf_size = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::SimplexStream::new_unsplit( - api_max_buf_size, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Sleep_deadline_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sleep_deadline", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::time::Sleep::deadline(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Sleep_is_elapsed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sleep_is_elapsed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::time::Sleep::is_elapsed(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__Sleep_reset_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Sleep_reset", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_deadline = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok({ - tokio::time::Sleep::reset(api_that, api_deadline); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__SocketAddr_as_pathname_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SocketAddr_as_pathname", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::net::unix::SocketAddr::as_pathname(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__SocketAddr_is_unnamed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "SocketAddr_is_unnamed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::unix::SocketAddr::is_unnamed( - &*api_that_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__StopwordType_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "StopwordType_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::index::StopwordType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__TcpListener_accept_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpListener_accept", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpListener::accept(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__TcpListener_from_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpListener_from_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_listener = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::TcpListener::from_std(api_listener)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpListener_into_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpListener_into_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::TcpListener::into_std(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpListener_local_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpListener_local_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpListener::local_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpListener_poll_accept_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpListener_poll_accept", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::TcpListener::poll_accept( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__TcpListener_set_ttl_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpListener_set_ttl", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_ttl = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpListener::set_ttl(&*api_that_guard, api_ttl)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpListener_ttl_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpListener_ttl", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpListener::ttl(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_bind_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_bind", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_addr = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::bind(&*api_that_guard, api_addr)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_connect_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_connect", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_addr = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let output_ok = tokio::net::TcpSocket::connect(api_that, api_addr).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_from_std_stream_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_from_std_stream", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_std_stream = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::net::TcpSocket::from_std_stream( - api_std_stream, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_keepalive_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_keepalive", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::keepalive(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_linger_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_linger", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::linger(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_listen_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_listen", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_backlog = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::TcpSocket::listen(api_that, api_backlog)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_local_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_local_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::local_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_new_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_new_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::TcpSocket::new_v4()?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_new_v6_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_new_v6", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::TcpSocket::new_v6()?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_nodelay_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_nodelay", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::nodelay(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_recv_buffer_size_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_recv_buffer_size", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::recv_buffer_size(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_reuseaddr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_reuseaddr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::reuseaddr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_reuseport_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_reuseport", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::reuseport(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_send_buffer_size_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_send_buffer_size", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::send_buffer_size(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_set_keepalive_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_set_keepalive", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_keepalive = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpSocket::set_keepalive(&*api_that_guard, api_keepalive)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_set_linger_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_set_linger", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_dur = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpSocket::set_linger(&*api_that_guard, api_dur)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_set_nodelay_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_set_nodelay", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_nodelay = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpSocket::set_nodelay(&*api_that_guard, api_nodelay)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_set_recv_buffer_size_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_set_recv_buffer_size", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_size = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::set_recv_buffer_size( - &*api_that_guard, - api_size, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_set_reuseaddr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_set_reuseaddr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_reuseaddr = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpSocket::set_reuseaddr(&*api_that_guard, api_reuseaddr)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_set_reuseport_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_set_reuseport", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_reuseport = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpSocket::set_reuseport(&*api_that_guard, api_reuseport)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_set_send_buffer_size_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_set_send_buffer_size", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_size = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::set_send_buffer_size( - &*api_that_guard, - api_size, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_set_tclass_v6_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_set_tclass_v6", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_tclass = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpSocket::set_tclass_v6(&*api_that_guard, api_tclass)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_set_tos_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_set_tos", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_tos = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::set_tos(&*api_that_guard, api_tos)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_set_tos_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_set_tos_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_tos = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpSocket::set_tos_v4(&*api_that_guard, api_tos)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_take_error_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_take_error", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::take_error(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_tclass_v6_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_tclass_v6", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::tclass_v6(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_tos_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_tos", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::tos(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpSocket_tos_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpSocket_tos_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpSocket::tos_v4(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_from_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_from_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_stream = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::TcpStream::from_std(api_stream)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_into_split_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_into_split", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::net::TcpStream::into_split(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__TcpStream_into_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_into_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::TcpStream::into_std(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_linger_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_linger", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpStream::linger(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_local_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_local_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpStream::local_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_nodelay_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_nodelay", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpStream::nodelay(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_peek_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_peek", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - 1 => { - api_buf_guard = - Some(api_buf.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = - tokio::net::TcpStream::peek(&*api_that_guard, &mut *api_buf_guard) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_peer_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_peer_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpStream::peer_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_poll_peek_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_poll_peek", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 2, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::TcpStream::poll_peek( - &*api_that_guard, - &mut *api_cx_guard, - &mut *api_buf_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__TcpStream_poll_read_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_poll_read_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::TcpStream::poll_read_ready( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__TcpStream_poll_write_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_poll_write_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::TcpStream::poll_write_ready( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__TcpStream_readable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_readable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpStream::readable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_interest = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpStream::ready(&*api_that_guard, api_interest).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_set_linger_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_set_linger", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_dur = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpStream::set_linger(&*api_that_guard, api_dur)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_set_nodelay_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_set_nodelay", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_nodelay = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpStream::set_nodelay(&*api_that_guard, api_nodelay)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_set_ttl_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_set_ttl", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_ttl = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpStream::set_ttl(&*api_that_guard, api_ttl)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_take_error_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_take_error", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpStream::take_error(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_try_read_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_try_read", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = - tokio::net::TcpStream::try_read(&*api_that_guard, &mut *api_buf_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_try_read_vectored_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_try_read_vectored", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_bufs = ]>, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_bufs_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_bufs, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_bufs_guard = Some(api_bufs.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_bufs_guard = api_bufs_guard.unwrap(); - let output_ok = tokio::net::TcpStream::try_read_vectored( - &*api_that_guard, - &mut *api_bufs_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_try_write_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_try_write", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpStream::try_write(&*api_that_guard, &api_buf)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_try_write_vectored_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_try_write_vectored", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_bufs = >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::TcpStream::try_write_vectored(&*api_that_guard, &api_bufs)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_ttl_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_ttl", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpStream::ttl(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__TcpStream_writable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TcpStream_writable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::TcpStream::writable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__runtime__TryCurrentError_is_missing_context_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TryCurrentError_is_missing_context", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::runtime::TryCurrentError::is_missing_context(&*api_that_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__runtime__TryCurrentError_is_thread_local_destroyed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "TryCurrentError_is_thread_local_destroyed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::runtime::TryCurrentError::is_thread_local_destroyed( - &*api_that_guard, - ), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__UCred_gid_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UCred_gid", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::UCred::gid(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__UCred_pid_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UCred_pid", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::UCred::pid(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__UCred_uid_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UCred_uid", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::unix::UCred::uid(&*api_that_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_broadcast_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_broadcast", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::broadcast(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_from_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_from_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_socket = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UdpSocket::from_std(api_socket)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_into_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_into_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UdpSocket::into_std(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_join_multicast_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_join_multicast_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_multiaddr = ::sse_decode(&mut deserializer); - let api_interface = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::join_multicast_v4( - &*api_that_guard, - api_multiaddr, - api_interface, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_join_multicast_v6_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_join_multicast_v6", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_multiaddr = , - >>::sse_decode(&mut deserializer); - let api_interface = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_multiaddr_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_multiaddr, - 1, - false, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => { - api_multiaddr_guard = - Some(api_multiaddr.lockable_decode_sync_ref()) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let api_multiaddr_guard = api_multiaddr_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::join_multicast_v6( - &*api_that_guard, - &*api_multiaddr_guard, - api_interface, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_leave_multicast_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_leave_multicast_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_multiaddr = ::sse_decode(&mut deserializer); - let api_interface = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::leave_multicast_v4( - &*api_that_guard, - api_multiaddr, - api_interface, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_leave_multicast_v6_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_leave_multicast_v6", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_multiaddr = , - >>::sse_decode(&mut deserializer); - let api_interface = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_multiaddr_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_multiaddr, - 1, - false, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => { - api_multiaddr_guard = - Some(api_multiaddr.lockable_decode_sync_ref()) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let api_multiaddr_guard = api_multiaddr_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::leave_multicast_v6( - &*api_that_guard, - &*api_multiaddr_guard, - api_interface, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_local_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_local_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::local_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_multicast_loop_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_multicast_loop_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::multicast_loop_v4(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_multicast_loop_v6_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_multicast_loop_v6", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::multicast_loop_v6(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_multicast_ttl_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_multicast_ttl_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::multicast_ttl_v4(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_peek_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_peek", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - 1 => { - api_buf_guard = - Some(api_buf.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::peek(&*api_that_guard, &mut *api_buf_guard) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_peek_from_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_peek_from", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - 1 => { - api_buf_guard = - Some(api_buf.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::peek_from(&*api_that_guard, &mut *api_buf_guard) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_peek_sender_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_peek_sender", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::peek_sender(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_peer_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_peer_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::peer_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_poll_peek_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_poll_peek", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 2, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_peek( - &*api_that_guard, - &mut *api_cx_guard, - &mut *api_buf_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_poll_peek_from_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_poll_peek_from", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 2, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_peek_from( - &*api_that_guard, - &mut *api_cx_guard, - &mut *api_buf_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_poll_peek_sender_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_poll_peek_sender", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_peek_sender( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_poll_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_poll_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 2, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_recv( - &*api_that_guard, - &mut *api_cx_guard, - &mut *api_buf_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_poll_recv_from_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_poll_recv_from", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 2, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_recv_from( - &*api_that_guard, - &mut *api_cx_guard, - &mut *api_buf_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_poll_recv_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_poll_recv_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_recv_ready( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_poll_send_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_poll_send", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_send( - &*api_that_guard, - &mut *api_cx_guard, - &api_buf, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_poll_send_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_poll_send_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_send_ready( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_poll_send_to_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_poll_send_to", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - let api_target = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UdpSocket::poll_send_to( - &*api_that_guard, - &mut *api_cx_guard, - &api_buf, - api_target, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_readable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_readable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::readable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_interest = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::ready(&*api_that_guard, api_interest).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - 1 => { - api_buf_guard = - Some(api_buf.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::recv(&*api_that_guard, &mut *api_buf_guard) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_recv_from_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_recv_from", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - 1 => { - api_buf_guard = - Some(api_buf.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::recv_from(&*api_that_guard, &mut *api_buf_guard) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_send_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_send", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::send(&*api_that_guard, &api_buf).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_set_broadcast_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_set_broadcast", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_on = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::set_broadcast(&*api_that_guard, api_on)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_set_multicast_loop_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_set_multicast_loop_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_on = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::set_multicast_loop_v4(&*api_that_guard, api_on)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_set_multicast_loop_v6_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_set_multicast_loop_v6", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_on = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::set_multicast_loop_v6(&*api_that_guard, api_on)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_set_multicast_ttl_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_set_multicast_ttl_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_ttl = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::set_multicast_ttl_v4(&*api_that_guard, api_ttl)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_set_tclass_v6_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_set_tclass_v6", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_tclass = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::set_tclass_v6(&*api_that_guard, api_tclass)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_set_tos_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_set_tos", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_tos = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::set_tos(&*api_that_guard, api_tos)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_set_tos_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_set_tos_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_tos = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::set_tos_v4(&*api_that_guard, api_tos)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_set_ttl_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_set_ttl", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_ttl = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::set_ttl(&*api_that_guard, api_ttl)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_take_error_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_take_error", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::take_error(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_tclass_v6_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_tclass_v6", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::tclass_v6(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_tos_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_tos", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::tos(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_tos_v4_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_tos_v4", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::tos_v4(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_try_peek_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_try_peek", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::try_peek(&*api_that_guard, &mut *api_buf_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_try_peek_from_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_try_peek_from", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::try_peek_from( - &*api_that_guard, - &mut *api_buf_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_try_peek_sender_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_try_peek_sender", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::try_peek_sender(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_try_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_try_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::try_recv(&*api_that_guard, &mut *api_buf_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_try_recv_from_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_try_recv_from", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::try_recv_from( - &*api_that_guard, - &mut *api_buf_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_try_send_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_try_send", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UdpSocket::try_send(&*api_that_guard, &api_buf)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_try_send_to_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_try_send_to", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - let api_target = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::try_send_to( - &*api_that_guard, - &api_buf, - api_target, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_ttl_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_ttl", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::ttl(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UdpSocket_writable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UdpSocket_writable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UdpSocket::writable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_from_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_from_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_datagram = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixDatagram::from_std(api_datagram)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_into_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_into_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixDatagram::into_std(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_local_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_local_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixDatagram::local_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_pair_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_pair", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixDatagram::pair()?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_peer_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_peer_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixDatagram::peer_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_poll_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_poll_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 2, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UnixDatagram::poll_recv( - &*api_that_guard, - &mut *api_cx_guard, - &mut *api_buf_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_poll_recv_from_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_poll_recv_from", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 2, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - 2 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UnixDatagram::poll_recv_from( - &*api_that_guard, - &mut *api_cx_guard, - &mut *api_buf_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_poll_recv_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_poll_recv_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::UnixDatagram::poll_recv_ready( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_poll_send_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_poll_send", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UnixDatagram::poll_send( - &*api_that_guard, - &mut *api_cx_guard, - &api_buf, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_poll_send_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_poll_send_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::net::UnixDatagram::poll_send_ready( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_readable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_readable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UnixDatagram::readable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_interest = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UnixDatagram::ready(&*api_that_guard, api_interest).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - 1 => { - api_buf_guard = - Some(api_buf.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = - tokio::net::UnixDatagram::recv(&*api_that_guard, &mut *api_buf_guard) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_recv_from_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_recv_from", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - 1 => { - api_buf_guard = - Some(api_buf.lockable_decode_async_ref_mut().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = tokio::net::UnixDatagram::recv_from( - &*api_that_guard, - &mut *api_buf_guard, - ) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_send_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_send", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UnixDatagram::send(&*api_that_guard, &api_buf).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_shutdown_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_shutdown", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_how = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UnixDatagram::shutdown(&*api_that_guard, api_how)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_take_error_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_take_error", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixDatagram::take_error(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_try_recv_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_try_recv", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = tokio::net::UnixDatagram::try_recv( - &*api_that_guard, - &mut *api_buf_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_try_recv_from_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_try_recv_from", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = tokio::net::UnixDatagram::try_recv_from( - &*api_that_guard, - &mut *api_buf_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_try_send_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_try_send", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UnixDatagram::try_send(&*api_that_guard, &api_buf)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_unbound_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_unbound", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixDatagram::unbound()?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixDatagram_writable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixDatagram_writable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UnixDatagram::writable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UnixListener_accept_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixListener_accept", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixListener::accept(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UnixListener_from_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixListener_from_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_listener = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixListener::from_std(api_listener)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixListener_into_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixListener_into_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixListener::into_std(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixListener_local_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixListener_local_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixListener::local_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixListener_poll_accept_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixListener_poll_accept", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UnixListener::poll_accept( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UnixListener_take_error_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixListener_take_error", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixListener::take_error(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixSocket_datagram_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixSocket_datagram", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixSocket::datagram(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixSocket_listen_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixSocket_listen", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_backlog = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixSocket::listen(api_that, api_backlog)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixSocket_new_datagram_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixSocket_new_datagram", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixSocket::new_datagram()?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixSocket_new_stream_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixSocket_new_stream", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixSocket::new_stream()?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_from_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_from_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_stream = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixStream::from_std(api_stream)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_into_split_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_into_split", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::net::UnixStream::into_split(api_that))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UnixStream_into_std_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_into_std", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixStream::into_std(api_that)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_local_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_local_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixStream::local_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_pair_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_pair", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::UnixStream::pair()?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_peer_addr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_peer_addr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixStream::peer_addr(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_peer_cred_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_peer_cred", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixStream::peer_cred(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_poll_read_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_poll_read_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UnixStream::poll_read_ready( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UnixStream_poll_write_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_poll_write_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_that_guard = None; - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 1, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok(tokio::net::UnixStream::poll_write_ready( - &*api_that_guard, - &mut *api_cx_guard, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__UnixStream_readable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_readable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixStream::readable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_ready_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_ready", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_interest = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UnixStream::ready(&*api_that_guard, api_interest).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_take_error_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_take_error", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixStream::take_error(&*api_that_guard)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_try_read_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_try_read", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_buf_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_buf, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_buf_guard = Some(api_buf.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_buf_guard = api_buf_guard.unwrap(); - let output_ok = tokio::net::UnixStream::try_read( - &*api_that_guard, - &mut *api_buf_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_try_read_vectored_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_try_read_vectored", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_bufs = ]>, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let mut api_bufs_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - ), - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_bufs, 1, true, - ), - ], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - 1 => api_bufs_guard = Some(api_bufs.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let mut api_bufs_guard = api_bufs_guard.unwrap(); - let output_ok = tokio::net::UnixStream::try_read_vectored( - &*api_that_guard, - &mut *api_bufs_guard, - )?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_try_write_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_try_write", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UnixStream::try_write(&*api_that_guard, &api_buf)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_try_write_vectored_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_try_write_vectored", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - let api_buf = >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => api_that_guard = Some(api_that.lockable_decode_sync_ref()), - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = - tokio::net::UnixStream::try_write_vectored(&*api_that_guard, &api_buf)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__tokio__net__UnixStream_writable_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UnixStream_writable", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let mut api_that_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_that, 0, false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_that_guard = - Some(api_that.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_that_guard = api_that_guard.unwrap(); - let output_ok = tokio::net::UnixStream::writable(&*api_that_guard).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__ValueType_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ValueType_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::index::ValueType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__advance_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "advance", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_duration = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let output_ok = Result::<_, ()>::Ok({ - tokio::time::advance(api_duration).await; - })?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__compression_type_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "compression_type_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::index::CompressionType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__task__coop__consume_budget_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "consume_budget", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let output_ok = Result::<_, ()>::Ok({ - tokio::task::coop::consume_budget().await; - })?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__index__create_index_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "create_index", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_index_path = , - >>::sse_decode(&mut deserializer); - let api_meta = ::sse_decode(&mut deserializer); - let api_schema = >::sse_decode(&mut deserializer); - let api_synonyms = >::sse_decode(&mut deserializer); - let api_segment_number_bits1 = ::sse_decode(&mut deserializer); - let api_mute = ::sse_decode(&mut deserializer); - let api_force_shard_number = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, String>( - (move || async move { - let mut api_index_path_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_index_path, - 0, - false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_index_path_guard = - Some(api_index_path.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_index_path_guard = api_index_path_guard.unwrap(); - let output_ok = seekstorm::index::create_index( - &*api_index_path_guard, - api_meta, - &api_schema, - &api_synonyms, - api_segment_number_bits1, - api_mute, - api_force_shard_number, - ) - .await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__signal__ctrl_c_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ctrl_c", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || async move { - let output_ok = tokio::signal::ctrl_c().await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__seekstorm__geo_search__decode_morton_2_d_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "decode_morton_2_d", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_code = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::geo_search::decode_morton_2_d(api_code))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__distance_field_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "distance_field_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::index::DistanceField::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__duplex_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "duplex", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_max_buf_size = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::duplex(api_max_buf_size))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__empty_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "empty", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::empty())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__geo_search__encode_morton_2_d_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "encode_morton_2_d", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_point = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::geo_search::encode_morton_2_d(&api_point))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__geo_search__euclidian_distance_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "euclidian_distance", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_point1 = >::sse_decode(&mut deserializer); - let api_point2 = >::sse_decode(&mut deserializer); - let api_unit = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::geo_search::euclidian_distance( - &api_point1, - &api_point2, - &api_unit, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__field_type_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "field_type_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::index::FieldType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__crate__api__simple__greet_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "greet", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_name = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(crate::api::simple::greet(api_name))?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__tokio__task__coop__has_budget_remaining_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "has_budget_remaining", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::task::coop::has_budget_remaining())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__highlighter__highlight_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "highlight_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::highlighter::Highlight::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__highlighter__highlighter_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "highlighter", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_index_arc = >>, - >>::sse_decode(&mut deserializer); - let api_highlights = - >::sse_decode(&mut deserializer); - let api_query_terms_vec = >::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_index_arc_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_index_arc, - 0, - false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_index_arc_guard = - Some(api_index_arc.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_index_arc_guard = api_index_arc_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - seekstorm::highlighter::highlighter( - &*api_index_arc_guard, - api_highlights, - api_query_terms_vec, - ) - .await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__crate__api__simple__init_app_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "init_app", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok({ - crate::api::simple::init_app(); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__interval_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "interval", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_period = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::time::interval(api_period))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__interval_at_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "interval_at", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_start = ::sse_decode(&mut deserializer); - let api_period = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::time::interval_at(api_start, api_period))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__missed_tick_behavior_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "missed_tick_behavior_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::time::MissedTickBehavior::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__geo_search__morton_ordering_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "morton_ordering", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_morton1 = ::sse_decode(&mut deserializer); - let api_morton2 = ::sse_decode(&mut deserializer); - let api_base_point = >::sse_decode(&mut deserializer); - let api_order = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::geo_search::morton_ordering( - api_morton1, - api_morton2, - &api_base_point, - &api_order, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__ngram_type_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ngram_type_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::index::NgramType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__open_index_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "open_index", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_index_path = , - >>::sse_decode(&mut deserializer); - let api_mute = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, String>( - (move || async move { - let mut api_index_path_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_index_path, - 0, - false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_index_path_guard = - Some(api_index_path.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_index_path_guard = api_index_path_guard.unwrap(); - let output_ok = - seekstorm::index::open_index(&*api_index_path_guard, api_mute).await?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__time__pause_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "pause", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok({ - tokio::time::pause(); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__net__unix__pipe__pipe_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "pipe", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::net::unix::pipe::pipe()?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__seekstorm__geo_search__point_distance_to_morton_range_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "point_distance_to_morton_range", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_point = >::sse_decode(&mut deserializer); - let api_distance = ::sse_decode(&mut deserializer); - let api_unit = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok( - seekstorm::geo_search::point_distance_to_morton_range( - &api_point, - api_distance, - &api_unit, - ), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__macros__support__poll_budget_available_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "poll_budget_available", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok( - tokio::macros::support::poll_budget_available(&mut *api_cx_guard), - )?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__task__coop__poll_proceed_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "poll_proceed", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_cx = >, - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let mut api_cx_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order(vec![ - flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_cx, 0, true, - ), - ]); - for i in decode_indices_ { - match i { - 0 => api_cx_guard = Some(api_cx.lockable_decode_sync_ref_mut()), - _ => unreachable!(), - } - } - let mut api_cx_guard = api_cx_guard.unwrap(); - let output_ok = - Result::<_, ()>::Ok(tokio::task::coop::poll_proceed(&mut *api_cx_guard))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__search__query_type_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "query_type_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::search::QueryType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__search__range_type_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "range_type_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::search::RangeType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__repeat_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "repeat", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_byte = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::repeat(api_byte))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__search__result_type_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "result_type_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::search::ResultType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__resume_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "resume", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok({ - tokio::time::resume(); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__crate__api__keyword_search__search_fn_delete_index_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "search_fn_delete_index", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let output_ok = Result::<_, ()>::Ok({ - crate::api::keyword_search::SearchFn::delete_index(&api_that).await; - })?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__crate__api__keyword_search__search_fn_ingest_pdf_dir_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "search_fn_ingest_pdf_dir", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - let api_dir_path = , - >>::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let mut api_dir_path_guard = None; - let decode_indices_ = - flutter_rust_bridge::for_generated::lockable_compute_decode_order( - vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new( - &api_dir_path, - 0, - false, - )], - ); - for i in decode_indices_ { - match i { - 0 => { - api_dir_path_guard = - Some(api_dir_path.lockable_decode_async_ref().await) - } - _ => unreachable!(), - } - } - let api_dir_path_guard = api_dir_path_guard.unwrap(); - let output_ok = Result::<_, ()>::Ok({ - crate::api::keyword_search::SearchFn::ingest_pdf_dir( - &api_that, - &*api_dir_path_guard, - ) - .await; - })?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__crate__api__keyword_search__search_fn_new_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "search_fn_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_that = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let output_ok = Result::<_, ()>::Ok( - crate::api::keyword_search::SearchFn::new(&api_that).await, - )?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} -fn wire__tokio__signal__unix__signal_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "signal", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_kind = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, flutter_rust_bridge::for_generated::anyhow::Error>( - (move || { - let output_ok = tokio::signal::unix::signal(api_kind)?; - Ok(output_ok) - })(), - ) - } - }, - ) -} -fn wire__seekstorm__index__similarity_type_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "similarity_type_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::index::SimilarityType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__simplex_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "simplex", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_max_buf_size = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::simplex(api_max_buf_size))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__sink_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "sink", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::sink())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__sleep_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "sleep", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_duration = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::time::sleep(api_duration))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__time__sleep_until_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "sleep_until", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_deadline = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::time::sleep_until(api_deadline))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__stderr_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "stderr", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::stderr())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__stdin_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "stdin", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::stdin())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__io__stdout_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "stdout", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(tokio::io::stdout())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__stemmer_type_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "stemmer_type_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::index::StemmerType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__utils__substring_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "substring", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_source = ::sse_decode(&mut deserializer); - let api_start = ::sse_decode(&mut deserializer); - let api_length = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(seekstorm::utils::substring( - &api_source, - api_start, - api_length, - ))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__macros__support__thread_rng_n_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "thread_rng_n", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_n = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(tokio::macros::support::thread_rng_n(api_n))?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__tokenizer_type_default_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "tokenizer_type_default", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = - Result::<_, ()>::Ok(seekstorm::index::TokenizerType::default())?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__utils__truncate_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "truncate", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_source = ::sse_decode(&mut deserializer); - let api_max_chars = ::sse_decode(&mut deserializer); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok({ - seekstorm::utils::truncate(&api_source, api_max_chars); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__seekstorm__index__version_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "version", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok({ - seekstorm::index::version(); - })?; - Ok(output_ok) - })()) - } - }, - ) -} -fn wire__tokio__task__yield_now_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "yield_now", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| async move { - transform_result_sse::<_, ()>( - (move || async move { - let output_ok = Result::<_, ()>::Ok({ - tokio::task::yield_now().await; - })?; - Ok(output_ok) - })() - .await, - ) - } - }, - ) -} - -// Section: static_checks - -#[allow(clippy::unnecessary_literal_unwrap)] -const _: fn() = || { - { - let DistanceField = None::.unwrap(); - let _: String = DistanceField.field; - let _: String = DistanceField.distance; - let _: Vec = DistanceField.base; - let _: seekstorm::index::DistanceUnit = DistanceField.unit; - } - { - let Highlight = None::.unwrap(); - let _: String = Highlight.field; - let _: String = Highlight.name; - let _: usize = Highlight.fragment_number; - let _: usize = Highlight.fragment_size; - let _: bool = Highlight.highlight_markup; - let _: String = Highlight.pre_tags; - let _: String = Highlight.post_tags; - } - { - let QueryCompletion = None::.unwrap(); - let _: usize = QueryCompletion.max_completion_entries; - } - { - let SpellingCorrection = None::.unwrap(); - let _: usize = SpellingCorrection.max_dictionary_edit_distance; - let _: Option> = SpellingCorrection.term_length_threshold; - let _: usize = SpellingCorrection.count_threshold; - let _: usize = SpellingCorrection.max_dictionary_entries; - } - { - let Synonym = None::.unwrap(); - let _: Vec = Synonym.terms; - let _: bool = Synonym.multiway; - } -}; - -// Section: related_funcs - -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner, usize)>> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner<[IoSliceMut<'_>]> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner<[u8]> -); -flutter_rust_bridge::frb_generated_moi_arc_impl_value!( - flutter_rust_bridge::for_generated::RustAutoOpaqueInner -); - -// Section: dart2rust - -impl SseDecode for flutter_rust_bridge::for_generated::anyhow::Error { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::anyhow::anyhow!("{}", inner); - } -} - -impl SseDecode for AHashMap { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for AcquireError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Arc> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >>, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Barrier { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for BarrierWaitResult { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Child { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ChildStderr { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ChildStdin { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ChildStdout { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Command { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for DocumentItem { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for DuplexStream { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Empty { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for EnterGuard<'static> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Error { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ExitStatus { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for FacetField { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for FacetFilter { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for FacetValue { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for File { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for FileType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for FillBuf<'static, Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Flush<'static, Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for FrequentwordType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Handle { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Highlighter { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Id { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Index { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for IndexMap, usize)> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , usize)>, - >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for IndexMetaObject { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Instant { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Interest { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Interval { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for IoSlice<'static> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Ipv4Addr { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Lines { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for LocalEnterGuard { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for LocalSet { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for MinMaxField { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for MinMaxFieldJson { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Notified<'static> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Notify { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for OpenOptions { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Ordering { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for OwnedFd { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for OwnedNotified { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for OwnedPermit { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for OwnedReadHalf { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for OwnedSemaphorePermit { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for OwnedWriteHalf { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for PdfDocument<'static> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for PermitIterator<'static, T> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Permit<'static, T> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll<()> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >>, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >>, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >>, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >>, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >>, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Poll { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for QueryFacet { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for QueryRewriting { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Ranges { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Range { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadF32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadF32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadF64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadF64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadHalf { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadI128Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadI128<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadI16Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadI16<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadI32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadI32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadI64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadI64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadI8<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadU128Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadU128<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadU16Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadU16<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadU32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadU32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadU64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadU64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReadU8<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Ready { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Receiver { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Receiver { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for RecvError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Ref<'static, T> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Repeat { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for RestoreOnPending { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Result { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ResultObject { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ResultSort { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ReuniteError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Runtime { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for RuntimeMetrics { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for SchemaField { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for SeekFrom { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Seek<'static, Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Semaphore { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for SemaphorePermit<'static> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for SendError<()> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for SendError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for SendTimeoutError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Sender { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Sender { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Shutdown { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Shutdown<'static, Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Signal { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for SignalKind { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for SimplexStream { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Sink { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Sleep { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for SocketAddr { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Split { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for StdCommand { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Stderr { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Stdin { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Stdout { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for StopwordType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for T { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = - >>::sse_decode( - deserializer, - ); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Take { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for TcpListener { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for TcpSocket { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for TcpStream { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for TryCurrentError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for TryRecvError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for TrySendError<()> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for TrySendError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for TrySendError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for UCred { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for UdpSocket { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for UnixDatagram { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for UnixListener { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for UnixSocket { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for UnixStream { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for Value { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for ValueType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WeakSender { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteF32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteF32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteF64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteF64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteHalf { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteI128Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteI128<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteI16Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteI16<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteI32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteI32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteI64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteI64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteI8<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteU128Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteU128<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteU16Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteU16<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteU32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteU32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteU64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteU64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for WriteU8<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for c_int { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for gid_t { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for pid_t { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for uid_t { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = , - >>::sse_decode(deserializer); - return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner); - } -} - -impl SseDecode for chrono::Duration { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return chrono::Duration::microseconds(inner); - } -} - -impl SseDecode for i128 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return inner.parse().unwrap(); - } -} - -impl SseDecode for std::collections::HashMap { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >::sse_decode(deserializer); - return inner.into_iter().collect(); - } -} - -impl SseDecode for std::collections::HashMap { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >::sse_decode(deserializer); - return inner.into_iter().collect(); - } -} - -impl SseDecode for std::collections::HashMap { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >::sse_decode(deserializer); - return inner.into_iter().collect(); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - IndexMap, usize)>, - >, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi]>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi>> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return decode_rust_opaque_moi(inner); - } -} - -impl SseDecode for std::collections::HashSet { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >::sse_decode(deserializer); - return inner.into_iter().collect(); - } -} - -impl SseDecode for String { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >::sse_decode(deserializer); - return String::from_utf8(inner).unwrap(); - } -} - -impl SseDecode for u128 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return inner.parse().unwrap(); - } -} - -impl SseDecode for seekstorm::index::AccessType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::index::AccessType::Ram, - 1 => seekstorm::index::AccessType::Mmap, - _ => unreachable!("Invalid variant for AccessType: {}", inner), - }; - } -} - -impl SseDecode for bool { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_u8().unwrap() != 0 - } -} - -impl SseDecode for seekstorm::index::CompressionType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::index::CompressionType::Delta, - 1 => seekstorm::index::CompressionType::Array, - 2 => seekstorm::index::CompressionType::Bitmap, - 3 => seekstorm::index::CompressionType::Rle, - 4 => seekstorm::index::CompressionType::Error, - _ => unreachable!("Invalid variant for CompressionType: {}", inner), - }; - } -} - -impl SseDecode for seekstorm::index::DistanceField { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field = ::sse_decode(deserializer); - let mut var_distance = ::sse_decode(deserializer); - let mut var_base = >::sse_decode(deserializer); - let mut var_unit = ::sse_decode(deserializer); - return seekstorm::index::DistanceField { - field: var_field, - distance: var_distance, - base: var_base, - unit: var_unit, - }; - } -} - -impl SseDecode for seekstorm::index::DistanceUnit { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::index::DistanceUnit::Kilometers, - 1 => seekstorm::index::DistanceUnit::Miles, - _ => unreachable!("Invalid variant for DistanceUnit: {}", inner), - }; - } -} - -impl SseDecode for f32 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_f32::().unwrap() - } -} - -impl SseDecode for f64 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_f64::().unwrap() - } -} - -impl SseDecode for seekstorm::index::FieldType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::index::FieldType::U8, - 1 => seekstorm::index::FieldType::U16, - 2 => seekstorm::index::FieldType::U32, - 3 => seekstorm::index::FieldType::U64, - 4 => seekstorm::index::FieldType::I8, - 5 => seekstorm::index::FieldType::I16, - 6 => seekstorm::index::FieldType::I32, - 7 => seekstorm::index::FieldType::I64, - 8 => seekstorm::index::FieldType::Timestamp, - 9 => seekstorm::index::FieldType::F32, - 10 => seekstorm::index::FieldType::F64, - 11 => seekstorm::index::FieldType::Bool, - 12 => seekstorm::index::FieldType::String16, - 13 => seekstorm::index::FieldType::String32, - 14 => seekstorm::index::FieldType::StringSet16, - 15 => seekstorm::index::FieldType::StringSet32, - 16 => seekstorm::index::FieldType::Point, - 17 => seekstorm::index::FieldType::Text, - _ => unreachable!("Invalid variant for FieldType: {}", inner), - }; - } -} - -impl SseDecode for seekstorm::highlighter::Highlight { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field = ::sse_decode(deserializer); - let mut var_name = ::sse_decode(deserializer); - let mut var_fragmentNumber = ::sse_decode(deserializer); - let mut var_fragmentSize = ::sse_decode(deserializer); - let mut var_highlightMarkup = ::sse_decode(deserializer); - let mut var_preTags = ::sse_decode(deserializer); - let mut var_postTags = ::sse_decode(deserializer); - return seekstorm::highlighter::Highlight { - field: var_field, - name: var_name, - fragment_number: var_fragmentNumber, - fragment_size: var_fragmentSize, - highlight_markup: var_highlightMarkup, - pre_tags: var_preTags, - post_tags: var_postTags, - }; - } -} - -impl SseDecode for i16 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_i16::().unwrap() - } -} - -impl SseDecode for i32 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_i32::().unwrap() - } -} - -impl SseDecode for i64 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_i64::().unwrap() - } -} - -impl SseDecode for i8 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_i8().unwrap() - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(>::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(>::sse_decode( - deserializer, - )); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode( - deserializer, - )); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec<(String, MinMaxFieldJson)> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(<(String, MinMaxFieldJson)>::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec<(String, SchemaField)> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(<(String, SchemaField)>::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec<(String, Value)> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(<(String, Value)>::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec<(u64, std::collections::HashMap)> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(<(u64, std::collections::HashMap)>::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for tokio::time::MissedTickBehavior { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => tokio::time::MissedTickBehavior::Burst, - 1 => tokio::time::MissedTickBehavior::Delay, - 2 => tokio::time::MissedTickBehavior::Skip, - _ => unreachable!("Invalid variant for MissedTickBehavior: {}", inner), - }; - } -} - -impl SseDecode for seekstorm::index::NgramType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::index::NgramType::SingleTerm, - 1 => seekstorm::index::NgramType::NgramFF, - 2 => seekstorm::index::NgramType::NgramFR, - 3 => seekstorm::index::NgramType::NgramRF, - 4 => seekstorm::index::NgramType::NgramFFF, - 5 => seekstorm::index::NgramType::NgramRFF, - 6 => seekstorm::index::NgramType::NgramFFR, - 7 => seekstorm::index::NgramType::NgramFRF, - _ => unreachable!("Invalid variant for NgramType: {}", inner), - }; - } -} - -impl SseDecode for Option> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(>::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode - for Option>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(, - >>::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode( - deserializer, - )); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode( - deserializer, - )); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option<()> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(<()>::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for Option> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - if (::sse_decode(deserializer)) { - return Some(>::sse_decode(deserializer)); - } else { - return None; - } - } -} - -impl SseDecode for seekstorm::index::QueryCompletion { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_maxCompletionEntries = ::sse_decode(deserializer); - return seekstorm::index::QueryCompletion { - max_completion_entries: var_maxCompletionEntries, - }; - } -} - -impl SseDecode for seekstorm::search::QueryType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::search::QueryType::Union, - 1 => seekstorm::search::QueryType::Intersection, - 2 => seekstorm::search::QueryType::Phrase, - 3 => seekstorm::search::QueryType::Not, - _ => unreachable!("Invalid variant for QueryType: {}", inner), - }; - } -} - -impl SseDecode for seekstorm::search::RangeType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::search::RangeType::CountWithinRange, - 1 => seekstorm::search::RangeType::CountAboveRange, - 2 => seekstorm::search::RangeType::CountBelowRange, - _ => unreachable!("Invalid variant for RangeType: {}", inner), - }; - } -} - -impl SseDecode for (DuplexStream, DuplexStream) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (OwnedReadHalf, OwnedWriteHalf) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (ReadHalf, WriteHalf) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = >::sse_decode(deserializer); - let mut var_field1 = >::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (Sender, Receiver) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (TcpStream, SocketAddr) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (UnixDatagram, UnixDatagram) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (UnixStream, SocketAddr) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (UnixStream, UnixStream) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (String, MinMaxFieldJson) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (String, SchemaField) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (String, Value) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (u64, std::collections::HashMap) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = >::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for (usize, SocketAddr) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); - return (var_field0, var_field1); - } -} - -impl SseDecode for seekstorm::search::ResultType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::search::ResultType::Count, - 1 => seekstorm::search::ResultType::Topk, - 2 => seekstorm::search::ResultType::TopkCount, - _ => unreachable!("Invalid variant for ResultType: {}", inner), - }; - } -} - -impl SseDecode for tokio::runtime::RuntimeFlavor { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => tokio::runtime::RuntimeFlavor::CurrentThread, - 1 => tokio::runtime::RuntimeFlavor::MultiThread, - _ => unreachable!("Invalid variant for RuntimeFlavor: {}", inner), - }; - } -} - -impl SseDecode for crate::api::keyword_search::SearchFn { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_pathToIndex = ::sse_decode(deserializer); - return crate::api::keyword_search::SearchFn { - path_to_index: var_pathToIndex, - }; - } -} - -impl SseDecode for seekstorm::index::SimilarityType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::index::SimilarityType::Bm25f, - 1 => seekstorm::index::SimilarityType::Bm25fProximity, - _ => unreachable!("Invalid variant for SimilarityType: {}", inner), - }; - } -} - -impl SseDecode for seekstorm::search::SortOrder { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::search::SortOrder::Ascending, - 1 => seekstorm::search::SortOrder::Descending, - _ => unreachable!("Invalid variant for SortOrder: {}", inner), - }; - } -} - -impl SseDecode for seekstorm::index::SpellingCorrection { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_maxDictionaryEditDistance = ::sse_decode(deserializer); - let mut var_termLengthThreshold = >>::sse_decode(deserializer); - let mut var_countThreshold = ::sse_decode(deserializer); - let mut var_maxDictionaryEntries = ::sse_decode(deserializer); - return seekstorm::index::SpellingCorrection { - max_dictionary_edit_distance: var_maxDictionaryEditDistance, - term_length_threshold: var_termLengthThreshold, - count_threshold: var_countThreshold, - max_dictionary_entries: var_maxDictionaryEntries, - }; - } -} - -impl SseDecode for seekstorm::index::StemmerType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::index::StemmerType::None, - 1 => seekstorm::index::StemmerType::Arabic, - 2 => seekstorm::index::StemmerType::Danish, - 3 => seekstorm::index::StemmerType::Dutch, - 4 => seekstorm::index::StemmerType::English, - 5 => seekstorm::index::StemmerType::Finnish, - 6 => seekstorm::index::StemmerType::French, - 7 => seekstorm::index::StemmerType::German, - 8 => seekstorm::index::StemmerType::Greek, - 9 => seekstorm::index::StemmerType::Hungarian, - 10 => seekstorm::index::StemmerType::Italian, - 11 => seekstorm::index::StemmerType::Norwegian, - 12 => seekstorm::index::StemmerType::Portuguese, - 13 => seekstorm::index::StemmerType::Romanian, - 14 => seekstorm::index::StemmerType::Russian, - 15 => seekstorm::index::StemmerType::Spanish, - 16 => seekstorm::index::StemmerType::Swedish, - 17 => seekstorm::index::StemmerType::Tamil, - 18 => seekstorm::index::StemmerType::Turkish, - _ => unreachable!("Invalid variant for StemmerType: {}", inner), - }; - } -} - -impl SseDecode for seekstorm::index::Synonym { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut var_terms = >::sse_decode(deserializer); - let mut var_multiway = ::sse_decode(deserializer); - return seekstorm::index::Synonym { - terms: var_terms, - multiway: var_multiway, - }; - } -} - -impl SseDecode for seekstorm::index::TokenizerType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => seekstorm::index::TokenizerType::AsciiAlphabetic, - 1 => seekstorm::index::TokenizerType::UnicodeAlphanumeric, - 2 => seekstorm::index::TokenizerType::UnicodeAlphanumericFolded, - 3 => seekstorm::index::TokenizerType::Whitespace, - 4 => seekstorm::index::TokenizerType::WhitespaceLowercase, - 5 => seekstorm::index::TokenizerType::UnicodeAlphanumericZH, - _ => unreachable!("Invalid variant for TokenizerType: {}", inner), - }; - } -} - -impl SseDecode for tokio::sync::TryAcquireError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return match inner { - 0 => tokio::sync::TryAcquireError::Closed, - 1 => tokio::sync::TryAcquireError::NoPermits, - _ => unreachable!("Invalid variant for TryAcquireError: {}", inner), - }; - } -} - -impl SseDecode for u16 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_u16::().unwrap() - } -} - -impl SseDecode for u32 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_u32::().unwrap() - } -} - -impl SseDecode for u64 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_u64::().unwrap() - } -} - -impl SseDecode for u8 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_u8().unwrap() - } -} - -impl SseDecode for () { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {} -} - -impl SseDecode for usize { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_u64::().unwrap() as _ - } -} - -fn pde_ffi_dispatcher_primary_impl( - func_id: i32, - port: flutter_rust_bridge::for_generated::MessagePort, - ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len: i32, - data_len: i32, -) { - // Codec=Pde (Serialization + dispatch), see doc to use other codecs - match func_id { - 1 => wire__tokio__sync__BarrierWaitResult_is_leader_impl(port, ptr, rust_vec_len, data_len), - 2 => wire__tokio__sync__Barrier_new_impl(port, ptr, rust_vec_len, data_len), - 3 => wire__tokio__sync__Barrier_wait_impl(port, ptr, rust_vec_len, data_len), - 4 => wire__tokio__process__ChildStderr_from_std_impl(port, ptr, rust_vec_len, data_len), - 5 => { - wire__tokio__process__ChildStderr_into_owned_fd_impl(port, ptr, rust_vec_len, data_len) - } - 6 => wire__tokio__process__ChildStdin_from_std_impl(port, ptr, rust_vec_len, data_len), - 7 => wire__tokio__process__ChildStdin_into_owned_fd_impl(port, ptr, rust_vec_len, data_len), - 8 => wire__tokio__process__ChildStdout_from_std_impl(port, ptr, rust_vec_len, data_len), - 9 => { - wire__tokio__process__ChildStdout_into_owned_fd_impl(port, ptr, rust_vec_len, data_len) - } - 16 => wire__tokio__process__Child_id_impl(port, ptr, rust_vec_len, data_len), - 17 => wire__tokio__process__Child_kill_impl(port, ptr, rust_vec_len, data_len), - 18 => wire__tokio__process__Child_start_kill_impl(port, ptr, rust_vec_len, data_len), - 19 => wire__tokio__process__Child_try_wait_impl(port, ptr, rust_vec_len, data_len), - 20 => wire__tokio__process__Child_wait_impl(port, ptr, rust_vec_len, data_len), - 21 => wire__tokio__process__Command_as_std_impl(port, ptr, rust_vec_len, data_len), - 22 => wire__tokio__process__Command_as_std_mut_impl(port, ptr, rust_vec_len, data_len), - 23 => wire__tokio__process__Command_env_clear_impl(port, ptr, rust_vec_len, data_len), - 24 => { - wire__tokio__process__Command_get_kill_on_drop_impl(port, ptr, rust_vec_len, data_len) - } - 25 => wire__tokio__process__Command_gid_impl(port, ptr, rust_vec_len, data_len), - 26 => wire__tokio__process__Command_into_std_impl(port, ptr, rust_vec_len, data_len), - 27 => wire__tokio__process__Command_kill_on_drop_impl(port, ptr, rust_vec_len, data_len), - 28 => wire__tokio__process__Command_process_group_impl(port, ptr, rust_vec_len, data_len), - 29 => wire__tokio__process__Command_spawn_impl(port, ptr, rust_vec_len, data_len), - 30 => wire__tokio__process__Command_uid_impl(port, ptr, rust_vec_len, data_len), - 31 => wire__tokio__time__error__Error_at_capacity_impl(port, ptr, rust_vec_len, data_len), - 32 => wire__tokio__time__error__Error_invalid_impl(port, ptr, rust_vec_len, data_len), - 33 => { - wire__tokio__time__error__Error_is_at_capacity_impl(port, ptr, rust_vec_len, data_len) - } - 34 => wire__tokio__time__error__Error_is_invalid_impl(port, ptr, rust_vec_len, data_len), - 35 => wire__tokio__time__error__Error_is_shutdown_impl(port, ptr, rust_vec_len, data_len), - 36 => wire__tokio__time__error__Error_shutdown_impl(port, ptr, rust_vec_len, data_len), - 45 => wire__seekstorm__index__FacetField_default_impl(port, ptr, rust_vec_len, data_len), - 46 => { - wire__seekstorm__index__FrequentwordType_default_impl(port, ptr, rust_vec_len, data_len) - } - 47 => wire__tokio__runtime__Handle_current_impl(port, ptr, rust_vec_len, data_len), - 48 => wire__tokio__runtime__Handle_default_impl(port, ptr, rust_vec_len, data_len), - 49 => wire__tokio__runtime__Handle_enter_impl(port, ptr, rust_vec_len, data_len), - 50 => wire__tokio__runtime__Handle_id_impl(port, ptr, rust_vec_len, data_len), - 51 => wire__tokio__runtime__Handle_metrics_impl(port, ptr, rust_vec_len, data_len), - 52 => wire__tokio__runtime__Handle_runtime_flavor_impl(port, ptr, rust_vec_len, data_len), - 53 => wire__tokio__runtime__Handle_try_current_impl(port, ptr, rust_vec_len, data_len), - 76 => wire__seekstorm__index__Index_add_synonyms_impl(port, ptr, rust_vec_len, data_len), - 87 => wire__seekstorm__index__Index_clear_index_impl(port, ptr, rust_vec_len, data_len), - 88 => wire__seekstorm__index__Index_committed_doc_count_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 89 => { - wire__seekstorm__index__Index_current_doc_count_impl(port, ptr, rust_vec_len, data_len) - } - 90 => wire__seekstorm__index__Index_delete_index_impl(port, ptr, rust_vec_len, data_len), - 91 => wire__seekstorm__index__Index_facets_count_impl(port, ptr, rust_vec_len, data_len), - 92 => wire__seekstorm__index__Index_get_document_impl(port, ptr, rust_vec_len, data_len), - 93 => wire__seekstorm__index__Index_get_facet_value_impl(port, ptr, rust_vec_len, data_len), - 94 => wire__seekstorm__index__Index_get_file_impl(port, ptr, rust_vec_len, data_len), - 95 => wire__seekstorm__index__Index_get_index_string_facets_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 96 => wire__seekstorm__index__Index_get_synonyms_impl(port, ptr, rust_vec_len, data_len), - 97 => wire__seekstorm__index__Index_index_facets_minmax_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 98 => { - wire__seekstorm__index__Index_indexed_doc_count_impl(port, ptr, rust_vec_len, data_len) - } - 99 => wire__seekstorm__index__Index_level_count_impl(port, ptr, rust_vec_len, data_len), - 100 => wire__seekstorm__index__Index_set_synonyms_impl(port, ptr, rust_vec_len, data_len), - 101 => wire__seekstorm__index__Index_shard_count_impl(port, ptr, rust_vec_len, data_len), - 102 => wire__seekstorm__index__Index_uncommitted_doc_count_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 103 => wire__tokio__io__Interest_add_impl(port, ptr, rust_vec_len, data_len), - 104 => wire__tokio__io__Interest_is_error_impl(port, ptr, rust_vec_len, data_len), - 105 => wire__tokio__io__Interest_is_readable_impl(port, ptr, rust_vec_len, data_len), - 106 => wire__tokio__io__Interest_is_writable_impl(port, ptr, rust_vec_len, data_len), - 107 => wire__tokio__io__Interest_remove_impl(port, ptr, rust_vec_len, data_len), - 108 => { - wire__tokio__time__Interval_missed_tick_behavior_impl(port, ptr, rust_vec_len, data_len) - } - 109 => wire__tokio__time__Interval_period_impl(port, ptr, rust_vec_len, data_len), - 110 => wire__tokio__time__Interval_poll_tick_impl(port, ptr, rust_vec_len, data_len), - 111 => wire__tokio__time__Interval_reset_impl(port, ptr, rust_vec_len, data_len), - 112 => wire__tokio__time__Interval_reset_after_impl(port, ptr, rust_vec_len, data_len), - 113 => wire__tokio__time__Interval_reset_at_impl(port, ptr, rust_vec_len, data_len), - 114 => { - wire__tokio__time__Interval_reset_immediately_impl(port, ptr, rust_vec_len, data_len) - } - 115 => wire__tokio__time__Interval_set_missed_tick_behavior_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 116 => wire__tokio__time__Interval_tick_impl(port, ptr, rust_vec_len, data_len), - 117 => wire__tokio__task__LocalSet_default_impl(port, ptr, rust_vec_len, data_len), - 118 => wire__tokio__task__LocalSet_enter_impl(port, ptr, rust_vec_len, data_len), - 119 => wire__tokio__task__LocalSet_id_impl(port, ptr, rust_vec_len, data_len), - 120 => wire__tokio__task__LocalSet_new_impl(port, ptr, rust_vec_len, data_len), - 125 => { - wire__seekstorm__index__MinMaxFieldJson_default_impl(port, ptr, rust_vec_len, data_len) - } - 130 => wire__seekstorm__index__MinMaxField_default_impl(port, ptr, rust_vec_len, data_len), - 131 => wire__tokio__sync__Notify_const_new_impl(port, ptr, rust_vec_len, data_len), - 132 => wire__tokio__sync__Notify_default_impl(port, ptr, rust_vec_len, data_len), - 133 => wire__tokio__sync__Notify_new_impl(port, ptr, rust_vec_len, data_len), - 134 => wire__tokio__sync__Notify_notified_impl(port, ptr, rust_vec_len, data_len), - 135 => wire__tokio__sync__Notify_notified_owned_impl(port, ptr, rust_vec_len, data_len), - 136 => wire__tokio__sync__Notify_notify_last_impl(port, ptr, rust_vec_len, data_len), - 137 => wire__tokio__sync__Notify_notify_one_impl(port, ptr, rust_vec_len, data_len), - 138 => wire__tokio__sync__Notify_notify_waiters_impl(port, ptr, rust_vec_len, data_len), - 139 => { - wire__tokio__net__unix__pipe__OpenOptions_append_impl(port, ptr, rust_vec_len, data_len) - } - 140 => { - wire__tokio__net__unix__pipe__OpenOptions_create_impl(port, ptr, rust_vec_len, data_len) - } - 141 => wire__tokio__net__unix__pipe__OpenOptions_create_new_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 142 => wire__tokio__net__unix__pipe__OpenOptions_custom_flags_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 143 => wire__tokio__net__unix__pipe__OpenOptions_default_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 144 => { - wire__tokio__net__unix__pipe__OpenOptions_mode_impl(port, ptr, rust_vec_len, data_len) - } - 145 => { - wire__tokio__net__unix__pipe__OpenOptions_new_impl(port, ptr, rust_vec_len, data_len) - } - 146 => { - wire__tokio__net__unix__pipe__OpenOptions_read_impl(port, ptr, rust_vec_len, data_len) - } - 147 => wire__tokio__net__unix__pipe__OpenOptions_truncate_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 148 => wire__tokio__net__unix__pipe__OpenOptions_unchecked_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 149 => { - wire__tokio__net__unix__pipe__OpenOptions_write_impl(port, ptr, rust_vec_len, data_len) - } - 150 => { - wire__tokio__net__tcp__OwnedReadHalf_local_addr_impl(port, ptr, rust_vec_len, data_len) - } - 151 => wire__tokio__net__tcp__OwnedReadHalf_peek_impl(port, ptr, rust_vec_len, data_len), - 152 => { - wire__tokio__net__tcp__OwnedReadHalf_peer_addr_impl(port, ptr, rust_vec_len, data_len) - } - 153 => { - wire__tokio__net__tcp__OwnedReadHalf_poll_peek_impl(port, ptr, rust_vec_len, data_len) - } - 154 => { - wire__tokio__net__tcp__OwnedReadHalf_readable_impl(port, ptr, rust_vec_len, data_len) - } - 155 => wire__tokio__net__tcp__OwnedReadHalf_ready_impl(port, ptr, rust_vec_len, data_len), - 156 => wire__tokio__net__tcp__OwnedReadHalf_reunite_impl(port, ptr, rust_vec_len, data_len), - 157 => { - wire__tokio__net__tcp__OwnedReadHalf_try_read_impl(port, ptr, rust_vec_len, data_len) - } - 158 => wire__tokio__net__tcp__OwnedReadHalf_try_read_vectored_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 159 => { - wire__tokio__sync__OwnedSemaphorePermit_merge_impl(port, ptr, rust_vec_len, data_len) - } - 160 => wire__tokio__sync__OwnedSemaphorePermit_num_permits_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 161 => wire__tokio__sync__OwnedSemaphorePermit_semaphore_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 162 => { - wire__tokio__sync__OwnedSemaphorePermit_split_impl(port, ptr, rust_vec_len, data_len) - } - 163 => { - wire__tokio__net__tcp__OwnedWriteHalf_local_addr_impl(port, ptr, rust_vec_len, data_len) - } - 164 => { - wire__tokio__net__tcp__OwnedWriteHalf_peer_addr_impl(port, ptr, rust_vec_len, data_len) - } - 165 => wire__tokio__net__tcp__OwnedWriteHalf_ready_impl(port, ptr, rust_vec_len, data_len), - 166 => { - wire__tokio__net__tcp__OwnedWriteHalf_reunite_impl(port, ptr, rust_vec_len, data_len) - } - 167 => { - wire__tokio__net__tcp__OwnedWriteHalf_try_write_impl(port, ptr, rust_vec_len, data_len) - } - 168 => wire__tokio__net__tcp__OwnedWriteHalf_try_write_vectored_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 169 => { - wire__tokio__net__tcp__OwnedWriteHalf_writable_impl(port, ptr, rust_vec_len, data_len) - } - 170 => wire__seekstorm__search__QueryFacet_default_impl(port, ptr, rust_vec_len, data_len), - 171 => { - wire__seekstorm__search__QueryRewriting_default_impl(port, ptr, rust_vec_len, data_len) - } - 172 => wire__seekstorm__search__Ranges_default_impl(port, ptr, rust_vec_len, data_len), - 173 => wire__tokio__io__Ready_is_empty_impl(port, ptr, rust_vec_len, data_len), - 174 => wire__tokio__io__Ready_is_error_impl(port, ptr, rust_vec_len, data_len), - 175 => wire__tokio__io__Ready_is_read_closed_impl(port, ptr, rust_vec_len, data_len), - 176 => wire__tokio__io__Ready_is_readable_impl(port, ptr, rust_vec_len, data_len), - 177 => wire__tokio__io__Ready_is_writable_impl(port, ptr, rust_vec_len, data_len), - 178 => wire__tokio__io__Ready_is_write_closed_impl(port, ptr, rust_vec_len, data_len), - 179 => wire__tokio__net__unix__pipe__ReceiverT_blocking_recv_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 180 => wire__tokio__net__unix__pipe__ReceiverT_blocking_recv_many_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 181 => { - wire__tokio__net__unix__pipe__ReceiverT_borrow_impl(port, ptr, rust_vec_len, data_len) - } - 182 => wire__tokio__net__unix__pipe__ReceiverT_borrow_and_update_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 183 => { - wire__tokio__net__unix__pipe__ReceiverT_capacity_impl(port, ptr, rust_vec_len, data_len) - } - 184 => { - wire__tokio__net__unix__pipe__ReceiverT_changed_impl(port, ptr, rust_vec_len, data_len) - } - 185 => { - wire__tokio__net__unix__pipe__ReceiverT_close_impl(port, ptr, rust_vec_len, data_len) - } - 186 => wire__tokio__net__unix__pipe__ReceiverT_has_changed_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 187 => wire__tokio__net__unix__pipe__ReceiverT_is_closed_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 188 => { - wire__tokio__net__unix__pipe__ReceiverT_is_empty_impl(port, ptr, rust_vec_len, data_len) - } - 189 => wire__tokio__net__unix__pipe__ReceiverT_is_terminated_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 190 => wire__tokio__net__unix__pipe__ReceiverT_len_impl(port, ptr, rust_vec_len, data_len), - 191 => wire__tokio__net__unix__pipe__ReceiverT_mark_changed_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 192 => wire__tokio__net__unix__pipe__ReceiverT_mark_unchanged_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 193 => wire__tokio__net__unix__pipe__ReceiverT_max_capacity_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 194 => wire__tokio__net__unix__pipe__ReceiverT_poll_recv_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 195 => wire__tokio__net__unix__pipe__ReceiverT_poll_recv_many_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 196 => wire__tokio__net__unix__pipe__ReceiverT_recv_impl(port, ptr, rust_vec_len, data_len), - 197 => wire__tokio__net__unix__pipe__ReceiverT_recv_many_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 198 => wire__tokio__net__unix__pipe__ReceiverT_resubscribe_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 199 => wire__tokio__net__unix__pipe__ReceiverT_same_channel_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 200 => wire__tokio__net__unix__pipe__ReceiverT_sender_strong_count_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 201 => wire__tokio__net__unix__pipe__ReceiverT_sender_weak_count_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 202 => { - wire__tokio__net__unix__pipe__ReceiverT_try_recv_impl(port, ptr, rust_vec_len, data_len) - } - 203 => { - wire__tokio__net__unix__pipe__Receiver_from_file_impl(port, ptr, rust_vec_len, data_len) - } - 204 => wire__tokio__net__unix__pipe__Receiver_from_file_unchecked_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 205 => wire__tokio__net__unix__pipe__Receiver_from_owned_fd_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 206 => wire__tokio__net__unix__pipe__Receiver_from_owned_fd_unchecked_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 207 => wire__tokio__net__unix__pipe__Receiver_into_blocking_fd_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 208 => wire__tokio__net__unix__pipe__Receiver_into_nonblocking_fd_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 209 => wire__tokio__net__unix__pipe__Receiver_poll_read_ready_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 210 => { - wire__tokio__net__unix__pipe__Receiver_readable_impl(port, ptr, rust_vec_len, data_len) - } - 211 => wire__tokio__net__unix__pipe__Receiver_ready_impl(port, ptr, rust_vec_len, data_len), - 212 => { - wire__tokio__net__unix__pipe__Receiver_try_read_impl(port, ptr, rust_vec_len, data_len) - } - 213 => wire__tokio__net__unix__pipe__Receiver_try_read_vectored_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 214 => wire__tokio__task__coop__RestoreOnPending_made_progress_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 231 => { - wire__seekstorm__search__ResultObject_default_impl(port, ptr, rust_vec_len, data_len) - } - 242 => wire__tokio__runtime__RuntimeMetrics_global_queue_depth_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 243 => wire__tokio__runtime__RuntimeMetrics_num_alive_tasks_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 244 => { - wire__tokio__runtime__RuntimeMetrics_num_workers_impl(port, ptr, rust_vec_len, data_len) - } - 245 => wire__tokio__runtime__RuntimeMetrics_worker_park_count_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 246 => wire__tokio__runtime__RuntimeMetrics_worker_park_unpark_count_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 247 => wire__tokio__runtime__RuntimeMetrics_worker_total_busy_duration_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 248 => wire__tokio__runtime__Runtime_enter_impl(port, ptr, rust_vec_len, data_len), - 249 => wire__tokio__runtime__Runtime_handle_impl(port, ptr, rust_vec_len, data_len), - 250 => wire__tokio__runtime__Runtime_metrics_impl(port, ptr, rust_vec_len, data_len), - 251 => wire__tokio__runtime__Runtime_new_impl(port, ptr, rust_vec_len, data_len), - 252 => wire__tokio__runtime__Runtime_shutdown_background_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 271 => wire__seekstorm__index__SchemaField_new_impl(port, ptr, rust_vec_len, data_len), - 272 => wire__tokio__sync__Semaphore_acquire_impl(port, ptr, rust_vec_len, data_len), - 273 => wire__tokio__sync__Semaphore_acquire_many_impl(port, ptr, rust_vec_len, data_len), - 274 => { - wire__tokio__sync__Semaphore_acquire_many_owned_impl(port, ptr, rust_vec_len, data_len) - } - 275 => wire__tokio__sync__Semaphore_acquire_owned_impl(port, ptr, rust_vec_len, data_len), - 276 => wire__tokio__sync__Semaphore_add_permits_impl(port, ptr, rust_vec_len, data_len), - 277 => { - wire__tokio__sync__Semaphore_available_permits_impl(port, ptr, rust_vec_len, data_len) - } - 278 => wire__tokio__sync__Semaphore_close_impl(port, ptr, rust_vec_len, data_len), - 279 => wire__tokio__sync__Semaphore_const_new_impl(port, ptr, rust_vec_len, data_len), - 280 => wire__tokio__sync__Semaphore_forget_permits_impl(port, ptr, rust_vec_len, data_len), - 281 => wire__tokio__sync__Semaphore_is_closed_impl(port, ptr, rust_vec_len, data_len), - 282 => wire__tokio__sync__Semaphore_new_impl(port, ptr, rust_vec_len, data_len), - 283 => wire__tokio__sync__Semaphore_try_acquire_impl(port, ptr, rust_vec_len, data_len), - 284 => { - wire__tokio__sync__Semaphore_try_acquire_many_impl(port, ptr, rust_vec_len, data_len) - } - 285 => wire__tokio__sync__Semaphore_try_acquire_many_owned_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 286 => { - wire__tokio__sync__Semaphore_try_acquire_owned_impl(port, ptr, rust_vec_len, data_len) - } - 287 => wire__tokio__net__unix__pipe__SenderT_blocking_send_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 288 => wire__tokio__net__unix__pipe__SenderT_borrow_impl(port, ptr, rust_vec_len, data_len), - 289 => { - wire__tokio__net__unix__pipe__SenderT_capacity_impl(port, ptr, rust_vec_len, data_len) - } - 290 => wire__tokio__net__unix__pipe__SenderT_closed_impl(port, ptr, rust_vec_len, data_len), - 291 => { - wire__tokio__net__unix__pipe__SenderT_default_impl(port, ptr, rust_vec_len, data_len) - } - 292 => { - wire__tokio__net__unix__pipe__SenderT_downgrade_impl(port, ptr, rust_vec_len, data_len) - } - 293 => { - wire__tokio__net__unix__pipe__SenderT_is_closed_impl(port, ptr, rust_vec_len, data_len) - } - 294 => { - wire__tokio__net__unix__pipe__SenderT_is_empty_impl(port, ptr, rust_vec_len, data_len) - } - 295 => wire__tokio__net__unix__pipe__SenderT_len_impl(port, ptr, rust_vec_len, data_len), - 296 => wire__tokio__net__unix__pipe__SenderT_max_capacity_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 297 => wire__tokio__net__unix__pipe__SenderT_new_impl(port, ptr, rust_vec_len, data_len), - 298 => wire__tokio__net__unix__pipe__SenderT_poll_closed_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 299 => wire__tokio__net__unix__pipe__SenderT_receiver_count_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 300 => { - wire__tokio__net__unix__pipe__SenderT_reserve_impl(port, ptr, rust_vec_len, data_len) - } - 301 => wire__tokio__net__unix__pipe__SenderT_reserve_many_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 302 => wire__tokio__net__unix__pipe__SenderT_reserve_owned_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 303 => wire__tokio__net__unix__pipe__SenderT_same_channel_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 304 => wire__tokio__net__unix__pipe__SenderT_send_impl(port, ptr, rust_vec_len, data_len), - 305 => wire__tokio__net__unix__pipe__SenderT_send_replace_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 306 => wire__tokio__net__unix__pipe__SenderT_send_timeout_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 307 => wire__tokio__net__unix__pipe__SenderT_sender_count_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 308 => wire__tokio__net__unix__pipe__SenderT_strong_count_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 309 => { - wire__tokio__net__unix__pipe__SenderT_subscribe_impl(port, ptr, rust_vec_len, data_len) - } - 310 => wire__tokio__net__unix__pipe__SenderT_try_reserve_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 311 => wire__tokio__net__unix__pipe__SenderT_try_reserve_many_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 312 => wire__tokio__net__unix__pipe__SenderT_try_reserve_owned_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 313 => { - wire__tokio__net__unix__pipe__SenderT_try_send_impl(port, ptr, rust_vec_len, data_len) - } - 314 => { - wire__tokio__net__unix__pipe__SenderT_weak_count_impl(port, ptr, rust_vec_len, data_len) - } - 315 => { - wire__tokio__net__unix__pipe__Sender_from_file_impl(port, ptr, rust_vec_len, data_len) - } - 316 => wire__tokio__net__unix__pipe__Sender_from_file_unchecked_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 317 => wire__tokio__net__unix__pipe__Sender_from_owned_fd_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 318 => wire__tokio__net__unix__pipe__Sender_from_owned_fd_unchecked_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 319 => wire__tokio__net__unix__pipe__Sender_into_blocking_fd_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 320 => wire__tokio__net__unix__pipe__Sender_into_nonblocking_fd_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 321 => wire__tokio__net__unix__pipe__Sender_poll_write_ready_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 322 => wire__tokio__net__unix__pipe__Sender_ready_impl(port, ptr, rust_vec_len, data_len), - 323 => { - wire__tokio__net__unix__pipe__Sender_try_write_impl(port, ptr, rust_vec_len, data_len) - } - 324 => wire__tokio__net__unix__pipe__Sender_try_write_vectored_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 325 => { - wire__tokio__net__unix__pipe__Sender_writable_impl(port, ptr, rust_vec_len, data_len) - } - 326 => wire__tokio__signal__unix__SignalKind_alarm_impl(port, ptr, rust_vec_len, data_len), - 327 => wire__tokio__signal__unix__SignalKind_as_raw_value_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 328 => wire__tokio__signal__unix__SignalKind_child_impl(port, ptr, rust_vec_len, data_len), - 329 => { - wire__tokio__signal__unix__SignalKind_from_raw_impl(port, ptr, rust_vec_len, data_len) - } - 330 => wire__tokio__signal__unix__SignalKind_hangup_impl(port, ptr, rust_vec_len, data_len), - 331 => wire__tokio__signal__unix__SignalKind_info_impl(port, ptr, rust_vec_len, data_len), - 332 => { - wire__tokio__signal__unix__SignalKind_interrupt_impl(port, ptr, rust_vec_len, data_len) - } - 333 => wire__tokio__signal__unix__SignalKind_io_impl(port, ptr, rust_vec_len, data_len), - 334 => wire__tokio__signal__unix__SignalKind_pipe_impl(port, ptr, rust_vec_len, data_len), - 335 => wire__tokio__signal__unix__SignalKind_quit_impl(port, ptr, rust_vec_len, data_len), - 336 => { - wire__tokio__signal__unix__SignalKind_terminate_impl(port, ptr, rust_vec_len, data_len) - } - 337 => wire__tokio__signal__unix__SignalKind_user_defined1_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 338 => wire__tokio__signal__unix__SignalKind_user_defined2_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 339 => wire__tokio__signal__unix__SignalKind_window_change_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 340 => wire__tokio__signal__unix__Signal_poll_recv_impl(port, ptr, rust_vec_len, data_len), - 341 => wire__tokio__signal__unix__Signal_recv_impl(port, ptr, rust_vec_len, data_len), - 342 => wire__tokio__io__SimplexStream_new_unsplit_impl(port, ptr, rust_vec_len, data_len), - 343 => wire__tokio__time__Sleep_deadline_impl(port, ptr, rust_vec_len, data_len), - 344 => wire__tokio__time__Sleep_is_elapsed_impl(port, ptr, rust_vec_len, data_len), - 345 => wire__tokio__time__Sleep_reset_impl(port, ptr, rust_vec_len, data_len), - 346 => { - wire__tokio__net__unix__SocketAddr_as_pathname_impl(port, ptr, rust_vec_len, data_len) - } - 347 => { - wire__tokio__net__unix__SocketAddr_is_unnamed_impl(port, ptr, rust_vec_len, data_len) - } - 348 => wire__seekstorm__index__StopwordType_default_impl(port, ptr, rust_vec_len, data_len), - 349 => wire__tokio__net__TcpListener_accept_impl(port, ptr, rust_vec_len, data_len), - 350 => wire__tokio__net__TcpListener_from_std_impl(port, ptr, rust_vec_len, data_len), - 351 => wire__tokio__net__TcpListener_into_std_impl(port, ptr, rust_vec_len, data_len), - 352 => wire__tokio__net__TcpListener_local_addr_impl(port, ptr, rust_vec_len, data_len), - 353 => wire__tokio__net__TcpListener_poll_accept_impl(port, ptr, rust_vec_len, data_len), - 354 => wire__tokio__net__TcpListener_set_ttl_impl(port, ptr, rust_vec_len, data_len), - 355 => wire__tokio__net__TcpListener_ttl_impl(port, ptr, rust_vec_len, data_len), - 356 => wire__tokio__net__TcpSocket_bind_impl(port, ptr, rust_vec_len, data_len), - 357 => wire__tokio__net__TcpSocket_connect_impl(port, ptr, rust_vec_len, data_len), - 358 => wire__tokio__net__TcpSocket_from_std_stream_impl(port, ptr, rust_vec_len, data_len), - 359 => wire__tokio__net__TcpSocket_keepalive_impl(port, ptr, rust_vec_len, data_len), - 360 => wire__tokio__net__TcpSocket_linger_impl(port, ptr, rust_vec_len, data_len), - 361 => wire__tokio__net__TcpSocket_listen_impl(port, ptr, rust_vec_len, data_len), - 362 => wire__tokio__net__TcpSocket_local_addr_impl(port, ptr, rust_vec_len, data_len), - 363 => wire__tokio__net__TcpSocket_new_v4_impl(port, ptr, rust_vec_len, data_len), - 364 => wire__tokio__net__TcpSocket_new_v6_impl(port, ptr, rust_vec_len, data_len), - 365 => wire__tokio__net__TcpSocket_nodelay_impl(port, ptr, rust_vec_len, data_len), - 366 => wire__tokio__net__TcpSocket_recv_buffer_size_impl(port, ptr, rust_vec_len, data_len), - 367 => wire__tokio__net__TcpSocket_reuseaddr_impl(port, ptr, rust_vec_len, data_len), - 368 => wire__tokio__net__TcpSocket_reuseport_impl(port, ptr, rust_vec_len, data_len), - 369 => wire__tokio__net__TcpSocket_send_buffer_size_impl(port, ptr, rust_vec_len, data_len), - 370 => wire__tokio__net__TcpSocket_set_keepalive_impl(port, ptr, rust_vec_len, data_len), - 371 => wire__tokio__net__TcpSocket_set_linger_impl(port, ptr, rust_vec_len, data_len), - 372 => wire__tokio__net__TcpSocket_set_nodelay_impl(port, ptr, rust_vec_len, data_len), - 373 => { - wire__tokio__net__TcpSocket_set_recv_buffer_size_impl(port, ptr, rust_vec_len, data_len) - } - 374 => wire__tokio__net__TcpSocket_set_reuseaddr_impl(port, ptr, rust_vec_len, data_len), - 375 => wire__tokio__net__TcpSocket_set_reuseport_impl(port, ptr, rust_vec_len, data_len), - 376 => { - wire__tokio__net__TcpSocket_set_send_buffer_size_impl(port, ptr, rust_vec_len, data_len) - } - 377 => wire__tokio__net__TcpSocket_set_tclass_v6_impl(port, ptr, rust_vec_len, data_len), - 378 => wire__tokio__net__TcpSocket_set_tos_impl(port, ptr, rust_vec_len, data_len), - 379 => wire__tokio__net__TcpSocket_set_tos_v4_impl(port, ptr, rust_vec_len, data_len), - 380 => wire__tokio__net__TcpSocket_take_error_impl(port, ptr, rust_vec_len, data_len), - 381 => wire__tokio__net__TcpSocket_tclass_v6_impl(port, ptr, rust_vec_len, data_len), - 382 => wire__tokio__net__TcpSocket_tos_impl(port, ptr, rust_vec_len, data_len), - 383 => wire__tokio__net__TcpSocket_tos_v4_impl(port, ptr, rust_vec_len, data_len), - 384 => wire__tokio__net__TcpStream_from_std_impl(port, ptr, rust_vec_len, data_len), - 385 => wire__tokio__net__TcpStream_into_split_impl(port, ptr, rust_vec_len, data_len), - 386 => wire__tokio__net__TcpStream_into_std_impl(port, ptr, rust_vec_len, data_len), - 387 => wire__tokio__net__TcpStream_linger_impl(port, ptr, rust_vec_len, data_len), - 388 => wire__tokio__net__TcpStream_local_addr_impl(port, ptr, rust_vec_len, data_len), - 389 => wire__tokio__net__TcpStream_nodelay_impl(port, ptr, rust_vec_len, data_len), - 390 => wire__tokio__net__TcpStream_peek_impl(port, ptr, rust_vec_len, data_len), - 391 => wire__tokio__net__TcpStream_peer_addr_impl(port, ptr, rust_vec_len, data_len), - 392 => wire__tokio__net__TcpStream_poll_peek_impl(port, ptr, rust_vec_len, data_len), - 393 => wire__tokio__net__TcpStream_poll_read_ready_impl(port, ptr, rust_vec_len, data_len), - 394 => wire__tokio__net__TcpStream_poll_write_ready_impl(port, ptr, rust_vec_len, data_len), - 395 => wire__tokio__net__TcpStream_readable_impl(port, ptr, rust_vec_len, data_len), - 396 => wire__tokio__net__TcpStream_ready_impl(port, ptr, rust_vec_len, data_len), - 397 => wire__tokio__net__TcpStream_set_linger_impl(port, ptr, rust_vec_len, data_len), - 398 => wire__tokio__net__TcpStream_set_nodelay_impl(port, ptr, rust_vec_len, data_len), - 399 => wire__tokio__net__TcpStream_set_ttl_impl(port, ptr, rust_vec_len, data_len), - 400 => wire__tokio__net__TcpStream_take_error_impl(port, ptr, rust_vec_len, data_len), - 401 => wire__tokio__net__TcpStream_try_read_impl(port, ptr, rust_vec_len, data_len), - 402 => { - wire__tokio__net__TcpStream_try_read_vectored_impl(port, ptr, rust_vec_len, data_len) - } - 403 => wire__tokio__net__TcpStream_try_write_impl(port, ptr, rust_vec_len, data_len), - 404 => { - wire__tokio__net__TcpStream_try_write_vectored_impl(port, ptr, rust_vec_len, data_len) - } - 405 => wire__tokio__net__TcpStream_ttl_impl(port, ptr, rust_vec_len, data_len), - 406 => wire__tokio__net__TcpStream_writable_impl(port, ptr, rust_vec_len, data_len), - 481 => wire__tokio__runtime__TryCurrentError_is_missing_context_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 482 => wire__tokio__runtime__TryCurrentError_is_thread_local_destroyed_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 483 => wire__tokio__net__unix__UCred_gid_impl(port, ptr, rust_vec_len, data_len), - 484 => wire__tokio__net__unix__UCred_pid_impl(port, ptr, rust_vec_len, data_len), - 485 => wire__tokio__net__unix__UCred_uid_impl(port, ptr, rust_vec_len, data_len), - 486 => wire__tokio__net__UdpSocket_broadcast_impl(port, ptr, rust_vec_len, data_len), - 487 => wire__tokio__net__UdpSocket_from_std_impl(port, ptr, rust_vec_len, data_len), - 488 => wire__tokio__net__UdpSocket_into_std_impl(port, ptr, rust_vec_len, data_len), - 489 => { - wire__tokio__net__UdpSocket_join_multicast_v4_impl(port, ptr, rust_vec_len, data_len) - } - 490 => { - wire__tokio__net__UdpSocket_join_multicast_v6_impl(port, ptr, rust_vec_len, data_len) - } - 491 => { - wire__tokio__net__UdpSocket_leave_multicast_v4_impl(port, ptr, rust_vec_len, data_len) - } - 492 => { - wire__tokio__net__UdpSocket_leave_multicast_v6_impl(port, ptr, rust_vec_len, data_len) - } - 493 => wire__tokio__net__UdpSocket_local_addr_impl(port, ptr, rust_vec_len, data_len), - 494 => { - wire__tokio__net__UdpSocket_multicast_loop_v4_impl(port, ptr, rust_vec_len, data_len) - } - 495 => { - wire__tokio__net__UdpSocket_multicast_loop_v6_impl(port, ptr, rust_vec_len, data_len) - } - 496 => wire__tokio__net__UdpSocket_multicast_ttl_v4_impl(port, ptr, rust_vec_len, data_len), - 497 => wire__tokio__net__UdpSocket_peek_impl(port, ptr, rust_vec_len, data_len), - 498 => wire__tokio__net__UdpSocket_peek_from_impl(port, ptr, rust_vec_len, data_len), - 499 => wire__tokio__net__UdpSocket_peek_sender_impl(port, ptr, rust_vec_len, data_len), - 500 => wire__tokio__net__UdpSocket_peer_addr_impl(port, ptr, rust_vec_len, data_len), - 501 => wire__tokio__net__UdpSocket_poll_peek_impl(port, ptr, rust_vec_len, data_len), - 502 => wire__tokio__net__UdpSocket_poll_peek_from_impl(port, ptr, rust_vec_len, data_len), - 503 => wire__tokio__net__UdpSocket_poll_peek_sender_impl(port, ptr, rust_vec_len, data_len), - 504 => wire__tokio__net__UdpSocket_poll_recv_impl(port, ptr, rust_vec_len, data_len), - 505 => wire__tokio__net__UdpSocket_poll_recv_from_impl(port, ptr, rust_vec_len, data_len), - 506 => wire__tokio__net__UdpSocket_poll_recv_ready_impl(port, ptr, rust_vec_len, data_len), - 507 => wire__tokio__net__UdpSocket_poll_send_impl(port, ptr, rust_vec_len, data_len), - 508 => wire__tokio__net__UdpSocket_poll_send_ready_impl(port, ptr, rust_vec_len, data_len), - 509 => wire__tokio__net__UdpSocket_poll_send_to_impl(port, ptr, rust_vec_len, data_len), - 510 => wire__tokio__net__UdpSocket_readable_impl(port, ptr, rust_vec_len, data_len), - 511 => wire__tokio__net__UdpSocket_ready_impl(port, ptr, rust_vec_len, data_len), - 512 => wire__tokio__net__UdpSocket_recv_impl(port, ptr, rust_vec_len, data_len), - 513 => wire__tokio__net__UdpSocket_recv_from_impl(port, ptr, rust_vec_len, data_len), - 514 => wire__tokio__net__UdpSocket_send_impl(port, ptr, rust_vec_len, data_len), - 515 => wire__tokio__net__UdpSocket_set_broadcast_impl(port, ptr, rust_vec_len, data_len), - 516 => wire__tokio__net__UdpSocket_set_multicast_loop_v4_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 517 => wire__tokio__net__UdpSocket_set_multicast_loop_v6_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 518 => { - wire__tokio__net__UdpSocket_set_multicast_ttl_v4_impl(port, ptr, rust_vec_len, data_len) - } - 519 => wire__tokio__net__UdpSocket_set_tclass_v6_impl(port, ptr, rust_vec_len, data_len), - 520 => wire__tokio__net__UdpSocket_set_tos_impl(port, ptr, rust_vec_len, data_len), - 521 => wire__tokio__net__UdpSocket_set_tos_v4_impl(port, ptr, rust_vec_len, data_len), - 522 => wire__tokio__net__UdpSocket_set_ttl_impl(port, ptr, rust_vec_len, data_len), - 523 => wire__tokio__net__UdpSocket_take_error_impl(port, ptr, rust_vec_len, data_len), - 524 => wire__tokio__net__UdpSocket_tclass_v6_impl(port, ptr, rust_vec_len, data_len), - 525 => wire__tokio__net__UdpSocket_tos_impl(port, ptr, rust_vec_len, data_len), - 526 => wire__tokio__net__UdpSocket_tos_v4_impl(port, ptr, rust_vec_len, data_len), - 527 => wire__tokio__net__UdpSocket_try_peek_impl(port, ptr, rust_vec_len, data_len), - 528 => wire__tokio__net__UdpSocket_try_peek_from_impl(port, ptr, rust_vec_len, data_len), - 529 => wire__tokio__net__UdpSocket_try_peek_sender_impl(port, ptr, rust_vec_len, data_len), - 530 => wire__tokio__net__UdpSocket_try_recv_impl(port, ptr, rust_vec_len, data_len), - 531 => wire__tokio__net__UdpSocket_try_recv_from_impl(port, ptr, rust_vec_len, data_len), - 532 => wire__tokio__net__UdpSocket_try_send_impl(port, ptr, rust_vec_len, data_len), - 533 => wire__tokio__net__UdpSocket_try_send_to_impl(port, ptr, rust_vec_len, data_len), - 534 => wire__tokio__net__UdpSocket_ttl_impl(port, ptr, rust_vec_len, data_len), - 535 => wire__tokio__net__UdpSocket_writable_impl(port, ptr, rust_vec_len, data_len), - 536 => wire__tokio__net__UnixDatagram_from_std_impl(port, ptr, rust_vec_len, data_len), - 537 => wire__tokio__net__UnixDatagram_into_std_impl(port, ptr, rust_vec_len, data_len), - 538 => wire__tokio__net__UnixDatagram_local_addr_impl(port, ptr, rust_vec_len, data_len), - 539 => wire__tokio__net__UnixDatagram_pair_impl(port, ptr, rust_vec_len, data_len), - 540 => wire__tokio__net__UnixDatagram_peer_addr_impl(port, ptr, rust_vec_len, data_len), - 541 => wire__tokio__net__UnixDatagram_poll_recv_impl(port, ptr, rust_vec_len, data_len), - 542 => { - wire__tokio__net__UnixDatagram_poll_recv_from_impl(port, ptr, rust_vec_len, data_len) - } - 543 => { - wire__tokio__net__UnixDatagram_poll_recv_ready_impl(port, ptr, rust_vec_len, data_len) - } - 544 => wire__tokio__net__UnixDatagram_poll_send_impl(port, ptr, rust_vec_len, data_len), - 545 => { - wire__tokio__net__UnixDatagram_poll_send_ready_impl(port, ptr, rust_vec_len, data_len) - } - 546 => wire__tokio__net__UnixDatagram_readable_impl(port, ptr, rust_vec_len, data_len), - 547 => wire__tokio__net__UnixDatagram_ready_impl(port, ptr, rust_vec_len, data_len), - 548 => wire__tokio__net__UnixDatagram_recv_impl(port, ptr, rust_vec_len, data_len), - 549 => wire__tokio__net__UnixDatagram_recv_from_impl(port, ptr, rust_vec_len, data_len), - 550 => wire__tokio__net__UnixDatagram_send_impl(port, ptr, rust_vec_len, data_len), - 551 => wire__tokio__net__UnixDatagram_shutdown_impl(port, ptr, rust_vec_len, data_len), - 552 => wire__tokio__net__UnixDatagram_take_error_impl(port, ptr, rust_vec_len, data_len), - 553 => wire__tokio__net__UnixDatagram_try_recv_impl(port, ptr, rust_vec_len, data_len), - 554 => wire__tokio__net__UnixDatagram_try_recv_from_impl(port, ptr, rust_vec_len, data_len), - 555 => wire__tokio__net__UnixDatagram_try_send_impl(port, ptr, rust_vec_len, data_len), - 556 => wire__tokio__net__UnixDatagram_unbound_impl(port, ptr, rust_vec_len, data_len), - 557 => wire__tokio__net__UnixDatagram_writable_impl(port, ptr, rust_vec_len, data_len), - 558 => wire__tokio__net__UnixListener_accept_impl(port, ptr, rust_vec_len, data_len), - 559 => wire__tokio__net__UnixListener_from_std_impl(port, ptr, rust_vec_len, data_len), - 560 => wire__tokio__net__UnixListener_into_std_impl(port, ptr, rust_vec_len, data_len), - 561 => wire__tokio__net__UnixListener_local_addr_impl(port, ptr, rust_vec_len, data_len), - 562 => wire__tokio__net__UnixListener_poll_accept_impl(port, ptr, rust_vec_len, data_len), - 563 => wire__tokio__net__UnixListener_take_error_impl(port, ptr, rust_vec_len, data_len), - 564 => wire__tokio__net__UnixSocket_datagram_impl(port, ptr, rust_vec_len, data_len), - 565 => wire__tokio__net__UnixSocket_listen_impl(port, ptr, rust_vec_len, data_len), - 566 => wire__tokio__net__UnixSocket_new_datagram_impl(port, ptr, rust_vec_len, data_len), - 567 => wire__tokio__net__UnixSocket_new_stream_impl(port, ptr, rust_vec_len, data_len), - 568 => wire__tokio__net__UnixStream_from_std_impl(port, ptr, rust_vec_len, data_len), - 569 => wire__tokio__net__UnixStream_into_split_impl(port, ptr, rust_vec_len, data_len), - 570 => wire__tokio__net__UnixStream_into_std_impl(port, ptr, rust_vec_len, data_len), - 571 => wire__tokio__net__UnixStream_local_addr_impl(port, ptr, rust_vec_len, data_len), - 572 => wire__tokio__net__UnixStream_pair_impl(port, ptr, rust_vec_len, data_len), - 573 => wire__tokio__net__UnixStream_peer_addr_impl(port, ptr, rust_vec_len, data_len), - 574 => wire__tokio__net__UnixStream_peer_cred_impl(port, ptr, rust_vec_len, data_len), - 575 => wire__tokio__net__UnixStream_poll_read_ready_impl(port, ptr, rust_vec_len, data_len), - 576 => { - wire__tokio__net__UnixStream_poll_write_ready_impl(port, ptr, rust_vec_len, data_len) - } - 577 => wire__tokio__net__UnixStream_readable_impl(port, ptr, rust_vec_len, data_len), - 578 => wire__tokio__net__UnixStream_ready_impl(port, ptr, rust_vec_len, data_len), - 579 => wire__tokio__net__UnixStream_take_error_impl(port, ptr, rust_vec_len, data_len), - 580 => wire__tokio__net__UnixStream_try_read_impl(port, ptr, rust_vec_len, data_len), - 581 => { - wire__tokio__net__UnixStream_try_read_vectored_impl(port, ptr, rust_vec_len, data_len) - } - 582 => wire__tokio__net__UnixStream_try_write_impl(port, ptr, rust_vec_len, data_len), - 583 => { - wire__tokio__net__UnixStream_try_write_vectored_impl(port, ptr, rust_vec_len, data_len) - } - 584 => wire__tokio__net__UnixStream_writable_impl(port, ptr, rust_vec_len, data_len), - 585 => wire__seekstorm__index__ValueType_default_impl(port, ptr, rust_vec_len, data_len), - 586 => wire__tokio__time__advance_impl(port, ptr, rust_vec_len, data_len), - 587 => { - wire__seekstorm__index__compression_type_default_impl(port, ptr, rust_vec_len, data_len) - } - 588 => wire__tokio__task__coop__consume_budget_impl(port, ptr, rust_vec_len, data_len), - 589 => wire__seekstorm__index__create_index_impl(port, ptr, rust_vec_len, data_len), - 590 => wire__tokio__signal__ctrl_c_impl(port, ptr, rust_vec_len, data_len), - 591 => { - wire__seekstorm__geo_search__decode_morton_2_d_impl(port, ptr, rust_vec_len, data_len) - } - 592 => { - wire__seekstorm__index__distance_field_default_impl(port, ptr, rust_vec_len, data_len) - } - 593 => wire__tokio__io__duplex_impl(port, ptr, rust_vec_len, data_len), - 594 => wire__tokio__io__empty_impl(port, ptr, rust_vec_len, data_len), - 595 => { - wire__seekstorm__geo_search__encode_morton_2_d_impl(port, ptr, rust_vec_len, data_len) - } - 596 => { - wire__seekstorm__geo_search__euclidian_distance_impl(port, ptr, rust_vec_len, data_len) - } - 597 => wire__seekstorm__index__field_type_default_impl(port, ptr, rust_vec_len, data_len), - 599 => { - wire__tokio__task__coop__has_budget_remaining_impl(port, ptr, rust_vec_len, data_len) - } - 600 => { - wire__seekstorm__highlighter__highlight_default_impl(port, ptr, rust_vec_len, data_len) - } - 601 => wire__seekstorm__highlighter__highlighter_impl(port, ptr, rust_vec_len, data_len), - 602 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len), - 603 => wire__tokio__time__interval_impl(port, ptr, rust_vec_len, data_len), - 604 => wire__tokio__time__interval_at_impl(port, ptr, rust_vec_len, data_len), - 605 => { - wire__tokio__time__missed_tick_behavior_default_impl(port, ptr, rust_vec_len, data_len) - } - 606 => wire__seekstorm__geo_search__morton_ordering_impl(port, ptr, rust_vec_len, data_len), - 607 => wire__seekstorm__index__ngram_type_default_impl(port, ptr, rust_vec_len, data_len), - 608 => wire__seekstorm__index__open_index_impl(port, ptr, rust_vec_len, data_len), - 609 => wire__tokio__time__pause_impl(port, ptr, rust_vec_len, data_len), - 610 => wire__tokio__net__unix__pipe__pipe_impl(port, ptr, rust_vec_len, data_len), - 611 => wire__seekstorm__geo_search__point_distance_to_morton_range_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 612 => wire__tokio__macros__support__poll_budget_available_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 613 => wire__tokio__task__coop__poll_proceed_impl(port, ptr, rust_vec_len, data_len), - 614 => wire__seekstorm__search__query_type_default_impl(port, ptr, rust_vec_len, data_len), - 615 => wire__seekstorm__search__range_type_default_impl(port, ptr, rust_vec_len, data_len), - 616 => wire__tokio__io__repeat_impl(port, ptr, rust_vec_len, data_len), - 617 => wire__seekstorm__search__result_type_default_impl(port, ptr, rust_vec_len, data_len), - 618 => wire__tokio__time__resume_impl(port, ptr, rust_vec_len, data_len), - 619 => wire__crate__api__keyword_search__search_fn_delete_index_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 620 => wire__crate__api__keyword_search__search_fn_ingest_pdf_dir_impl( - port, - ptr, - rust_vec_len, - data_len, - ), - 621 => { - wire__crate__api__keyword_search__search_fn_new_impl(port, ptr, rust_vec_len, data_len) - } - 622 => wire__tokio__signal__unix__signal_impl(port, ptr, rust_vec_len, data_len), - 623 => { - wire__seekstorm__index__similarity_type_default_impl(port, ptr, rust_vec_len, data_len) - } - 624 => wire__tokio__io__simplex_impl(port, ptr, rust_vec_len, data_len), - 625 => wire__tokio__io__sink_impl(port, ptr, rust_vec_len, data_len), - 626 => wire__tokio__time__sleep_impl(port, ptr, rust_vec_len, data_len), - 627 => wire__tokio__time__sleep_until_impl(port, ptr, rust_vec_len, data_len), - 628 => wire__tokio__io__stderr_impl(port, ptr, rust_vec_len, data_len), - 629 => wire__tokio__io__stdin_impl(port, ptr, rust_vec_len, data_len), - 630 => wire__tokio__io__stdout_impl(port, ptr, rust_vec_len, data_len), - 631 => wire__seekstorm__index__stemmer_type_default_impl(port, ptr, rust_vec_len, data_len), - 632 => wire__seekstorm__utils__substring_impl(port, ptr, rust_vec_len, data_len), - 633 => wire__tokio__macros__support__thread_rng_n_impl(port, ptr, rust_vec_len, data_len), - 634 => { - wire__seekstorm__index__tokenizer_type_default_impl(port, ptr, rust_vec_len, data_len) - } - 635 => wire__seekstorm__utils__truncate_impl(port, ptr, rust_vec_len, data_len), - 636 => wire__seekstorm__index__version_impl(port, ptr, rust_vec_len, data_len), - 637 => wire__tokio__task__yield_now_impl(port, ptr, rust_vec_len, data_len), - _ => unreachable!(), - } -} - -fn pde_ffi_dispatcher_sync_impl( - func_id: i32, - ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len: i32, - data_len: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - // Codec=Pde (Serialization + dispatch), see doc to use other codecs - match func_id { - 10 => { - wire__tokio__process__Child_auto_accessor_get_stderr_impl(ptr, rust_vec_len, data_len) - } - 11 => wire__tokio__process__Child_auto_accessor_get_stdin_impl(ptr, rust_vec_len, data_len), - 12 => { - wire__tokio__process__Child_auto_accessor_get_stdout_impl(ptr, rust_vec_len, data_len) - } - 13 => { - wire__tokio__process__Child_auto_accessor_set_stderr_impl(ptr, rust_vec_len, data_len) - } - 14 => wire__tokio__process__Child_auto_accessor_set_stdin_impl(ptr, rust_vec_len, data_len), - 15 => { - wire__tokio__process__Child_auto_accessor_set_stdout_impl(ptr, rust_vec_len, data_len) - } - 37 => wire__seekstorm__index__FacetField_auto_accessor_get_max_impl( - ptr, - rust_vec_len, - data_len, - ), - 38 => wire__seekstorm__index__FacetField_auto_accessor_get_min_impl( - ptr, - rust_vec_len, - data_len, - ), - 39 => wire__seekstorm__index__FacetField_auto_accessor_get_name_impl( - ptr, - rust_vec_len, - data_len, - ), - 40 => wire__seekstorm__index__FacetField_auto_accessor_get_values_impl( - ptr, - rust_vec_len, - data_len, - ), - 41 => wire__seekstorm__index__FacetField_auto_accessor_set_max_impl( - ptr, - rust_vec_len, - data_len, - ), - 42 => wire__seekstorm__index__FacetField_auto_accessor_set_min_impl( - ptr, - rust_vec_len, - data_len, - ), - 43 => wire__seekstorm__index__FacetField_auto_accessor_set_name_impl( - ptr, - rust_vec_len, - data_len, - ), - 44 => wire__seekstorm__index__FacetField_auto_accessor_set_values_impl( - ptr, - rust_vec_len, - data_len, - ), - 54 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_access_type_impl( - ptr, - rust_vec_len, - data_len, - ), - 55 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_frequent_words_impl( - ptr, - rust_vec_len, - data_len, - ), - 56 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_id_impl( - ptr, - rust_vec_len, - data_len, - ), - 57 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_name_impl( - ptr, - rust_vec_len, - data_len, - ), - 58 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_ngram_indexing_impl( - ptr, - rust_vec_len, - data_len, - ), - 59 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_query_completion_impl( - ptr, - rust_vec_len, - data_len, - ), - 60 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_similarity_impl( - ptr, - rust_vec_len, - data_len, - ), - 61 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_spelling_correction_impl( - ptr, - rust_vec_len, - data_len, - ), - 62 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_stemmer_impl( - ptr, - rust_vec_len, - data_len, - ), - 63 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_stop_words_impl( - ptr, - rust_vec_len, - data_len, - ), - 64 => wire__seekstorm__index__IndexMetaObject_auto_accessor_get_tokenizer_impl( - ptr, - rust_vec_len, - data_len, - ), - 65 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_access_type_impl( - ptr, - rust_vec_len, - data_len, - ), - 66 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_frequent_words_impl( - ptr, - rust_vec_len, - data_len, - ), - 67 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_id_impl( - ptr, - rust_vec_len, - data_len, - ), - 68 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_name_impl( - ptr, - rust_vec_len, - data_len, - ), - 69 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_ngram_indexing_impl( - ptr, - rust_vec_len, - data_len, - ), - 70 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_query_completion_impl( - ptr, - rust_vec_len, - data_len, - ), - 71 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_similarity_impl( - ptr, - rust_vec_len, - data_len, - ), - 72 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_spelling_correction_impl( - ptr, - rust_vec_len, - data_len, - ), - 73 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_stemmer_impl( - ptr, - rust_vec_len, - data_len, - ), - 74 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_stop_words_impl( - ptr, - rust_vec_len, - data_len, - ), - 75 => wire__seekstorm__index__IndexMetaObject_auto_accessor_set_tokenizer_impl( - ptr, - rust_vec_len, - data_len, - ), - 77 => wire__seekstorm__index__Index_auto_accessor_get_index_format_version_major_impl( - ptr, - rust_vec_len, - data_len, - ), - 78 => wire__seekstorm__index__Index_auto_accessor_get_index_format_version_minor_impl( - ptr, - rust_vec_len, - data_len, - ), - 79 => { - wire__seekstorm__index__Index_auto_accessor_get_meta_impl(ptr, rust_vec_len, data_len) - } - 80 => wire__seekstorm__index__Index_auto_accessor_get_schema_map_impl( - ptr, - rust_vec_len, - data_len, - ), - 81 => wire__seekstorm__index__Index_auto_accessor_get_stored_field_names_impl( - ptr, - rust_vec_len, - data_len, - ), - 82 => wire__seekstorm__index__Index_auto_accessor_set_index_format_version_major_impl( - ptr, - rust_vec_len, - data_len, - ), - 83 => wire__seekstorm__index__Index_auto_accessor_set_index_format_version_minor_impl( - ptr, - rust_vec_len, - data_len, - ), - 84 => { - wire__seekstorm__index__Index_auto_accessor_set_meta_impl(ptr, rust_vec_len, data_len) - } - 85 => wire__seekstorm__index__Index_auto_accessor_set_schema_map_impl( - ptr, - rust_vec_len, - data_len, - ), - 86 => wire__seekstorm__index__Index_auto_accessor_set_stored_field_names_impl( - ptr, - rust_vec_len, - data_len, - ), - 121 => wire__seekstorm__index__MinMaxFieldJson_auto_accessor_get_max_impl( - ptr, - rust_vec_len, - data_len, - ), - 122 => wire__seekstorm__index__MinMaxFieldJson_auto_accessor_get_min_impl( - ptr, - rust_vec_len, - data_len, - ), - 123 => wire__seekstorm__index__MinMaxFieldJson_auto_accessor_set_max_impl( - ptr, - rust_vec_len, - data_len, - ), - 124 => wire__seekstorm__index__MinMaxFieldJson_auto_accessor_set_min_impl( - ptr, - rust_vec_len, - data_len, - ), - 126 => wire__seekstorm__index__MinMaxField_auto_accessor_get_max_impl( - ptr, - rust_vec_len, - data_len, - ), - 127 => wire__seekstorm__index__MinMaxField_auto_accessor_get_min_impl( - ptr, - rust_vec_len, - data_len, - ), - 128 => wire__seekstorm__index__MinMaxField_auto_accessor_set_max_impl( - ptr, - rust_vec_len, - data_len, - ), - 129 => wire__seekstorm__index__MinMaxField_auto_accessor_set_min_impl( - ptr, - rust_vec_len, - data_len, - ), - 215 => wire__seekstorm__search__ResultObject_auto_accessor_get_facets_impl( - ptr, - rust_vec_len, - data_len, - ), - 216 => wire__seekstorm__search__ResultObject_auto_accessor_get_original_query_impl( - ptr, - rust_vec_len, - data_len, - ), - 217 => wire__seekstorm__search__ResultObject_auto_accessor_get_query_impl( - ptr, - rust_vec_len, - data_len, - ), - 218 => wire__seekstorm__search__ResultObject_auto_accessor_get_query_terms_impl( - ptr, - rust_vec_len, - data_len, - ), - 219 => wire__seekstorm__search__ResultObject_auto_accessor_get_result_count_impl( - ptr, - rust_vec_len, - data_len, - ), - 220 => wire__seekstorm__search__ResultObject_auto_accessor_get_result_count_total_impl( - ptr, - rust_vec_len, - data_len, - ), - 221 => wire__seekstorm__search__ResultObject_auto_accessor_get_results_impl( - ptr, - rust_vec_len, - data_len, - ), - 222 => wire__seekstorm__search__ResultObject_auto_accessor_get_suggestions_impl( - ptr, - rust_vec_len, - data_len, - ), - 223 => wire__seekstorm__search__ResultObject_auto_accessor_set_facets_impl( - ptr, - rust_vec_len, - data_len, - ), - 224 => wire__seekstorm__search__ResultObject_auto_accessor_set_original_query_impl( - ptr, - rust_vec_len, - data_len, - ), - 225 => wire__seekstorm__search__ResultObject_auto_accessor_set_query_impl( - ptr, - rust_vec_len, - data_len, - ), - 226 => wire__seekstorm__search__ResultObject_auto_accessor_set_query_terms_impl( - ptr, - rust_vec_len, - data_len, - ), - 227 => wire__seekstorm__search__ResultObject_auto_accessor_set_result_count_impl( - ptr, - rust_vec_len, - data_len, - ), - 228 => wire__seekstorm__search__ResultObject_auto_accessor_set_result_count_total_impl( - ptr, - rust_vec_len, - data_len, - ), - 229 => wire__seekstorm__search__ResultObject_auto_accessor_set_results_impl( - ptr, - rust_vec_len, - data_len, - ), - 230 => wire__seekstorm__search__ResultObject_auto_accessor_set_suggestions_impl( - ptr, - rust_vec_len, - data_len, - ), - 232 => wire__seekstorm__search__ResultSort_auto_accessor_get_base_impl( - ptr, - rust_vec_len, - data_len, - ), - 233 => wire__seekstorm__search__ResultSort_auto_accessor_get_field_impl( - ptr, - rust_vec_len, - data_len, - ), - 234 => wire__seekstorm__search__ResultSort_auto_accessor_get_order_impl( - ptr, - rust_vec_len, - data_len, - ), - 235 => wire__seekstorm__search__ResultSort_auto_accessor_set_base_impl( - ptr, - rust_vec_len, - data_len, - ), - 236 => wire__seekstorm__search__ResultSort_auto_accessor_set_field_impl( - ptr, - rust_vec_len, - data_len, - ), - 237 => wire__seekstorm__search__ResultSort_auto_accessor_set_order_impl( - ptr, - rust_vec_len, - data_len, - ), - 238 => wire__tokio__net__tcp__ReuniteError_auto_accessor_get_field0_impl( - ptr, - rust_vec_len, - data_len, - ), - 239 => wire__tokio__net__tcp__ReuniteError_auto_accessor_get_field1_impl( - ptr, - rust_vec_len, - data_len, - ), - 240 => wire__tokio__net__tcp__ReuniteError_auto_accessor_set_field0_impl( - ptr, - rust_vec_len, - data_len, - ), - 241 => wire__tokio__net__tcp__ReuniteError_auto_accessor_set_field1_impl( - ptr, - rust_vec_len, - data_len, - ), - 253 => wire__seekstorm__index__SchemaField_auto_accessor_get_boost_impl( - ptr, - rust_vec_len, - data_len, - ), - 254 => wire__seekstorm__index__SchemaField_auto_accessor_get_completion_source_impl( - ptr, - rust_vec_len, - data_len, - ), - 255 => wire__seekstorm__index__SchemaField_auto_accessor_get_dictionary_source_impl( - ptr, - rust_vec_len, - data_len, - ), - 256 => wire__seekstorm__index__SchemaField_auto_accessor_get_facet_impl( - ptr, - rust_vec_len, - data_len, - ), - 257 => wire__seekstorm__index__SchemaField_auto_accessor_get_field_impl( - ptr, - rust_vec_len, - data_len, - ), - 258 => wire__seekstorm__index__SchemaField_auto_accessor_get_field_type_impl( - ptr, - rust_vec_len, - data_len, - ), - 259 => wire__seekstorm__index__SchemaField_auto_accessor_get_indexed_impl( - ptr, - rust_vec_len, - data_len, - ), - 260 => wire__seekstorm__index__SchemaField_auto_accessor_get_longest_impl( - ptr, - rust_vec_len, - data_len, - ), - 261 => wire__seekstorm__index__SchemaField_auto_accessor_get_stored_impl( - ptr, - rust_vec_len, - data_len, - ), - 262 => wire__seekstorm__index__SchemaField_auto_accessor_set_boost_impl( - ptr, - rust_vec_len, - data_len, - ), - 263 => wire__seekstorm__index__SchemaField_auto_accessor_set_completion_source_impl( - ptr, - rust_vec_len, - data_len, - ), - 264 => wire__seekstorm__index__SchemaField_auto_accessor_set_dictionary_source_impl( - ptr, - rust_vec_len, - data_len, - ), - 265 => wire__seekstorm__index__SchemaField_auto_accessor_set_facet_impl( - ptr, - rust_vec_len, - data_len, - ), - 266 => wire__seekstorm__index__SchemaField_auto_accessor_set_field_impl( - ptr, - rust_vec_len, - data_len, - ), - 267 => wire__seekstorm__index__SchemaField_auto_accessor_set_field_type_impl( - ptr, - rust_vec_len, - data_len, - ), - 268 => wire__seekstorm__index__SchemaField_auto_accessor_set_indexed_impl( - ptr, - rust_vec_len, - data_len, - ), - 269 => wire__seekstorm__index__SchemaField_auto_accessor_set_longest_impl( - ptr, - rust_vec_len, - data_len, - ), - 270 => wire__seekstorm__index__SchemaField_auto_accessor_set_stored_impl( - ptr, - rust_vec_len, - data_len, - ), - 598 => wire__crate__api__simple__greet_impl(ptr, rust_vec_len, data_len), - _ => unreachable!(), - } -} - -// Section: rust2dart - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for AHashMap -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for AcquireError { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper>> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper>> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>>> for Arc> { - fn into_into_dart(self) -> FrbWrapper>> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Barrier { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for BarrierWaitResult { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Child { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for ChildStderr { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for ChildStdin { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for ChildStdout { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Command { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for DocumentItem { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for DuplexStream { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Empty { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for EnterGuard<'static> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Error { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for ExitStatus { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for FacetField { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for FacetFilter { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for FacetValue { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for File { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for FileType { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for FillBuf<'static, Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for Flush<'static, Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for FrequentwordType { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Handle { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Highlighter { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Id { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Index { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper, usize)>> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper, usize)>> -{ -} - -impl flutter_rust_bridge::IntoIntoDart, usize)>>> - for IndexMap, usize)> -{ - fn into_into_dart(self) -> FrbWrapper, usize)>> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for IndexMetaObject { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Instant { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Interest { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Interval { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for IoSlice<'static> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Ipv4Addr { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Lines { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for LocalEnterGuard { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for LocalSet { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for MinMaxField { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for MinMaxFieldJson { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Notified<'static> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Notify { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for OpenOptions { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Ordering { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for OwnedFd { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for OwnedNotified { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for OwnedPermit { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for OwnedReadHalf { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} - -impl flutter_rust_bridge::IntoIntoDart> for OwnedSemaphorePermit { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for OwnedWriteHalf { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for PdfDocument<'static> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for PermitIterator<'static, T> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for Permit<'static, T> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Poll<()> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Poll { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper>> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper>> {} - -impl flutter_rust_bridge::IntoIntoDart>>> for Poll> { - fn into_into_dart(self) -> FrbWrapper>> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper>> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper>> {} - -impl flutter_rust_bridge::IntoIntoDart>>> for Poll> { - fn into_into_dart(self) -> FrbWrapper>> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for Poll -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper>> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper>> {} - -impl flutter_rust_bridge::IntoIntoDart>>> for Poll> { - fn into_into_dart(self) -> FrbWrapper>> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper>> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper>> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>>> - for Poll> -{ - fn into_into_dart(self) -> FrbWrapper>> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper>> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper>> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>>> - for Poll> -{ - fn into_into_dart(self) -> FrbWrapper>> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper>> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper>> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>>> - for Poll> -{ - fn into_into_dart(self) -> FrbWrapper>> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper>> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper>> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>>> for Poll> { - fn into_into_dart(self) -> FrbWrapper>> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Poll { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for QueryFacet { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for QueryRewriting { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Ranges { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Range { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadF32Le<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadF32<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadF64Le<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadF64<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for ReadHalf -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for ReadI128Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadI128<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadI16Le<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadI16<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadI32Le<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadI32<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadI64Le<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadI64<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadI8<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for ReadU128Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadU128<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadU16Le<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadU16<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadU32Le<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadU32<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadU64Le<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadU64<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for ReadU8<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Ready { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Receiver { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Receiver { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for RecvError { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Ref<'static, T> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Repeat { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for RestoreOnPending { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Result { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for ResultObject { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for ResultSort { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for ReuniteError { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Runtime { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for RuntimeMetrics { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for SchemaField { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for SeekFrom { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for Seek<'static, Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Semaphore { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for SemaphorePermit<'static> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for SendError<()> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for SendError { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for SendTimeoutError { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Sender { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Sender { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Shutdown { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for Shutdown<'static, Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Signal { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for SignalKind { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for SimplexStream { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Sink { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Sleep { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for SocketAddr { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Split { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for StdCommand { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Stderr { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Stdin { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Stdout { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for StopwordType { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for T { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for Take { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for TcpListener { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for TcpSocket { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for TcpStream { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for TryCurrentError { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for TryRecvError { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for TrySendError<()> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for TrySendError { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for TrySendError { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for UCred { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for UdpSocket { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for UnixDatagram { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for UnixListener { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for UnixSocket { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for UnixStream { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for Value { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for ValueType { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper> {} - -impl flutter_rust_bridge::IntoIntoDart>> for WeakSender { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteF32Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteF32<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteF64Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteF64<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteHalf -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteI128Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteI128<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteI16Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteI16<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteI32Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteI32<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteI64Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteI64<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteI8<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteU128Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteU128<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteU16Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteU16<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteU32Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteU32<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> - for WriteU64Le<&mut Self> -{ - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteU64<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper> { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper> -{ -} - -impl flutter_rust_bridge::IntoIntoDart>> for WriteU8<&mut Self> { - fn into_into_dart(self) -> FrbWrapper> { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for c_int { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for gid_t { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for pid_t { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0) - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper {} - -impl flutter_rust_bridge::IntoIntoDart> for uid_t { - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::index::AccessType::Ram => 0.into_dart(), - seekstorm::index::AccessType::Mmap => 1.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::AccessType -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::index::CompressionType::Delta => 0.into_dart(), - seekstorm::index::CompressionType::Array => 1.into_dart(), - seekstorm::index::CompressionType::Bitmap => 2.into_dart(), - seekstorm::index::CompressionType::Rle => 3.into_dart(), - seekstorm::index::CompressionType::Error => 4.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::CompressionType -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - [ - self.0.field.into_into_dart().into_dart(), - self.0.distance.into_into_dart().into_dart(), - self.0.base.into_into_dart().into_dart(), - self.0.unit.into_into_dart().into_dart(), - ] - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::DistanceField -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::index::DistanceUnit::Kilometers => 0.into_dart(), - seekstorm::index::DistanceUnit::Miles => 1.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::DistanceUnit -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::index::FieldType::U8 => 0.into_dart(), - seekstorm::index::FieldType::U16 => 1.into_dart(), - seekstorm::index::FieldType::U32 => 2.into_dart(), - seekstorm::index::FieldType::U64 => 3.into_dart(), - seekstorm::index::FieldType::I8 => 4.into_dart(), - seekstorm::index::FieldType::I16 => 5.into_dart(), - seekstorm::index::FieldType::I32 => 6.into_dart(), - seekstorm::index::FieldType::I64 => 7.into_dart(), - seekstorm::index::FieldType::Timestamp => 8.into_dart(), - seekstorm::index::FieldType::F32 => 9.into_dart(), - seekstorm::index::FieldType::F64 => 10.into_dart(), - seekstorm::index::FieldType::Bool => 11.into_dart(), - seekstorm::index::FieldType::String16 => 12.into_dart(), - seekstorm::index::FieldType::String32 => 13.into_dart(), - seekstorm::index::FieldType::StringSet16 => 14.into_dart(), - seekstorm::index::FieldType::StringSet32 => 15.into_dart(), - seekstorm::index::FieldType::Point => 16.into_dart(), - seekstorm::index::FieldType::Text => 17.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::FieldType -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - [ - self.0.field.into_into_dart().into_dart(), - self.0.name.into_into_dart().into_dart(), - self.0.fragment_number.into_into_dart().into_dart(), - self.0.fragment_size.into_into_dart().into_dart(), - self.0.highlight_markup.into_into_dart().into_dart(), - self.0.pre_tags.into_into_dart().into_dart(), - self.0.post_tags.into_into_dart().into_dart(), - ] - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::highlighter::Highlight -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - tokio::time::MissedTickBehavior::Burst => 0.into_dart(), - tokio::time::MissedTickBehavior::Delay => 1.into_dart(), - tokio::time::MissedTickBehavior::Skip => 2.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for tokio::time::MissedTickBehavior -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::index::NgramType::SingleTerm => 0.into_dart(), - seekstorm::index::NgramType::NgramFF => 1.into_dart(), - seekstorm::index::NgramType::NgramFR => 2.into_dart(), - seekstorm::index::NgramType::NgramRF => 3.into_dart(), - seekstorm::index::NgramType::NgramFFF => 4.into_dart(), - seekstorm::index::NgramType::NgramRFF => 5.into_dart(), - seekstorm::index::NgramType::NgramFFR => 6.into_dart(), - seekstorm::index::NgramType::NgramFRF => 7.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::NgramType -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - [self.0.max_completion_entries.into_into_dart().into_dart()].into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::QueryCompletion -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::search::QueryType::Union => 0.into_dart(), - seekstorm::search::QueryType::Intersection => 1.into_dart(), - seekstorm::search::QueryType::Phrase => 2.into_dart(), - seekstorm::search::QueryType::Not => 3.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::search::QueryType -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::search::RangeType::CountWithinRange => 0.into_dart(), - seekstorm::search::RangeType::CountAboveRange => 1.into_dart(), - seekstorm::search::RangeType::CountBelowRange => 2.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::search::RangeType -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::search::ResultType::Count => 0.into_dart(), - seekstorm::search::ResultType::Topk => 1.into_dart(), - seekstorm::search::ResultType::TopkCount => 2.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::search::ResultType -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - tokio::runtime::RuntimeFlavor::CurrentThread => 0.into_dart(), - tokio::runtime::RuntimeFlavor::MultiThread => 1.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for tokio::runtime::RuntimeFlavor -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for crate::api::keyword_search::SearchFn { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - [self.path_to_index.into_into_dart().into_dart()].into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for crate::api::keyword_search::SearchFn -{ -} -impl flutter_rust_bridge::IntoIntoDart - for crate::api::keyword_search::SearchFn -{ - fn into_into_dart(self) -> crate::api::keyword_search::SearchFn { - self - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::index::SimilarityType::Bm25f => 0.into_dart(), - seekstorm::index::SimilarityType::Bm25fProximity => 1.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::SimilarityType -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::search::SortOrder::Ascending => 0.into_dart(), - seekstorm::search::SortOrder::Descending => 1.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::search::SortOrder -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - [ - self.0 - .max_dictionary_edit_distance - .into_into_dart() - .into_dart(), - self.0.term_length_threshold.into_into_dart().into_dart(), - self.0.count_threshold.into_into_dart().into_dart(), - self.0.max_dictionary_entries.into_into_dart().into_dart(), - ] - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::SpellingCorrection -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::index::StemmerType::None => 0.into_dart(), - seekstorm::index::StemmerType::Arabic => 1.into_dart(), - seekstorm::index::StemmerType::Danish => 2.into_dart(), - seekstorm::index::StemmerType::Dutch => 3.into_dart(), - seekstorm::index::StemmerType::English => 4.into_dart(), - seekstorm::index::StemmerType::Finnish => 5.into_dart(), - seekstorm::index::StemmerType::French => 6.into_dart(), - seekstorm::index::StemmerType::German => 7.into_dart(), - seekstorm::index::StemmerType::Greek => 8.into_dart(), - seekstorm::index::StemmerType::Hungarian => 9.into_dart(), - seekstorm::index::StemmerType::Italian => 10.into_dart(), - seekstorm::index::StemmerType::Norwegian => 11.into_dart(), - seekstorm::index::StemmerType::Portuguese => 12.into_dart(), - seekstorm::index::StemmerType::Romanian => 13.into_dart(), - seekstorm::index::StemmerType::Russian => 14.into_dart(), - seekstorm::index::StemmerType::Spanish => 15.into_dart(), - seekstorm::index::StemmerType::Swedish => 16.into_dart(), - seekstorm::index::StemmerType::Tamil => 17.into_dart(), - seekstorm::index::StemmerType::Turkish => 18.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::StemmerType -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - [ - self.0.terms.into_into_dart().into_dart(), - self.0.multiway.into_into_dart().into_dart(), - ] - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::Synonym -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - seekstorm::index::TokenizerType::AsciiAlphabetic => 0.into_dart(), - seekstorm::index::TokenizerType::UnicodeAlphanumeric => 1.into_dart(), - seekstorm::index::TokenizerType::UnicodeAlphanumericFolded => 2.into_dart(), - seekstorm::index::TokenizerType::Whitespace => 3.into_dart(), - seekstorm::index::TokenizerType::WhitespaceLowercase => 4.into_dart(), - seekstorm::index::TokenizerType::UnicodeAlphanumericZH => 5.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for seekstorm::index::TokenizerType -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for FrbWrapper { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - match self.0 { - tokio::sync::TryAcquireError::Closed => 0.into_dart(), - tokio::sync::TryAcquireError::NoPermits => 1.into_dart(), - _ => unreachable!(), - } - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for FrbWrapper -{ -} -impl flutter_rust_bridge::IntoIntoDart> - for tokio::sync::TryAcquireError -{ - fn into_into_dart(self) -> FrbWrapper { - self.into() - } -} - -impl SseEncode for flutter_rust_bridge::for_generated::anyhow::Error { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(format!("{:?}", self), serializer); - } -} - -impl SseEncode for AHashMap { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for AcquireError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Arc> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Barrier { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for BarrierWaitResult { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Child { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ChildStderr { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ChildStdin { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ChildStdout { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Command { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for DocumentItem { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for DuplexStream { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Empty { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for EnterGuard<'static> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Error { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ExitStatus { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for FacetField { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for FacetFilter { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for FacetValue { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for File { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for FileType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for FillBuf<'static, Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Flush<'static, Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for FrequentwordType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Handle { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Highlighter { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Id { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Index { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for IndexMap, usize)> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - , usize)>, - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for IndexMetaObject { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Instant { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Interest { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Interval { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for IoSlice<'static> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Ipv4Addr { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Lines { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for LocalEnterGuard { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for LocalSet { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for MinMaxField { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for MinMaxFieldJson { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Notified<'static> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Notify { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for OpenOptions { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Ordering { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for OwnedFd { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for OwnedNotified { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for OwnedPermit { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for OwnedReadHalf { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for OwnedSemaphorePermit { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - , - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for OwnedWriteHalf { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for PdfDocument<'static> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for PermitIterator<'static, T> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Permit<'static, T> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Poll<()> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Poll { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Poll { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Poll> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Poll { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for QueryFacet { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for QueryRewriting { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Ranges { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Range { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadF32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadF32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadF64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadF64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadHalf { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadI128Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadI128<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadI16Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadI16<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadI32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadI32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadI64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadI64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadI8<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadU128Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadU128<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadU16Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadU16<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadU32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadU32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadU64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ReadU64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReadU8<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Ready { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Receiver { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Receiver { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for RecvError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Ref<'static, T> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Repeat { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for RestoreOnPending { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Result { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ResultObject { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ResultSort { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for ReuniteError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Runtime { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for RuntimeMetrics { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for SchemaField { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for SeekFrom { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Seek<'static, Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Semaphore { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for SemaphorePermit<'static> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for SendError<()> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for SendError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for SendTimeoutError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Sender { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Sender { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Shutdown { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Shutdown<'static, Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Signal { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for SignalKind { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for SimplexStream { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Sink { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Sleep { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for SocketAddr { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Split { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for StdCommand { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Stderr { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Stdin { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Stdout { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for StopwordType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for T { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Take { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for TcpListener { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for TcpSocket { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for TcpStream { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for TryCurrentError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for TryRecvError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for TrySendError<()> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for TrySendError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for TrySendError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for UCred { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for UdpSocket { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for UnixDatagram { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for UnixListener { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for UnixSocket { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for UnixStream { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for Value { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for ValueType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WeakSender { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WriteF32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteF32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WriteF64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteF64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WriteHalf { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteI128Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteI128<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteI16Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteI16<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WriteI32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteI32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WriteI64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteI64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WriteI8<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WriteU128Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteU128<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteU16Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteU16<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WriteU32Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteU32<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WriteU64Le<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for WriteU64<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for WriteU8<&mut Self> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer); - } -} - -impl SseEncode for c_int { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for gid_t { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for pid_t { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for uid_t { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for chrono::Duration { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - self.num_microseconds() - .expect("cannot get microseconds from time"), - serializer, - ); - } -} - -impl SseEncode for i128 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.to_string(), serializer); - } -} - -impl SseEncode for std::collections::HashMap { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >::sse_encode(self.into_iter().collect(), serializer); - } -} - -impl SseEncode for std::collections::HashMap { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >::sse_encode(self.into_iter().collect(), serializer); - } -} - -impl SseEncode for std::collections::HashMap { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >::sse_encode(self.into_iter().collect(), serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - IndexMap, usize)>, - >, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi]>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi>> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueMoi>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for RustOpaqueMoi> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode for std::collections::HashSet { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >::sse_encode(self.into_iter().collect(), serializer); - } -} - -impl SseEncode for String { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >::sse_encode(self.into_bytes(), serializer); - } -} - -impl SseEncode for u128 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.to_string(), serializer); - } -} - -impl SseEncode for seekstorm::index::AccessType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::index::AccessType::Ram => 0, - seekstorm::index::AccessType::Mmap => 1, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for bool { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_u8(self as _).unwrap(); - } -} - -impl SseEncode for seekstorm::index::CompressionType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::index::CompressionType::Delta => 0, - seekstorm::index::CompressionType::Array => 1, - seekstorm::index::CompressionType::Bitmap => 2, - seekstorm::index::CompressionType::Rle => 3, - seekstorm::index::CompressionType::Error => 4, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for seekstorm::index::DistanceField { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.field, serializer); - ::sse_encode(self.distance, serializer); - >::sse_encode(self.base, serializer); - ::sse_encode(self.unit, serializer); - } -} - -impl SseEncode for seekstorm::index::DistanceUnit { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::index::DistanceUnit::Kilometers => 0, - seekstorm::index::DistanceUnit::Miles => 1, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for f32 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_f32::(self).unwrap(); - } -} - -impl SseEncode for f64 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_f64::(self).unwrap(); - } -} - -impl SseEncode for seekstorm::index::FieldType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::index::FieldType::U8 => 0, - seekstorm::index::FieldType::U16 => 1, - seekstorm::index::FieldType::U32 => 2, - seekstorm::index::FieldType::U64 => 3, - seekstorm::index::FieldType::I8 => 4, - seekstorm::index::FieldType::I16 => 5, - seekstorm::index::FieldType::I32 => 6, - seekstorm::index::FieldType::I64 => 7, - seekstorm::index::FieldType::Timestamp => 8, - seekstorm::index::FieldType::F32 => 9, - seekstorm::index::FieldType::F64 => 10, - seekstorm::index::FieldType::Bool => 11, - seekstorm::index::FieldType::String16 => 12, - seekstorm::index::FieldType::String32 => 13, - seekstorm::index::FieldType::StringSet16 => 14, - seekstorm::index::FieldType::StringSet32 => 15, - seekstorm::index::FieldType::Point => 16, - seekstorm::index::FieldType::Text => 17, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for seekstorm::highlighter::Highlight { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.field, serializer); - ::sse_encode(self.name, serializer); - ::sse_encode(self.fragment_number, serializer); - ::sse_encode(self.fragment_size, serializer); - ::sse_encode(self.highlight_markup, serializer); - ::sse_encode(self.pre_tags, serializer); - ::sse_encode(self.post_tags, serializer); - } -} - -impl SseEncode for i16 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_i16::(self).unwrap(); - } -} - -impl SseEncode for i32 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_i32::(self).unwrap(); - } -} - -impl SseEncode for i64 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_i64::(self).unwrap(); - } -} - -impl SseEncode for i8 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_i8(self).unwrap(); - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - >::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - >::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec<(String, MinMaxFieldJson)> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - <(String, MinMaxFieldJson)>::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec<(String, SchemaField)> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - <(String, SchemaField)>::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec<(String, Value)> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - <(String, Value)>::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec<(u64, std::collections::HashMap)> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - <(u64, std::collections::HashMap)>::sse_encode(item, serializer); - } - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for tokio::time::MissedTickBehavior { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - tokio::time::MissedTickBehavior::Burst => 0, - tokio::time::MissedTickBehavior::Delay => 1, - tokio::time::MissedTickBehavior::Skip => 2, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for seekstorm::index::NgramType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::index::NgramType::SingleTerm => 0, - seekstorm::index::NgramType::NgramFF => 1, - seekstorm::index::NgramType::NgramFR => 2, - seekstorm::index::NgramType::NgramRF => 3, - seekstorm::index::NgramType::NgramFFF => 4, - seekstorm::index::NgramType::NgramRFF => 5, - seekstorm::index::NgramType::NgramFFR => 6, - seekstorm::index::NgramType::NgramFRF => 7, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for Option> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - >::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode - for Option>> -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - >>::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option<()> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - <()>::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - ::sse_encode(value, serializer); - } - } -} - -impl SseEncode for Option> { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.is_some(), serializer); - if let Some(value) = self { - >::sse_encode(value, serializer); - } - } -} - -impl SseEncode for seekstorm::index::QueryCompletion { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.max_completion_entries, serializer); - } -} - -impl SseEncode for seekstorm::search::QueryType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::search::QueryType::Union => 0, - seekstorm::search::QueryType::Intersection => 1, - seekstorm::search::QueryType::Phrase => 2, - seekstorm::search::QueryType::Not => 3, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for seekstorm::search::RangeType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::search::RangeType::CountWithinRange => 0, - seekstorm::search::RangeType::CountAboveRange => 1, - seekstorm::search::RangeType::CountBelowRange => 2, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for (DuplexStream, DuplexStream) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (OwnedReadHalf, OwnedWriteHalf) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (ReadHalf, WriteHalf) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >::sse_encode(self.0, serializer); - >::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (Sender, Receiver) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (TcpStream, SocketAddr) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (UnixDatagram, UnixDatagram) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (UnixStream, SocketAddr) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (UnixStream, UnixStream) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (String, MinMaxFieldJson) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (String, SchemaField) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (String, Value) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (u64, std::collections::HashMap) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - >::sse_encode(self.1, serializer); - } -} - -impl SseEncode for (usize, SocketAddr) { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.0, serializer); - ::sse_encode(self.1, serializer); - } -} - -impl SseEncode for seekstorm::search::ResultType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::search::ResultType::Count => 0, - seekstorm::search::ResultType::Topk => 1, - seekstorm::search::ResultType::TopkCount => 2, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for tokio::runtime::RuntimeFlavor { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - tokio::runtime::RuntimeFlavor::CurrentThread => 0, - tokio::runtime::RuntimeFlavor::MultiThread => 1, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for crate::api::keyword_search::SearchFn { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.path_to_index, serializer); - } -} - -impl SseEncode for seekstorm::index::SimilarityType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::index::SimilarityType::Bm25f => 0, - seekstorm::index::SimilarityType::Bm25fProximity => 1, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for seekstorm::search::SortOrder { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::search::SortOrder::Ascending => 0, - seekstorm::search::SortOrder::Descending => 1, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for seekstorm::index::SpellingCorrection { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.max_dictionary_edit_distance, serializer); - >>::sse_encode(self.term_length_threshold, serializer); - ::sse_encode(self.count_threshold, serializer); - ::sse_encode(self.max_dictionary_entries, serializer); - } -} - -impl SseEncode for seekstorm::index::StemmerType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::index::StemmerType::None => 0, - seekstorm::index::StemmerType::Arabic => 1, - seekstorm::index::StemmerType::Danish => 2, - seekstorm::index::StemmerType::Dutch => 3, - seekstorm::index::StemmerType::English => 4, - seekstorm::index::StemmerType::Finnish => 5, - seekstorm::index::StemmerType::French => 6, - seekstorm::index::StemmerType::German => 7, - seekstorm::index::StemmerType::Greek => 8, - seekstorm::index::StemmerType::Hungarian => 9, - seekstorm::index::StemmerType::Italian => 10, - seekstorm::index::StemmerType::Norwegian => 11, - seekstorm::index::StemmerType::Portuguese => 12, - seekstorm::index::StemmerType::Romanian => 13, - seekstorm::index::StemmerType::Russian => 14, - seekstorm::index::StemmerType::Spanish => 15, - seekstorm::index::StemmerType::Swedish => 16, - seekstorm::index::StemmerType::Tamil => 17, - seekstorm::index::StemmerType::Turkish => 18, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for seekstorm::index::Synonym { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >::sse_encode(self.terms, serializer); - ::sse_encode(self.multiway, serializer); - } -} - -impl SseEncode for seekstorm::index::TokenizerType { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - seekstorm::index::TokenizerType::AsciiAlphabetic => 0, - seekstorm::index::TokenizerType::UnicodeAlphanumeric => 1, - seekstorm::index::TokenizerType::UnicodeAlphanumericFolded => 2, - seekstorm::index::TokenizerType::Whitespace => 3, - seekstorm::index::TokenizerType::WhitespaceLowercase => 4, - seekstorm::index::TokenizerType::UnicodeAlphanumericZH => 5, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for tokio::sync::TryAcquireError { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode( - match self { - tokio::sync::TryAcquireError::Closed => 0, - tokio::sync::TryAcquireError::NoPermits => 1, - _ => { - unimplemented!(""); - } - }, - serializer, - ); - } -} - -impl SseEncode for u16 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_u16::(self).unwrap(); - } -} - -impl SseEncode for u32 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_u32::(self).unwrap(); - } -} - -impl SseEncode for u64 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_u64::(self).unwrap(); - } -} - -impl SseEncode for u8 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_u8(self).unwrap(); - } -} - -impl SseEncode for () { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {} -} - -impl SseEncode for usize { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer - .cursor - .write_u64::(self as _) - .unwrap(); - } -} - -#[cfg(not(target_family = "wasm"))] -mod io { - // This file is automatically generated, so please do not edit it. - // @generated by `flutter_rust_bridge`@ 2.11.1. - - // Section: imports - - use super::*; - use crate::*; - use flutter_rust_bridge::for_generated::byteorder::{ - NativeEndian, ReadBytesExt, WriteBytesExt, - }; - use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; - use flutter_rust_bridge::{Handler, IntoIntoDart}; - use seekstorm::geo_search::*; - use seekstorm::highlighter::*; - use seekstorm::index::*; - use seekstorm::ingest::*; - use seekstorm::search::*; - use tokio::io::*; - use tokio::net::tcp::listener::*; - use tokio::net::tcp::split_owned::*; - use tokio::net::tcp::*; - use tokio::net::udp::*; - use tokio::net::unix::datagram::socket::*; - use tokio::net::unix::listener::*; - use tokio::net::unix::pipe::*; - use tokio::net::unix::*; - use tokio::net::*; - use tokio::process::sys::*; - use tokio::process::*; - use tokio::runtime::*; - use tokio::signal::unix::InternalStream; - use tokio::signal::unix::*; - use tokio::sync::broadcast::error::*; - use tokio::sync::broadcast::*; - use tokio::sync::mpsc::bounded::*; - use tokio::sync::mpsc::error::*; - use tokio::sync::oneshot::*; - use tokio::sync::watch::*; - use tokio::sync::*; - use tokio::task::coop::*; - use tokio::task::*; - use tokio::time::error::*; - use tokio::time::interval::*; - use tokio::time::*; - - // Section: boilerplate - - flutter_rust_bridge::frb_generated_boilerplate_io!(); - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - IndexMap, usize)>, - >, - >::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - IndexMap, usize)>, - >, - >::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( - ptr: *const std::ffi::c_void, - ) { - MoiArc::]>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( - ptr: *const std::ffi::c_void, - ) { - MoiArc::]>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - >::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - >::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - >::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - >::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[unsafe(no_mangle)] - pub extern "C" fn frbgen_mobile_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } -} -#[cfg(not(target_family = "wasm"))] -pub use io::*; - -/// cbindgen:ignore -#[cfg(target_family = "wasm")] -mod web { - // This file is automatically generated, so please do not edit it. - // @generated by `flutter_rust_bridge`@ 2.11.1. - - // Section: imports - - use super::*; - use crate::*; - use flutter_rust_bridge::for_generated::byteorder::{ - NativeEndian, ReadBytesExt, WriteBytesExt, - }; - use flutter_rust_bridge::for_generated::wasm_bindgen; - use flutter_rust_bridge::for_generated::wasm_bindgen::prelude::*; - use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; - use flutter_rust_bridge::{Handler, IntoIntoDart}; - use seekstorm::geo_search::*; - use seekstorm::highlighter::*; - use seekstorm::index::*; - use seekstorm::ingest::*; - use seekstorm::search::*; - use tokio::io::*; - use tokio::net::tcp::listener::*; - use tokio::net::tcp::split_owned::*; - use tokio::net::tcp::*; - use tokio::net::udp::*; - use tokio::net::unix::datagram::socket::*; - use tokio::net::unix::listener::*; - use tokio::net::unix::pipe::*; - use tokio::net::unix::*; - use tokio::net::*; - use tokio::process::sys::*; - use tokio::process::*; - use tokio::runtime::*; - use tokio::signal::unix::InternalStream; - use tokio::signal::unix::*; - use tokio::sync::broadcast::error::*; - use tokio::sync::broadcast::*; - use tokio::sync::mpsc::bounded::*; - use tokio::sync::mpsc::error::*; - use tokio::sync::oneshot::*; - use tokio::sync::watch::*; - use tokio::sync::*; - use tokio::task::coop::*; - use tokio::task::*; - use tokio::time::error::*; - use tokio::time::interval::*; - use tokio::time::*; - - // Section: boilerplate - - flutter_rust_bridge::frb_generated_boilerplate_web!(); - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAHashMapStringFacet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerAcquireError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerArcRwLockIndex( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrier( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBarrierWaitResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChild( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStderr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdin( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerChildStdout( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerCommand( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerContextstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDocumentItem( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDuplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEmpty( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerEnterGuardstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerExitStatus( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetFilter( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFacetValue( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFile( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFileType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFillBufstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFlushstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerFrequentwordType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHandle( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerHighlighter( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerId( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndex( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - IndexMap, usize)>, - >, - >::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMapStringVecStringusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - IndexMap, usize)>, - >, - >::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIndexMetaObject( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInstant( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterest( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerInterval( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( - ptr: *const std::ffi::c_void, - ) { - MoiArc::]>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSliceMut_( - ptr: *const std::ffi::c_void, - ) { - MoiArc::]>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIoSlicestatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv4Addr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerIpv6Addr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLinesSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalEnterGuard( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLocalSet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerMinMaxFieldJson( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotifiedstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerNotify( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOpenOptions( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOrdering( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedFd( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedNotified( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedPermitT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedReadHalf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedSemaphorePermit( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOwnedWriteHalf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPath( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPdfDocumentstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitIteratorstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPermitstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPoll( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollInstant( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOption( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollOptionT( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollRestoreOnPending( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - >::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultTcpStreamSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - >::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - >::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultUnixStreamSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::< - flutter_rust_bridge::for_generated::RustAutoOpaqueInner< - Poll>, - >, - >::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollResultusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc:: >>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerPollusize( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryFacet( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerQueryRewriting( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRanges( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRangeu64( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadBufstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadF64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadHalfSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadI8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReadU8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReady( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiver( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReceiverT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRecvError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRefstaticT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRepeat( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRestoreOnPending( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResult( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultObject( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerResultSort( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerReuniteError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntime( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRuntimeMetrics( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSchemaField( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekFrom( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSeekstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphore( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSemaphorePermitstatic( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSendTimeoutErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSender( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSenderT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdown( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerShutdownstaticSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignal( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSignalKind( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSink( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSleep( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSocketAddr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerSplitSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdCommand( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStderr( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdin( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStdout( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerStopwordType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTakeSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpListener( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTcpStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryCurrentError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTryRecvError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendError( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerTrySendErrorT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUCred( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUdpSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixDatagram( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixListener( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixSocket( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerUnixStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValue( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerValueType( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerVecT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWeakSenderT( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteF64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteHalfSimplexStream( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteI8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU128mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU16mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); - } - - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); + // Codec=Pde (Serialization + dispatch), see doc to use other codecs + match func_id { + 2 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len), + _ => unreachable!(), } +} - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); +fn pde_ffi_dispatcher_sync_impl( + func_id: i32, + ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len: i32, + data_len: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + // Codec=Pde (Serialization + dispatch), see doc to use other codecs + match func_id { + 1 => wire__crate__api__simple__greet_impl(ptr, rust_vec_len, data_len), + _ => unreachable!(), } +} - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU32mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } +// Section: rust2dart - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); +impl SseEncode for String { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >::sse_encode(self.into_bytes(), serializer); } +} - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64LemutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } } +} - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); +impl SseEncode for u8 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_u8(self).unwrap(); } +} - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU64mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); - } +impl SseEncode for () { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {} +} - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::increment_strong_count(ptr as _); +impl SseEncode for i32 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_i32::(self).unwrap(); } +} - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerWriteU8mutSelf( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>>::decrement_strong_count(ptr as _); +impl SseEncode for bool { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_u8(self as _).unwrap(); } +} - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } +#[cfg(not(target_family = "wasm"))] +mod io { + // This file is automatically generated, so please do not edit it. + // @generated by `flutter_rust_bridge`@ 2.11.1. - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerc_int( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } + // Section: imports - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } + use super::*; + use flutter_rust_bridge::for_generated::byteorder::{ + NativeEndian, ReadBytesExt, WriteBytesExt, + }; + use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; + use flutter_rust_bridge::{Handler, IntoIntoDart}; - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnergid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } + // Section: boilerplate - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } + flutter_rust_bridge::frb_generated_boilerplate_io!(); +} +#[cfg(not(target_family = "wasm"))] +pub use io::*; - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerpid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } +/// cbindgen:ignore +#[cfg(target_family = "wasm")] +mod web { + // This file is automatically generated, so please do not edit it. + // @generated by `flutter_rust_bridge`@ 2.11.1. - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } + // Section: imports - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneru8( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } + use super::*; + use flutter_rust_bridge::for_generated::byteorder::{ + NativeEndian, ReadBytesExt, WriteBytesExt, + }; + use flutter_rust_bridge::for_generated::wasm_bindgen; + use flutter_rust_bridge::for_generated::wasm_bindgen::prelude::*; + use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; + use flutter_rust_bridge::{Handler, IntoIntoDart}; - #[wasm_bindgen] - pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::increment_strong_count(ptr as _); - } + // Section: boilerplate - #[wasm_bindgen] - pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInneruid_t( - ptr: *const std::ffi::c_void, - ) { - MoiArc::>::decrement_strong_count(ptr as _); - } + flutter_rust_bridge::frb_generated_boilerplate_web!(); } #[cfg(target_family = "wasm")] pub use web::*; diff --git a/mobile_app/rust/src/seekstorm/add_result.rs b/mobile_app/rust/src/seekstorm/add_result.rs new file mode 100644 index 0000000..baa7426 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/add_result.rs @@ -0,0 +1,3682 @@ +use ahash::AHashSet; +use smallvec::{SmallVec, smallvec}; +use std::cmp::Ordering; + +use crate::{ + geo_search::{decode_morton_2_d, euclidian_distance}, + index::{ + AccessType, CompressionType, FIELD_STOP_BIT_1, FIELD_STOP_BIT_2, FieldType, NgramType, + NonUniquePostingListObjectQuery, PostingListObjectQuery, SPEEDUP_FLAG, STOP_BIT, Shard, + SimilarityType, get_document_length_compressed_mmap, + }, + min_heap, + search::{FilterSparse, Ranges, ResultType, SearchResult}, + utils::{ + read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u8, read_u16, read_u32, + read_u64, + }, +}; + +pub(crate) const K: f32 = 1.2; +pub(crate) const B: f32 = 0.75; +pub(crate) const SIGMA: f32 = 0.0; + +pub(crate) struct PostingListObjectSingle<'a> { + pub rank_position_pointer_range: u32, + pub pointer_pivot_p_docid: u16, + pub byte_array: &'a [u8], + pub p_docid: i32, + pub idf: f32, + + pub idf_ngram1: f32, + pub idf_ngram2: f32, + pub idf_ngram3: f32, + pub ngram_type: NgramType, +} + +#[inline(always)] +pub(crate) fn get_next_position_singlefield(plo: &mut NonUniquePostingListObjectQuery) -> u32 { + if plo.is_embedded { + return plo.embedded_positions[plo.p_pos as usize]; + } + + if (plo.byte_array[plo.positions_pointer] & STOP_BIT) != 0 { + let position = (plo.byte_array[plo.positions_pointer] & 0b0111_1111) as u32; + plo.positions_pointer += 1; + position + } else if (plo.byte_array[plo.positions_pointer + 1] & STOP_BIT) != 0 { + let position = ((plo.byte_array[plo.positions_pointer] as u32) << 7) + | (plo.byte_array[plo.positions_pointer + 1] & 0b0111_1111) as u32; + plo.positions_pointer += 2; + position + } else { + let position = ((plo.byte_array[plo.positions_pointer] as u32) << 13) + | ((plo.byte_array[plo.positions_pointer + 1] as u32) << 7) + | (plo.byte_array[plo.positions_pointer + 2] & 0b0111_1111) as u32; + plo.positions_pointer += 3; + position + } +} + +#[inline(always)] +pub(crate) fn get_next_position_multifield(plo: &mut NonUniquePostingListObjectQuery) -> u32 { + if plo.is_embedded { + return plo.embedded_positions[if plo.p_field == 0 { + plo.p_pos as usize + } else { + plo.field_vec[plo.p_field - 1].1 + plo.p_pos as usize + }]; + } + + if (plo.byte_array[plo.positions_pointer] & STOP_BIT) != 0 { + let position = (plo.byte_array[plo.positions_pointer] & 0b0111_1111) as u32; + plo.positions_pointer += 1; + position + } else if (plo.byte_array[plo.positions_pointer + 1] & STOP_BIT) != 0 { + let position = ((plo.byte_array[plo.positions_pointer] as u32) << 7) + | (plo.byte_array[plo.positions_pointer + 1] & 0b0111_1111) as u32; + plo.positions_pointer += 2; + position + } else { + let position = ((plo.byte_array[plo.positions_pointer] as u32) << 13) + | ((plo.byte_array[plo.positions_pointer + 1] as u32) << 7) + | (plo.byte_array[plo.positions_pointer + 2] & 0b0111_1111) as u32; + plo.positions_pointer += 3; + position + } +} + +/// Post processing after AND intersection candidates have been found +/// Phrase intersection +/// BM25 ranking vs. seekstorm ranking (implicit phrase search, term proximity, field type boost, source reputation) +/// BM25 is default baseline in IR academics, but exhibits inferior relevance for practical use +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn add_result_singleterm_multifield( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + + plo_single: &PostingListObjectSingle, + not_query_list: &mut [PostingListObjectQuery], + block_score: f32, +) { + if shard.indexed_field_vec.len() == 1 { + add_result_singleterm_singlefield( + shard, + docid, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + plo_single, + not_query_list, + block_score, + ); + return; + } + + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + let local_docid = docid & 0b11111111_11111111; + + match &plo.compression_type { + CompressionType::Array => { + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + plo.docid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + (plo.p_docid << 1), + ) as i32; + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + CompressionType::Bitmap => { + if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] + & (1 << (local_docid & 7))) + > 0 + { + return; + } + } + CompressionType::Rle => { + if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { + return; + } else { + while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) + < plo.p_docid_count + && local_docid > plo.run_end as usize + { + let startdocid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize, + ); + let runlength = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize + 2, + ); + plo.docid = startdocid as i32; + plo.run_end = (startdocid + runlength) as i32; + plo.p_run_sum += runlength as i32; + plo.p_run += 4; + + if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize + { + return; + } + } + } + } + _ => {} + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + let mut field_vec_ngram1: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + let mut field_vec_ngram2: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + let mut field_vec_ngram3: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + + match *result_type { + ResultType::Count => { + if !field_filter_set.is_empty() { + decode_positions_singleterm_multifield( + shard, + plo_single, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + + if field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() { + let mut match_flag = false; + for field in field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + + facet_count(shard, search_result, docid); + + *result_count += 1; + + return; + } + ResultType::Topk => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + + if !field_filter_set.is_empty() { + decode_positions_singleterm_multifield( + shard, + plo_single, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + + if field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() { + let mut match_flag = false; + for field in field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + } + ResultType::TopkCount => { + if !field_filter_set.is_empty() { + decode_positions_singleterm_multifield( + shard, + plo_single, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + + if field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() { + let mut match_flag = false; + for field in field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + + facet_count(shard, search_result, docid); + + *result_count += 1; + + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + } + } + + if field_filter_set.is_empty() { + decode_positions_singleterm_multifield( + shard, + plo_single, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + } + + let bm25f = get_bm25f_singleterm_multifield( + shard, + docid, + plo_single, + field_vec, + field_vec_ngram1, + field_vec_ngram2, + field_vec_ngram3, + ); + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25f, + }, + top_k, + ); +} + +#[inline] +pub(crate) fn is_facet_filter(index: &Shard, facet_filter: &[FilterSparse], docid: usize) -> bool { + for (i, facet) in index.facets.iter().enumerate() { + match &facet_filter[i] { + FilterSparse::U8(range) => { + let facet_value_id = read_u8( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::U16(range) => { + let facet_value_id = read_u16( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::U32(range) => { + let facet_value_id = read_u32( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::U64(range) => { + let facet_value_id = read_u64( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::I8(range) => { + let facet_value_id = read_i8( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::I16(range) => { + let facet_value_id = read_i16( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::I32(range) => { + let facet_value_id = read_i32( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::I64(range) => { + let facet_value_id = read_i64( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::Timestamp(range) => { + let facet_value_id = read_i64( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::F32(range) => { + let facet_value_id = read_f32( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::F64(range) => { + let facet_value_id = read_f64( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::String16(values) => { + let facet_value_id = read_u16( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !values.contains(&facet_value_id) { + return true; + } + } + FilterSparse::String32(values) => { + let facet_value_id = read_u32( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !values.contains(&facet_value_id) { + return true; + } + } + + FilterSparse::Point(point, distance_range, unit, range) => { + let morton_code = read_u64( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if range.contains(&morton_code) { + if !distance_range.contains(&euclidian_distance( + point, + &decode_morton_2_d(morton_code), + unit, + )) { + return true; + } + } else { + return true; + } + } + + FilterSparse::None => {} + } + } + false +} + +#[inline] +pub(crate) fn facet_count(shard: &Shard, search_result: &mut SearchResult, docid: usize) { + if !search_result.query_facets.is_empty() && !search_result.skip_facet_count { + for (i, facet) in shard.facets.iter().enumerate() { + if search_result.query_facets[i].length == 0 { + continue; + } + + let facet_value_id = match &search_result.query_facets[i].ranges { + Ranges::U8(_range_type, ranges) => { + let facet_value = + shard.facets_file_mmap[(shard.facets_size_sum * docid) + facet.offset]; + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U16(_range_type, ranges) => { + let facet_value = read_u16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U32(_range_type, ranges) => { + let facet_value = read_u32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U64(_range_type, ranges) => { + let facet_value = read_u64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I8(_range_type, ranges) => { + let facet_value = read_i8( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I16(_range_type, ranges) => { + let facet_value = read_i16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I32(_range_type, ranges) => { + let facet_value = read_i32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + + Ranges::I64(_range_type, ranges) => { + let facet_value = read_i64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::Timestamp(_range_type, ranges) => { + let facet_value = read_i64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::F32(_range_type, ranges) => { + let facet_value = read_f32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by(|range| range.1.partial_cmp(&facet_value).unwrap()) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::F64(_range_type, ranges) => { + let facet_value = read_f64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by(|range| range.1.partial_cmp(&facet_value).unwrap()) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + + Ranges::Point(_range_type, ranges, base, unit) => { + let facet_value = read_u64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + let facet_value_distance = + euclidian_distance(base, &decode_morton_2_d(facet_value), unit); + ranges + .binary_search_by(|range| { + range.1.partial_cmp(&facet_value_distance).unwrap() + }) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + + _ => { + if facet.field_type == FieldType::String16 + || facet.field_type == FieldType::StringSet16 + { + read_u16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ) as u32 + } else { + read_u32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ) + } + } + }; + + *search_result.query_facets[i] + .values + .entry(facet_value_id) + .or_insert(0) += 1; + } + } +} + +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn add_result_singleterm_singlefield( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + + plo_single: &PostingListObjectSingle, + not_query_list: &mut [PostingListObjectQuery], + block_score: f32, +) { + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + let local_docid = docid & 0b11111111_11111111; + + match &plo.compression_type { + CompressionType::Array => { + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + plo.docid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + (plo.p_docid << 1), + ) as i32; + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + CompressionType::Bitmap => { + if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] + & (1 << (local_docid & 7))) + > 0 + { + return; + } + } + CompressionType::Rle => { + if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { + return; + } else { + while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) + < plo.p_docid_count + && local_docid > plo.run_end as usize + { + let startdocid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize, + ); + let runlength = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize + 2, + ); + plo.docid = startdocid as i32; + plo.run_end = (startdocid + runlength) as i32; + plo.p_run_sum += runlength as i32; + plo.p_run += 4; + + if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize + { + return; + } + } + } + } + _ => {} + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + let mut tf_ngram1 = 0; + let mut tf_ngram2 = 0; + let mut tf_ngram3 = 0; + let mut positions_count = 0; + let field_id = 0u16; + + match *result_type { + ResultType::Count => { + if !field_filter_set.is_empty() { + decode_positions_singleterm_singlefield( + plo_single, + &mut tf_ngram1, + &mut tf_ngram2, + &mut tf_ngram3, + &mut positions_count, + ); + + if field_filter_set.len() < shard.indexed_field_vec.len() { + let mut match_flag = false; + + if field_filter_set.contains(&field_id) { + match_flag = true; + } + + if !match_flag { + return; + } + } + } + facet_count(shard, search_result, docid); + + *result_count += 1; + + return; + } + ResultType::Topk => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + + if !field_filter_set.is_empty() { + decode_positions_singleterm_singlefield( + plo_single, + &mut tf_ngram1, + &mut tf_ngram2, + &mut tf_ngram3, + &mut positions_count, + ); + + if field_filter_set.len() < shard.indexed_field_vec.len() { + let mut match_flag = false; + if field_filter_set.contains(&field_id) { + match_flag = true; + } + + if !match_flag { + return; + } + } + } + } + ResultType::TopkCount => { + if !field_filter_set.is_empty() { + decode_positions_singleterm_singlefield( + plo_single, + &mut tf_ngram1, + &mut tf_ngram2, + &mut tf_ngram3, + &mut positions_count, + ); + + if field_filter_set.len() < shard.indexed_field_vec.len() { + let mut match_flag = false; + if field_filter_set.contains(&field_id) { + match_flag = true; + } + if !match_flag { + return; + } + } + } + + facet_count(shard, search_result, docid); + + *result_count += 1; + + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + } + } + + if field_filter_set.is_empty() { + decode_positions_singleterm_singlefield( + plo_single, + &mut tf_ngram1, + &mut tf_ngram2, + &mut tf_ngram3, + &mut positions_count, + ); + } + + let bm25f = get_bm25f_singleterm_singlefield( + shard, + docid, + plo_single, + tf_ngram1, + tf_ngram2, + tf_ngram3, + positions_count, + ); + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25f, + }, + top_k, + ); +} + +#[inline(always)] +pub(crate) fn get_bm25f_singleterm_multifield( + shard: &Shard, + docid: usize, + plo_single: &PostingListObjectSingle, + field_vec: SmallVec<[(u16, usize); 2]>, + field_vec_ngram1: SmallVec<[(u16, usize); 2]>, + field_vec_ngram2: SmallVec<[(u16, usize); 2]>, + field_vec_ngram3: SmallVec<[(u16, usize); 2]>, +) -> f32 { + let mut bm25f = 0.0; + let block_id = docid >> 16; + + if shard.indexed_field_vec.len() == 1 { + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) + } else { + shard.level_index[block_id].document_length_compressed_array[0] + [docid & 0b11111111_11111111] + } as usize]; + + match plo_single.ngram_type { + NgramType::SingleTerm => { + let tf = field_vec[0].1 as f32; + + bm25f = plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + let tf_ngram1 = field_vec_ngram1[0].1 as f32; + let tf_ngram2 = field_vec_ngram2[0].1 as f32; + + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA); + } + _ => { + let tf_ngram1 = field_vec_ngram1[0].1 as f32; + let tf_ngram2 = field_vec_ngram2[0].1 as f32; + let tf_ngram3 = field_vec_ngram3[0].1 as f32; + + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA) + + plo_single.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) / (tf_ngram3 + bm25_component)) + SIGMA); + } + } + } else if plo_single.ngram_type == NgramType::SingleTerm + || shard.meta.similarity == SimilarityType::Bm25fProximity + { + for field in field_vec.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight * plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + } else if plo_single.ngram_type == NgramType::NgramFF + || plo_single.ngram_type == NgramType::NgramRF + || plo_single.ngram_type == NgramType::NgramFR + { + for field in field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA); + } + } else { + for field in field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA); + } + + for field in field_vec_ngram3.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf_ngram3 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo_single.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) / (tf_ngram3 + bm25_component)) + SIGMA); + } + } + + bm25f +} + +#[inline(always)] +pub(crate) fn get_bm25f_singleterm_singlefield( + shard: &Shard, + docid: usize, + plo_single: &PostingListObjectSingle, + tf_ngram1: u32, + tf_ngram2: u32, + tf_ngram3: u32, + positions_count: u32, +) -> f32 { + let bm25f; + let block_id = docid >> 16; + + if shard.indexed_field_vec.len() == 1 { + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) + } else { + shard.level_index[block_id].document_length_compressed_array[0] + [docid & 0b11111111_11111111] + } as usize]; + + match plo_single.ngram_type { + NgramType::SingleTerm => { + let tf = positions_count as f32; + + bm25f = plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) + + SIGMA); + } + _ => { + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram3 + * ((tf_ngram3 as f32 * (K + 1.0) / (tf_ngram3 as f32 + bm25_component)) + + SIGMA); + } + } + } else { + let field_id = 0; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + match plo_single.ngram_type { + NgramType::SingleTerm => { + let tf = positions_count as f32; + + bm25f = plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) + + SIGMA); + } + _ => { + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram3 + * ((tf_ngram3 as f32 * (K + 1.0) / (tf_ngram3 as f32 + bm25_component)) + + SIGMA); + } + } + } + + bm25f +} + +#[inline(always)] +pub(crate) fn get_bm25f_multiterm_multifield( + shard: &Shard, + docid: usize, + query_list: &mut [PostingListObjectQuery], +) -> f32 { + let mut bm25f = 0.0; + let block_id = docid >> 16; + + if shard.indexed_field_vec.len() == 1 { + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) + } else { + shard.level_index[block_id].document_length_compressed_array[0] + [docid & 0b11111111_11111111] + } as usize]; + + for plo in query_list.iter() { + if !plo.bm25_flag { + continue; + } + + match plo.ngram_type { + NgramType::SingleTerm => { + let tf = plo.field_vec[0].1 as f32; + + bm25f += plo.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + bm25f += plo.idf_ngram1 + * ((plo.tf_ngram1 as f32 * (K + 1.0) + / (plo.tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram2 + * ((plo.tf_ngram2 as f32 * (K + 1.0) + / (plo.tf_ngram2 as f32 + bm25_component)) + + SIGMA); + } + _ => { + bm25f += plo.idf_ngram1 + * ((plo.tf_ngram1 as f32 * (K + 1.0) + / (plo.tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram2 + * ((plo.tf_ngram2 as f32 * (K + 1.0) + / (plo.tf_ngram2 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram3 + * ((plo.tf_ngram3 as f32 * (K + 1.0) + / (plo.tf_ngram3 as f32 + bm25_component)) + + SIGMA); + } + } + } + } else { + let mut bm25_component_vec: SmallVec<[f32; 2]> = + smallvec![0.0; shard.indexed_field_vec.len()]; + for plo in query_list.iter() { + if !plo.bm25_flag { + continue; + } + + match plo.ngram_type { + NgramType::SingleTerm => { + for field in plo.field_vec.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf + * ((tf * (K + 1.0) / (tf + bm25_component_vec[field_id])) + SIGMA); + } + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + for field in plo.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + bm25_component_vec[field_id])) + + SIGMA); + } + + for field in plo.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + bm25_component_vec[field_id])) + + SIGMA); + } + } + _ => { + for field in plo.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + bm25_component_vec[field_id])) + + SIGMA); + } + + for field in plo.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + bm25_component_vec[field_id])) + + SIGMA); + } + + for field in plo.field_vec_ngram3.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf_ngram3 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + bm25_component_vec[field_id])) + + SIGMA); + } + } + } + } + } + + bm25f +} + +#[inline(always)] +pub(crate) fn get_bm25f_multiterm_singlefield( + shard: &Shard, + docid: usize, + query_list: &mut [PostingListObjectQuery], +) -> f32 { + let mut bm25f = 0.0; + let block_id = docid >> 16; + + let bm25_component = shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) + } else { + shard.level_index[block_id].document_length_compressed_array[0][docid & 0b11111111_11111111] + } as usize]; + + for plo in query_list.iter() { + if !plo.bm25_flag { + continue; + } + + match plo.ngram_type { + NgramType::SingleTerm => { + let tf = plo.positions_count as f32; + + bm25f += plo.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + bm25f += plo.idf_ngram1 + * ((plo.tf_ngram1 as f32 * (K + 1.0) + / (plo.tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram2 + * ((plo.tf_ngram2 as f32 * (K + 1.0) + / (plo.tf_ngram2 as f32 + bm25_component)) + + SIGMA); + } + _ => { + bm25f += plo.idf_ngram1 + * ((plo.tf_ngram1 as f32 * (K + 1.0) + / (plo.tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram2 + * ((plo.tf_ngram2 as f32 * (K + 1.0) + / (plo.tf_ngram2 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram3 + * ((plo.tf_ngram3 as f32 * (K + 1.0) + / (plo.tf_ngram3 as f32 + bm25_component)) + + SIGMA); + } + } + } + + bm25f +} + +#[inline(always)] +pub(crate) fn decode_positions_multiterm_multifield( + shard: &Shard, + plo: &mut PostingListObjectQuery, + facet_filtered: bool, + phrase_query: bool, + all_terms_frequent: bool, +) -> bool { + let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + + let posting_pointer_size_sum = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + plo.p_docid as u32 * 2 + } else { + (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 + }; + + let mut positions_pointer = + (plo.rank_position_pointer_range + posting_pointer_size_sum) as usize; + + let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + read_u16(plo.byte_array, positions_pointer) as u32 + } else { + read_u32(plo.byte_array, positions_pointer) + }; + + if (rank_position_pointer + & (if plo.p_docid < plo.pointer_pivot_p_docid as usize { + 0b10000000_00000000 + } else { + 0b10000000_00000000_00000000 + })) + == 0 + { + plo.is_embedded = false; + + let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + rank_position_pointer & 0b01111111_11111111 + } else { + rank_position_pointer & 0b01111111_11111111_11111111 + } as usize; + + positions_pointer = plo.rank_position_pointer_range as usize - pointer_value; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + plo.field_vec_ngram1.clear(); + plo.field_vec_ngram2.clear(); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut plo.field_vec_ngram1, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut plo.field_vec_ngram2, + plo.byte_array, + &mut positions_pointer, + ); + } + _ => { + plo.field_vec_ngram1.clear(); + plo.field_vec_ngram2.clear(); + plo.field_vec_ngram3.clear(); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut plo.field_vec_ngram1, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut plo.field_vec_ngram2, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut plo.field_vec_ngram3, + plo.byte_array, + &mut positions_pointer, + ); + } + } + + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut field_vec, + plo.byte_array, + &mut positions_pointer, + ); + + if SPEEDUP_FLAG + && all_terms_frequent + && !phrase_query + && !facet_filtered + && field_vec[0].1 < 10 + { + return true; + } + } else { + plo.is_embedded = true; + + if SPEEDUP_FLAG && all_terms_frequent && !phrase_query && !facet_filtered { + return true; + } + + let field_id; + + if plo.p_docid < plo.pointer_pivot_p_docid as usize { + match ( + shard.indexed_field_vec.len() == 1, + rank_position_pointer >> 12, + ) { + (true, 0b1000..=0b1011) => { + if phrase_query { + plo.embedded_positions = + [rank_position_pointer & 0b00111111_11111111, 0, 0, 0]; + }; + field_vec.push((0, 1)); + } + (true, 0b1100..=0b1111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 7) & 0b00000000_01111111, + rank_position_pointer & 0b00000000_01111111, + 0, + 0, + ]; + }; + field_vec.push((0, 2)); + } + + (false, 0b1100 | 0b1101) => { + if phrase_query { + plo.embedded_positions = + [rank_position_pointer & 0b00011111_11111111, 0, 0, 0]; + }; + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 1)); + } + (false, 0b1110 | 0b1111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 7) & 0b00000000_00111111, + rank_position_pointer & 0b00000000_01111111, + 0, + 0, + ]; + }; + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 2)); + } + + (false, 0b1000) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer & ((1 << position_bits) - 1)), + 0, + 0, + 0, + ]; + }; + } + (false, 0b1001) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b1010) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b1011) => { + let position_bits = + 12 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + + (_, _) => { + if phrase_query { + println!("unsupported 2 byte pointer embedded"); + plo.embedded_positions = [0, 0, 0, 0] + }; + } + } + } else { + match ( + shard.indexed_field_vec.len() == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, + ) { + (true, 0b10000..=0b10011) => { + if phrase_query { + plo.embedded_positions = [ + rank_position_pointer & 0b00011111_11111111_11111111, + 0, + 0, + 0, + ]; + }; + field_vec.push((0, 1)); + } + (true, 0b10100..=0b10111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 11) & 0b00000000_00000011_11111111, + rank_position_pointer & 0b00000000_00000111_11111111, + 0, + 0, + ]; + }; + field_vec.push((0, 2)); + } + (true, 0b11000..=0b11011) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 14) & 0b00000000_00000000_01111111, + (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, + rank_position_pointer & 0b00000000_00000000_01111111, + 0, + ]; + }; + field_vec.push((0, 3)); + } + (true, 0b11100..=0b11111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 16) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 11) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 6) & 0b00000000_00000000_00011111, + rank_position_pointer & 0b00000000_00000000_00111111, + ]; + }; + field_vec.push((0, 4)); + } + + (false, 0b11000 | 0b11001) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + rank_position_pointer & 0b00001111_11111111_11111111, + 0, + 0, + 0, + ]; + }; + } + (false, 0b11010 | 0b11011) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 2)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 10) & 0b00000000_00000011_11111111, + rank_position_pointer & 0b00000000_00000011_11111111, + 0, + 0, + ]; + }; + } + (false, 0b11100 | 0b11101) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 3)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 14) & 0b00000000_00000000_00111111, + (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, + rank_position_pointer & 0b00000000_00000000_01111111, + 0, + ]; + }; + } + (false, 0b11110 | 0b11111) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 4)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 15) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 10) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 5) & 0b00000000_00000000_00011111, + rank_position_pointer & 0b00000000_00000000_00011111, + ]; + }; + } + + (false, 0b10000) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer & ((1 << position_bits) - 1)), + 0, + 0, + 0, + ]; + }; + } + + (false, 0b10001) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b10010) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10011) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 4)); + if phrase_query { + let position_bits_1 = position_bits >> 2; + let position_bits_2 = (position_bits - position_bits_1) / 3; + let position_bits_3 = + (position_bits - position_bits_1 - position_bits_2) >> 1; + let position_bits_4 = + position_bits - position_bits_1 - position_bits_2 - position_bits_3; + plo.embedded_positions = [ + ((rank_position_pointer + >> (position_bits_2 + position_bits_3 + position_bits_4)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> (position_bits_3 + position_bits_4)) + & ((1 << position_bits_2) - 1)), + ((rank_position_pointer >> position_bits_4) + & ((1 << position_bits_3) - 1)), + (rank_position_pointer & ((1 << position_bits_4) - 1)), + ]; + }; + } + (false, 0b10100) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b10101) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 2)]); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10110) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 2), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10111) => { + let position_bits = 19 + - shard.indexed_field_id_bits + - shard.indexed_field_id_bits + - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + + shard.indexed_field_id_bits + + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = + ((rank_position_pointer >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_3 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); + + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + + (_, _) => { + if phrase_query { + println!( + "unsupported 3 byte pointer embedded {} {:032b}", + shard.indexed_field_vec.len() == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19 + ); + plo.embedded_positions = [0, 0, 0, 0] + }; + } + } + }; + } + + plo.positions_pointer = positions_pointer as u32; + plo.positions_count = field_vec[0].1 as u32; + plo.field_vec = field_vec; + + false +} + +#[inline(always)] +pub(crate) fn decode_positions_multiterm_singlefield( + plo: &mut PostingListObjectQuery, + facet_filtered: bool, + phrase_query: bool, + all_terms_frequent: bool, +) -> bool { + let mut positions_count = 0; + + let posting_pointer_size_sum = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + plo.p_docid as u32 * 2 + } else { + (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 + }; + + let mut positions_pointer = plo.rank_position_pointer_range + posting_pointer_size_sum; + + let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + read_u16(plo.byte_array, positions_pointer as usize) as u32 + } else { + read_u32(plo.byte_array, positions_pointer as usize) + }; + + if (rank_position_pointer + & (if plo.p_docid < plo.pointer_pivot_p_docid as usize { + 0b10000000_00000000 + } else { + 0b10000000_00000000_00000000 + })) + == 0 + { + plo.is_embedded = false; + + let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + rank_position_pointer & 0b01111111_11111111 + } else { + rank_position_pointer & 0b01111111_11111111_11111111 + } as usize; + + positions_pointer = plo.rank_position_pointer_range - pointer_value as u32; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + read_singlefield_value(&mut plo.tf_ngram1, plo.byte_array, &mut positions_pointer); + read_singlefield_value(&mut plo.tf_ngram2, plo.byte_array, &mut positions_pointer); + } + _ => { + read_singlefield_value(&mut plo.tf_ngram1, plo.byte_array, &mut positions_pointer); + read_singlefield_value(&mut plo.tf_ngram2, plo.byte_array, &mut positions_pointer); + read_singlefield_value(&mut plo.tf_ngram3, plo.byte_array, &mut positions_pointer); + } + } + + read_singlefield_value(&mut positions_count, plo.byte_array, &mut positions_pointer); + + if SPEEDUP_FLAG + && all_terms_frequent + && !phrase_query + && !facet_filtered + && positions_count < 10 + { + return true; + } + } else { + plo.is_embedded = true; + + if SPEEDUP_FLAG && all_terms_frequent && !phrase_query && !facet_filtered { + return true; + } + + if plo.p_docid < plo.pointer_pivot_p_docid as usize { + match rank_position_pointer >> 14 { + 0b10 => { + if phrase_query { + plo.embedded_positions = + [rank_position_pointer & 0b00111111_11111111, 0, 0, 0]; + }; + positions_count = 1; + } + 0b11 => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 7) & 0b00000000_01111111, + rank_position_pointer & 0b00000000_01111111, + 0, + 0, + ]; + }; + positions_count = 2; + } + + _ => { + if phrase_query { + println!("unsupported 2 byte pointer embedded"); + plo.embedded_positions = [0, 0, 0, 0] + }; + positions_count = 0; + } + } + } else { + match (rank_position_pointer & 0b11111111_11111111_11111111) >> 21 { + 0b100 => { + if phrase_query { + plo.embedded_positions = [ + rank_position_pointer & 0b00011111_11111111_11111111, + 0, + 0, + 0, + ]; + }; + positions_count = 1; + } + 0b101 => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 11) & 0b00000000_00000011_11111111, + rank_position_pointer & 0b00000000_00000111_11111111, + 0, + 0, + ]; + }; + positions_count = 2; + } + 0b110 => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 14) & 0b00000000_00000000_01111111, + (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, + rank_position_pointer & 0b00000000_00000000_01111111, + 0, + ]; + }; + positions_count = 3; + } + 0b111 => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 16) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 11) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 6) & 0b00000000_00000000_00011111, + rank_position_pointer & 0b00000000_00000000_00111111, + ]; + }; + positions_count = 4; + } + + _ => { + if phrase_query { + println!("unsupported 3 byte pointer embedded"); + plo.embedded_positions = [0, 0, 0, 0] + }; + positions_count = 0; + } + } + }; + } + + plo.positions_pointer = positions_pointer; + plo.positions_count = positions_count; + + false +} + +#[inline(always)] +pub(crate) fn read_multifield_vec( + indexed_field_vec_len: usize, + indexed_field_id_bits: usize, + indexed_field_id_mask: usize, + longest_field_id: usize, + field_vec: &mut SmallVec<[(u16, usize); 2]>, + byte_array: &[u8], + positions_pointer: &mut usize, +) { + let mut positions_count; + if indexed_field_vec_len == 1 { + positions_count = byte_array[*positions_pointer] as u32; + *positions_pointer += 1; + if (positions_count & STOP_BIT as u32) > 0 { + positions_count &= 0b01111111 + } else { + positions_count = (positions_count & 0b01111111) << 7; + let positions_count2 = byte_array[*positions_pointer] as u32; + *positions_pointer += 1; + if (positions_count2 & STOP_BIT as u32) > 0 { + positions_count |= positions_count2 & 0b01111111 + } else { + positions_count = (positions_count << 7) + | (positions_count2 & 0b01111111) << 7 + | (byte_array[*positions_pointer] & 0b01111111) as u32; + *positions_pointer += 1; + } + }; + field_vec.push((0, positions_count as usize)); + } else if byte_array[*positions_pointer] & 0b01000000 > 0 { + positions_count = byte_array[*positions_pointer] as u32; + *positions_pointer += 1; + if (positions_count & STOP_BIT as u32) > 0 { + positions_count &= 0b00111111 + } else { + positions_count = (positions_count & 0b00111111) << 7; + let positions_count2 = byte_array[*positions_pointer] as u32; + *positions_pointer += 1; + if (positions_count2 & STOP_BIT as u32) > 0 { + positions_count |= positions_count2 & 0b01111111 + } else { + positions_count = (positions_count << 7) + | (positions_count2 & 0b01111111) << 7 + | (byte_array[*positions_pointer] & 0b01111111) as u32; + *positions_pointer += 1; + } + }; + field_vec.push((longest_field_id as u16, positions_count as usize)); + } else { + let mut first = true; + loop { + let mut byte = byte_array[*positions_pointer]; + *positions_pointer += 1; + + let field_stop = { + byte & if first { + FIELD_STOP_BIT_1 + } else { + FIELD_STOP_BIT_2 + } > 0 + }; + + let mut field_id_position_count = + byte as usize & if first { 0b0001_1111 } else { 0b0011_1111 }; + + if (byte & STOP_BIT) == 0 { + byte = byte_array[*positions_pointer]; + *positions_pointer += 1; + + field_id_position_count = + field_id_position_count << 7 | (byte as usize & 0b01111111); + + if (byte & STOP_BIT) == 0 { + byte = byte_array[*positions_pointer]; + *positions_pointer += 1; + + field_id_position_count = + field_id_position_count << 7 | (byte as usize & 0b01111111); + } + } + + let field_id = (field_id_position_count & indexed_field_id_mask) as u16; + positions_count = (field_id_position_count >> indexed_field_id_bits) as u32; + + field_vec.push((field_id, positions_count as usize)); + + first = false; + + if (byte & STOP_BIT) > 0 && field_stop { + break; + } + } + } +} + +#[inline(always)] +pub(crate) fn decode_positions_singleterm_multifield( + shard: &Shard, + plo: &PostingListObjectSingle, + field_vec: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram1: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram2: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram3: &mut SmallVec<[(u16, usize); 2]>, +) { + let posting_pointer_size_sum = if (plo.p_docid as usize) < plo.pointer_pivot_p_docid as usize { + plo.p_docid as u32 * 2 + } else { + (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 + }; + + let mut positions_pointer = + (plo.rank_position_pointer_range + posting_pointer_size_sum) as usize; + + let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + read_u16(plo.byte_array, positions_pointer) as u32 + } else { + read_u32(plo.byte_array, positions_pointer) + }; + + if (rank_position_pointer + & (if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + 0b10000000_00000000 + } else { + 0b10000000_00000000_00000000 + })) + == 0 + { + let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + rank_position_pointer & 0b01111111_11111111 + } else { + rank_position_pointer & 0b01111111_11111111_11111111 + } as usize; + + positions_pointer = plo.rank_position_pointer_range as usize - pointer_value; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec_ngram1, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec_ngram2, + plo.byte_array, + &mut positions_pointer, + ); + } + _ => { + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec_ngram1, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec_ngram2, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec_ngram3, + plo.byte_array, + &mut positions_pointer, + ); + } + } + + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec, + plo.byte_array, + &mut positions_pointer, + ); + } else { + let field_id; + + if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + match ( + shard.indexed_field_vec.len() == 1, + rank_position_pointer >> 12, + ) { + (true, 0b1000..=0b1011) => { + field_vec.push((0, 1)); + } + (true, 0b1100..=0b1111) => { + field_vec.push((0, 2)); + } + + (false, 0b1100 | 0b1101) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 1)); + } + (false, 0b1110 | 0b1111) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 2)); + } + + (false, 0b1000) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + } + (false, 0b1001) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + } + (false, 0b1010) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + } + (false, 0b1011) => { + let position_bits = + 12 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + } + + (_, _) => { + println!( + "unsupported single 2 byte pointer embedded {} {:032b}", + shard.indexed_field_vec.len() == 1, + rank_position_pointer >> 12 + ); + } + } + } else { + match ( + shard.indexed_field_vec.len() == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, + ) { + (true, 0b10000..=0b10011) => { + field_vec.push((0, 1)); + } + (true, 0b10100..=0b10111) => { + field_vec.push((0, 2)); + } + (true, 0b11000..=0b11011) => { + field_vec.push((0, 3)); + } + (true, 0b11100..=0b11111) => { + field_vec.push((0, 4)); + } + + (false, 0b11000 | 0b11001) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 1)); + } + (false, 0b11010 | 0b11011) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 2)); + } + (false, 0b11100 | 0b11101) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 3)); + } + (false, 0b11110 | 0b11111) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 4)); + } + + (false, 0b10000) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + } + + (false, 0b10001) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + } + (false, 0b10010) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + } + (false, 0b10011) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 4)); + } + (false, 0b10100) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + } + (false, 0b10101) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 2)]); + } + (false, 0b10110) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 2), (field_id_2, 1)]); + } + (false, 0b10111) => { + let position_bits = 19 + - shard.indexed_field_id_bits + - shard.indexed_field_id_bits + - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + + shard.indexed_field_id_bits + + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = + ((rank_position_pointer >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_3 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); + } + + (_, _) => { + println!( + "unsupported single 3 byte pointer embedded {} {:032b}", + shard.indexed_field_vec.len() == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19 + ); + } + } + }; + } +} + +#[inline(always)] +pub(crate) fn read_singlefield_value( + positions_count: &mut u32, + byte_array: &[u8], + positions_pointer: &mut u32, +) { + let mut positions_count_internal = byte_array[*positions_pointer as usize] as u32; + *positions_pointer += 1; + if (positions_count_internal & STOP_BIT as u32) > 0 { + positions_count_internal &= 0b01111111 + } else { + positions_count_internal = (positions_count_internal & 0b01111111) << 7; + let positions_count2 = byte_array[*positions_pointer as usize] as u32; + *positions_pointer += 1; + if (positions_count2 & STOP_BIT as u32) > 0 { + positions_count_internal |= positions_count2 & 0b01111111 + } else { + positions_count_internal = (positions_count_internal << 7) + | (positions_count2 & 0b01111111) << 7 + | (byte_array[*positions_pointer as usize] & 0b01111111) as u32; + } + }; + *positions_count = positions_count_internal; +} + +#[inline(always)] +pub(crate) fn decode_positions_singleterm_singlefield( + plo: &PostingListObjectSingle, + tf_ngram1: &mut u32, + tf_ngram2: &mut u32, + tf_ngram3: &mut u32, + positions_count: &mut u32, +) { + let posting_pointer_size_sum = if (plo.p_docid as usize) < plo.pointer_pivot_p_docid as usize { + plo.p_docid as u32 * 2 + } else { + (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 + }; + + let mut positions_pointer = plo.rank_position_pointer_range + posting_pointer_size_sum; + + let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + read_u16(plo.byte_array, positions_pointer as usize) as u32 + } else { + read_u32(plo.byte_array, positions_pointer as usize) + }; + + if (rank_position_pointer + & (if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + 0b10000000_00000000 + } else { + 0b10000000_00000000_00000000 + })) + == 0 + { + let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + rank_position_pointer & 0b01111111_11111111 + } else { + rank_position_pointer & 0b01111111_11111111_11111111 + } as usize; + + positions_pointer = plo.rank_position_pointer_range - pointer_value as u32; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + read_singlefield_value(tf_ngram1, plo.byte_array, &mut positions_pointer); + read_singlefield_value(tf_ngram2, plo.byte_array, &mut positions_pointer); + } + _ => { + read_singlefield_value(tf_ngram1, plo.byte_array, &mut positions_pointer); + read_singlefield_value(tf_ngram2, plo.byte_array, &mut positions_pointer); + read_singlefield_value(tf_ngram3, plo.byte_array, &mut positions_pointer); + } + } + + read_singlefield_value(positions_count, plo.byte_array, &mut positions_pointer); + } else if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + match rank_position_pointer >> 14 { + 0b10 => { + *positions_count = 1; + } + 0b11 => { + *positions_count = 2; + } + + _ => { + println!( + "unsupported single 2 byte pointer embedded {:032b}", + rank_position_pointer >> 14 + ); + } + } + } else { + match (rank_position_pointer & 0b11111111_11111111_11111111) >> 21 { + 0b100 => { + *positions_count = 1; + } + 0b101 => { + *positions_count = 2; + } + 0b110 => { + *positions_count = 3; + } + 0b111 => { + *positions_count = 4; + } + + _ => { + println!( + "unsupported single 3 byte pointer embedded {:032b}", + (rank_position_pointer & 0b11111111_11111111_11111111) >> 21 + ); + } + } + } +} + +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn decode_positions_commit( + posting_pointer_size: u8, + embed_flag: bool, + byte_array: &[u8], + pointer: usize, + ngram_type: &NgramType, + indexed_field_vec_len: usize, + indexed_field_id_bits: usize, + indexed_field_id_mask: usize, + longest_field_id: u16, + + field_vec: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram1: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram2: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram3: &mut SmallVec<[(u16, usize); 2]>, +) { + let mut positions_pointer = pointer; + + if !embed_flag { + match ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec_ngram1, + byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec_ngram2, + byte_array, + &mut positions_pointer, + ); + } + _ => { + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec_ngram1, + byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec_ngram2, + byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec_ngram3, + byte_array, + &mut positions_pointer, + ); + } + } + + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec, + byte_array, + &mut positions_pointer, + ); + } else { + let rank_position_pointer = if posting_pointer_size == 2 { + read_u16(byte_array, positions_pointer) as u32 + } else { + read_u32(byte_array, positions_pointer) + }; + + let field_id; + + if posting_pointer_size == 2 { + match (indexed_field_vec_len == 1, rank_position_pointer >> 12) { + (true, 0b1000..=0b1011) => { + field_vec.push((0, 1)); + } + (true, 0b1100..=0b1111) => { + field_vec.push((0, 2)); + } + + (false, 0b1100 | 0b1101) => { + field_id = longest_field_id; + field_vec.push((field_id, 1)); + } + (false, 0b1110 | 0b1111) => { + field_id = longest_field_id; + field_vec.push((field_id, 2)); + } + + (false, 0b1000) => { + let position_bits = 12 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + } + (false, 0b1001) => { + let position_bits = 12 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + } + (false, 0b1010) => { + let position_bits = 12 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + } + (false, 0b1011) => { + let position_bits = 12 - indexed_field_id_bits - indexed_field_id_bits; + field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + } + + (_, _) => { + println!( + "unsupported single 2 byte pointer embedded commit {} {:032b}", + indexed_field_vec_len == 1, + rank_position_pointer >> 12 + ); + } + } + } else { + match ( + indexed_field_vec_len == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, + ) { + (true, 0b10000..=0b10011) => { + field_vec.push((0, 1)); + } + (true, 0b10100..=0b10111) => { + field_vec.push((0, 2)); + } + (true, 0b11000..=0b11011) => { + field_vec.push((0, 3)); + } + (true, 0b11100..=0b11111) => { + field_vec.push((0, 4)); + } + + (false, 0b11000 | 0b11001) => { + field_id = longest_field_id; + field_vec.push((field_id, 1)); + } + (false, 0b11010 | 0b11011) => { + field_id = longest_field_id; + field_vec.push((field_id, 2)); + } + (false, 0b11100 | 0b11101) => { + field_id = longest_field_id; + field_vec.push((field_id, 3)); + } + (false, 0b11110 | 0b11111) => { + field_id = longest_field_id; + field_vec.push((field_id, 4)); + } + + (false, 0b10000) => { + let position_bits = 19 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + } + + (false, 0b10001) => { + let position_bits = 19 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + } + (false, 0b10010) => { + let position_bits = 19 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + } + (false, 0b10011) => { + let position_bits = 19 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 4)); + } + (false, 0b10100) => { + let position_bits = 19 - indexed_field_id_bits - indexed_field_id_bits; + field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + } + (false, 0b10101) => { + let position_bits = 19 - indexed_field_id_bits - indexed_field_id_bits; + field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.extend([(field_id, 1), (field_id_2, 2)]); + } + (false, 0b10110) => { + let position_bits = 19 - indexed_field_id_bits - indexed_field_id_bits; + field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.extend([(field_id, 2), (field_id_2, 1)]); + } + (false, 0b10111) => { + let position_bits = + 19 - indexed_field_id_bits - indexed_field_id_bits - indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + indexed_field_id_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer + >> (position_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_3 = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); + } + + (_, _) => { + println!( + "unsupported single 3 byte pointer embedded commit {} {:032b}", + indexed_field_vec_len == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19 + ); + } + } + }; + } +} + +/// Post processing after AND intersection candidates have been found +/// Phrase intersection +/// BM25 ranking vs. seekstorm ranking (implicit phrase search, term proximity, field type boost, source reputation) +/// BM25 is default baseline in IR academics, but exhibits inferior relevance for practical use +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn add_result_multiterm_multifield( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, + block_score: f32, + all_terms_frequent: bool, +) { + if shard.indexed_field_vec.len() == 1 { + add_result_multiterm_singlefield( + shard, + docid, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + return; + } + + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + let local_docid = docid & 0b11111111_11111111; + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + match &plo.compression_type { + CompressionType::Array => { + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + plo.docid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + (plo.p_docid << 1), + ) as i32; + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + CompressionType::Bitmap => { + if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] + & (1 << (local_docid & 7))) + > 0 + { + return; + } + } + CompressionType::Rle => { + if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { + return; + } else { + while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) + < plo.p_docid_count + && local_docid > plo.run_end as usize + { + let startdocid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize, + ); + let runlength = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize + 2, + ); + plo.docid = startdocid as i32; + plo.run_end = (startdocid + runlength) as i32; + plo.p_run_sum += runlength as i32; + plo.p_run += 4; + + if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize + { + return; + } + } + } + } + _ => {} + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + match *result_type { + ResultType::Count => { + if !phrase_query && field_filter_set.is_empty() { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + } + ResultType::Topk => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + } + ResultType::TopkCount => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && !phrase_query + && field_filter_set.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + } + } + + let mut bm25: f32 = 0.0; + + for plo in query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + if decode_positions_multiterm_multifield( + shard, + plo, + !facet_filter.is_empty(), + phrase_query, + all_terms_frequent && field_filter_set.is_empty(), + ) { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + + if !field_filter_set.is_empty() + && plo.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() + { + let mut match_flag = false; + for field in plo.field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + + if result_type == &ResultType::Topk && phrase_query { + bm25 = get_bm25f_multiterm_multifield(shard, docid, query_list); + + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && bm25 <= search_result.topk_candidates._elements[0].score + { + return; + } + } + + if phrase_query { + let len = query_list.len(); + let mut index_transpose = vec![0; len]; + for i in 0..len { + index_transpose[query_list[i].term_index_unique] = i; + } + + let mut phrasematch_count = 0; + if shard.indexed_field_vec.len() == 1 { + for plo in non_unique_query_list.iter_mut() { + plo.p_pos = 0; + let item = &query_list[index_transpose[plo.term_index_unique]]; + plo.positions_pointer = item.positions_pointer as usize; + plo.positions_count = item.positions_count; + + plo.is_embedded = item.is_embedded; + plo.embedded_positions = item.embedded_positions; + + plo.pos = get_next_position_singlefield(plo); + } + + non_unique_query_list.sort_unstable_by(|x, y| { + x.positions_count.partial_cmp(&y.positions_count).unwrap() + }); + + let t1 = 0; + let mut t2 = 1; + let mut pos1 = non_unique_query_list[t1].pos; + let mut pos2 = non_unique_query_list[t2].pos; + + loop { + match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) + .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) + { + Ordering::Less => { + if t2 > 1 { + t2 = 1; + pos2 = non_unique_query_list[t2].pos; + } + + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; + } + + Ordering::Greater => { + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + pos2 = non_unique_query_list[t2].pos + + get_next_position_singlefield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + Ordering::Equal => { + if t2 + 1 < non_unique_query_list.len() { + t2 += 1; + pos2 = non_unique_query_list[t2].pos; + continue; + } + + phrasematch_count += 1; + if phrasematch_count >= 1 { + break; + } + + t2 = 1; + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + + pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; + pos2 = non_unique_query_list[t2].pos + + get_next_position_singlefield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + } + } + } else { + for plo in non_unique_query_list.iter_mut() { + let item = &query_list[index_transpose[plo.term_index_unique]]; + plo.positions_pointer = item.positions_pointer as usize; + plo.is_embedded = item.is_embedded; + plo.embedded_positions = item.embedded_positions; + plo.field_vec.clone_from(&item.field_vec); + plo.p_pos = 0; + plo.positions_count = item.positions_count; + plo.p_field = 0; + } + + 'main: for i in 0..shard.indexed_field_vec.len() as u16 { + for plo in non_unique_query_list.iter_mut() { + while plo.field_vec[plo.p_field].0 < i { + if !plo.is_embedded { + for _ in plo.p_pos..plo.field_vec[plo.p_field].1 as i32 { + get_next_position_multifield(plo); + } + } + if plo.p_field < plo.field_vec.len() - 1 { + plo.p_field += 1; + plo.p_pos = 0; + } else { + break 'main; + } + } + if plo.field_vec[plo.p_field].0 > i { + continue 'main; + } + } + + for plo in non_unique_query_list.iter_mut() { + plo.p_pos = 0; + plo.positions_count = plo.field_vec[plo.p_field].1 as u32; + plo.pos = get_next_position_multifield(plo); + } + + if !field_filter_set.is_empty() && !field_filter_set.contains(&i) { + continue; + } + + non_unique_query_list.sort_unstable_by(|x, y| { + x.positions_count.partial_cmp(&y.positions_count).unwrap() + }); + + let t1 = 0; + let mut t2 = 1; + let mut pos1 = non_unique_query_list[t1].pos; + let mut pos2 = non_unique_query_list[t2].pos; + + loop { + match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) + .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) + { + Ordering::Less => { + if t2 > 1 { + t2 = 1; + pos2 = non_unique_query_list[t2].pos; + } + + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(1) { + item.p_pos += 1 + } + } + break; + } + pos1 += + get_next_position_multifield(&mut non_unique_query_list[t1]) + 1; + } + Ordering::Greater => { + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for (j, item) in non_unique_query_list.iter_mut().enumerate() { + if j != t2 { + item.p_pos += 1 + } + } + } + break; + } + pos2 = non_unique_query_list[t2].pos + + get_next_position_multifield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + Ordering::Equal => { + if t2 + 1 < non_unique_query_list.len() { + t2 += 1; + pos2 = non_unique_query_list[t2].pos; + continue; + } + + phrasematch_count += 1; + if phrasematch_count >= 1 { + break 'main; + } + + t2 = 1; + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(1) { + item.p_pos += 1 + } + } + break; + } + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(2) { + item.p_pos += 1 + } + } + break; + } + + pos1 += + get_next_position_multifield(&mut non_unique_query_list[t1]) + 1; + pos2 = non_unique_query_list[t2].pos + + get_next_position_multifield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + } + } + } + } + + if phrase_query && (phrasematch_count == 0) { + return; + } + } + + facet_count(shard, search_result, docid); + + *result_count += 1; + if result_type == &ResultType::Count { + return; + } + + if result_type != &ResultType::Topk || !phrase_query { + bm25 = get_bm25f_multiterm_multifield(shard, docid, query_list); + } + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25, + }, + top_k, + ); +} + +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn add_result_multiterm_singlefield( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, + + block_score: f32, + all_terms_frequent: bool, +) { + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + let local_docid = docid & 0b11111111_11111111; + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + match &plo.compression_type { + CompressionType::Array => { + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + plo.docid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + (plo.p_docid << 1), + ) as i32; + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + CompressionType::Bitmap => { + if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] + & (1 << (local_docid & 7))) + > 0 + { + return; + } + } + CompressionType::Rle => { + if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { + return; + } else { + while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) + < plo.p_docid_count + && local_docid > plo.run_end as usize + { + let startdocid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize, + ); + let runlength = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize + 2, + ); + plo.docid = startdocid as i32; + plo.run_end = (startdocid + runlength) as i32; + plo.p_run_sum += runlength as i32; + plo.p_run += 4; + + if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize + { + return; + } + } + } + } + _ => {} + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + match *result_type { + ResultType::Count => { + if !phrase_query && field_filter_set.is_empty() { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + } + ResultType::Topk => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + } + ResultType::TopkCount => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && !phrase_query + && field_filter_set.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + } + } + + let mut bm25: f32 = 0.0; + + for plo in query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + if decode_positions_multiterm_singlefield( + plo, + !facet_filter.is_empty(), + phrase_query, + all_terms_frequent && field_filter_set.is_empty(), + ) { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + + if !field_filter_set.is_empty() + && plo.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() + { + let mut match_flag = false; + for field in plo.field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + + if result_type == &ResultType::Topk && phrase_query { + bm25 = get_bm25f_multiterm_singlefield(shard, docid, query_list); + + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && bm25 <= search_result.topk_candidates._elements[0].score + { + return; + } + } + + if phrase_query { + let len = query_list.len(); + let mut index_transpose = vec![0; len]; + for i in 0..len { + index_transpose[query_list[i].term_index_unique] = i; + } + + let mut phrasematch_count = 0; + + for plo in non_unique_query_list.iter_mut() { + plo.p_pos = 0; + let item = &query_list[index_transpose[plo.term_index_unique]]; + + plo.positions_pointer = item.positions_pointer as usize; + plo.positions_count = item.positions_count; + + plo.is_embedded = item.is_embedded; + plo.embedded_positions = item.embedded_positions; + + plo.pos = get_next_position_singlefield(plo); + } + + non_unique_query_list + .sort_unstable_by(|x, y| x.positions_count.partial_cmp(&y.positions_count).unwrap()); + + let t1 = 0; + let mut t2 = 1; + let mut pos1 = non_unique_query_list[t1].pos; + let mut pos2 = non_unique_query_list[t2].pos; + + loop { + match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) + .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) + { + Ordering::Less => { + if t2 > 1 { + t2 = 1; + pos2 = non_unique_query_list[t2].pos; + } + + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; + } + Ordering::Greater => { + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + pos2 = non_unique_query_list[t2].pos + + get_next_position_singlefield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + Ordering::Equal => { + if t2 + 1 < non_unique_query_list.len() { + t2 += 1; + pos2 = non_unique_query_list[t2].pos; + continue; + } + + phrasematch_count += 1; + if phrasematch_count >= 1 { + break; + } + + t2 = 1; + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + + pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; + pos2 = non_unique_query_list[t2].pos + + get_next_position_singlefield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + } + } + + if phrase_query && (phrasematch_count == 0) { + return; + } + } + + facet_count(shard, search_result, docid); + + *result_count += 1; + if result_type == &ResultType::Count { + return; + } + + if result_type != &ResultType::Topk || !phrase_query { + bm25 = get_bm25f_multiterm_singlefield(shard, docid, query_list); + } + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25, + }, + top_k, + ); +} diff --git a/mobile_app/rust/src/seekstorm/commit.rs b/mobile_app/rust/src/seekstorm/commit.rs new file mode 100644 index 0000000..99d1db2 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/commit.rs @@ -0,0 +1,1142 @@ +use memmap2::{Mmap, MmapMut, MmapOptions}; +use num::FromPrimitive; +use num_format::{Locale, ToFormattedString}; + +use std::{ + fs::File, + io::{Seek, SeekFrom, Write}, + path::PathBuf, +}; + +use crate::{ + add_result::{ + B, K, decode_positions_multiterm_multifield, decode_positions_multiterm_singlefield, + get_next_position_multifield, get_next_position_singlefield, + }, + compatible::{_blsr_u64, _mm_tzcnt_64}, + compress_postinglist::compress_postinglist, + index::{ + AccessType, BlockObjectIndex, CompressionType, DOCUMENT_LENGTH_COMPRESSION, + FACET_VALUES_FILENAME, IndexArc, LevelIndex, MAX_POSITIONS_PER_TERM, NgramType, + NonUniquePostingListObjectQuery, POSTING_BUFFER_SIZE, PostingListObjectIndex, + PostingListObjectQuery, ROARING_BLOCK_SIZE, Shard, TermObject, + update_list_max_impact_score, warmup, + }, + utils::{ + block_copy, block_copy_mut, read_u8, read_u16, read_u32, read_u64, write_u16, write_u32, + write_u64, + }, +}; + +/// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM +/// to the final compressed data structure (roaring bitmap) on Mmap or disk - +/// which is persistent, more compact, with lower query latency and allows search with realtime=false. +/// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). +/// There is no way to prevent this automatic commit by not manually invoking it. +/// But commit can also be invoked manually at any time at any number of newly indexed documents. +/// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability +/// is invoked implicitly with every index_doc, +/// i.e. the document can immediately searched and included in the search results +/// if it matches the query AND the query paramter realtime=true is enabled. +/// **Use commit with caution, as it is an expensive operation**. +/// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. +/// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. +/// There are only 2 reasons that justify a manual commit: +/// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or +/// 2. if after indexing new documents there won't be more documents indexed (for some time), +/// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, +/// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. +#[allow(async_fn_in_trait)] +pub trait Commit { + /// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM + /// to the final compressed data structure (roaring bitmap) on Mmap or disk - + /// which is persistent, more compact, with lower query latency and allows search with realtime=false. + /// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). + /// There is no way to prevent this automatic commit by not manually invoking it. + /// But commit can also be invoked manually at any time at any number of newly indexed documents. + /// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability + /// is invoked implicitly with every index_doc, + /// i.e. the document can immediately searched and included in the search results + /// if it matches the query AND the query paramter realtime=true is enabled. + /// **Use commit with caution, as it is an expensive operation**. + /// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. + /// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. + /// There are only 2 reasons that justify a manual commit: + /// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or + /// 2. if after indexing new documents there won't be more documents indexed (for some time), + /// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, + /// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. + async fn commit(&self); +} + +/// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM +/// to the final compressed data structure (roaring bitmap) on Mmap or disk - +/// which is persistent, more compact, with lower query latency and allows search with realtime=false. +/// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). +/// There is no way to prevent this automatic commit by not manually invoking it. +/// But commit can also be invoked manually at any time at any number of newly indexed documents. +/// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability +/// is invoked implicitly with every index_doc, +/// i.e. the document can immediately searched and included in the search results +/// if it matches the query AND the query paramter realtime=true is enabled. +/// **Use commit with caution, as it is an expensive operation**. +/// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. +/// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. +/// There are only 2 reasons that justify a manual commit: +/// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or +/// 2. if after indexing new documents there won't be more documents indexed (for some time), +/// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, +/// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. +impl Commit for IndexArc { + /// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM + /// to the final compressed data structure (roaring bitmap) on Mmap or disk - + /// which is persistent, more compact, with lower query latency and allows search with realtime=false. + /// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). + /// There is no way to prevent this automatic commit by not manually invoking it. + /// But commit can also be invoked manually at any time at any number of newly indexed documents. + /// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability + /// is invoked implicitly with every index_doc, + /// i.e. the document can immediately searched and included in the search results + /// if it matches the query AND the query paramter realtime=true is enabled. + /// **Use commit with caution, as it is an expensive operation**. + /// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. + /// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. + /// There are only 2 reasons that justify a manual commit: + /// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or + /// 2. if after indexing new documents there won't be more documents indexed (for some time), + /// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, + /// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. + async fn commit(&self) { + let index_ref = self.read().await; + let uncommitted_doc_count = index_ref.uncommitted_doc_count().await; + + for shard in index_ref.shard_vec.iter() { + let p = shard.read().await.permits.clone(); + let permit = p.acquire().await.unwrap(); + + let indexed_doc_count = shard.read().await.indexed_doc_count; + shard.write().await.commit(indexed_doc_count).await; + warmup(shard).await; + drop(permit); + } + + if !index_ref.mute { + println!( + "commit index {} level {} committed documents {} {}", + index_ref.meta.id, + index_ref.level_count().await, + uncommitted_doc_count, + index_ref.indexed_doc_count().await, + ); + } + + drop(index_ref); + } +} + +impl Shard { + pub(crate) async fn commit(&mut self, indexed_doc_count: usize) { + if !self.uncommitted { + return; + } + + let is_last_level_incomplete = self.is_last_level_incomplete; + if self.is_last_level_incomplete { + self.merge_incomplete_index_level_to_level0(); + + self.index_file_mmap = unsafe { + MmapOptions::new() + .len(0) + .map(&self.index_file) + .expect("Unable to create Mmap") + }; + + if let Err(e) = self + .index_file + .set_len(self.last_level_index_file_start_pos) + { + println!( + "Unable to index_file.set_len in clear_index {} {} {:?}", + self.index_path_string, self.indexed_doc_count, e + ) + }; + let _ = self + .index_file + .seek(SeekFrom::Start(self.last_level_index_file_start_pos)); + + let idx = self.level_index.len() - 1; + if self.meta.access_type == AccessType::Mmap { + self.index_file_mmap = + unsafe { Mmap::map(&self.index_file).expect("Unable to create Mmap") }; + + for segment in self.segments_index.iter_mut() { + if idx == segment.byte_array_blocks_pointer.len() - 1 { + segment.byte_array_blocks_pointer.remove(idx); + } + } + } else { + for segment in self.segments_index.iter_mut() { + if idx == segment.byte_array_blocks.len() - 1 { + segment.byte_array_blocks.remove(idx); + } + } + + for key0 in 0..self.segment_number1 { + for item in self.segments_index[key0].segment.iter_mut() { + if let Some(block) = item.1.blocks.last() + && block.block_id as usize == idx + { + item.1.posting_count -= block.posting_count as u32 + 1; + item.1.blocks.remove(idx); + } + } + self.segments_index[key0] + .segment + .retain(|_key, value| !value.blocks.is_empty()) + } + } + } else { + self.last_level_index_file_start_pos = self.index_file.stream_position().unwrap(); + self.last_level_docstore_file_start_pos = self.docstore_file.stream_position().unwrap(); + }; + + if self.committed_doc_count / ROARING_BLOCK_SIZE == 0 { + write_u16( + self.longest_field_id as u16, + &mut self.compressed_index_segment_block_buffer, + 0, + ); + + let _ = self + .index_file + .write(&self.compressed_index_segment_block_buffer[0..2]); + } + + let document_length_compressed_array_pointer = + self.index_file.stream_position().unwrap() as usize; + + for document_length_compressed_array in self.document_length_compressed_array.iter_mut() { + let _ = self.index_file.write(document_length_compressed_array); + } + + if !self.mute { + println!( + "commit index {} level {} indexed documents {}", + self.meta.id, + self.level_index.len(), + indexed_doc_count.to_formatted_string(&Locale::en), + ); + } + + write_u64( + indexed_doc_count as u64, + &mut self.compressed_index_segment_block_buffer, + 0, + ); + write_u64( + self.positions_sum_normalized, + &mut self.compressed_index_segment_block_buffer, + 8, + ); + + let _ = self + .index_file + .write(&self.compressed_index_segment_block_buffer[0..16]); + + let segment_head_position = self.index_file.stream_position().unwrap() as usize; + self.index_file + .seek(SeekFrom::Current((self.segment_number1 * 8) as i64)) + .unwrap(); + + self.document_length_normalized_average = + self.positions_sum_normalized as f32 / indexed_doc_count as f32; + + for (i, component) in self.bm25_component_cache.iter_mut().enumerate() { + let document_length_quotient = + DOCUMENT_LENGTH_COMPRESSION[i] as f32 / self.document_length_normalized_average; + *component = K * (1.0 - B + B * document_length_quotient); + } + + for k0 in 0..self.segment_number1 { + let strip_compressed = self.commit_segment(k0); + self.strip_compressed_sum += strip_compressed as u64; + self.key_count_sum += self.segments_level0[k0].segment.len() as u64; + } + + if !is_last_level_incomplete { + let mut document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]> = Vec::new(); + if self.meta.access_type != AccessType::Mmap { + for document_length_compressed_array_item in + self.document_length_compressed_array.iter_mut() + { + document_length_compressed_array.push(*document_length_compressed_array_item); + } + } + + self.level_index.push(LevelIndex { + document_length_compressed_array, + document_length_compressed_array_pointer, + docstore_pointer_docs: Vec::new(), + docstore_pointer_docs_pointer: 0, + }); + } + + for document_length_compressed_array in self.document_length_compressed_array.iter_mut() { + *document_length_compressed_array = [0; ROARING_BLOCK_SIZE]; + } + + let segment_head_position2 = self.index_file.stream_position().unwrap() as usize; + self.index_file + .seek(SeekFrom::Start(segment_head_position as u64)) + .unwrap(); + let segment_head_position3 = + self.compressed_index_segment_block_buffer.len() - (self.segment_number1 * 8); + let _ = self + .index_file + .write(&self.compressed_index_segment_block_buffer[segment_head_position3..]); + + let _ = self.index_file.flush(); + + self.index_file + .seek(SeekFrom::Start(segment_head_position2 as u64)) + .unwrap(); + + if !self.stored_field_names.is_empty() { + self.commit_docstore(indexed_doc_count, is_last_level_incomplete); + } + + if self.meta.access_type == AccessType::Mmap { + self.index_file.flush().expect("Unable to flush Mmap"); + + self.index_file_mmap = + unsafe { Mmap::map(&self.index_file).expect("Unable to create Mmap") }; + } + + if !self.facets.is_empty() { + self.facets_file_mmap.flush().expect("Unable to flush Mmap"); + if self.facets_file.metadata().unwrap().len() + != (self.facets_size_sum * (self.level_index.len() + 1) * ROARING_BLOCK_SIZE) as u64 + { + if let Err(e) = self.facets_file.set_len( + (self.facets_size_sum * (self.level_index.len() + 1) * ROARING_BLOCK_SIZE) + as u64, + ) { + println!("Unable to facets_file.set_len in commit {:?}", e) + }; + + self.facets_file_mmap = + unsafe { MmapMut::map_mut(&self.facets_file).expect("Unable to create Mmap") }; + } + + let index_path = PathBuf::new(&self.index_path_string); + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(FACET_VALUES_FILENAME)).unwrap(), + &self.facets, + ) + .unwrap(); + } + + self.string_set_to_single_term_id(); + + update_list_max_impact_score(self); + + self.committed_doc_count = indexed_doc_count; + self.is_last_level_incomplete = + !(self.committed_doc_count).is_multiple_of(ROARING_BLOCK_SIZE); + + if let Some(root_index_arc) = &self.index_option { + let root_index = root_index_arc.read().await; + + if let Some(root_completion_option) = root_index.completion_option.as_ref() { + let mut root_completions = root_completion_option.write().await; + for completion in self.level_completions.read().await.iter() { + if root_completions.len() < root_index.max_completion_entries { + root_completions.add_completion(&completion.0.join(" "), *completion.1); + } + } + + self.level_completions.write().await.clear(); + } + + if let Some(symspell) = root_index.symspell_option.as_ref() { + if symspell.read().await.get_dictionary_size() < root_index.max_dictionary_entries { + for key0 in 0..self.segment_number1 { + for key in self.segments_level0[key0].segment.keys() { + let plo = self.segments_level0[key0].segment.get(key).unwrap(); + + if self.meta.spelling_correction.is_some() + && symspell.read().await.get_dictionary_size() + < root_index.max_dictionary_entries + && key & 7 == 0 + && let Some(term) = self.level_terms.get(&((key >> 32) as u32)) + { + let mut symspell = symspell.write().await; + symspell.create_dictionary_entry(term.clone(), plo.posting_count); + drop(symspell); + }; + } + } + } + self.level_terms.clear(); + }; + }; + + self.compressed_index_segment_block_buffer = vec![0; 10_000_000]; + self.postings_buffer = vec![0; POSTING_BUFFER_SIZE]; + + self.postings_buffer_pointer = 0; + self.strip_compressed_sum = 0; + + for segment in self.segments_level0.iter_mut() { + segment.segment.clear(); + } + + self.uncommitted = false; + } + + /// Flush a single segment from the key hash range partitioned level to RAM and disk + pub(crate) fn commit_segment(&mut self, key0: usize) -> usize { + let block_id = self.block_id as u32; + + let mut key_head_pointer_w: usize = 0; + let segment_head_position = self.compressed_index_segment_block_buffer.len() + - (self.segment_number1 * 8) + + (key0 * 8) + + 4; + write_u32( + self.segments_level0[key0].segment.len() as u32, + &mut self.compressed_index_segment_block_buffer, + segment_head_position, + ); + + let mut key_body_pointer_w: usize = + key_head_pointer_w + (self.segments_level0[key0].segment.len() * self.key_head_size); + let key_body_pointer_wstart: usize = key_body_pointer_w; + + let mut key_list: Vec = self.segments_level0[key0].segment.keys().cloned().collect(); + key_list.sort_unstable(); + + for key in key_list.iter() { + let plo = self.segments_level0[key0].segment.get_mut(key).unwrap(); + + let mut key_position_pointer_w: usize = key_body_pointer_w; + let key_rank_position_pointer_w: usize = + key_body_pointer_w + plo.size_compressed_positions_key; + + let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 + + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { + (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + + let size_compressed_positions_key = + plo.size_compressed_positions_key + posting_pointer_size_sum; + + let key_docid_pointer_w: usize = key_body_pointer_w + size_compressed_positions_key; + + let mut size_compressed_docid_key; + + let key_body_offset = + key_rank_position_pointer_w as u32 - key_body_pointer_wstart as u32; + + size_compressed_docid_key = compress_postinglist( + self, + &mut key_head_pointer_w, + &mut key_position_pointer_w, + key_body_offset, + &key0, + key, + ); + + key_body_pointer_w = key_docid_pointer_w + size_compressed_docid_key; + + size_compressed_docid_key += self.key_head_size; + + self.size_compressed_docid_index += size_compressed_docid_key as u64; + self.size_compressed_positions_index += size_compressed_positions_key as u64; + } + + let compressed_segment_block_size = key_body_pointer_w; + + let segment_head_position = self.compressed_index_segment_block_buffer.len() + - (self.segment_number1 * 8) + + (key0 * 8); + + write_u32( + compressed_segment_block_size as u32, + &mut self.compressed_index_segment_block_buffer, + segment_head_position, + ); + + let file_position = self.index_file.stream_position().unwrap() as usize; + + let _ = self + .index_file + .write(&self.compressed_index_segment_block_buffer[0..compressed_segment_block_size]); + + if self.meta.access_type == AccessType::Mmap { + self.segments_index[key0].byte_array_blocks_pointer.push(( + file_position + key_body_pointer_wstart, + (compressed_segment_block_size - key_body_pointer_wstart), + key_list.len() as u32, + )); + } else { + let mut byte_array_docid: Vec = + vec![0; compressed_segment_block_size - key_body_pointer_wstart]; + block_copy_mut( + &mut self.compressed_index_segment_block_buffer, + key_body_pointer_wstart, + &mut byte_array_docid, + 0, + compressed_segment_block_size - key_body_pointer_wstart, + ); + + let mut posting_count_previous = 0; + let mut pointer_pivot_p_docid_previous = 0; + let mut compression_type_pointer_previous = 0; + + for (key_index, key) in key_list.iter().enumerate() { + let plo = self.segments_level0[key0].segment.get_mut(key).unwrap(); + + let value = self.segments_index[key0].segment.entry(*key).or_insert( + PostingListObjectIndex { + ..Default::default() + }, + ); + let exists: bool = value.posting_count > 0; + + if !self.indexed_doc_count.is_multiple_of(ROARING_BLOCK_SIZE) + && self.meta.access_type == AccessType::Ram + { + let position_range_previous = if key_index == 0 { + 0 + } else { + let posting_pointer_size_sum_previous = pointer_pivot_p_docid_previous + as usize + * 2 + + if (pointer_pivot_p_docid_previous as usize) < posting_count_previous + { + (posting_count_previous - pointer_pivot_p_docid_previous as usize) + * 3 + } else { + 0 + }; + + let rank_position_pointer_range_previous = compression_type_pointer_previous + & 0b0011_1111_1111_1111_1111_1111_1111_1111; + let compression_type_previous: CompressionType = FromPrimitive::from_i32( + (compression_type_pointer_previous >> 30) as i32, + ) + .unwrap(); + + let compressed_docid_previous = match compression_type_previous { + CompressionType::Array => posting_count_previous * 2, + CompressionType::Bitmap => 8192, + CompressionType::Rle => { + 4 * read_u16( + &byte_array_docid, + rank_position_pointer_range_previous as usize + + posting_pointer_size_sum_previous, + ) as usize + + 2 + } + _ => 0, + }; + + rank_position_pointer_range_previous + + (posting_pointer_size_sum_previous + compressed_docid_previous) as u32 + }; + + value.position_range_previous = position_range_previous; + + posting_count_previous = plo.posting_count; + pointer_pivot_p_docid_previous = plo.pointer_pivot_p_docid; + compression_type_pointer_previous = plo.compression_type_pointer; + }; + + if exists { + value.posting_count += plo.posting_count as u32; + if self.meta.access_type != AccessType::Mmap { + value.blocks.push(BlockObjectIndex { + block_id, + posting_count: (plo.posting_count - 1) as u16, + max_block_score: plo.max_block_score, + max_docid: plo.max_docid, + max_p_docid: plo.max_p_docid, + pointer_pivot_p_docid: plo.pointer_pivot_p_docid, + compression_type_pointer: plo.compression_type_pointer, + }); + } + } else { + value.posting_count = plo.posting_count as u32; + value.max_list_score = 0.0; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { + value.posting_count_ngram_1_compressed = + plo.posting_count_ngram_1_compressed; + value.posting_count_ngram_2_compressed = + plo.posting_count_ngram_2_compressed; + } + _ => { + value.posting_count_ngram_1_compressed = + plo.posting_count_ngram_1_compressed; + value.posting_count_ngram_2_compressed = + plo.posting_count_ngram_2_compressed; + value.posting_count_ngram_3_compressed = + plo.posting_count_ngram_3_compressed; + } + } + + if self.meta.access_type != AccessType::Mmap { + value.blocks = vec![BlockObjectIndex { + block_id, + posting_count: (plo.posting_count - 1) as u16, + max_block_score: plo.max_block_score, + max_docid: plo.max_docid, + max_p_docid: plo.max_p_docid, + pointer_pivot_p_docid: plo.pointer_pivot_p_docid, + compression_type_pointer: plo.compression_type_pointer, + }] + } + } + } + + self.segments_index[key0] + .byte_array_blocks + .push(byte_array_docid); + } + + compressed_segment_block_size + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn add_docid( + self: &mut Shard, + plo: &mut PostingListObjectQuery, + docid: usize, + key_hash: u64, + key0: usize, + ngram_type: &NgramType, + posting_count_ngram_1_compressed: u8, + posting_count_ngram_2_compressed: u8, + posting_count_ngram_3_compressed: u8, + ) { + let mut field_positions_vec: Vec> = vec![Vec::new(); self.indexed_field_vec.len()]; + + if self.indexed_field_vec.len() == 1 { + decode_positions_multiterm_singlefield(plo, true, true, false); + + let mut plo2 = NonUniquePostingListObjectQuery { + positions_pointer: plo.positions_pointer as usize, + is_embedded: plo.is_embedded, + embedded_positions: plo.embedded_positions, + field_vec: plo.field_vec.clone(), + p_pos: 0, + p_field: 0, + positions_count: plo.positions_count, + key0: key0 as u32, + byte_array: plo.byte_array, + term_index_unique: 0, + term_index_nonunique: 0, + pos: 0, + }; + + let mut prev_pos = 0; + let mut one = 0; + for _ in 0..plo.positions_count { + plo2.pos = get_next_position_singlefield(&mut plo2); + let pos = prev_pos + plo2.pos as u16 + one; + field_positions_vec[0].push(pos); + prev_pos = pos; + one = 1; + plo2.p_pos += 1; + } + } else { + decode_positions_multiterm_multifield(self, plo, true, true, false); + + let mut plo2 = NonUniquePostingListObjectQuery { + positions_pointer: plo.positions_pointer as usize, + is_embedded: plo.is_embedded, + embedded_positions: plo.embedded_positions, + field_vec: plo.field_vec.clone(), + p_pos: 0, + p_field: 0, + positions_count: plo.positions_count, + key0: key0 as u32, + byte_array: plo.byte_array, + term_index_unique: 0, + term_index_nonunique: 0, + pos: 0, + }; + + for field in plo.field_vec.iter() { + let mut prev_pos = 0; + let mut one = 0; + for _ in 0..field.1 { + plo2.pos = get_next_position_multifield(&mut plo2); + let pos = prev_pos + plo2.pos as u16 + one; + field_positions_vec[field.0 as usize].push(pos); + prev_pos = pos; + one = 1; + plo2.p_pos += 1; + } + } + } + + let term = match ngram_type { + NgramType::SingleTerm => TermObject { + key_hash, + key0: key0 as u32, + ngram_type: ngram_type.clone(), + term_ngram_1: String::new(), + term_ngram_0: String::new(), + field_positions_vec, + + ..Default::default() + }, + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => TermObject { + key_hash, + key0: key0 as u32, + ngram_type: ngram_type.clone(), + term_ngram_1: String::new(), + term_ngram_0: String::new(), + field_positions_vec, + field_vec_ngram1: if self.indexed_field_vec.len() == 1 { + vec![(0, plo.tf_ngram1)] + } else { + plo.field_vec_ngram1 + .iter() + .map(|field| (field.0 as usize, field.1 as u32)) + .collect() + }, + + field_vec_ngram2: if self.indexed_field_vec.len() == 1 { + vec![(0, plo.tf_ngram2)] + } else { + plo.field_vec_ngram2 + .iter() + .map(|field| (field.0 as usize, field.1 as u32)) + .collect() + }, + + ..Default::default() + }, + _ => TermObject { + key_hash, + key0: key0 as u32, + ngram_type: ngram_type.clone(), + term_ngram_1: String::new(), + term_ngram_0: String::new(), + + field_positions_vec, + field_vec_ngram1: if self.indexed_field_vec.len() == 1 { + vec![(0, plo.tf_ngram1)] + } else { + plo.field_vec_ngram1 + .iter() + .map(|field| (field.0 as usize, field.1 as u32)) + .collect() + }, + + field_vec_ngram2: if self.indexed_field_vec.len() == 1 { + vec![(0, plo.tf_ngram2)] + } else { + plo.field_vec_ngram2 + .iter() + .map(|field| (field.0 as usize, field.1 as u32)) + .collect() + }, + + field_vec_ngram3: if self.indexed_field_vec.len() == 1 { + vec![(0, plo.tf_ngram3)] + } else { + plo.field_vec_ngram3 + .iter() + .map(|field| (field.0 as usize, field.1 as u32)) + .collect() + }, + + ..Default::default() + }, + }; + + self.index_posting( + term, + docid, + true, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn iterate_docid( + self: &mut Shard, + compression_type_pointer: u32, + pointer_pivot_p_docid: u16, + posting_count: u16, + block_id: usize, + key0: usize, + key_hash: u64, + ngram_type: NgramType, + posting_count_ngram_1_compressed: u8, + posting_count_ngram_2_compressed: u8, + posting_count_ngram_3_compressed: u8, + ) { + let compression_type: CompressionType = + FromPrimitive::from_i32((compression_type_pointer >> 30) as i32).unwrap(); + + let rank_position_pointer_range: u32 = + compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum = pointer_pivot_p_docid as u32 * 2 + + if (pointer_pivot_p_docid as usize) <= posting_count as usize { + ((posting_count as u32 + 1) - pointer_pivot_p_docid as u32) * 3 + } else { + 0 + }; + let compressed_doc_id_range: u32 = rank_position_pointer_range + posting_pointer_size_sum; + + let byte_array = if self.meta.access_type == AccessType::Mmap { + let segment = &self.segments_index[key0]; + let byte_array = &self.index_file_mmap[segment.byte_array_blocks_pointer[block_id].0 + ..segment.byte_array_blocks_pointer[block_id].0 + + segment.byte_array_blocks_pointer[block_id].1]; + byte_array.to_owned() + } else { + self.segments_index[key0].byte_array_blocks[block_id].to_owned() + }; + + let mut plo = PostingListObjectQuery { + rank_position_pointer_range, + pointer_pivot_p_docid, + byte_array: &byte_array, + p_docid: 0, + ngram_type: ngram_type.clone(), + ..Default::default() + }; + + match compression_type { + CompressionType::Array => { + for i in 0..=posting_count { + plo.p_docid = i as usize; + + let docid = (block_id << 16) + | read_u16( + &byte_array[compressed_doc_id_range as usize..], + i as usize * 2, + ) as usize; + + self.add_docid( + &mut plo, + docid, + key_hash, + key0, + &ngram_type, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + } + } + + CompressionType::Rle => { + let runs_count = + read_u16(&byte_array[compressed_doc_id_range as usize..], 0) as i32; + + plo.p_docid = 0; + for i in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &byte_array[compressed_doc_id_range as usize..], + i as usize * 2, + ); + let runlength = read_u16( + &byte_array[compressed_doc_id_range as usize..], + (i + 1) as usize * 2, + ); + + for j in 0..=runlength { + let docid = (block_id << 16) | (startdocid + j) as usize; + self.add_docid( + &mut plo, + docid, + key_hash, + key0, + &ngram_type, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + + plo.p_docid += 1; + } + } + } + + CompressionType::Bitmap => { + plo.p_docid = 0; + + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &byte_array[compressed_doc_id_range as usize..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = (block_id << 16) | ((ulong_pos << 6) + bit_pos) as usize; + + self.add_docid( + &mut plo, + docid, + key_hash, + key0, + &ngram_type, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + + plo.p_docid += 1; + } + } + } + + _ => {} + } + } + + pub(crate) fn merge_incomplete_index_level_to_level0(self: &mut Shard) { + for strip0 in self.segments_level0.iter_mut() { + if strip0.positions_compressed.is_empty() { + strip0.positions_compressed = vec![0; MAX_POSITIONS_PER_TERM * 2]; + } + } + + let block_id = self.level_index.len() - 1; + let committed_doc_count = (self.committed_doc_count - 1 % ROARING_BLOCK_SIZE) + 1; + + for i in 0..self.indexed_field_vec.len() { + if self.meta.access_type == AccessType::Mmap { + block_copy( + &self.index_file_mmap[self.level_index[block_id] + .document_length_compressed_array_pointer + + i * ROARING_BLOCK_SIZE..], + 0, + &mut self.document_length_compressed_array[i], + 0, + committed_doc_count, + ); + } else { + block_copy( + &self.level_index[block_id].document_length_compressed_array[i], + 0, + &mut self.document_length_compressed_array[i], + 0, + committed_doc_count, + ); + } + } + + for key0 in 0..self.segment_number1 { + if self.meta.access_type == AccessType::Mmap { + let pointer = self.segments_index[key0].byte_array_blocks_pointer[block_id]; + + let key_count = pointer.2 as usize; + + for key_index in 0..key_count { + let key_address; + let key_hash; + let posting_count; + + let ngram_type; + let posting_count_ngram_1_compressed; + let posting_count_ngram_2_compressed; + let posting_count_ngram_3_compressed; + let pointer_pivot_p_docid_old; + let compression_type_pointer; + { + let byte_array = &self.index_file_mmap + [pointer.0 - (key_count * self.key_head_size)..pointer.0]; + key_address = key_index * self.key_head_size; + key_hash = read_u64(byte_array, key_address); + posting_count = read_u16(byte_array, key_address + 8); + ngram_type = FromPrimitive::from_u64(key_hash & 0b111) + .unwrap_or(NgramType::SingleTerm); + match ngram_type { + NgramType::SingleTerm => { + posting_count_ngram_1_compressed = 0; + posting_count_ngram_2_compressed = 0; + posting_count_ngram_3_compressed = 0; + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + posting_count_ngram_1_compressed = + read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = + read_u8(byte_array, key_address + 15); + posting_count_ngram_3_compressed = 0; + } + _ => { + posting_count_ngram_1_compressed = + read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = + read_u8(byte_array, key_address + 15); + posting_count_ngram_3_compressed = + read_u8(byte_array, key_address + 16); + } + } + + pointer_pivot_p_docid_old = + read_u16(byte_array, key_address + self.key_head_size - 6); + compression_type_pointer = + read_u32(byte_array, key_address + self.key_head_size - 4); + } + + let mut pointer_pivot_p_docid_new = 0; + let mut size_compressed_positions_key_new = 0; + let mut pointer_first_new = 0; + let mut pointer_last_new = 0; + let mut pointer_first_old = 0; + let merge = match self.segments_level0[key0].segment.get_mut(&key_hash) { + Some(plo0) => { + pointer_pivot_p_docid_new = plo0.pointer_pivot_p_docid; + size_compressed_positions_key_new = plo0.size_compressed_positions_key; + plo0.pointer_pivot_p_docid = 0; + plo0.size_compressed_positions_key = 0; + + pointer_first_new = plo0.pointer_first; + pointer_last_new = plo0.pointer_last; + pointer_first_old = self.postings_buffer_pointer; + true + } + None => false, + }; + + self.iterate_docid( + compression_type_pointer, + pointer_pivot_p_docid_old, + posting_count, + block_id, + key0, + key_hash, + ngram_type, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + + if merge { + let plo0 = self.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + plo0.pointer_pivot_p_docid = if pointer_pivot_p_docid_new == 0 { + pointer_pivot_p_docid_old + } else { + pointer_pivot_p_docid_old + pointer_pivot_p_docid_new + }; + + plo0.size_compressed_positions_key = size_compressed_positions_key_new; + + let pointer_last_old = plo0.pointer_last; + plo0.pointer_first = pointer_first_old; + plo0.pointer_last = pointer_last_new; + + write_u32( + pointer_first_new as u32, + &mut self.postings_buffer, + pointer_last_old, + ); + } + } + } else { + let keys: Vec = self.segments_index[key0].segment.keys().cloned().collect(); + + for key_hash in keys { + let plo = &self.segments_index[key0].segment[&key_hash]; + let last_block = plo.blocks.last().unwrap(); + if last_block.block_id as usize != self.level_index.len() - 1 { + continue; + } + + let posting_count = last_block.posting_count; + + let posting_count_ngram_1_compressed = plo.posting_count_ngram_1_compressed; + let posting_count_ngram_2_compressed = plo.posting_count_ngram_2_compressed; + let posting_count_ngram_3_compressed = plo.posting_count_ngram_3_compressed; + + let pointer_pivot_p_docid = last_block.pointer_pivot_p_docid; + let compression_type_pointer = last_block.compression_type_pointer; + + let mut pointer_pivot_p_docid_new = 0; + let mut size_compressed_positions_key_new = 0; + let mut pointer_first_new = 0; + let mut pointer_last_new = 0; + let mut pointer_first_old = 0; + let merge = match self.segments_level0[key0].segment.get_mut(&key_hash) { + Some(plo0) => { + pointer_pivot_p_docid_new = plo0.pointer_pivot_p_docid; + size_compressed_positions_key_new = plo0.size_compressed_positions_key; + plo0.pointer_pivot_p_docid = 0; + plo0.size_compressed_positions_key = 0; + + pointer_first_new = plo0.pointer_first; + pointer_last_new = plo0.pointer_last; + pointer_first_old = self.postings_buffer_pointer; + true + } + None => false, + }; + + let ngram_type = + FromPrimitive::from_u64(key_hash & 0b111).unwrap_or(NgramType::SingleTerm); + + self.iterate_docid( + compression_type_pointer, + pointer_pivot_p_docid, + posting_count, + block_id, + key0, + key_hash, + ngram_type, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + + if merge { + let plo0 = self.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + plo0.pointer_pivot_p_docid = if pointer_pivot_p_docid_new == 0 { + pointer_pivot_p_docid + } else { + pointer_pivot_p_docid + pointer_pivot_p_docid_new + }; + plo0.size_compressed_positions_key = size_compressed_positions_key_new; + + let pointer_last_old = plo0.pointer_last; + plo0.pointer_first = pointer_first_old; + plo0.pointer_last = pointer_last_new; + + write_u32( + pointer_first_new as u32, + &mut self.postings_buffer, + pointer_last_old, + ); + } + } + } + } + } +} diff --git a/mobile_app/rust/src/seekstorm/compatible.rs b/mobile_app/rust/src/seekstorm/compatible.rs new file mode 100644 index 0000000..466235b --- /dev/null +++ b/mobile_app/rust/src/seekstorm/compatible.rs @@ -0,0 +1,21 @@ +#[cfg(target_arch = "x86_64")] +pub use std::arch::x86_64::{_blsr_u64, _lzcnt_u32, _mm_tzcnt_64}; + +#[cfg(not(target_arch = "x86_64"))] +pub unsafe fn _mm_tzcnt_64(x: u64) -> i64 { + x.trailing_zeros() as i64 +} + +#[cfg(not(target_arch = "x86_64"))] +pub unsafe fn _blsr_u64(x: u64) -> u64 { + if x == 0 { + x + } else { + x & (!(1 << x.trailing_zeros())) + } +} + +#[cfg(not(target_arch = "x86_64"))] +pub unsafe fn _lzcnt_u32(x: u32) -> u32 { + x.leading_zeros() +} diff --git a/mobile_app/rust/src/seekstorm/compress_postinglist.rs b/mobile_app/rust/src/seekstorm/compress_postinglist.rs new file mode 100644 index 0000000..cce6cc4 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/compress_postinglist.rs @@ -0,0 +1,978 @@ +use std::cmp; + +use smallvec::SmallVec; + +use crate::{ + add_result::{B, K, SIGMA, decode_positions_commit}, + compatible::_lzcnt_u32, + index::{ + AccessType, CompressionType, DOCUMENT_LENGTH_COMPRESSION, NgramType, STOP_BIT, Shard, + SimilarityType, hash32, hash64, int_to_byte4, + }, + search::decode_posting_list_count, + utils::{ + block_copy, read_u16_ref, read_u32_ref, write_u8_ref, write_u16, write_u16_ref, + write_u32_ref, write_u64_ref, + }, +}; + +/// Compress a single postinglist using roaring bitmaps compression for docid https://roaringbitmap.org/about/ +pub(crate) fn compress_postinglist( + shard: &mut Shard, + key_head_pointer_w: &mut usize, + roaring_offset: &mut usize, + key_body_offset: u32, + key0: &usize, + key_hash: &u64, +) -> usize { + let mut posting_count_ngram_1 = 0; + let mut posting_count_ngram_2 = 0; + let mut posting_count_ngram_3 = 0; + let mut posting_count_ngram_1_compressed = 0; + let mut posting_count_ngram_2_compressed = 0; + let mut posting_count_ngram_3_compressed = 0; + { + let plo = shard.segments_level0[*key0].segment.get(key_hash).unwrap(); + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + posting_count_ngram_1_compressed = if plo.term_ngram1.is_empty() { + plo.posting_count_ngram_1_compressed + } else { + let term_bytes_1 = plo.term_ngram1.as_bytes(); + let key0_1 = hash32(term_bytes_1) & shard.segment_number_mask1; + let key_hash_1 = hash64(term_bytes_1); + let mut posting_count_ngram1 = if shard.meta.access_type == AccessType::Mmap { + decode_posting_list_count( + &shard.segments_index[key0_1 as usize], + shard, + key_hash_1, + key0_1 < *key0 as u32, + ) + .unwrap_or_default() + } else if let Some(plo) = shard.segments_index[key0_1 as usize] + .segment + .get(&key_hash_1) + { + plo.posting_count + } else { + 0 + }; + + if let Some(x) = shard.segments_level0[key0_1 as usize] + .segment + .get(&key_hash_1) + { + posting_count_ngram1 += x.posting_count as u32; + } + int_to_byte4(posting_count_ngram1) + }; + + posting_count_ngram_2_compressed = if plo.term_ngram2.is_empty() { + plo.posting_count_ngram_2_compressed + } else { + let term_bytes_2 = plo.term_ngram2.as_bytes(); + let key0_2 = hash32(term_bytes_2) & shard.segment_number_mask1; + let key_hash_2 = hash64(term_bytes_2); + + let mut posting_count_ngram2 = if shard.meta.access_type == AccessType::Mmap { + decode_posting_list_count( + &shard.segments_index[key0_2 as usize], + shard, + key_hash_2, + key0_2 < *key0 as u32, + ) + .unwrap_or_default() + } else if let Some(plo) = shard.segments_index[key0_2 as usize] + .segment + .get(&key_hash_2) + { + plo.posting_count + } else { + 0 + }; + + if let Some(x) = shard.segments_level0[key0_2 as usize] + .segment + .get(&key_hash_2) + { + posting_count_ngram2 += x.posting_count as u32; + } + int_to_byte4(posting_count_ngram2) + }; + + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + } + _ => { + posting_count_ngram_1_compressed = if plo.term_ngram1.is_empty() { + plo.posting_count_ngram_1_compressed + } else { + let term_bytes_1 = plo.term_ngram1.as_bytes(); + let key0_1 = hash32(term_bytes_1) & shard.segment_number_mask1; + let key_hash_1 = hash64(term_bytes_1); + let mut posting_count_ngram1 = if shard.meta.access_type == AccessType::Mmap { + decode_posting_list_count( + &shard.segments_index[key0_1 as usize], + shard, + key_hash_1, + key0_1 < *key0 as u32, + ) + .unwrap_or_default() + } else if let Some(plo) = shard.segments_index[key0_1 as usize] + .segment + .get(&key_hash_1) + { + plo.posting_count + } else { + 0 + }; + + if let Some(x) = shard.segments_level0[key0_1 as usize] + .segment + .get(&key_hash_1) + { + posting_count_ngram1 += x.posting_count as u32; + } + int_to_byte4(posting_count_ngram1) + }; + + posting_count_ngram_2_compressed = if plo.term_ngram2.is_empty() { + plo.posting_count_ngram_2_compressed + } else { + let term_bytes_2 = plo.term_ngram2.as_bytes(); + let key0_2 = hash32(term_bytes_2) & shard.segment_number_mask1; + let key_hash_2 = hash64(term_bytes_2); + + let mut posting_count_ngram2 = if shard.meta.access_type == AccessType::Mmap { + decode_posting_list_count( + &shard.segments_index[key0_2 as usize], + shard, + key_hash_2, + key0_2 < *key0 as u32, + ) + .unwrap_or_default() + } else if let Some(plo) = shard.segments_index[key0_2 as usize] + .segment + .get(&key_hash_2) + { + plo.posting_count + } else { + 0 + }; + + if let Some(x) = shard.segments_level0[key0_2 as usize] + .segment + .get(&key_hash_2) + { + posting_count_ngram2 += x.posting_count as u32; + } + int_to_byte4(posting_count_ngram2) + }; + + posting_count_ngram_3_compressed = if plo.term_ngram3.is_empty() { + plo.posting_count_ngram_3_compressed + } else { + let term_bytes_3 = plo.term_ngram3.as_bytes(); + let key0_3 = hash32(term_bytes_3) & shard.segment_number_mask1; + let key_hash_3 = hash64(term_bytes_3); + + let mut posting_count_ngram3 = if shard.meta.access_type == AccessType::Mmap { + decode_posting_list_count( + &shard.segments_index[key0_3 as usize], + shard, + key_hash_3, + key0_3 < *key0 as u32, + ) + .unwrap_or_default() + } else if let Some(plo) = shard.segments_index[key0_3 as usize] + .segment + .get(&key_hash_3) + { + plo.posting_count + } else { + 0 + }; + + if let Some(x) = shard.segments_level0[key0_3 as usize] + .segment + .get(&key_hash_3) + { + posting_count_ngram3 += x.posting_count as u32; + } + int_to_byte4(posting_count_ngram3) + }; + + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + posting_count_ngram_3 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_3_compressed as usize]; + } + } + } + + let plo = shard.segments_level0[*key0] + .segment + .get_mut(key_hash) + .unwrap(); + let plo_posting_count = plo.posting_count; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + plo.posting_count_ngram_1 = posting_count_ngram_1 as f32; + plo.posting_count_ngram_2 = posting_count_ngram_2 as f32; + } + _ => { + plo.posting_count_ngram_1 = posting_count_ngram_1 as f32; + plo.posting_count_ngram_2 = posting_count_ngram_2 as f32; + plo.posting_count_ngram_3 = posting_count_ngram_3 as f32; + } + } + + let mut size_compressed_docid_key: usize = 0; + + let enable_rle_compression: bool = true; + let enable_bitmap_compression: bool = true; + let enable_delta_compression: bool = false; + + shard.docid_count += plo.posting_count; + shard.postinglist_count += 1; + shard.position_count += plo.position_count; + let mut compression_type_pointer = CompressionType::Error as u32; + + let mut runs_count: u16 = 0; + + let delta_size_bits: u32 = 4; + let range_bits: u32 = 32 - unsafe { _lzcnt_u32(plo.docid_delta_max.into()) }; + let result_bits: u32 = delta_size_bits + (range_bits * plo.posting_count as u32); + let delta_compression_size_byte: u32 = result_bits.div_ceil(8); + + if (plo.posting_count < 4096) || !enable_bitmap_compression { + if enable_rle_compression { + let runs_count_threshold: u16 = cmp::min( + (plo.posting_count / 2) as u16, + if enable_delta_compression { + (delta_compression_size_byte >> 2) as u16 + } else { + u16::MAX + }, + ); + compress_postinglist_rle( + shard, + roaring_offset, + &mut size_compressed_docid_key, + *key0, + *key_hash, + runs_count_threshold, + &mut runs_count, + &key_body_offset, + &mut compression_type_pointer, + ); + } + + if runs_count == 0 { + if enable_delta_compression + && ((delta_compression_size_byte as usize) < (plo_posting_count << 1)) + { + } else { + compress_postinglist_array( + shard, + roaring_offset, + &mut size_compressed_docid_key, + *key0, + *key_hash, + &key_body_offset, + &mut compression_type_pointer, + ); + } + } + } else { + if enable_rle_compression { + let runs_count_threshold: u16 = cmp::min( + 2048, + if enable_delta_compression { + (delta_compression_size_byte >> 2) as u16 + } else { + u16::MAX + }, + ); + compress_postinglist_rle( + shard, + roaring_offset, + &mut size_compressed_docid_key, + *key0, + *key_hash, + runs_count_threshold, + &mut runs_count, + &key_body_offset, + &mut compression_type_pointer, + ); + } + + if runs_count == 0 { + if enable_delta_compression && (delta_compression_size_byte < 8192) { + } else { + compress_postinglist_bitmap( + shard, + roaring_offset, + &mut size_compressed_docid_key, + *key0, + *key_hash, + &key_body_offset, + &mut compression_type_pointer, + ); + } + } + } + + let plo = shard.segments_level0[*key0] + .segment + .get_mut(key_hash) + .unwrap(); + + write_u64_ref( + *key_hash, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u16_ref( + (plo.posting_count - 1) as u16, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u16_ref( + plo.max_docid, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u16_ref( + plo.max_p_docid, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + match shard.key_head_size { + 20 => {} + 22 => { + write_u8_ref( + posting_count_ngram_1_compressed, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u8_ref( + posting_count_ngram_2_compressed, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + } + _ => { + write_u8_ref( + posting_count_ngram_1_compressed, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u8_ref( + posting_count_ngram_2_compressed, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u8_ref( + posting_count_ngram_3_compressed, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + } + } + + write_u16_ref( + plo.pointer_pivot_p_docid, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u32_ref( + compression_type_pointer, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + size_compressed_docid_key +} + +#[allow(clippy::too_many_arguments)] +pub(crate) fn docid_iterator( + shard: &mut Shard, + posting_pointer_size: u8, + next_pointer: &mut usize, + key_position_pointer_w: &mut usize, + key_rank_position_pointer_w: &mut usize, + key0: usize, + key_hash: u64, + doc_id: &mut u16, + size_compressed_positions_key: &mut usize, + p_docid: usize, +) { + let mut read_pointer = *next_pointer; + *next_pointer = read_u32_ref(&shard.postings_buffer, &mut read_pointer) as usize; + + *doc_id = read_u16_ref(&shard.postings_buffer, &mut read_pointer); + + let position_size_byte_temp: u16 = read_u16_ref(&shard.postings_buffer, &mut read_pointer); + let embed_flag = position_size_byte_temp & 0b10000000_00000000 > 0; + let position_size_byte = (position_size_byte_temp & 0b01111111_11111111) as usize; + + let plo = shard.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + let mut field_vec_ngram1 = SmallVec::new(); + let mut field_vec_ngram2 = SmallVec::new(); + let mut field_vec_ngram3 = SmallVec::new(); + + decode_positions_commit( + posting_pointer_size, + embed_flag, + &shard.postings_buffer, + read_pointer, + &plo.ngram_type, + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id as u16, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + + if posting_pointer_size == 2 { + if embed_flag { + block_copy( + &shard.postings_buffer, + read_pointer, + &mut shard.compressed_index_segment_block_buffer, + *key_rank_position_pointer_w, + position_size_byte, + ); + + *key_rank_position_pointer_w += 2; + } else { + *size_compressed_positions_key += position_size_byte; + *key_position_pointer_w -= position_size_byte; + + shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = + (*size_compressed_positions_key & 255) as u8; + *key_rank_position_pointer_w += 1; + shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = + ((*size_compressed_positions_key >> 8) & 127) as u8; + *key_rank_position_pointer_w += 1; + + block_copy( + &shard.postings_buffer, + read_pointer, + &mut shard.compressed_index_segment_block_buffer, + *key_position_pointer_w, + position_size_byte, + ); + } + } else if posting_pointer_size == 3 { + if embed_flag { + block_copy( + &shard.postings_buffer, + read_pointer, + &mut shard.compressed_index_segment_block_buffer, + *key_rank_position_pointer_w, + position_size_byte, + ); + + *key_rank_position_pointer_w += 3; + } else { + *size_compressed_positions_key += position_size_byte; + *key_position_pointer_w -= position_size_byte; + + shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = + (*size_compressed_positions_key & 255) as u8; + *key_rank_position_pointer_w += 1; + shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = + ((*size_compressed_positions_key >> 8) & 255) as u8; + *key_rank_position_pointer_w += 1; + shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = + ((*size_compressed_positions_key >> 16) & 127) as u8; + *key_rank_position_pointer_w += 1; + + block_copy( + &shard.postings_buffer, + read_pointer, + &mut shard.compressed_index_segment_block_buffer, + *key_position_pointer_w, + position_size_byte, + ); + } + } else { + println!("postingPointerSize exceeded: {}", posting_pointer_size); + } + + if plo.ngram_type == NgramType::SingleTerm + || shard.meta.similarity == SimilarityType::Bm25fProximity + { + let mut posting_score = 0.0; + for field in field_vec.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * ((tf * (K + 1.0) / (tf + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + if posting_score > plo.max_block_score { + plo.max_block_score = posting_score; + plo.max_docid = *doc_id; + plo.max_p_docid = p_docid as u16; + } + } else if plo.ngram_type == NgramType::NgramFF + || plo.ngram_type == NgramType::NgramRF + || plo.ngram_type == NgramType::NgramFR + { + let idf_ngram1 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_1 + 0.5) + / (plo.posting_count_ngram_1 + 0.5)) + + 1.0) + .ln(); + let idf_ngram2 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_2 + 0.5) + / (plo.posting_count_ngram_2 + 0.5)) + + 1.0) + .ln(); + + let mut posting_score = 0.0; + for field in field_vec_ngram1.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + if posting_score > plo.max_block_score { + plo.max_block_score = posting_score; + plo.max_docid = *doc_id; + plo.max_p_docid = p_docid as u16; + } + } else { + let idf_ngram1 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_1 + 0.5) + / (plo.posting_count_ngram_1 + 0.5)) + + 1.0) + .ln(); + let idf_ngram2 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_2 + 0.5) + / (plo.posting_count_ngram_2 + 0.5)) + + 1.0) + .ln(); + let idf_ngram3 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_3 + 0.5) + / (plo.posting_count_ngram_3 + 0.5)) + + 1.0) + .ln(); + + let mut posting_score = 0.0; + for field in field_vec_ngram1.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + for field in field_vec_ngram3.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf_ngram3 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + if posting_score > plo.max_block_score { + plo.max_block_score = posting_score; + plo.max_docid = *doc_id; + plo.max_p_docid = p_docid as u16; + } + } +} + +/// Compress postinglist to array +pub(crate) fn compress_postinglist_array( + shard: &mut Shard, + roaring_offset: &mut usize, + size_compressed_docid_key: &mut usize, + key0: usize, + key_hash: u64, + key_body_offset: &u32, + compression_type_pointer: &mut u32, +) { + let plo = shard.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + let key_rank_position_pointer_range = *roaring_offset + plo.size_compressed_positions_key; + let mut key_position_pointer_w = key_rank_position_pointer_range; + let mut key_rank_position_pointer_w = key_rank_position_pointer_range; + let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 + + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { + (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + let key_docid_pointer_w = + *roaring_offset + plo.size_compressed_positions_key + posting_pointer_size_sum; + let mut size_compressed_positions_key = 0; + + let count_byte = plo.posting_count * 2; + + plo.compression_type_pointer = key_body_offset | ((CompressionType::Array as u32) << 30); + *compression_type_pointer = plo.compression_type_pointer; + + let pointer_pivot_p_docid = plo.pointer_pivot_p_docid; + let mut next_pointer = plo.pointer_first; + for p_docid in 0..plo.posting_count { + let plo_posting_pointer_size = if p_docid < pointer_pivot_p_docid as usize { + 2 + } else { + 3 + }; + let mut doc_id = 0; + docid_iterator( + shard, + plo_posting_pointer_size, + &mut next_pointer, + &mut key_position_pointer_w, + &mut key_rank_position_pointer_w, + key0, + key_hash, + &mut doc_id, + &mut size_compressed_positions_key, + p_docid, + ); + + write_u16( + doc_id, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w + (p_docid * 2), + ); + } + + *size_compressed_docid_key = count_byte; + *roaring_offset = key_docid_pointer_w + count_byte; +} + +/// Compress postinglist to bitmap +pub(crate) fn compress_postinglist_bitmap( + shard: &mut Shard, + roaring_offset: &mut usize, + size_compressed_docid_key: &mut usize, + key0: usize, + key_hash: u64, + key_body_offset: &u32, + compression_type_pointer: &mut u32, +) { + let plo = shard.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + let key_rank_position_pointer_range = *roaring_offset + plo.size_compressed_positions_key; + let mut key_position_pointer_w = key_rank_position_pointer_range; + let mut key_rank_position_pointer_w = key_rank_position_pointer_range; + let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 + + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { + (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + let key_docid_pointer_w = + *roaring_offset + plo.size_compressed_positions_key + posting_pointer_size_sum; + let mut size_compressed_positions_key = 0; + + let count_byte = 8192; + + plo.compression_type_pointer = key_body_offset | ((CompressionType::Bitmap as u32) << 30); + *compression_type_pointer = plo.compression_type_pointer; + + shard.compressed_index_segment_block_buffer + [key_docid_pointer_w..key_docid_pointer_w + count_byte] + .fill(0); + + let pointer_pivot_p_docid = plo.pointer_pivot_p_docid; + let mut next_pointer = plo.pointer_first; + for p_docid in 0..plo.posting_count { + let plo_posting_pointer_size = if p_docid < pointer_pivot_p_docid as usize { + 2 + } else { + 3 + }; + + let mut doc_id = 0; + docid_iterator( + shard, + plo_posting_pointer_size, + &mut next_pointer, + &mut key_position_pointer_w, + &mut key_rank_position_pointer_w, + key0, + key_hash, + &mut doc_id, + &mut size_compressed_positions_key, + p_docid, + ); + + let docid_pos = doc_id; + let byte_pos = docid_pos >> 3; + let bit_pos = docid_pos & 7; + + shard.compressed_index_segment_block_buffer[key_docid_pointer_w + byte_pos as usize] |= + 1u8 << bit_pos; + } + + *size_compressed_docid_key = count_byte; + *roaring_offset = key_docid_pointer_w + count_byte; +} + +/// Compress postinglist to RLE +#[allow(clippy::too_many_arguments)] +pub(crate) fn compress_postinglist_rle( + shard: &mut Shard, + roaring_offset: &mut usize, + size_compressed_docid_key: &mut usize, + key0: usize, + key_hash: u64, + runs_count_threshold: u16, + runs_count: &mut u16, + key_body_offset: &u32, + compression_type_pointer: &mut u32, +) { + let plo = shard.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + *runs_count = 0; + + let mut run_start = 0; + let mut run_length = 0; + + let key_rank_position_pointer_range = *roaring_offset + plo.size_compressed_positions_key; + let mut key_position_pointer_w = key_rank_position_pointer_range; + let mut key_rank_position_pointer_w = key_rank_position_pointer_range; + let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 + + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { + (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + let mut key_docid_pointer_w = + *roaring_offset + plo.size_compressed_positions_key + posting_pointer_size_sum; + let key_docid_pointer_w_old = key_docid_pointer_w; + let mut size_compressed_positions_key = 0; + + plo.compression_type_pointer = key_body_offset | ((CompressionType::Rle as u32) << 30); + *compression_type_pointer = plo.compression_type_pointer; + + let mut doc_id_old = 0; + let pointer_pivot_p_docid = plo.pointer_pivot_p_docid; + let mut next_pointer = plo.pointer_first; + for p_docid in 0..plo.posting_count { + let plo_posting_pointer_size = if p_docid < pointer_pivot_p_docid as usize { + 2 + } else { + 3 + }; + + let mut doc_id = 0; + docid_iterator( + shard, + plo_posting_pointer_size, + &mut next_pointer, + &mut key_position_pointer_w, + &mut key_rank_position_pointer_w, + key0, + key_hash, + &mut doc_id, + &mut size_compressed_positions_key, + p_docid, + ); + + if p_docid == 0 { + run_start = doc_id; + } else if doc_id_old + 1 == doc_id { + run_length += 1; + } else { + write_u16( + run_start, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w_old + (((*runs_count << 1) as usize + 1) * 2), + ); + write_u16( + run_length, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w_old + (((*runs_count << 1) as usize + 2) * 2), + ); + key_docid_pointer_w += 4; + + run_start = doc_id; + run_length = 0; + *runs_count += 1; + } + + if *runs_count >= runs_count_threshold { + *runs_count = 0; + return; + } + doc_id_old = doc_id; + } + + write_u16( + run_start, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w_old + (((*runs_count << 1) as usize + 1) * 2), + ); + write_u16( + run_length, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w_old + (((*runs_count << 1) as usize + 2) * 2), + ); + + *runs_count += 1; + key_docid_pointer_w += 4; + + write_u16( + *runs_count, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w_old, + ); + key_docid_pointer_w += 2; + + *size_compressed_docid_key = key_docid_pointer_w - key_docid_pointer_w_old; + *roaring_offset = key_docid_pointer_w; +} + +/// Compress positions: input delta compressed vector, output VINT compressioned byte array +pub(crate) fn compress_positions( + positions: &[u16], + positions_compressed: &mut [u8], + size_compressed_positions_pointer: &mut usize, +) { + for delta in positions { + if *delta < 128 { + positions_compressed[*size_compressed_positions_pointer] = *delta as u8 | STOP_BIT; + *size_compressed_positions_pointer += 1 + } else if *delta < 16_384 { + positions_compressed[*size_compressed_positions_pointer] = + (delta >> 7) as u8 & 0b01111111; + *size_compressed_positions_pointer += 1; + positions_compressed[*size_compressed_positions_pointer] = + (delta & 0b01111111) as u8 | STOP_BIT; + *size_compressed_positions_pointer += 1; + } else { + positions_compressed[*size_compressed_positions_pointer] = + (delta >> 13) as u8 & 0b01111111; + *size_compressed_positions_pointer += 1; + positions_compressed[*size_compressed_positions_pointer] = + (delta >> 7) as u8 & 0b01111111; + *size_compressed_positions_pointer += 1; + positions_compressed[*size_compressed_positions_pointer] = + (delta & 0b01111111) as u8 | STOP_BIT; + *size_compressed_positions_pointer += 1; + } + } +} diff --git a/mobile_app/rust/src/seekstorm/doc_store.rs b/mobile_app/rust/src/seekstorm/doc_store.rs new file mode 100644 index 0000000..5519d66 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/doc_store.rs @@ -0,0 +1,353 @@ +use memmap2::Mmap; +use serde_json::{Value, json}; +use std::collections::{HashMap, HashSet, VecDeque}; +use std::fs; +use std::io::{self, Seek, SeekFrom, Write}; +use std::path::PathBuf; + +use crate::geo_search::euclidian_distance; +use crate::highlighter::{Highlighter, top_fragments_from_field}; +use crate::index::{ + AccessType, DistanceField, Document, FILE_PATH, FieldType, Index, ROARING_BLOCK_SIZE, Shard, +}; +use crate::search::FacetValue; +use crate::utils::{read_u32, write_u32}; + +impl Shard { + pub(crate) fn get_file_shard(&self, doc_id: usize) -> Result, String> { + let file_path = PathBuf::new(&self.index_path_string) + .join(FILE_PATH) + .join(doc_id.to_string() + ".pdf"); + + if let Ok(data) = fs::read(file_path) { + Ok(data) + } else { + Err("not found".into()) + } + } + + pub(crate) fn get_document_shard( + &self, + doc_id: usize, + include_uncommited: bool, + highlighter_option: &Option, + fields: &HashSet, + distance_fields: &[DistanceField], + ) -> Result { + if !self.delete_hashset.is_empty() && self.delete_hashset.contains(&doc_id) { + return Err("not found".to_owned()); + } + + if doc_id >= self.indexed_doc_count { + return Err("not found".to_owned()); + } + let block_id = doc_id >> 16; + + let is_uncommitted = doc_id >= self.committed_doc_count; + if is_uncommitted && !(include_uncommited && self.uncommitted) { + return Err("not found".to_owned()); + } + + if self.stored_field_names.is_empty() { + return Err("not found".to_owned()); + } + + let doc_id_local = doc_id & 0b11111111_11111111; + + let mut doc = if self.meta.access_type == AccessType::Ram || is_uncommitted { + let docstore_pointer_docs = if is_uncommitted { + &self.compressed_docstore_segment_block_buffer + } else { + &self.level_index[block_id].docstore_pointer_docs + }; + + let position = doc_id_local * 4; + let pointer = read_u32(docstore_pointer_docs, position) as usize; + + let previous_pointer = if doc_id == self.committed_doc_count || doc_id_local == 0 { + ROARING_BLOCK_SIZE * 4 + } else { + read_u32(docstore_pointer_docs, position - 4) as usize + }; + + if previous_pointer == pointer { + return Err("not found".to_owned()); + } + + let compressed_doc = &docstore_pointer_docs[previous_pointer..pointer]; + let decompressed_doc = zstd::decode_all(compressed_doc).unwrap(); + let doc: Document = serde_json::from_slice(&decompressed_doc).unwrap(); + + doc + } else { + let level = doc_id >> 16; + + let pointer; + let previous_pointer; + let position = + self.level_index[level].docstore_pointer_docs_pointer + (doc_id_local * 4); + + if doc_id_local == 0 { + previous_pointer = ROARING_BLOCK_SIZE * 4; + pointer = read_u32(&self.docstore_file_mmap, position) as usize; + } else { + previous_pointer = read_u32(&self.docstore_file_mmap, position - 4) as usize; + pointer = read_u32(&self.docstore_file_mmap, position) as usize; + }; + + if previous_pointer == pointer { + return Err(format!("not found {} {}", previous_pointer, pointer)); + } + + let compressed_doc = &self.docstore_file_mmap[(self.level_index[level] + .docstore_pointer_docs_pointer + + previous_pointer) + ..(self.level_index[level].docstore_pointer_docs_pointer + pointer)]; + + let decompressed_doc = zstd::decode_all(compressed_doc).unwrap(); + let doc: Document = serde_json::from_slice(&decompressed_doc).unwrap(); + + doc + }; + + if let Some(highlighter) = highlighter_option { + let mut kwic_vec: VecDeque = VecDeque::new(); + for highlight in highlighter.highlights.iter() { + let kwic = + top_fragments_from_field(self, &doc, &highlighter.query_terms_ac, highlight) + .unwrap(); + kwic_vec.push_back(kwic); + } + + for highlight in highlighter.highlights.iter() { + let kwic = kwic_vec.pop_front().unwrap(); + doc.insert( + (if highlight.name.is_empty() { + &highlight.field + } else { + &highlight.name + }) + .to_string(), + json!(kwic), + ); + } + } + + for distance_field in distance_fields.iter() { + if let Some(idx) = self.facets_map.get(&distance_field.field) + && self.facets[*idx].field_type == FieldType::Point + && let FacetValue::Point(point) = + self.get_facet_value_shard(&distance_field.field, doc_id) + { + let distance = + euclidian_distance(&point, &distance_field.base, &distance_field.unit); + + doc.insert(distance_field.distance.clone(), json!(distance)); + } + } + + if !fields.is_empty() { + for key in self.stored_field_names.iter() { + if !fields.contains(key) { + doc.remove(key); + } + } + } + + Ok(doc) + } + + pub(crate) fn copy_file(&self, source_path: &PathBuf, doc_id: usize) -> io::Result { + let dir_path = PathBuf::new(&self.index_path_string).join(FILE_PATH); + if !dir_path.exists() { + fs::create_dir_all(&dir_path).unwrap(); + } + + let file_path = dir_path.join(doc_id.to_string() + ".pdf"); + fs::copy(source_path, file_path) + } + + pub(crate) fn write_file(&self, file_bytes: &[u8], doc_id: usize) -> io::Result { + let dir_path = PathBuf::new(&self.index_path_string).join(FILE_PATH); + if !dir_path.exists() { + fs::create_dir_all(&dir_path).unwrap(); + } + + let file_path = dir_path.join(doc_id.to_string() + ".pdf"); + + let mut file = fs::OpenOptions::new() + .create(true) + .truncate(true) + .write(true) + .open(file_path)?; + + let _ = file.write_all(file_bytes); + Ok(file_bytes.len() as u64) + } + + pub(crate) fn store_document(&mut self, doc_id: usize, document: HashMap) { + let mut document = document; + + let keys: Vec = document.keys().cloned().collect(); + for key in keys.into_iter() { + if !self.schema_map.contains_key(&key) || !self.schema_map.get(&key).unwrap().stored { + document.remove(&key); + } + } + + if document.is_empty() { + return; + } + + let document_string = serde_json::to_string(&document).unwrap(); + + let mut compressed = zstd::encode_all(document_string.as_bytes(), 1).unwrap(); + + self.compressed_docstore_segment_block_buffer + .append(&mut compressed); + + write_u32( + self.compressed_docstore_segment_block_buffer.len() as u32, + &mut self.compressed_docstore_segment_block_buffer, + (doc_id & 0b11111111_11111111) * 4, + ); + } + + pub(crate) fn commit_docstore( + &mut self, + indexed_doc_count: usize, + is_last_level_incomplete: bool, + ) { + let size_uncommitted = self.compressed_docstore_segment_block_buffer.len(); + let level = self.level_index.len() - 1; + + if is_last_level_incomplete { + let docstore_file_end = self.docstore_file.metadata().unwrap().len(); + + let size_committed = + docstore_file_end as usize - self.last_level_docstore_file_start_pos as usize - 4; + let size_committed_docs = size_committed - (4 * ROARING_BLOCK_SIZE); + let size_sum = size_uncommitted + size_committed_docs; + + let _ = self + .docstore_file + .seek(SeekFrom::Start(self.last_level_docstore_file_start_pos)); + + let _ = self.docstore_file.write(&(size_sum as u32).to_le_bytes()); + + let committed_doc_count = (self.committed_doc_count - 1 % ROARING_BLOCK_SIZE) + 1; + let indexed_doc_count = (indexed_doc_count - 1 % ROARING_BLOCK_SIZE) + 1; + + for i in committed_doc_count..indexed_doc_count { + let pointer = read_u32(&self.compressed_docstore_segment_block_buffer, i * 4); + + write_u32( + pointer + size_committed_docs as u32, + &mut self.compressed_docstore_segment_block_buffer, + i * 4, + ); + } + + let _ = self.docstore_file.seek(SeekFrom::Start( + self.last_level_docstore_file_start_pos + 4 + committed_doc_count as u64 * 4, + )); + + let _ = self.docstore_file.write( + &self.compressed_docstore_segment_block_buffer + [committed_doc_count * 4..ROARING_BLOCK_SIZE * 4], + ); + + let _ = self.docstore_file.seek(SeekFrom::Start(docstore_file_end)); + + let _ = self + .docstore_file + .write(&self.compressed_docstore_segment_block_buffer[4 * ROARING_BLOCK_SIZE..]); + + if self.meta.access_type == AccessType::Ram { + self.level_index[level] + .docstore_pointer_docs + .extend_from_slice( + &self.compressed_docstore_segment_block_buffer[4 * ROARING_BLOCK_SIZE..], + ); + self.level_index[level].docstore_pointer_docs + [committed_doc_count * 4..ROARING_BLOCK_SIZE * 4] + .copy_from_slice( + &self.compressed_docstore_segment_block_buffer + [committed_doc_count * 4..ROARING_BLOCK_SIZE * 4], + ); + } + } else { + let _ = self + .docstore_file + .write(&(size_uncommitted as u32).to_le_bytes()); + + self.level_index[level].docstore_pointer_docs_pointer = + self.docstore_file.stream_position().unwrap() as usize; + + let _ = self + .docstore_file + .write(&self.compressed_docstore_segment_block_buffer); + + if self.meta.access_type == AccessType::Ram { + self.level_index[level].docstore_pointer_docs.append( + &mut self + .compressed_docstore_segment_block_buffer + .drain(..) + .collect(), + ); + } + } + + let _ = self.docstore_file.flush(); + + self.compressed_docstore_segment_block_buffer = vec![0; ROARING_BLOCK_SIZE * 4]; + + if self.meta.access_type == AccessType::Mmap { + self.docstore_file_mmap = + unsafe { Mmap::map(&self.docstore_file).expect("Unable to create Mmap") }; + } + } +} + +impl Index { + /// Get file for document id + /// Arguments: + /// * `doc_id`: Specifies which document to load from the document store of the index. + /// + /// Returns: + /// * `Vec`: The file content as a byte vector. + /// + pub async fn get_file(&self, doc_id: usize) -> Result, String> { + let shard_id = doc_id & ((1 << self.shard_bits) - 1); + let doc_id = doc_id >> self.shard_bits; + self.shard_vec[shard_id].read().await.get_file_shard(doc_id) + } + + /// Get document for document id + /// Arguments: + /// * `doc_id`: Specifies which document to load from the document store of the index. + /// * `include_uncommited`: Return also documents which have not yet been committed. + /// * `highlighter_option`: Specifies the extraction of keyword-in-context (KWIC) fragments from fields in documents, and the highlighting of the query terms within. + /// * `fields`: Specifies which of the stored fields to return with each document. Default: If empty return all stored fields + /// * `distance_fields`: insert distance fields into result documents, calculating the distance between a specified facet field of type Point and a base Point, in kilometers or miles. + /// using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. + pub async fn get_document( + &self, + doc_id: usize, + include_uncommited: bool, + highlighter_option: &Option, + fields: &HashSet, + distance_fields: &[DistanceField], + ) -> Result { + let shard_id = doc_id & ((1 << self.shard_bits) - 1); + let doc_id_shard = doc_id >> self.shard_bits; + + self.shard_vec[shard_id].read().await.get_document_shard( + doc_id_shard, + include_uncommited, + highlighter_option, + fields, + distance_fields, + ) + } +} diff --git a/mobile_app/rust/src/seekstorm/geo_search.rs b/mobile_app/rust/src/seekstorm/geo_search.rs new file mode 100644 index 0000000..4377ada --- /dev/null +++ b/mobile_app/rust/src/seekstorm/geo_search.rs @@ -0,0 +1,144 @@ +use std::cmp::Ordering; + +#[cfg(target_arch = "x86_64")] +use std::arch::x86_64::{_pdep_u64, _pext_u64}; + +use crate::{ + index::DistanceUnit, + search::{Point, SortOrder}, +}; + +#[inline] +fn encode_morton_64_bit(x: u32) -> u64 { + let mut x = x as u64; + x = (x | (x << 32)) & 0x00000000ffffffff; + x = (x | (x << 16)) & 0x0000FFFF0000FFFF; + x = (x | (x << 8)) & 0x00FF00FF00FF00FF; + x = (x | (x << 4)) & 0x0F0F0F0F0F0F0F0F; + x = (x | (x << 2)) & 0x3333333333333333; + x = (x | (x << 1)) & 0x5555555555555555; + x +} + +/// encode 2D-coordinate (lat/lon) into 64-bit Morton code +/// This method is lossy/quantized as two f64 coordinate values are mapped to a single u64 Morton code! +/// The z-value of a point in multidimensions is simply calculated by interleaving the binary representations of its coordinate values. +#[inline] +pub fn encode_morton_2_d(point: &Point) -> u64 { + let x_u32 = ((point[0] * 10_000_000.0) as i32) as u32; + let y_u32 = ((point[1] * 10_000_000.0) as i32) as u32; + + #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] + { + if is_x86_feature_detected!("bmi2") { + return unsafe { + _pdep_u64(x_u32.into(), 0x5555555555555555) + | _pdep_u64(y_u32.into(), 0xAAAAAAAAAAAAAAAA) + }; + } + } + + (encode_morton_64_bit(y_u32) << 1) | encode_morton_64_bit(x_u32) +} + +#[inline] +fn decode_morton_64_bit(code: u64) -> u64 { + let mut x = code & 0x5555555555555555; + x = (x ^ (x >> 1)) & 0x3333333333333333; + x = (x ^ (x >> 2)) & 0x0F0F0F0F0F0F0F0F; + x = (x ^ (x >> 4)) & 0x00FF00FF00FF00FF; + x = (x ^ (x >> 8)) & 0x0000FFFF0000FFFF; + x = (x ^ (x >> 16)) & 0x00000000FFFFFFFF; + x +} + +/// decode 64-bit Morton code into 2D-coordinate (lat/lon) +/// This method is lossy/quantized as a single u64 Morton code is converted to two f64 coordinate values! +#[inline] +pub fn decode_morton_2_d(code: u64) -> Point { + #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] + { + if is_x86_feature_detected!("bmi2") { + let x_u32 = unsafe { _pext_u64(code, 0x5555555555555555) as u32 }; + let y_u32 = unsafe { _pext_u64(code, 0xAAAAAAAAAAAAAAAA) as u32 }; + + return vec![ + (x_u32 as i32) as f64 / 10_000_000.0, + (y_u32 as i32) as f64 / 10_000_000.0, + ]; + }; + } + + let x_u32 = decode_morton_64_bit(code) as u32; + let y_u32 = decode_morton_64_bit(code >> 1) as u32; + + vec![ + (x_u32 as i32) as f64 / 10_000_000.0, + (y_u32 as i32) as f64 / 10_000_000.0, + ] +} + +#[inline] +fn simplified_distance(point1: &Point, point2: &Point) -> f64 { + let x = (point2[1] - point1[1]) * f64::cos(DEG2RAD * (point1[0] + point2[0]) / 2.0); + let y = point2[0] - point1[0]; + + x * x + y * y +} + +/// Comparison of the distances between two morton encoded positions and a base position +pub fn morton_ordering( + morton1: u64, + morton2: u64, + base_point: &Point, + order: &SortOrder, +) -> Ordering { + let point1 = decode_morton_2_d(morton1); + let point2 = decode_morton_2_d(morton2); + + let distance1 = simplified_distance(&point1, base_point); + let distance2 = simplified_distance(&point2, base_point); + + if order == &SortOrder::Descending { + distance1.partial_cmp(&distance2).unwrap_or(Ordering::Equal) + } else { + distance2.partial_cmp(&distance1).unwrap_or(Ordering::Equal) + } +} + +const EARTH_RADIUS_KM: f64 = 6371.0087714; +const EARTH_RADIUS_MI: f64 = 3_958.761_315_801_475; +const DEG2RAD: f64 = 0.017_453_292_519_943_295; + +/// calculates distance in kilometers or miles between two 2D-coordinates using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. +#[inline] +pub fn euclidian_distance(point1: &Point, point2: &Point, unit: &DistanceUnit) -> f64 { + let x = DEG2RAD * (point2[1] - point1[1]) * f64::cos(DEG2RAD * (point1[0] + point2[0]) / 2.0); + let y = DEG2RAD * (point2[0] - point1[0]); + + (if *unit == DistanceUnit::Kilometers { + EARTH_RADIUS_KM + } else { + EARTH_RADIUS_MI + }) * (x * x + y * y).sqrt() +} + +/// Converts a Point and a distance radius into a range of morton_codes for geo search range filtering. +/// The conversion is lossy due to coordinate to Morton code rounding errors and Equirectangular approximation of Euclidian distance. +pub fn point_distance_to_morton_range( + point: &Point, + distance: f64, + unit: &DistanceUnit, +) -> std::ops::Range { + let earth_radius = if *unit == DistanceUnit::Kilometers { + EARTH_RADIUS_KM + } else { + EARTH_RADIUS_MI + }; + let lat_delta = distance / (DEG2RAD * earth_radius); + let lon_delta = distance / (DEG2RAD * earth_radius * f64::cos(DEG2RAD * point[0])); + let morton_min = encode_morton_2_d(&vec![point[0] - lat_delta, point[1] - lon_delta]); + let morton_max = encode_morton_2_d(&vec![point[0] + lat_delta, point[1] + lon_delta]); + + morton_min..morton_max +} diff --git a/mobile_app/rust/src/seekstorm/highlighter.rs b/mobile_app/rust/src/seekstorm/highlighter.rs new file mode 100644 index 0000000..1138340 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/highlighter.rs @@ -0,0 +1,367 @@ +use crate::index::{Document, FieldType, IndexArc, Shard, hash64}; +use crate::min_heap::{self, MinHeap}; +use aho_corasick::{AhoCorasick, MatchKind}; +use serde::{Deserialize, Serialize}; +use utoipa::ToSchema; + +/// Specifies the number and size of fragments (snippets, summaries) to generate from each specified field to provide a "keyword in context" (KWIC) functionality. +/// With highlight_markup the matching query terms within the fragments can be highlighted with HTML markup. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct Highlight { + /// Specifies the field from which the fragments (snippets, summaries) are created. + pub field: String, + /// Allows to specifiy multiple highlight result fields from the same source field, leaving the original field intact, + /// Default: if name is empty then field is used instead, i.e the original field is overwritten with the highlight. + #[serde(default)] + #[serde(skip_serializing_if = "String::is_empty")] + pub name: String, + /// If 0/default then return the full original text without fragmenting. + #[serde(default)] + pub fragment_number: usize, + /// Specifies the length of a highlight fragment. + /// The default 0 returns the full original text without truncating, but still with highlighting if highlight_markup is enabled. + #[serde(default)] + pub fragment_size: usize, + /// if true, the matching query terms within the fragments are highlighted with HTML markup **\term\<\/b\>**. + #[serde(default)] + pub highlight_markup: bool, + /// Specifies the markup tags to insert **before** each highlighted term (e.g. \"\\" or \"\\"). This can be any string, but is most often an HTML or XML tag. + /// Only used when **highlight_markup** is set to true. + #[serde(default = "default_pre_tag")] + pub pre_tags: String, + /// Specifies the markup tags to insert **after** each highlighted term. (e.g. \"\<\/b\>\" or \"\<\/em\>\"). This can be any string, but is most often an HTML or XML tag. + /// Only used when **highlight_markup** is set to true. + #[serde(default = "default_post_tag")] + pub post_tags: String, +} + +impl Default for Highlight { + fn default() -> Self { + Highlight { + field: String::new(), + name: String::new(), + fragment_number: 1, + fragment_size: usize::MAX, + highlight_markup: true, + pre_tags: default_pre_tag(), + post_tags: default_post_tag(), + } + } +} + +fn default_pre_tag() -> String { + "".into() +} + +fn default_post_tag() -> String { + "".into() +} + +/// Highlighter object used as get_document parameter for extracting keyword-in-context (KWIC) fragments from fields in documents, and highlighting the query terms within. +#[derive(Debug)] +pub struct Highlighter { + pub(crate) highlights: Vec, + pub(crate) query_terms_ac: AhoCorasick, +} + +/// Returns the Highlighter object used as get_document parameter for highlighting fields in documents +pub async fn highlighter( + index_arc: &IndexArc, + highlights: Vec, + query_terms_vec: Vec, +) -> Highlighter { + let index_ref = index_arc.read().await; + let query_terms = if !index_ref.synonyms_map.is_empty() { + let mut query_terms_vec_mut = query_terms_vec.clone(); + for query_term in query_terms_vec.iter() { + let term_hash = hash64(query_term.to_lowercase().as_bytes()); + + if let Some(synonyms) = index_ref.synonyms_map.get(&term_hash) { + for synonym in synonyms.iter() { + query_terms_vec_mut.push(synonym.0.clone()); + } + } + } + query_terms_vec_mut + } else { + query_terms_vec + }; + + let query_terms_ac = AhoCorasick::builder() + .ascii_case_insensitive(true) + .match_kind(MatchKind::LeftmostLongest) + .build(query_terms) + .unwrap(); + + Highlighter { + highlights, + query_terms_ac, + } +} + +pub(crate) fn add_fragment<'a>( + no_score_no_highlight: bool, + mut fragment: Fragment<'a>, + query_terms_ac: &AhoCorasick, + fragments: &mut Vec>, + topk_candidates: &mut MinHeap, + fragment_number: usize, + fragment_size: usize, +) { + let mut score = 0.0; + let mut expected_pattern = usize::MAX; + let mut expected_index = usize::MAX; + + let mut first_end = 0; + let mut set = vec![0; query_terms_ac.patterns_len()]; + let mut sequence_length = 1; + + if no_score_no_highlight { + score = 1.0; + } else { + for mat in query_terms_ac.find_iter(fragment.text) { + if first_end == 0 { + first_end = mat.end(); + } + + let id = mat.pattern().as_usize(); + score += if id == expected_pattern && expected_index == mat.start() { + sequence_length += 1; + set[id] = 1; + sequence_length as f32 * 5.0 + } else if set[id] == 0 { + sequence_length = 1; + set[id] = 1; + 1.0 + } else { + sequence_length = 1; + 0.3 + }; + + expected_pattern = id + 1; + expected_index = mat.end() + 1; + } + } + + if first_end > fragment_size { + let mut idx = fragment.text.len() - fragment_size; + + while !fragment.text.is_char_boundary(idx) { + idx -= 1; + } + + match fragment.text[idx..].find(' ') { + None => idx = 0, + Some(value) => idx += value, + } + + let adjusted_fragment = &fragment.text[idx..]; + fragment.text = adjusted_fragment; + fragment.trim_left = true; + } else if fragment.text.len() > fragment_size { + let mut idx = fragment_size; + + while !fragment.text.is_char_boundary(idx) { + idx -= 1; + } + + match fragment.text[idx..].find(' ') { + None => idx = fragment.text.len(), + Some(value) => idx += value, + } + + let adjusted_fragment = &fragment.text[..idx]; + fragment.text = adjusted_fragment; + fragment.trim_right = true; + } + + let section_index = fragments.len(); + + let mut added = false; + if score > 0.0 { + added = topk_candidates.add_topk( + min_heap::Result { + doc_id: section_index, + score, + }, + fragment_number, + ); + } + if fragments.is_empty() || added { + fragments.push(fragment); + } +} + +const SENTENCE_BOUNDARY_CHARS: [char; 11] = + ['!', '?', '.', '¿', '¡', '。', '、', '!', '?', '︒', '。']; + +pub(crate) struct Fragment<'a> { + text: &'a str, + trim_left: bool, + trim_right: bool, +} +/// Extracts the most relevant fragments (snippets, summaries) from specified fields of the document to provide a "keyword in context" (KWIC) functionality. +/// I.e. the sentences containing the matches of the query terms within the field is displayed and the query term matches are optionally highlighted (e.g. bold) by injecting HTML tags in to the text. +/// Instead of showing the complete text only the relevant fragments containing keyword matches are extracted. The user is provided with concise visual feedback for relevancy of the document regarding to the query. +/// The fragment ranking score takes into account the number of matching terms, their order and proximity (phrase). +/// The score is used for the selection of top-k most relevant fragments, but the order of selected fragments is preserved how they originally appear in the field. +/// The field is fragmented into sentences, using punctuation marks '.?!' as sentence boundaries. +/// If the fragment length exceeds the specified fragment_size, then the fragment is truncated at the right or left side, so that the query term higlight positions are kept within the remaining fragment window. +/// Selecting the right fragment and the right fragment window is fundamental for the users perceived relevancy of the search results. +pub(crate) fn top_fragments_from_field( + shard: &Shard, + document: &Document, + query_terms_ac: &AhoCorasick, + highlight: &Highlight, +) -> Result { + match document.get(&highlight.field) { + None => Ok("".to_string()), + Some(value) => { + let no_score_no_highlight = + query_terms_ac.patterns_len() == 1 && query_terms_ac.max_pattern_len() == 1; + let no_fragmentation = highlight.fragment_number == 0; + let fragment_number = if no_fragmentation { + 1 + } else { + highlight.fragment_number + }; + let result_sort = Vec::new(); + let mut topk_candidates = MinHeap::new(fragment_number, shard, &result_sort); + + if let Some(schema_field) = shard.schema_map.get(&highlight.field) { + let text = match schema_field.field_type { + FieldType::Text | FieldType::String16 | FieldType::String32 => { + serde_json::from_value::(value.clone()).unwrap_or(value.to_string()) + } + _ => value.to_string(), + }; + + let mut fragments: Vec = Vec::new(); + + let mut last = 0; + if !no_fragmentation { + for (character_index, matched) in + text.match_indices(&SENTENCE_BOUNDARY_CHARS[..]) + { + if last != character_index { + let section = Fragment { + text: &text[last..character_index + matched.len()], + trim_left: false, + trim_right: false, + }; + + add_fragment( + no_score_no_highlight, + section, + query_terms_ac, + &mut fragments, + &mut topk_candidates, + fragment_number, + highlight.fragment_size, + ); + + if no_score_no_highlight + && topk_candidates.current_heap_size == fragment_number + { + break; + } + } + last = character_index + matched.len(); + } + } + + if last < text.len() - 1 { + let section = Fragment { + text: &text[last..], + trim_left: false, + trim_right: false, + }; + + add_fragment( + no_score_no_highlight, + section, + query_terms_ac, + &mut fragments, + &mut topk_candidates, + fragment_number, + highlight.fragment_size, + ); + } + + let mut combined_string = String::with_capacity(text.len()); + + if !fragments.is_empty() { + if topk_candidates.current_heap_size > 0 { + if topk_candidates.current_heap_size < fragment_number { + topk_candidates + ._elements + .truncate(topk_candidates.current_heap_size); + } + + topk_candidates + ._elements + .sort_by(|a, b| a.doc_id.partial_cmp(&b.doc_id).unwrap()); + + let mut previous_docid = 0; + for candidate in topk_candidates._elements { + if (!combined_string.is_empty() + && !combined_string.ends_with("...") + && candidate.doc_id != previous_docid + 1) + || (fragments[candidate.doc_id].trim_left + && (combined_string.is_empty() + || !combined_string.ends_with("..."))) + { + combined_string.push_str("...") + }; + combined_string.push_str(fragments[candidate.doc_id].text); + previous_docid = candidate.doc_id; + + if fragments[candidate.doc_id].trim_right { + combined_string.push_str("...") + }; + } + } else { + combined_string.push_str(fragments[0].text); + } + } + + if highlight.highlight_markup && !no_score_no_highlight { + highlight_terms( + &mut combined_string, + query_terms_ac, + &highlight.pre_tags, + &highlight.post_tags, + ); + } + + Ok(combined_string) + } else { + Ok("".to_string()) + } + } + } +} + +pub(crate) fn highlight_terms( + text: &mut String, + query_terms_ac: &AhoCorasick, + pre_tags: &str, + post_tags: &str, +) { + let mut result = String::new(); + let mut prev_end = 0; + + for mat in query_terms_ac.find_iter(&text) { + result.push_str(&text[prev_end..mat.start()]); + result.push_str(pre_tags); + result.push_str(&text[mat.start()..mat.end()]); + result.push_str(post_tags); + prev_end = mat.end(); + } + + if prev_end < text.len() { + result.push_str(&text[prev_end..text.len()]); + } + + *text = result; +} diff --git a/mobile_app/rust/src/seekstorm/index.rs b/mobile_app/rust/src/seekstorm/index.rs new file mode 100644 index 0000000..8d51543 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/index.rs @@ -0,0 +1,4740 @@ +use add_result::decode_positions_commit; +use ahash::{AHashMap, AHashSet}; +use futures::future; +use indexmap::IndexMap; +use itertools::Itertools; +use memmap2::{Mmap, MmapMut, MmapOptions}; +use num::FromPrimitive; +use num_derive::FromPrimitive; + +use num_format::{Locale, ToFormattedString}; + +use rust_stemmers::{Algorithm, Stemmer}; +use search::{QueryType, Search}; +use serde::{Deserialize, Serialize}; +use smallvec::SmallVec; +use std::{ + collections::{HashMap, VecDeque}, + fs::{self, File}, + hint, + io::{BufRead, BufReader, Read, Seek, Write}, + path::PathBuf, + sync::Arc, + time::Instant, +}; +use symspell_complete_rs::{PruningRadixTrie, SymSpell}; +use tokio::sync::{RwLock, Semaphore}; +use utils::{read_u32, write_u16}; +use utoipa::ToSchema; + +#[cfg(feature = "zh")] +use crate::word_segmentation::WordSegmentationTM; +use crate::{ + add_result::{self, B, K, SIGMA}, + commit::Commit, + geo_search::encode_morton_2_d, + search::{ + self, FacetFilter, Point, QueryFacet, QueryRewriting, Ranges, ResultObject, ResultSort, + ResultType, SearchShard, + }, + tokenizer::tokenizer, + utils::{ + self, read_u8_ref, read_u16, read_u16_ref, read_u32_ref, read_u64, read_u64_ref, write_f32, + write_f64, write_i8, write_i16, write_i32, write_i64, write_u32, write_u64, + }, +}; + + +pub(crate) const FILE_PATH: &str = "files"; +pub(crate) const INDEX_FILENAME: &str = "index.bin"; +pub(crate) const DOCSTORE_FILENAME: &str = "docstore.bin"; +pub(crate) const DELETE_FILENAME: &str = "delete.bin"; +pub(crate) const SCHEMA_FILENAME: &str = "schema.json"; +pub(crate) const SYNONYMS_FILENAME: &str = "synonyms.json"; +pub(crate) const META_FILENAME: &str = "index.json"; +pub(crate) const FACET_FILENAME: &str = "facet.bin"; +pub(crate) const FACET_VALUES_FILENAME: &str = "facet.json"; + +pub(crate) const DICTIONARY_FILENAME: &str = "dictionary.csv"; +pub(crate) const COMPLETIONS_FILENAME: &str = "completions.csv"; + +pub(crate) const VERSION: &str = env!("CARGO_PKG_VERSION"); + +const INDEX_HEADER_SIZE: u64 = 4; +/// Incompatible index format change: new library can't open old format, and old library can't open new format +pub const INDEX_FORMAT_VERSION_MAJOR: u16 = 5; +/// Backward compatible format change: new library can open old format, but old library can't open new format +pub const INDEX_FORMAT_VERSION_MINOR: u16 = 0; + +/// Maximum processed positions per term per document: default=65_536. E.g. 65,536 * 'the' per document, exceeding positions are ignored for search. +pub const MAX_POSITIONS_PER_TERM: usize = 65_536; +pub(crate) const STOP_BIT: u8 = 0b10000000; +pub(crate) const FIELD_STOP_BIT_1: u8 = 0b0010_0000; +pub(crate) const FIELD_STOP_BIT_2: u8 = 0b0100_0000; +/// maximum number of documents per block +pub const ROARING_BLOCK_SIZE: usize = 65_536; + +pub(crate) const SPEEDUP_FLAG: bool = true; +pub(crate) const SORT_FLAG: bool = true; + +pub(crate) const POSTING_BUFFER_SIZE: usize = 400_000_000; +pub(crate) const MAX_QUERY_TERM_NUMBER: usize = 100; +pub(crate) const SEGMENT_KEY_CAPACITY: usize = 1000; + +/// A document is a flattened, single level of key-value pairs, where key is an arbitrary string, and value represents any valid JSON value. +pub type Document = HashMap; + +/// File type for storing documents: PathBuf, Bytes, None. +#[derive(Clone, PartialEq)] +pub enum FileType { + /// File path + PathBuf(Box), + /// File bytes + Bytes(Box, Box<[u8]>), + /// No file + None, +} + +/// Defines where the index resides during search: +/// - Ram (the complete index is preloaded to Ram when opening the index) +/// - Mmap (the index is accessed via memory-mapped files). See architecture.md for details. +/// - At commit the data is serialized to disk for persistence both in Ram and Mmap mode. +/// - The serialization format is identical for Ram and Mmap mode, allowing to change it retrospectively. +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] +pub enum AccessType { + /// Ram (the complete index is preloaded to Ram when opening the index). + /// - Index size is limited by available RAM size. + /// - Slightly fastesr search speed. + /// - Higher index loading time. + /// - Higher RAM usage. + Ram = 0, + /// Mmap (the index is accessed via memory-mapped files). See architecture.md for details. + /// - Enables index size scaling beyond RAM size. + /// - Slightly slower search speed compared to Ram. + /// - Faster index loading time compared to Ram. + /// - Lower RAM usage. + Mmap = 1, +} + +/// Similarity type defines the scoring and ranking of the search results: +/// - Bm25f: considers documents composed from several fields, with different field lengths and importance +/// - Bm25fProximity: considers term proximity, e.g. for implicit phrase search with improved relevancy +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Default, ToSchema)] +pub enum SimilarityType { + /// Bm25f considers documents composed from several fields, with different field lengths and importance + Bm25f = 0, + /// Bm25fProximity considers term proximity, e.g. for implicit phrase search with improved relevancy + #[default] + Bm25fProximity = 1, +} + +/// Defines tokenizer behavior: +/// AsciiAlphabetic +/// - Mainly for for benchmark compatibility +/// - Only ASCII alphabetic chars are recognized as token. +/// +/// UnicodeAlphanumeric +/// - All Unicode alphanumeric chars are recognized as token. +/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. +/// +/// UnicodeAlphanumericFolded +/// - All Unicode alphanumeric chars are recognized as token. +/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. +/// - Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. +/// - Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). +/// - Tokenizing might be slower due to folding and apostroph processing. +/// +/// UnicodeAlphanumericZH +/// - Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. +/// - Supports mixed Latin and Chinese texts +/// - Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. +/// - Requires feature #[cfg(feature = "zh")] +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Copy, Default, ToSchema)] +pub enum TokenizerType { + /// Only ASCII alphabetic chars are recognized as token. Mainly for benchmark compatibility. + #[default] + AsciiAlphabetic = 0, + /// All Unicode alphanumeric chars are recognized as token. + /// Allow '+' '-' '#' in middle or end of a token: c++, c#, block-max. + UnicodeAlphanumeric = 1, + /// All Unicode alphanumeric chars are recognized as token. + /// Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. + /// Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. + /// Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). + /// Tokenizing might be slower due to folding and apostroph processing. + UnicodeAlphanumericFolded = 2, + /// Tokens are separated by whitespace. Mainly for benchmark compatibility. + Whitespace = 3, + /// Tokens are separated by whitespace. Token are converted to lowercase. Mainly for benchmark compatibility. + WhitespaceLowercase = 4, + /// Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. + /// Supports mixed Latin and Chinese texts + /// Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. + /// Requires feature #[cfg(feature = "zh")] + #[cfg(feature = "zh")] + UnicodeAlphanumericZH = 5, +} + +/// Defines stemming behavior, reducing inflected words to their word stem, base or root form. +/// Stemming increases recall, but decreases precision. It can introduce false positive results. +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Copy, Default, ToSchema)] +pub enum StemmerType { + /// No stemming + #[default] + None = 0, + /// Arabic stemmer + Arabic = 1, + /// Danish stemmer + Danish = 2, + /// Dutch stemmer + Dutch = 3, + /// English stemmer + English = 4, + /// Finnish stemmer + Finnish = 5, + /// French stemmer + French = 6, + /// German stemmer + German = 7, + /// Hungarian stemmer + Greek = 8, + /// Hungarian stemmer + Hungarian = 9, + /// Italian stemmer + Italian = 10, + /// Norwegian stemmer + Norwegian = 11, + /// Portuguese stemmer + Portuguese = 12, + /// Romanian stemmer + Romanian = 13, + /// Russian stemmer + Russian = 14, + /// Spanish stemmer + Spanish = 15, + /// Swedish stemmer + Swedish = 16, + /// Tamil stemmer + Tamil = 17, + /// Turkish stemmer + Turkish = 18, +} + +pub(crate) struct LevelIndex { + pub document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]>, + + pub docstore_pointer_docs: Vec, + pub docstore_pointer_docs_pointer: usize, + pub document_length_compressed_array_pointer: usize, +} + +/// Posting lists are divided into blocks of a doc id range of 65.536 (16 bit). +/// Each block can be compressed with a different method. +#[derive(Default, Debug, Deserialize, Serialize, Clone)] +pub(crate) struct BlockObjectIndex { + pub max_block_score: f32, + pub block_id: u32, + pub compression_type_pointer: u32, + pub posting_count: u16, + pub max_docid: u16, + pub max_p_docid: u16, + pub pointer_pivot_p_docid: u16, +} + +/// PostingListObjectIndex owns all blocks of a postinglist of a term +#[derive(Default)] +pub(crate) struct PostingListObjectIndex { + pub posting_count: u32, + pub posting_count_ngram_1: u32, + pub posting_count_ngram_2: u32, + pub posting_count_ngram_3: u32, + pub posting_count_ngram_1_compressed: u8, + pub posting_count_ngram_2_compressed: u8, + pub posting_count_ngram_3_compressed: u8, + pub max_list_score: f32, + pub blocks: Vec, + + pub position_range_previous: u32, +} + +#[derive(Default, Debug, Deserialize, Serialize, Clone)] +pub(crate) struct PostingListObject0 { + pub pointer_first: usize, + pub pointer_last: usize, + pub posting_count: usize, + + pub max_block_score: f32, + pub max_docid: u16, + pub max_p_docid: u16, + + pub ngram_type: NgramType, + pub term_ngram1: String, + pub term_ngram2: String, + pub term_ngram3: String, + pub posting_count_ngram_1: f32, + pub posting_count_ngram_2: f32, + pub posting_count_ngram_3: f32, + pub posting_count_ngram_1_compressed: u8, + pub posting_count_ngram_2_compressed: u8, + pub posting_count_ngram_3_compressed: u8, + + pub position_count: usize, + pub pointer_pivot_p_docid: u16, + pub size_compressed_positions_key: usize, + pub docid_delta_max: u16, + pub docid_old: u16, + pub compression_type_pointer: u32, +} + +/// Type of posting list compression. +#[derive(Default, Debug, Deserialize, Serialize, Clone, PartialEq, FromPrimitive)] +pub(crate) enum CompressionType { + Delta = 0, + Array = 1, + Bitmap = 2, + Rle = 3, + #[default] + Error = 4, +} + +pub(crate) struct QueueObject<'a> { + pub query_list: Vec>, + pub query_index: usize, + pub max_score: f32, +} + +/// PostingListObjectQuery manages thes posting list for each unique query term during intersection. +#[derive(Clone)] +pub(crate) struct PostingListObjectQuery<'a> { + pub posting_count: u32, + pub max_list_score: f32, + pub blocks: &'a Vec, + pub blocks_index: usize, + + pub term: String, + pub key0: u32, + + pub compression_type: CompressionType, + pub rank_position_pointer_range: u32, + pub compressed_doc_id_range: usize, + pub pointer_pivot_p_docid: u16, + + pub posting_pointer: usize, + pub posting_pointer_previous: usize, + + pub byte_array: &'a [u8], + + pub p_block: i32, + pub p_block_max: i32, + pub p_docid: usize, + pub p_docid_count: usize, + + pub rangebits: i32, + pub docid: i32, + pub bitposition: u32, + + pub intersect: u64, + pub ulong_pos: usize, + + pub run_end: i32, + pub p_run: i32, + pub p_run_count: i32, + pub p_run_sum: i32, + + pub term_index_unique: usize, + pub positions_count: u32, + pub positions_pointer: u32, + + pub idf: f32, + pub idf_ngram1: f32, + pub idf_ngram2: f32, + pub idf_ngram3: f32, + pub tf_ngram1: u32, + pub tf_ngram2: u32, + pub tf_ngram3: u32, + pub ngram_type: NgramType, + + pub end_flag: bool, + pub end_flag_block: bool, + pub is_embedded: bool, + pub embedded_positions: [u32; 4], + pub field_vec: SmallVec<[(u16, usize); 2]>, + pub field_vec_ngram1: SmallVec<[(u16, usize); 2]>, + pub field_vec_ngram2: SmallVec<[(u16, usize); 2]>, + pub field_vec_ngram3: SmallVec<[(u16, usize); 2]>, + pub bm25_flag: bool, +} + +pub(crate) static DUMMY_VEC: Vec = Vec::new(); +pub(crate) static DUMMY_VEC_8: Vec = Vec::new(); + +impl Default for PostingListObjectQuery<'_> { + fn default() -> Self { + Self { + posting_count: 0, + max_list_score: 0.0, + blocks: &DUMMY_VEC, + blocks_index: 0, + term: "".to_string(), + key0: 0, + compression_type: CompressionType::Error, + rank_position_pointer_range: 0, + compressed_doc_id_range: 0, + pointer_pivot_p_docid: 0, + posting_pointer: 0, + posting_pointer_previous: 0, + byte_array: &DUMMY_VEC_8, + p_block: 0, + p_block_max: 0, + p_docid: 0, + p_docid_count: 0, + rangebits: 0, + docid: 0, + bitposition: 0, + run_end: 0, + p_run: 0, + p_run_count: 0, + p_run_sum: 0, + term_index_unique: 0, + positions_count: 0, + positions_pointer: 0, + idf: 0.0, + idf_ngram1: 0.0, + idf_ngram2: 0.0, + idf_ngram3: 0.0, + ngram_type: NgramType::SingleTerm, + is_embedded: false, + embedded_positions: [0; 4], + field_vec: SmallVec::new(), + tf_ngram1: 0, + tf_ngram2: 0, + tf_ngram3: 0, + field_vec_ngram1: SmallVec::new(), + field_vec_ngram2: SmallVec::new(), + field_vec_ngram3: SmallVec::new(), + + end_flag: false, + end_flag_block: false, + bm25_flag: true, + intersect: 0, + ulong_pos: 0, + } + } +} + +/// NonUniquePostingListObjectQuery manages these posting list for each non-unique query term during intersection. +/// It references to the unique query terms. +#[derive(Clone)] +pub(crate) struct NonUniquePostingListObjectQuery<'a> { + pub term_index_unique: usize, + pub term_index_nonunique: usize, + pub pos: u32, + pub p_pos: i32, + pub positions_pointer: usize, + pub positions_count: u32, + pub byte_array: &'a [u8], + pub key0: u32, + pub is_embedded: bool, + pub embedded_positions: [u32; 4], + pub p_field: usize, + pub field_vec: SmallVec<[(u16, usize); 2]>, +} + +/// Terms are converted to hashs. The index is divided into key hash range partitioned segments. +/// for each strip (key hash range) a separate dictionary (key hash - posting list) is maintained. +/// The index hash multiple segments, each segments contains multiple terms, each term has a postinglist, each postinglist has multiple blocks. +pub(crate) struct SegmentIndex { + pub byte_array_blocks: Vec>, + pub byte_array_blocks_pointer: Vec<(usize, usize, u32)>, + pub segment: AHashMap, +} + +/// StripObject0 defines a strip (key hash range) within level 0. Level 0 is the mutable level where all writes are taking place. +/// After each 65.536 docs the level 0 is flushed as an immutable block to the next level +#[derive(Default, Debug, Clone)] +pub(crate) struct SegmentLevel0 { + pub segment: AHashMap, + pub positions_compressed: Vec, +} + +/// FieldType defines the type of a field in the document: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point, string, stringset, text. +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Default, ToSchema)] +pub enum FieldType { + /// Unsigned 8-bit integer + U8, + /// Unsigned 16-bit integer + U16, + /// Unsigned 32-bit integer + U32, + /// Unsigned 64-bit integer + U64, + /// Signed 8-bit integer + I8, + /// Signed 16-bit integer + I16, + /// Signed 32-bit integer + I32, + /// Signed 64-bit integer + I64, + /// Timestamp is identical to I64, but to be used for Unix timestamps . + /// The reason for a separate FieldType is to enable the UI to interpret I64 as timestamp without using the field name as indicator. + /// For date facets and filtering. + Timestamp, + /// Floating point 32-bit + F32, + /// Floating point 64-bit + F64, + /// Boolean + Bool, + /// String16 + /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. + #[default] + String16, + /// String32 + /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values + String32, + /// StringSet16 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. + /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. + StringSet16, + /// StringSet32 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. + /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values + StringSet32, + /// Point is a geographic field type: A `Vec` with two coordinate values (latitude and longitude) are internally encoded into a single u64 value (Morton code). + /// Morton codes enable efficient range queries. + /// Latitude and longitude are a pair of numbers (coordinates) used to describe a position on the plane of a geographic coordinate system. + /// The numbers are in decimal degrees format and range from -90 to 90 for latitude and -180 to 180 for longitude. + /// Coordinates are internally stored as u64 morton code: both f64 values are multiplied by 10_000_000, converted to i32 and bitwise interleaved into a single u64 morton code + /// The conversion between longitude/latitude coordinates and Morton code is lossy due to rounding errors. + Point, + /// Text is a text field, that will be tokenized by the selected Tokenizer into string tokens. + Text, +} + +/// Defines synonyms for terms per index. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct Synonym { + /// List of terms that are synonyms. + pub terms: Vec, + /// Creates alternative versions of documents where in each copy a term is replaced with one of its synonyms. + /// Doesn't impact the query latency, but does increase the index size. + /// Multi-way synonyms (default): all terms are synonyms of each other. + /// One-way synonyms: only the first term is a synonym of the following terms, but not vice versa. + /// E.g. [street, avenue, road] will result in searches for street to return documents containing any of the terms street, avenue or road, + /// but searches for avenue will only return documents containing avenue, but not documents containing street or road. + /// Currently only single terms without spaces are supported. + /// Synonyms are supported in result highlighting. + /// The synonyms that were created with the synonyms parameter in create_index are stored in synonyms.json in the index directory contains + /// Can be manually modified, but becomes effective only after restart and only for newly indexed documents. + #[serde(default = "default_as_true")] + pub multiway: bool, +} + +fn default_as_true() -> bool { + true +} + +/// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct SchemaField { + /// unique name of a field + pub field: String, + /// only stored fields are returned in the search results + pub stored: bool, + /// only indexed fields can be searched + pub indexed: bool, + /// type of a field + pub field_type: FieldType, + /// optional faceting for a field + /// Faceting can be enabled both for string field type and numerical field types. + /// both numerical and string fields can be indexed (indexed=true) and stored (stored=true) in the json document, + /// but with field_facet=true they are additionally stored in a binary format, for fast faceting and sorting without docstore access (decompression, deserialization) + #[serde(skip_serializing_if = "is_default_bool")] + #[serde(default = "default_false")] + pub facet: bool, + + /// Indicate the longest field in schema. + /// Otherwise the longest field will be automatically detected in first index_document. + /// Setting/detecting the longest field ensures efficient index encoding. + #[serde(skip_serializing_if = "is_default_bool")] + #[serde(default = "default_false")] + pub longest: bool, + + /// optional custom weight factor for Bm25 ranking + #[serde(skip_serializing_if = "is_default_f32")] + #[serde(default = "default_1")] + pub boost: f32, + + /// if both indexed=true and dictionary_source=true then the terms from this field are added to dictionary to the spelling correction dictionary. + /// if disabled, then a manually generated dictionary can be used: {index_path}/dictionary.csv + #[serde(skip_serializing_if = "is_default_bool")] + #[serde(default = "default_false")] + pub dictionary_source: bool, + + /// if both indexed=true and completion_source=true then the n-grams (unigrams, bigrams, trigrams) from this field are added to the auto-completion list. + /// if disabled, then a manually generated completion list can be used: {index_path}/completions.csv + /// it is recommended to enable completion_source only for fields that contain short text with high-quality terms for auto-completion, e.g. title, author, category, product name, tags, + /// in order to keep the extraction time and RAM requirement for completions low and the completions relevance high. + #[serde(skip_serializing_if = "is_default_bool")] + #[serde(default = "default_false")] + pub completion_source: bool, + + #[serde(skip)] + pub(crate) indexed_field_id: usize, + #[serde(skip_deserializing)] + pub(crate) field_id: usize, +} + +/// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. +/// # Parameters +/// - field: unique name of a field +/// - stored: only stored fields are returned in the search results +/// - indexed: only indexed fields can be searched +/// - field_type: type of a field: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point +/// - facet: enable faceting for a field: for sorting results by field values, for range filtering, for result count per field value or range +/// - `longest`: This allows to annotate (manually set) the longest field in schema. +/// Otherwise the longest field will be automatically detected in first index_document. +/// Setting/detecting the longest field ensures efficient index encoding. +/// - boost: optional custom weight factor for Bm25 ranking +/// # Returns +/// - SchemaField +/// # Example +/// ```rust +/// use seekstorm::index::{SchemaField, FieldType}; +/// let schema_field = SchemaField::new("title".to_string(), true, true, FieldType::String16, false, false, 1.0, false, false); +/// ``` +impl SchemaField { + /// Creates a new SchemaField. + #[allow(clippy::too_many_arguments)] + pub fn new( + field: String, + stored: bool, + indexed: bool, + field_type: FieldType, + facet: bool, + longest: bool, + boost: f32, + dictionary_source: bool, + completion_source: bool, + ) -> Self { + SchemaField { + field, + stored, + indexed, + field_type, + facet, + longest, + boost, + dictionary_source, + completion_source, + + indexed_field_id: 0, + field_id: 0, + } + } +} + +fn default_false() -> bool { + false +} + +fn is_default_bool(num: &bool) -> bool { + !(*num) +} + +fn default_1() -> f32 { + 1.0 +} + +fn is_default_f32(num: &f32) -> bool { + *num == 1.0 +} + +pub(crate) struct IndexedField { + pub schema_field_name: String, + pub field_length_sum: usize, + pub indexed_field_id: usize, + + pub is_longest_field: bool, +} + +/// StopwordType defines the stopword behavior: None, English, German, French, Spanish, Custom. +/// Stopwords are removed, both from index and query: for compact index size and faster queries. +/// Stopword removal has drawbacks: “The Who”, “Take That”, “Let it be”, “To be or not to be”, "The The", "End of days", "What might have been" are all valid queries for bands, songs, movies, literature, +/// but become impossible when stopwords are removed. +/// The lists of stop_words and frequent_words should not overlap. +#[derive(Debug, Clone, Deserialize, Serialize, Default, ToSchema)] +pub enum StopwordType { + /// No stopwords + #[default] + None, + /// English stopwords + English, + /// German stopwords + German, + /// French stopwords + French, + /// Spanish stopwords + Spanish, + /// Custom stopwords + Custom { + ///List of stopwords. + terms: Vec, + }, +} + +/// FrequentwordType defines the frequentword behavior: None, English, German, French, Spanish, Custom. +/// Adjacent frequent terms are combined to bi-grams, both in index and query: for shorter posting lists and faster phrase queries (only for bi-grams of frequent terms). +/// The lists of stop_words and frequent_words should not overlap. +#[derive(Debug, Clone, Deserialize, Serialize, Default, ToSchema)] +pub enum FrequentwordType { + /// No frequent words + None, + /// English frequent words + #[default] + English, + /// German frequent words + German, + /// French frequent words + French, + /// Spanish frequent words + Spanish, + /// Custom frequent words + Custom { + ///List of frequent terms, max. 256 terms. + terms: Vec, + }, +} + +/// Defines spelling correction (fuzzy search) settings for an index. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct SpellingCorrection { + /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. + pub max_dictionary_edit_distance: usize, + /// Term length thresholds for each edit distance. + /// None: max_dictionary_edit_distance for all terms lengths + /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, + /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 + pub term_length_threshold: Option>, + + /// The minimum frequency count for dictionary words to be considered eligible for spelling correction. + /// Depends on the corpus size, 1..20 recommended. + /// If count_threshold is too high, some correct words might be missed from the dictionary and deemed misspelled, + /// if count_threshold is too low, some misspelled words from the corpus might be considered correct and added to the dictionary. + /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold), + /// but the terms below count_threshold will be included in dictionary.csv too. + pub count_threshold: usize, + + /// Limits the maximum number of dictionary entries (terms >= count_threshold) to generate during indexing, preventing excessive RAM consumption. + /// The number of terms in dictionary.csv will be higher, because it contains also the terms < count_threshold, to become eligible in the future during incremental dictionary updates. + /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold). + /// ⚠️ Above this threshold no new terms are added to the dictionary, causing them to be deemed incorrect during spelling correction and possibly changed to similar terms that are in the dictionary. + pub max_dictionary_entries: usize, +} + +/// Defines spelling correction (fuzzy search) settings for an index. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct QueryCompletion { + /// Maximum number of completions to generate during indexing + /// disabled if == 0 + pub max_completion_entries: usize, +} + +/// Specifies SimilarityType, TokenizerType and AccessType when creating an new index +#[derive(Debug, Clone, Deserialize, Serialize)] +pub struct IndexMetaObject { + /// unique index ID + /// Only used in SeekStorm server, not by the SeekStorm library itself. + /// In the SeekStorm server with REST API, the index ID is used to specify the index (within the API key) where you want to index and search. + pub id: u64, + /// index name: used informational purposes + pub name: String, + /// SimilarityType defines the scoring and ranking of the search results: Bm25f or Bm25fProximity + pub similarity: SimilarityType, + /// TokenizerType defines the tokenizer behavior: AsciiAlphabetic, UnicodeAlphanumeric, UnicodeAlphanumericFolded, UnicodeAlphanumericZH + pub tokenizer: TokenizerType, + /// StemmerType defines the stemming behavior: None, Arabic, Armenian, Danish, Dutch, English, French, German, Greek, Hungarian, Italian, Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish, Tamil, Turkish + pub stemmer: StemmerType, + + /// StopwordType defines the stopword behavior: None, English, German, French, Spanish, Custom. + /// Stopwords are removed, both from index and query: for compact index size and faster queries. + /// Stopword removal has drawbacks: “The Who”, “Take That”, “Let it be”, “To be or not to be”, "The The", "End of days", "What might have been" are all valid queries for bands, songs, movies, literature, + /// but become impossible when stopwords are removed. + /// The lists of stop_words and frequent_words should not overlap. + #[serde(default)] + pub stop_words: StopwordType, + /// FrequentwordType defines the frequentword behavior: None, English, German, French, Spanish, Custom. + /// Adjacent frequent terms are combined to bi-grams, both in index and query: for shorter posting lists and faster phrase queries (only for bi-grams of frequent terms). + /// The lists of stop_words and frequent_words should not overlap. + #[serde(default)] + pub frequent_words: FrequentwordType, + /// N-gram indexing: n-grams are indexed in addition to single terms, for fast phrase search, at the cost of higher index size + /// Preference valid both for index time and query time. Any change requires reindexing. + /// bitwise OR flags: + /// SingleTerm = 0b00000000, always enabled in addition to the other optional NgramSet below + /// NgramFF = 0b00000001, frequent frequent + /// NgramFR = 0b00000010, frequent rare + /// NgramRF = 0b00000100, rare frequent + /// NgramFFF = 0b00001000, frequent frequent frequent + /// NgramRFF = 0b00010000, rare frequent frequent + /// NgramFFR = 0b00100000, frequent frequent rare + /// NgramFRF = 0b01000000, frequent rare frequent + /// + /// When **minimum index size** is more important than phrase query latency, we recommend **Single Terms**: + /// `NgramSet::SingleTerm as u8` + /// + /// For a **good balance of latency and index size** cost, we recommend **Single Terms + Frequent Bigrams + Frequent Trigrams** (default): + /// `NgramSet::SingleTerm as u8 | NgramSet::NgramFF as u8 | NgramSet::NgramFFF` + /// + /// When **minimal phrase query latency** is more important than low index size, we recommend **Single Terms + Mixed Bigrams + Frequent Trigrams**: + /// `NgramSet::SingleTerm as u8 | NgramSet::NgramFF as u8 | NgramSet::NgramFR as u8 | NgramSet::NgramRF | NgramSet::NgramFFF` + #[serde(default = "ngram_indexing_default")] + pub ngram_indexing: u8, + + /// AccessType defines where the index resides during search: Ram or Mmap + pub access_type: AccessType, + /// Enable spelling correction for search queries using the SymSpell algorithm. + /// SymSpell enables finding those spelling suggestions in a dictionary very fast with minimum Damerau-Levenshtein edit distance and maximum word occurrence frequency. + /// When enabled, a SymSpell dictionary is incrementally created during indexing of documents and stored in the index. + /// The spelling correction is not based on a generic dictionary, but on a domain specific one derived from your indexed documents (only indexed fields). + /// This makes it language independent and prevents any discrepancy between corrected word and indexed content. + /// The creation of an individual dictionary derived from the indexed documents improves the correction quality compared to a generic dictionary. + /// An dictionary per index improves the privacy compared to a global dictionary derived from all indices. + /// The dictionary is deleted when delete_index or clear_index is called. + /// Note: enabling spelling correction increases the index size, indexing time and query latency. + /// Default: None. Enable by setting CreateDictionary with values for max_dictionary_edit_distance (1..2 recommended) and optionally a term length thresholds for each edit distance. + /// The higher the value, the higher the number of errors taht can be corrected - but also the memory consumption, lookup latency, and the number of false positives. + /// ⚠️ In addition to the create_index parameter `meta.spelling_correction` you also need to set the parameter `query_rewriting` in the search method to enable it per query. + #[serde(default)] + pub spelling_correction: Option, + + /// Enable query completion for search queries + /// When enabled, an auto-completion list is incrementally created during indexing of documents and stored in the index. + /// Because the completions are not based on a generic dictionary, but on a domain specific one derived from your indexed documents (only from indexed fields with completion_source=true), this increases the relevance of completions. + /// ⚠️ Deriving completions from indexed documents increases the indexing time and index size. + #[serde(default)] + pub query_completion: Option, +} + +fn ngram_indexing_default() -> u8 { + NgramSet::NgramFF as u8 | NgramSet::NgramFFF as u8 +} + +#[derive(Debug, Clone, Default)] +pub(crate) struct ResultFacet { + pub field: String, + pub values: AHashMap, + pub prefix: String, + pub length: u32, + pub ranges: Ranges, +} + +/// DistanceUnit defines the unit for distance calculation: kilometers or miles. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, ToSchema)] +pub enum DistanceUnit { + /// Kilometers + Kilometers, + /// Miles + Miles, +} + +/// DistanceField defines a field for proximity search. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct DistanceField { + /// field name of a numeric facet field (currently onyl Point field type supported) + pub field: String, + /// field name of the distance field we are deriving from the numeric facet field (Point type) and the base (Point type) + pub distance: String, + /// base point (lat,lon) for distance calculation + pub base: Point, + /// distance unit for the distance field: kilometers or miles + pub unit: DistanceUnit, +} + +impl Default for DistanceField { + fn default() -> Self { + DistanceField { + field: String::new(), + distance: String::new(), + base: Vec::new(), + unit: DistanceUnit::Kilometers, + } + } +} + +/// MinMaxField represents the minimum and maximum value of a field. +#[derive(Deserialize, Serialize, Debug, Clone, Default)] +pub struct MinMaxField { + /// minimum value of the field + pub min: ValueType, + /// maximum value of the field + pub max: ValueType, +} + +/// MinMaxFieldJson is a JSON representation of the minimum and maximum value of a field. +#[derive(Deserialize, Serialize, Debug, Clone, Default, ToSchema)] +pub struct MinMaxFieldJson { + /// minimum value of the field + pub min: serde_json::Value, + /// maximum value of the field + pub max: serde_json::Value, +} + +/// Value type for a field: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point, none. +#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq)] +pub enum ValueType { + /// Unsigned 8-bit integer + U8(u8), + /// Unsigned 16-bit integer + U16(u16), + /// Unsigned 32-bit integer + U32(u32), + /// Unsigned 64-bit integer + U64(u64), + /// Signed 8-bit integer + I8(i8), + /// Signed 16-bit integer + I16(i16), + /// Signed 32-bit integer + I32(i32), + /// Signed 64-bit integer + I64(i64), + /// Unix timestamp: the number of seconds since 1 January 1970 + Timestamp(i64), + /// Floating point 32-bit + F32(f32), + /// Floating point 64-bit + F64(f64), + /// Geographic Point: a pair of latitude and longitude coordinates and a distance unit (kilometers, miles) + Point(Point, DistanceUnit), + /// No value + #[default] + None, +} + +/// Facet field, with field name and a map of unique values and their count (number of times the specific value appears in the whole index). +#[derive(Deserialize, Serialize, Debug, Clone, Default)] +pub struct FacetField { + /// Facet field name + pub name: String, + /// Vector of facet value names and their count + /// The number of distinct string values and numerical ranges per facet field (cardinality) is limited to 65_536. + /// Once that number is reached, the facet field is not updated anymore (no new values are added, no existing values are counted). + pub values: IndexMap, usize)>, + + /// Minimum value of the facet field + pub min: ValueType, + /// Maximum value of the facet field + pub max: ValueType, + + #[serde(skip)] + pub(crate) offset: usize, + #[serde(skip)] + pub(crate) field_type: FieldType, +} + +/// Facet field, with field name and a vector of unique values and their count (number of times the specific value appears in the whole index). +/// Facet field: a vector of unique values and their count (number of times the specific value appears in the whole index). +pub type Facet = Vec<(String, usize)>; + +/// Shard wrapped in Arc and RwLock for concurrent read and write access. +pub type ShardArc = Arc>; + +/// Index wrapped in Arc and RwLock for concurrent read and write access. +pub type IndexArc = Arc>; + +/// The shard object of the index. It contains all levels and all segments of the index. +/// It also contains all properties that control indexing and intersection. +pub struct Shard { + /// Incompatible index format change: new library can't open old format, and old library can't open new format + pub index_format_version_major: u16, + /// Backward compatible format change: new library can open old format, but old library can't open new format + pub index_format_version_minor: u16, + + /// Number of indexed documents + pub(crate) indexed_doc_count: usize, + /// Number of comitted documents + pub(crate) committed_doc_count: usize, + /// The index countains indexed, but uncommitted documents. Documents will either committed automatically once the number exceeds 64K documents, or once commit is invoked manually. + pub(crate) uncommitted: bool, + + /// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. + pub schema_map: HashMap, + /// List of stored fields in the index: get_document and highlighter work only with stored fields + pub stored_field_names: Vec, + /// Specifies SimilarityType, TokenizerType and AccessType when creating an new index + pub meta: IndexMetaObject, + + pub(crate) is_last_level_incomplete: bool, + pub(crate) last_level_index_file_start_pos: u64, + pub(crate) last_level_docstore_file_start_pos: u64, + + /// Number of allowed parallel indexed documents (default=available_parallelism). Can be used to detect wehen all indexing processes are finished. + pub(crate) permits: Arc, + + pub(crate) docstore_file: File, + pub(crate) docstore_file_mmap: Mmap, + + pub(crate) delete_file: File, + pub(crate) delete_hashset: AHashSet, + + pub(crate) index_file: File, + pub(crate) index_path_string: String, + pub(crate) index_file_mmap: Mmap, + + pub(crate) compressed_index_segment_block_buffer: Vec, + pub(crate) compressed_docstore_segment_block_buffer: Vec, + + pub(crate) segment_number1: usize, + pub(crate) segment_number_bits1: usize, + + pub(crate) document_length_normalized_average: f32, + pub(crate) positions_sum_normalized: u64, + + pub(crate) level_index: Vec, + pub(crate) segments_index: Vec, + pub(crate) segments_level0: Vec, + + pub(crate) enable_fallback: bool, + pub(crate) enable_single_term_topk: bool, + pub(crate) enable_search_quality_test: bool, + pub(crate) enable_inter_query_threading: bool, + pub(crate) enable_inter_query_threading_auto: bool, + + pub(crate) segment_number_mask1: u32, + + pub(crate) indexed_field_vec: Vec, + pub(crate) indexed_field_id_bits: usize, + pub(crate) indexed_field_id_mask: usize, + pub(crate) longest_field_id: usize, + pub(crate) longest_field_auto: bool, + pub(crate) indexed_schema_vec: Vec, + + pub(crate) document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]>, + pub(crate) key_count_sum: u64, + + pub(crate) block_id: usize, + pub(crate) strip_compressed_sum: u64, + pub(crate) postings_buffer: Vec, + pub(crate) postings_buffer_pointer: usize, + + pub(crate) size_compressed_positions_index: u64, + pub(crate) size_compressed_docid_index: u64, + + pub(crate) postinglist_count: usize, + pub(crate) docid_count: usize, + pub(crate) position_count: usize, + + pub(crate) mute: bool, + pub(crate) frequentword_results: AHashMap, + + pub(crate) facets: Vec, + pub(crate) facets_map: AHashMap, + pub(crate) facets_size_sum: usize, + pub(crate) facets_file: File, + pub(crate) facets_file_mmap: MmapMut, + pub(crate) bm25_component_cache: [f32; 256], + + pub(crate) string_set_to_single_term_id_vec: Vec>>, + + pub(crate) synonyms_map: AHashMap, + + #[cfg(feature = "zh")] + pub(crate) word_segmentation_option: Option, + + pub(crate) shard_number: usize, + pub(crate) index_option: Option>>, + pub(crate) stemmer: Option, + + pub(crate) stop_words: AHashSet, + pub(crate) frequent_words: Vec, + pub(crate) frequent_hashset: AHashSet, + pub(crate) key_head_size: usize, + pub(crate) level_terms: AHashMap, + pub(crate) level_completions: Arc, usize>>>, +} + +/// The root object of the index. It contains all levels and all segments of the index. +/// It also contains all properties that control indexing and intersection. +pub struct Index { + /// Incompatible index format change: new library can't open old format, and old library can't open new format + pub index_format_version_major: u16, + /// Backward compatible format change: new library can open old format, but old library can't open new format + pub index_format_version_minor: u16, + + /// Number of indexed documents + pub(crate) indexed_doc_count: usize, + + /// Number of deleted documents + pub(crate) deleted_doc_count: usize, + + /// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. + pub schema_map: HashMap, + /// List of stored fields in the index: get_document and highlighter work only with stored fields + pub stored_field_names: Vec, + /// Specifies SimilarityType, TokenizerType and AccessType when creating an new index + pub meta: IndexMetaObject, + + pub(crate) index_file: File, + pub(crate) index_path_string: String, + + pub(crate) compressed_index_segment_block_buffer: Vec, + + pub(crate) segment_number1: usize, + pub(crate) segment_number_mask1: u32, + + pub(crate) indexed_field_vec: Vec, + + pub(crate) mute: bool, + + pub(crate) facets: Vec, + + pub(crate) synonyms_map: AHashMap, + + pub(crate) shard_number: usize, + pub(crate) shard_bits: usize, + pub(crate) shard_vec: Vec>>, + pub(crate) shard_queue: Arc>>, + + pub(crate) max_dictionary_entries: usize, + pub(crate) symspell_option: Option>>, + + pub(crate) max_completion_entries: usize, + pub(crate) completion_option: Option>>, + + pub(crate) frequent_hashset: AHashSet, +} + +///SynonymItem is a vector of tuples: (synonym term, (64-bit synonym term hash, 64-bit synonym term hash)) +pub type SynonymItem = Vec<(String, (u64, u32))>; + +/// Get the version of the SeekStorm search library +pub fn version() -> &'static str { + VERSION +} + +pub(crate) fn get_synonyms_map( + synonyms: &[Synonym], + segment_number_mask1: u32, +) -> AHashMap { + let mut synonyms_map: AHashMap = AHashMap::new(); + for synonym in synonyms.iter() { + if synonym.terms.len() > 1 { + let mut hashes: Vec<(String, (u64, u32))> = Vec::new(); + for term in synonym.terms.iter() { + let term_bytes = term.to_lowercase(); + hashes.push(( + term.to_string(), + ( + hash64(term_bytes.as_bytes()), + hash32(term_bytes.as_bytes()) & segment_number_mask1, + ), + )); + } + if synonym.multiway { + for (i, hash) in hashes.iter().enumerate() { + let new_synonyms = if i == 0 { + hashes[1..].to_vec() + } else if i == hashes.len() - 1 { + hashes[..hashes.len() - 1].to_vec() + } else { + [&hashes[..i], &hashes[(i + 1)..]].concat() + }; + + if let Some(item) = synonyms_map.get_mut(&hash.1.0) { + *item = item + .clone() + .into_iter() + .chain(new_synonyms.into_iter()) + .collect::>() + .into_iter() + .collect(); + } else { + synonyms_map.insert(hash.1.0, new_synonyms); + } + } + } else { + synonyms_map.insert(hashes[0].1.0, hashes[1..].to_vec()); + } + } + } + synonyms_map +} + +/// N-gram indexing: n-grams are indexed in addition to single terms, for faster phrase search, at the cost of higher index size +/// Setting valid both for index time and query time. Any change requires reindexing. +/// bitwise OR flags: +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, FromPrimitive)] +pub enum NgramSet { + /// no n-grams, only single terms are indexed + SingleTerm = 0b00000000, + /// Ngram frequent frequent + NgramFF = 0b00000001, + /// Ngram frequent rare + NgramFR = 0b00000010, + /// Ngram rare frequent + NgramRF = 0b00000100, + /// Ngram frequent frequent frequent + NgramFFF = 0b00001000, + /// Ngram rare frequent frequent + NgramRFF = 0b00010000, + /// Ngram frequent frequent rare + NgramFFR = 0b00100000, + /// Ngram frequent rare frequent + NgramFRF = 0b01000000, +} + +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, FromPrimitive, Default)] +pub(crate) enum NgramType { + /// no n-grams, only single terms are indexed + #[default] + SingleTerm = 0, + /// Ngram frequent frequent + NgramFF = 1, + /// Ngram frequent rare + NgramFR = 2, + /// Ngram rare frequent + NgramRF = 3, + /// Ngram frequent frequent frequent + NgramFFF = 4, + /// Ngram rare frequent frequent + NgramRFF = 5, + /// Ngram frequent frequent rare + NgramFFR = 6, + /// Ngram frequent rare frequent + NgramFRF = 7, +} + +/// Create index in RAM. +/// Inner data structures for create index and open_index +/// * `index_path` - index path. +/// * `meta` - index meta object. +/// * `schema` - schema. +/// * `synonyms` - vector of synonyms. +/// * `segment_number_bits1` - number of index segments: e.g. 11 bits for 2048 segments. +/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). +/// * `force_shard_number` - set number of shards manually or automatically. +/// - none: number of shards is set automatically = number of physical processor cores (default) +/// - small: slower indexing, higher latency, slightly higher throughput, faster realtime search, lower RAM consumption +/// - large: faster indexing, lower latency, slightly lower throughput, slower realtime search, higher RAM consumption +pub async fn create_index( + index_path: PathBuf, + meta: IndexMetaObject, + schema: &Vec, + synonyms: &Vec, + segment_number_bits1: usize, + mute: bool, + force_shard_number: Option, +) -> Result { + create_index_root( + index_path, + meta, + schema, + true, + synonyms, + segment_number_bits1, + mute, + force_shard_number, + ) + .await +} + +#[allow(clippy::too_many_arguments)] +pub(crate) async fn create_index_root( + index_path: PathBuf, + meta: IndexMetaObject, + schema: &Vec, + serialize_schema: bool, + synonyms: &Vec, + segment_number_bits1: usize, + mute: bool, + force_shard_number: Option, +) -> Result { + let frequent_hashset: AHashSet = match &meta.frequent_words { + FrequentwordType::None => AHashSet::new(), + FrequentwordType::English => FREQUENT_EN.lines().map(|x| hash64(x.as_bytes())).collect(), + FrequentwordType::German => FREQUENT_EN.lines().map(|x| hash64(x.as_bytes())).collect(), + FrequentwordType::French => FREQUENT_FR.lines().map(|x| hash64(x.as_bytes())).collect(), + FrequentwordType::Spanish => FREQUENT_ES.lines().map(|x| hash64(x.as_bytes())).collect(), + FrequentwordType::Custom { terms } => terms.iter().map(|x| hash64(x.as_bytes())).collect(), + }; + + let segment_number1 = 1usize << segment_number_bits1; + let segment_number_mask1 = (1u32 << segment_number_bits1) - 1; + + let index_path_buf = index_path.to_path_buf(); + let index_path_string = index_path_buf.to_str().unwrap(); + + if !index_path.exists() { + if !mute { + println!("index path created: {} ", index_path_string); + } + fs::create_dir_all(index_path).unwrap(); + } + + let file_path = PathBuf::new(index_path_string).join(FILE_PATH); + if !file_path.exists() { + if !mute { + println!("index directory created: {} ", file_path.display()); + } + fs::create_dir_all(file_path).unwrap(); + } + + match File::options() + .read(true) + .write(true) + .create(true) + .truncate(false) + .open(PathBuf::new(index_path).join(INDEX_FILENAME)) + { + Ok(index_file) => { + let mut document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]> = Vec::new(); + let mut indexed_field_vec: Vec = Vec::new(); + let mut facets_vec: Vec = Vec::new(); + let mut facets_map: AHashMap = AHashMap::new(); + + let mut schema_map: HashMap = HashMap::new(); + let mut indexed_schema_vec: Vec = Vec::new(); + let mut stored_field_names = Vec::new(); + let mut facets_size_sum = 0; + let mut longest_field_id_option: Option = None; + for (i, schema_field) in schema.iter().enumerate() { + let mut schema_field_clone = schema_field.clone(); + schema_field_clone.indexed_field_id = indexed_field_vec.len(); + if schema_field.longest && schema_field.indexed { + longest_field_id_option = Some(schema_field_clone.indexed_field_id); + } + + schema_field_clone.field_id = i; + schema_map.insert(schema_field.field.clone(), schema_field_clone.clone()); + + if schema_field.facet { + let facet_size = match schema_field.field_type { + FieldType::U8 => 1, + FieldType::U16 => 2, + FieldType::U32 => 4, + FieldType::U64 => 8, + FieldType::I8 => 1, + FieldType::I16 => 2, + FieldType::I32 => 4, + FieldType::I64 => 8, + FieldType::Timestamp => 8, + FieldType::F32 => 4, + FieldType::F64 => 8, + FieldType::String16 => 2, + FieldType::String32 => 4, + FieldType::StringSet16 => 2, + FieldType::StringSet32 => 4, + FieldType::Point => 8, + _ => 1, + }; + + facets_map.insert(schema_field.field.clone(), facets_vec.len()); + facets_vec.push(FacetField { + name: schema_field.field.clone(), + values: IndexMap::new(), + min: ValueType::None, + max: ValueType::None, + offset: facets_size_sum, + field_type: schema_field.field_type.clone(), + }); + facets_size_sum += facet_size; + } + + if schema_field.indexed { + indexed_field_vec.push(IndexedField { + schema_field_name: schema_field.field.clone(), + is_longest_field: false, + field_length_sum: 0, + indexed_field_id: indexed_field_vec.len(), + }); + indexed_schema_vec.push(schema_field_clone); + document_length_compressed_array.push([0; ROARING_BLOCK_SIZE]); + } + + if schema_field.stored { + stored_field_names.push(schema_field.field.clone()); + } + } + + if !facets_vec.is_empty() + && let Ok(file) = File::open(PathBuf::new(index_path).join(FACET_VALUES_FILENAME)) + && let Ok(facets) = serde_json::from_reader(BufReader::new(file)) + { + let mut facets: Vec = facets; + if facets_vec.len() == facets.len() { + for i in 0..facets.len() { + facets[i].offset = facets_vec[i].offset; + facets[i].field_type = facets_vec[i].field_type.clone(); + } + } + facets_vec = facets; + } + + let synonyms_map = get_synonyms_map(synonyms, segment_number_mask1); + + let shard_number = if let Some(shard_number) = force_shard_number { + shard_number + } else { + num_cpus::get_physical() + }; + let shard_bits = if serialize_schema { + (usize::BITS - (shard_number - 1).leading_zeros()) as usize + } else { + 0 + }; + + let mut shard_vec: Vec>> = Vec::new(); + let mut shard_queue = VecDeque::::new(); + if serialize_schema { + let mut result_object_list = Vec::new(); + let index_path_clone = Arc::new(index_path.to_path_buf()); + for i in 0..shard_number { + let index_path_clone2 = index_path_clone.clone(); + let meta_clone = meta.clone(); + let schema_clone = schema.clone(); + result_object_list.push(tokio::spawn(async move { + let shard_path = index_path_clone2.join("shards").join(i.to_string()); + let mut shard_meta = meta_clone.clone(); + shard_meta.id = i as u64; + let mut shard = create_shard( + &shard_path, + &shard_meta, + &schema_clone, + serialize_schema, + &Vec::new(), + segment_number_bits1, + mute, + longest_field_id_option, + ) + .unwrap(); + shard.shard_number = shard_number; + let shard_arc = Arc::new(RwLock::new(shard)); + (shard_arc, i) + })); + } + for result_object_shard in result_object_list { + let ro_shard = result_object_shard.await.unwrap(); + shard_vec.push(ro_shard.0); + shard_queue.push_back(ro_shard.1); + } + } + + let shard_queue_arc = Arc::new(RwLock::new(shard_queue)); + + let mut index = Index { + index_format_version_major: INDEX_FORMAT_VERSION_MAJOR, + index_format_version_minor: INDEX_FORMAT_VERSION_MINOR, + + index_file, + index_path_string: index_path_string.to_owned(), + stored_field_names, + + compressed_index_segment_block_buffer: vec![0; 10_000_000], + indexed_doc_count: 0, + deleted_doc_count: 0, + segment_number1: 0, + segment_number_mask1: 0, + schema_map, + indexed_field_vec, + meta: meta.clone(), + mute, + facets: facets_vec, + synonyms_map, + + shard_number, + shard_bits, + shard_vec, + shard_queue: shard_queue_arc, + + max_dictionary_entries: if let Some(spelling_correction) = &meta.spelling_correction + { + spelling_correction.max_dictionary_entries + } else { + usize::MAX + }, + + symspell_option: if let Some(spelling_correction) = meta.spelling_correction { + Some(Arc::new(RwLock::new(SymSpell::new( + spelling_correction.max_dictionary_edit_distance, + spelling_correction.term_length_threshold, + 7, + spelling_correction.count_threshold, + )))) + } else { + None + }, + + max_completion_entries: if let Some(query_completion) = &meta.query_completion { + query_completion.max_completion_entries + } else { + usize::MAX + }, + + completion_option: meta + .query_completion + .as_ref() + .map(|_query_completion| Arc::new(RwLock::new(PruningRadixTrie::new()))), + + frequent_hashset, + }; + + let file_len = index.index_file.metadata().unwrap().len(); + if file_len == 0 { + write_u16( + INDEX_FORMAT_VERSION_MAJOR, + &mut index.compressed_index_segment_block_buffer, + 0, + ); + write_u16( + INDEX_FORMAT_VERSION_MINOR, + &mut index.compressed_index_segment_block_buffer, + 2, + ); + let _ = index.index_file.write( + &index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], + ); + } else { + let _ = index.index_file.read( + &mut index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], + ); + index.index_format_version_major = + read_u16(&index.compressed_index_segment_block_buffer, 0); + index.index_format_version_minor = + read_u16(&index.compressed_index_segment_block_buffer, 2); + + if INDEX_FORMAT_VERSION_MAJOR != index.index_format_version_major { + return Err("incompatible index format version ".to_string() + + &INDEX_FORMAT_VERSION_MAJOR.to_string() + + " " + + &index.index_format_version_major.to_string()); + }; + } + + index.segment_number1 = segment_number1; + index.segment_number_mask1 = segment_number_mask1; + + if serialize_schema { + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(SCHEMA_FILENAME)).unwrap(), + &schema, + ) + .unwrap(); + + if !synonyms.is_empty() { + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(SYNONYMS_FILENAME)).unwrap(), + &synonyms, + ) + .unwrap(); + } + + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(META_FILENAME)).unwrap(), + &index.meta, + ) + .unwrap(); + } + + let index_arc = Arc::new(RwLock::new(index)); + + if serialize_schema { + for shard in index_arc.write().await.shard_vec.iter() { + shard.write().await.index_option = Some(index_arc.clone()); + } + } + + Ok(index_arc) + } + Err(e) => { + println!("file opening error"); + Err(e.to_string()) + } + } +} + +#[allow(clippy::too_many_arguments)] +pub(crate) fn create_shard( + index_path: PathBuf, + meta: &IndexMetaObject, + schema: &Vec, + serialize_schema: bool, + synonyms: &Vec, + segment_number_bits1: usize, + mute: bool, + longest_field_id_option: Option, +) -> Result { + let segment_number1 = 1usize << segment_number_bits1; + let segment_number_mask1 = (1u32 << segment_number_bits1) - 1; + + let index_path_buf = index_path.to_path_buf(); + let index_path_string = index_path_buf.to_str().unwrap(); + + if !index_path.exists() { + fs::create_dir_all(index_path).unwrap(); + } + + let file_path = PathBuf::new(index_path_string).join(FILE_PATH); + if !file_path.exists() { + fs::create_dir_all(file_path).unwrap(); + } + + match File::options() + .read(true) + .write(true) + .create(true) + .truncate(false) + .open(PathBuf::new(index_path).join(INDEX_FILENAME)) + { + Ok(index_file) => { + let docstore_file = File::options() + .read(true) + .write(true) + .create(true) + .truncate(false) + .open(PathBuf::new(index_path).join(DOCSTORE_FILENAME)) + .unwrap(); + + let delete_file = File::options() + .read(true) + .write(true) + .create(true) + .truncate(false) + .open(PathBuf::new(index_path).join(DELETE_FILENAME)) + .unwrap(); + + let facets_file = File::options() + .read(true) + .write(true) + .create(true) + .truncate(false) + .open(PathBuf::new(index_path).join(FACET_FILENAME)) + .unwrap(); + + let mut document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]> = Vec::new(); + let mut indexed_field_vec: Vec = Vec::new(); + let mut facets_vec: Vec = Vec::new(); + let mut facets_map: AHashMap = AHashMap::new(); + + let mut schema_map: HashMap = HashMap::new(); + let mut indexed_schema_vec: Vec = Vec::new(); + let mut stored_fields_flag = false; + let mut stored_field_names = Vec::new(); + let mut facets_size_sum = 0; + for (i, schema_field) in schema.iter().enumerate() { + let mut schema_field_clone = schema_field.clone(); + schema_field_clone.indexed_field_id = indexed_field_vec.len(); + schema_field_clone.field_id = i; + schema_map.insert(schema_field.field.clone(), schema_field_clone.clone()); + + if schema_field.facet { + let facet_size = match schema_field.field_type { + FieldType::U8 => 1, + FieldType::U16 => 2, + FieldType::U32 => 4, + FieldType::U64 => 8, + FieldType::I8 => 1, + FieldType::I16 => 2, + FieldType::I32 => 4, + FieldType::I64 => 8, + FieldType::Timestamp => 8, + FieldType::F32 => 4, + FieldType::F64 => 8, + FieldType::String16 => 2, + FieldType::String32 => 4, + FieldType::StringSet16 => 2, + FieldType::StringSet32 => 4, + FieldType::Point => 8, + _ => 1, + }; + + facets_map.insert(schema_field.field.clone(), facets_vec.len()); + facets_vec.push(FacetField { + name: schema_field.field.clone(), + values: IndexMap::new(), + min: ValueType::None, + max: ValueType::None, + offset: facets_size_sum, + field_type: schema_field.field_type.clone(), + }); + facets_size_sum += facet_size; + } + + if schema_field.indexed { + indexed_field_vec.push(IndexedField { + schema_field_name: schema_field.field.clone(), + is_longest_field: false, + field_length_sum: 0, + indexed_field_id: indexed_field_vec.len(), + }); + indexed_schema_vec.push(schema_field_clone); + document_length_compressed_array.push([0; ROARING_BLOCK_SIZE]); + } + + if schema_field.stored { + stored_fields_flag = true; + stored_field_names.push(schema_field.field.clone()); + } + } + + let indexed_field_id_bits = + (usize::BITS - (indexed_field_vec.len() - 1).leading_zeros()) as usize; + + let index_file_mmap; + let docstore_file_mmap = if meta.access_type == AccessType::Mmap { + index_file_mmap = unsafe { Mmap::map(&index_file).expect("Unable to create Mmap") }; + unsafe { Mmap::map(&docstore_file).expect("Unable to create Mmap") } + } else { + index_file_mmap = unsafe { + MmapOptions::new() + .len(0) + .map(&index_file) + .expect("Unable to create Mmap") + }; + unsafe { + MmapOptions::new() + .len(0) + .map(&docstore_file) + .expect("Unable to create Mmap") + } + }; + + if !facets_vec.is_empty() + && let Ok(file) = File::open(PathBuf::new(index_path).join(FACET_VALUES_FILENAME)) + && let Ok(facets) = serde_json::from_reader(BufReader::new(file)) + { + let mut facets: Vec = facets; + if facets_vec.len() == facets.len() { + for i in 0..facets.len() { + facets[i].offset = facets_vec[i].offset; + facets[i].field_type = facets_vec[i].field_type.clone(); + } + } + facets_vec = facets; + } + + let facets_file_mmap = if !facets_vec.is_empty() { + if facets_file.metadata().unwrap().len() == 0 { + facets_file + .set_len((facets_size_sum * ROARING_BLOCK_SIZE) as u64) + .expect("Unable to set len"); + } + + unsafe { MmapMut::map_mut(&facets_file).expect("Unable to create Mmap") } + } else { + unsafe { MmapMut::map_mut(&facets_file).expect("Unable to create Mmap") } + }; + + let synonyms_map = get_synonyms_map(synonyms, segment_number_mask1); + + let facets_len = facets_vec.len(); + + #[cfg(feature = "zh")] + let word_segmentation_option = if meta.tokenizer == TokenizerType::UnicodeAlphanumericZH + { + let mut word_segmentation = WordSegmentationTM::new(); + word_segmentation.load_dictionary(0, 1, true); + Some(word_segmentation) + } else { + None + }; + + let shard_number = 1; + + let stemmer = match meta.stemmer { + StemmerType::Arabic => Some(Stemmer::create(Algorithm::Arabic)), + StemmerType::Danish => Some(Stemmer::create(Algorithm::Danish)), + StemmerType::Dutch => Some(Stemmer::create(Algorithm::Dutch)), + StemmerType::English => Some(Stemmer::create(Algorithm::English)), + StemmerType::Finnish => Some(Stemmer::create(Algorithm::Finnish)), + StemmerType::French => Some(Stemmer::create(Algorithm::French)), + StemmerType::German => Some(Stemmer::create(Algorithm::German)), + StemmerType::Greek => Some(Stemmer::create(Algorithm::Greek)), + StemmerType::Hungarian => Some(Stemmer::create(Algorithm::Hungarian)), + StemmerType::Italian => Some(Stemmer::create(Algorithm::Italian)), + StemmerType::Norwegian => Some(Stemmer::create(Algorithm::Norwegian)), + StemmerType::Portuguese => Some(Stemmer::create(Algorithm::Portuguese)), + StemmerType::Romanian => Some(Stemmer::create(Algorithm::Romanian)), + StemmerType::Russian => Some(Stemmer::create(Algorithm::Russian)), + StemmerType::Spanish => Some(Stemmer::create(Algorithm::Spanish)), + StemmerType::Swedish => Some(Stemmer::create(Algorithm::Swedish)), + StemmerType::Tamil => Some(Stemmer::create(Algorithm::Tamil)), + StemmerType::Turkish => Some(Stemmer::create(Algorithm::Turkish)), + _ => None, + }; + + let stop_words: AHashSet = match &meta.stop_words { + StopwordType::None => AHashSet::new(), + StopwordType::English => FREQUENT_EN.lines().map(|x| x.to_string()).collect(), + StopwordType::German => FREQUENT_DE.lines().map(|x| x.to_string()).collect(), + StopwordType::French => FREQUENT_FR.lines().map(|x| x.to_string()).collect(), + StopwordType::Spanish => FREQUENT_ES.lines().map(|x| x.to_string()).collect(), + StopwordType::Custom { terms } => terms.iter().map(|x| x.to_string()).collect(), + }; + + let frequent_words: Vec = match &meta.frequent_words { + FrequentwordType::None => Vec::new(), + FrequentwordType::English => { + let mut words: Vec = + FREQUENT_EN.lines().map(|x| x.to_string()).collect(); + words.sort_unstable(); + words + } + FrequentwordType::German => { + let mut words: Vec = + FREQUENT_DE.lines().map(|x| x.to_string()).collect(); + words.sort_unstable(); + words + } + FrequentwordType::French => { + let mut words: Vec = + FREQUENT_FR.lines().map(|x| x.to_string()).collect(); + words.sort_unstable(); + words + } + FrequentwordType::Spanish => { + let mut words: Vec = + FREQUENT_ES.lines().map(|x| x.to_string()).collect(); + words.sort_unstable(); + words + } + FrequentwordType::Custom { terms } => { + let mut words: Vec = terms.iter().map(|x| x.to_string()).collect(); + words.sort_unstable(); + words + } + }; + + let frequent_hashset: AHashSet = frequent_words + .iter() + .map(|x| hash64(x.as_bytes())) + .collect(); + + let mut index = Shard { + index_format_version_major: INDEX_FORMAT_VERSION_MAJOR, + index_format_version_minor: INDEX_FORMAT_VERSION_MINOR, + docstore_file, + delete_file, + delete_hashset: AHashSet::new(), + index_file, + index_path_string: index_path_string.to_owned(), + index_file_mmap, + docstore_file_mmap, + stored_field_names, + compressed_index_segment_block_buffer: vec![0; 10_000_000], + compressed_docstore_segment_block_buffer: if stored_fields_flag { + vec![0; ROARING_BLOCK_SIZE * 4] + } else { + Vec::new() + }, + document_length_normalized_average: 0.0, + indexed_doc_count: 0, + committed_doc_count: 0, + is_last_level_incomplete: false, + last_level_index_file_start_pos: 0, + last_level_docstore_file_start_pos: 0, + positions_sum_normalized: 0, + segment_number1: 0, + segment_number_bits1, + segment_number_mask1: 0, + level_index: Vec::new(), + segments_index: Vec::new(), + segments_level0: Vec::new(), + uncommitted: false, + enable_fallback: false, + enable_single_term_topk: false, + enable_search_quality_test: false, + enable_inter_query_threading: false, + enable_inter_query_threading_auto: false, + schema_map, + indexed_field_id_bits, + indexed_field_id_mask: (1usize << indexed_field_id_bits) - 1, + longest_field_id: longest_field_id_option.unwrap_or_default(), + longest_field_auto: longest_field_id_option.is_none(), + indexed_field_vec, + indexed_schema_vec, + meta: meta.clone(), + document_length_compressed_array, + key_count_sum: 0, + + block_id: 0, + strip_compressed_sum: 0, + postings_buffer: vec![0; POSTING_BUFFER_SIZE], + postings_buffer_pointer: 0, + + docid_count: 0, + size_compressed_docid_index: 0, + size_compressed_positions_index: 0, + position_count: 0, + postinglist_count: 0, + permits: Arc::new(Semaphore::new(1)), + mute, + frequentword_results: AHashMap::new(), + facets: facets_vec, + facets_map, + facets_size_sum, + facets_file, + facets_file_mmap, + string_set_to_single_term_id_vec: vec![AHashMap::new(); facets_len], + bm25_component_cache: [0.0; 256], + synonyms_map, + #[cfg(feature = "zh")] + word_segmentation_option, + + shard_number, + index_option: None, + stemmer, + stop_words, + frequent_words, + frequent_hashset, + key_head_size: if meta.ngram_indexing == 0 { + 20 + } else if meta.ngram_indexing < 8 { + 22 + } else { + 23 + }, + level_terms: AHashMap::new(), + level_completions: Arc::new(RwLock::new(AHashMap::with_capacity(200_000))), + }; + + let file_len = index.index_file.metadata().unwrap().len(); + if file_len == 0 { + write_u16( + INDEX_FORMAT_VERSION_MAJOR, + &mut index.compressed_index_segment_block_buffer, + 0, + ); + write_u16( + INDEX_FORMAT_VERSION_MINOR, + &mut index.compressed_index_segment_block_buffer, + 2, + ); + let _ = index.index_file.write( + &index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], + ); + } else { + let _ = index.index_file.read( + &mut index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], + ); + index.index_format_version_major = + read_u16(&index.compressed_index_segment_block_buffer, 0); + index.index_format_version_minor = + read_u16(&index.compressed_index_segment_block_buffer, 2); + + if INDEX_FORMAT_VERSION_MAJOR != index.index_format_version_major { + return Err("incompatible index format version ".to_string() + + &INDEX_FORMAT_VERSION_MAJOR.to_string() + + " " + + &index.index_format_version_major.to_string()); + }; + } + + index.segment_number1 = segment_number1; + index.segment_number_mask1 = segment_number_mask1; + index.segments_level0 = vec![ + SegmentLevel0 { + segment: AHashMap::with_capacity(SEGMENT_KEY_CAPACITY), + ..Default::default() + }; + index.segment_number1 + ]; + + index.segments_index = Vec::new(); + for _i in 0..index.segment_number1 { + index.segments_index.push(SegmentIndex { + byte_array_blocks: Vec::new(), + byte_array_blocks_pointer: Vec::new(), + segment: AHashMap::new(), + }); + } + + if serialize_schema { + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(SCHEMA_FILENAME)).unwrap(), + &schema, + ) + .unwrap(); + + if !synonyms.is_empty() { + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(SYNONYMS_FILENAME)).unwrap(), + &synonyms, + ) + .unwrap(); + } + + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(META_FILENAME)).unwrap(), + &index.meta, + ) + .unwrap(); + } + + Ok(index) + } + Err(e) => { + println!("file opening error"); + Err(e.to_string()) + } + } +} + +#[inline(always)] +pub(crate) fn get_document_length_compressed_mmap( + index: &Shard, + field_id: usize, + block_id: usize, + doc_id_block: usize, +) -> u8 { + index.index_file_mmap[index.level_index[block_id].document_length_compressed_array_pointer + + (field_id << 16) + + doc_id_block] +} + +#[allow(clippy::too_many_arguments)] +pub(crate) fn get_max_score( + index: &Shard, + segment: &SegmentIndex, + posting_count_ngram_1: u32, + posting_count_ngram_2: u32, + posting_count_ngram_3: u32, + posting_count: u32, + block_id: usize, + max_docid: usize, + max_p_docid: usize, + pointer_pivot_p_docid: usize, + compression_type_pointer: u32, + ngram_type: &NgramType, +) -> f32 { + let byte_array = if index.meta.access_type == AccessType::Mmap { + &index.index_file_mmap[segment.byte_array_blocks_pointer[block_id].0 + ..segment.byte_array_blocks_pointer[block_id].0 + + segment.byte_array_blocks_pointer[block_id].1] + } else { + &segment.byte_array_blocks[block_id] + }; + + let mut bm25f = 0.0; + + let rank_position_pointer_range: u32 = + compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum; + let rank_position_pointer; + let posting_pointer_size; + let embed_flag; + if max_p_docid < pointer_pivot_p_docid { + posting_pointer_size_sum = max_p_docid as u32 * 2; + rank_position_pointer = read_u16( + byte_array, + rank_position_pointer_range as usize + posting_pointer_size_sum as usize, + ) as u32; + posting_pointer_size = 2; + embed_flag = (rank_position_pointer & 0b10000000_00000000) != 0; + } else { + posting_pointer_size_sum = (max_p_docid as u32) * 3 - pointer_pivot_p_docid as u32; + rank_position_pointer = read_u32( + byte_array, + rank_position_pointer_range as usize + posting_pointer_size_sum as usize, + ); + posting_pointer_size = 3; + embed_flag = (rank_position_pointer & 0b10000000_00000000_00000000) != 0; + }; + + let positions_pointer = if embed_flag { + rank_position_pointer_range as usize + posting_pointer_size_sum as usize + } else { + let pointer_value = if posting_pointer_size == 2 { + rank_position_pointer & 0b01111111_11111111 + } else { + rank_position_pointer & 0b01111111_11111111_11111111 + } as usize; + + rank_position_pointer_range as usize - pointer_value + }; + + let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + let mut field_vec_ngram1 = SmallVec::new(); + let mut field_vec_ngram2 = SmallVec::new(); + let mut field_vec_ngram3 = SmallVec::new(); + + decode_positions_commit( + posting_pointer_size, + embed_flag, + byte_array, + positions_pointer, + ngram_type, + index.indexed_field_vec.len(), + index.indexed_field_id_bits, + index.indexed_field_id_mask, + index.longest_field_id as u16, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + + if ngram_type == &NgramType::SingleTerm + || index.meta.similarity == SimilarityType::Bm25fProximity + { + let idf = (((index.indexed_doc_count as f32 - posting_count as f32 + 0.5) + / (posting_count as f32 + 0.5)) + + 1.0) + .ln(); + + for field in field_vec.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf + * ((tf * (K + 1.0) / (tf + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } else if ngram_type == &NgramType::NgramFF + || ngram_type == &NgramType::NgramFR + || ngram_type == &NgramType::NgramRF + { + let idf_ngram1 = (((index.indexed_doc_count as f32 - posting_count_ngram_1 as f32 + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + let idf_ngram2 = (((index.indexed_doc_count as f32 - posting_count_ngram_2 as f32 + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + + for field in field_vec_ngram1.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } else { + let idf_ngram1 = (((index.indexed_doc_count as f32 - posting_count_ngram_1 as f32 + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + let idf_ngram2 = (((index.indexed_doc_count as f32 - posting_count_ngram_2 as f32 + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + + let idf_ngram3 = (((index.indexed_doc_count as f32 - posting_count_ngram_3 as f32 + 0.5) + / (posting_count_ngram_3 as f32 + 0.5)) + + 1.0) + .ln(); + + for field in field_vec_ngram1.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in field_vec_ngram3.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf_ngram3 = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + bm25f +} + +pub(crate) fn update_list_max_impact_score(index: &mut Shard) { + if index.meta.access_type == AccessType::Mmap { + return; + } + + for key0 in 0..index.segment_number1 { + let keys: Vec = index.segments_index[key0].segment.keys().cloned().collect(); + for key in keys { + let ngram_type = FromPrimitive::from_u64(key & 0b111).unwrap_or(NgramType::SingleTerm); + + let blocks_len = index.segments_index[key0].segment[&key].blocks.len(); + let mut max_list_score = 0.0; + for block_index in 0..blocks_len { + let segment = &index.segments_index[key0]; + let posting_list = &segment.segment[&key]; + let block = &posting_list.blocks[block_index]; + let max_block_score = get_max_score( + index, + segment, + posting_list.posting_count_ngram_1, + posting_list.posting_count_ngram_2, + posting_list.posting_count_ngram_3, + posting_list.posting_count, + block.block_id as usize, + block.max_docid as usize, + block.max_p_docid as usize, + block.pointer_pivot_p_docid as usize, + block.compression_type_pointer, + &ngram_type, + ); + + index.segments_index[key0] + .segment + .get_mut(&key) + .unwrap() + .blocks[block_index] + .max_block_score = max_block_score; + max_list_score = f32::max(max_list_score, max_block_score); + } + index.segments_index[key0] + .segment + .get_mut(&key) + .unwrap() + .max_list_score = max_list_score; + } + } +} + +/// Loads the index from disk into RAM or MMAP. +/// * `index_path` - index path. +/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). +pub(crate) async fn open_shard(index_path: PathBuf, mute: bool) -> Result { + if !mute { + println!("opening index ..."); + } + + let mut index_mmap_position = INDEX_HEADER_SIZE as usize; + let mut docstore_mmap_position = 0; + + match File::open(PathBuf::new(index_path).join(META_FILENAME)) { + Ok(meta_file) => { + let meta: IndexMetaObject = serde_json::from_reader(BufReader::new(meta_file)).unwrap(); + + match File::open(PathBuf::new(index_path).join(SCHEMA_FILENAME)) { + Ok(schema_file) => { + let schema = serde_json::from_reader(BufReader::new(schema_file)).unwrap(); + + let synonyms = if let Ok(synonym_file) = + File::open(PathBuf::new(index_path).join(SYNONYMS_FILENAME)) + { + serde_json::from_reader(BufReader::new(synonym_file)).unwrap_or_default() + } else { + Vec::new() + }; + + match create_shard(index_path, &meta, &schema, false, &synonyms, 11, mute, None) + { + Ok(mut shard) => { + let mut block_count_sum = 0; + + let is_mmap = shard.meta.access_type == AccessType::Mmap; + + let file_len = if is_mmap { + shard.index_file_mmap.len() as u64 + } else { + shard.index_file.metadata().unwrap().len() + }; + + while if is_mmap { + index_mmap_position as u64 + } else { + shard.index_file.stream_position().unwrap() + } < file_len + { + let mut segment_head_vec: Vec<(u32, u32)> = Vec::new(); + for key0 in 0..shard.segment_number1 { + if key0 == 0 { + shard.last_level_index_file_start_pos = if is_mmap { + index_mmap_position as u64 + } else { + shard.index_file.stream_position().unwrap() + }; + + shard.last_level_docstore_file_start_pos = if is_mmap { + docstore_mmap_position as u64 + } else { + shard.docstore_file.stream_position().unwrap() + }; + + if shard.level_index.is_empty() { + let longest_field_id = if is_mmap { + read_u16_ref( + &shard.index_file_mmap, + &mut index_mmap_position, + ) + as usize + } else { + let _ = shard.index_file.read( + &mut shard + .compressed_index_segment_block_buffer + [0..2], + ); + read_u16( + &shard.compressed_index_segment_block_buffer, + 0, + ) + as usize + }; + + for indexed_field in shard.indexed_field_vec.iter_mut() + { + indexed_field.is_longest_field = indexed_field + .indexed_field_id + == longest_field_id; + + if indexed_field.is_longest_field { + shard.longest_field_id = longest_field_id + } + } + } + + let mut document_length_compressed_array_vec: Vec< + [u8; ROARING_BLOCK_SIZE], + > = Vec::new(); + + let document_length_compressed_array_pointer = if is_mmap { + index_mmap_position + } else { + shard.index_file.stream_position().unwrap() as usize + }; + + for _i in 0..shard.indexed_field_vec.len() { + if is_mmap { + index_mmap_position += ROARING_BLOCK_SIZE; + } else { + let mut document_length_compressed_array_item = + [0u8; ROARING_BLOCK_SIZE]; + + let _ = shard.index_file.read( + &mut document_length_compressed_array_item, + ); + document_length_compressed_array_vec + .push(document_length_compressed_array_item); + } + } + + let mut docstore_pointer_docs: Vec = Vec::new(); + + let mut docstore_pointer_docs_pointer = 0; + if !shard.stored_field_names.is_empty() { + if is_mmap { + let docstore_pointer_docs_size = read_u32_ref( + &shard.docstore_file_mmap, + &mut docstore_mmap_position, + ) + as usize; + docstore_pointer_docs_pointer = + docstore_mmap_position; + docstore_mmap_position += + docstore_pointer_docs_size; + } else { + let _ = shard.docstore_file.read( + &mut shard + .compressed_index_segment_block_buffer + [0..4], + ); + + let docstore_pointer_docs_size = read_u32( + &shard.compressed_index_segment_block_buffer, + 0, + ) + as usize; + + docstore_pointer_docs_pointer = + shard.docstore_file.stream_position().unwrap() + as usize; + docstore_pointer_docs = + vec![0; docstore_pointer_docs_size]; + let _ = shard + .docstore_file + .read(&mut docstore_pointer_docs); + } + } + + if is_mmap { + shard.indexed_doc_count = read_u64_ref( + &shard.index_file_mmap, + &mut index_mmap_position, + ) + as usize; + shard.positions_sum_normalized = read_u64_ref( + &shard.index_file_mmap, + &mut index_mmap_position, + ); + + for _key0 in 0..shard.segment_number1 { + let block_length = read_u32_ref( + &shard.index_file_mmap, + &mut index_mmap_position, + ); + let key_count = read_u32_ref( + &shard.index_file_mmap, + &mut index_mmap_position, + ); + + segment_head_vec.push((block_length, key_count)); + } + } else { + let _ = shard.index_file.read( + &mut shard.compressed_index_segment_block_buffer + [0..16], + ); + + shard.indexed_doc_count = read_u64( + &shard.compressed_index_segment_block_buffer, + 0, + ) + as usize; + + shard.positions_sum_normalized = read_u64( + &shard.compressed_index_segment_block_buffer, + 8, + ); + + for _key0 in 0..shard.segment_number1 { + let _ = shard.index_file.read( + &mut shard + .compressed_index_segment_block_buffer + [0..8], + ); + + let block_length = read_u32( + &shard.compressed_index_segment_block_buffer, + 0, + ); + let key_count = read_u32( + &shard.compressed_index_segment_block_buffer, + 4, + ); + segment_head_vec.push((block_length, key_count)); + } + } + + shard.document_length_normalized_average = + shard.positions_sum_normalized as f32 + / shard.indexed_doc_count as f32; + + shard.level_index.push(LevelIndex { + document_length_compressed_array: + document_length_compressed_array_vec, + docstore_pointer_docs, + docstore_pointer_docs_pointer, + document_length_compressed_array_pointer, + }); + } + + let block_length = segment_head_vec[key0].0; + let key_count = segment_head_vec[key0].1; + + let block_id = + (block_count_sum >> shard.segment_number_bits1) as u32; + block_count_sum += 1; + + let key_body_pointer_write_start: u32 = + key_count * shard.key_head_size as u32; + + if is_mmap { + index_mmap_position += + key_count as usize * shard.key_head_size; + shard.segments_index[key0].byte_array_blocks_pointer.push( + ( + index_mmap_position, + (block_length - key_body_pointer_write_start) + as usize, + key_count, + ), + ); + + index_mmap_position += + (block_length - key_body_pointer_write_start) as usize; + } else { + let _ = shard.index_file.read( + &mut shard.compressed_index_segment_block_buffer + [0..(key_count as usize * shard.key_head_size)], + ); + let compressed_index_segment_block_buffer = &shard + .compressed_index_segment_block_buffer + [0..(key_count as usize * shard.key_head_size)]; + + let mut block_array: Vec = vec![ + 0; + (block_length - key_body_pointer_write_start) + as usize + ]; + + let _ = shard.index_file.read(&mut block_array); + shard.segments_index[key0] + .byte_array_blocks + .push(block_array); + + let mut read_pointer = 0; + + let mut posting_count_previous = 0; + let mut pointer_pivot_p_docid_previous = 0; + let mut compression_type_pointer_previous = 0; + + for key_index in 0..key_count { + let key_hash = read_u64_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + let posting_count = read_u16_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + let max_docid = read_u16_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + let max_p_docid = read_u16_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + let mut posting_count_ngram_1 = 0; + let mut posting_count_ngram_2 = 0; + let mut posting_count_ngram_3 = 0; + match shard.key_head_size { + 20 => {} + 22 => { + let posting_count_ngram_1_compressed = + read_u8_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION + [posting_count_ngram_1_compressed + as usize]; + + let posting_count_ngram_2_compressed = + read_u8_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION + [posting_count_ngram_2_compressed + as usize]; + } + _ => { + let posting_count_ngram_1_compressed = + read_u8_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION + [posting_count_ngram_1_compressed + as usize]; + + let posting_count_ngram_2_compressed = + read_u8_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION + [posting_count_ngram_2_compressed + as usize]; + + let posting_count_ngram_3_compressed = + read_u8_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + posting_count_ngram_3 = + DOCUMENT_LENGTH_COMPRESSION + [posting_count_ngram_3_compressed + as usize]; + } + } + + let pointer_pivot_p_docid = read_u16_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + let compression_type_pointer = read_u32_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + if let Some(value) = shard.segments_index[key0] + .segment + .get_mut(&key_hash) + { + value.posting_count += posting_count as u32 + 1; + + value.blocks.push(BlockObjectIndex { + max_block_score: 0.0, + block_id, + posting_count, + max_docid, + max_p_docid, + pointer_pivot_p_docid, + compression_type_pointer, + }); + } else { + let value = PostingListObjectIndex { + posting_count: posting_count as u32 + 1, + posting_count_ngram_1, + posting_count_ngram_2, + posting_count_ngram_3, + max_list_score: 0.0, + position_range_previous: 0, + blocks: vec![BlockObjectIndex { + max_block_score: 0.0, + block_id, + posting_count, + max_docid, + max_p_docid, + pointer_pivot_p_docid, + compression_type_pointer, + }], + ..Default::default() + }; + shard.segments_index[key0] + .segment + .insert(key_hash, value); + }; + + if !shard + .indexed_doc_count + .is_multiple_of(ROARING_BLOCK_SIZE) + && block_id as usize + == shard.indexed_doc_count / ROARING_BLOCK_SIZE + && shard.meta.access_type == AccessType::Ram + { + let position_range_previous = if key_index == 0 { + 0 + } else { + let posting_pointer_size_sum_previous = + pointer_pivot_p_docid_previous as usize * 2 + + if (pointer_pivot_p_docid_previous + as usize) + < posting_count_previous + { + (posting_count_previous + - pointer_pivot_p_docid_previous + as usize) + * 3 + } else { + 0 + }; + + let rank_position_pointer_range_previous= compression_type_pointer_previous & 0b0011_1111_1111_1111_1111_1111_1111_1111; + let compression_type_previous: CompressionType = + FromPrimitive::from_i32( + (compression_type_pointer_previous + >> 30) + as i32, + ) + .unwrap(); + + let compressed_docid_previous = + match compression_type_previous { + CompressionType::Array => { + posting_count_previous * 2 + } + CompressionType::Bitmap => 8192, + CompressionType::Rle => { + let byte_array_docid = &shard + .segments_index[key0] + .byte_array_blocks + [block_id as usize]; + 4 * read_u16( byte_array_docid, rank_position_pointer_range_previous as usize +posting_pointer_size_sum_previous) as usize + 2 + } + _ => 0, + }; + + rank_position_pointer_range_previous + + (posting_pointer_size_sum_previous + + compressed_docid_previous) + as u32 + }; + + let plo = shard.segments_index[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + plo.position_range_previous = + position_range_previous; + + posting_count_previous = posting_count as usize + 1; + pointer_pivot_p_docid_previous = + pointer_pivot_p_docid; + compression_type_pointer_previous = + compression_type_pointer; + }; + } + } + } + } + + shard.committed_doc_count = shard.indexed_doc_count; + shard.is_last_level_incomplete = + !shard.committed_doc_count.is_multiple_of(ROARING_BLOCK_SIZE); + + for (i, component) in shard.bm25_component_cache.iter_mut().enumerate() + { + let document_length_quotient = DOCUMENT_LENGTH_COMPRESSION[i] + as f32 + / shard.document_length_normalized_average; + *component = K * (1.0 - B + B * document_length_quotient); + } + + shard.string_set_to_single_term_id(); + + update_list_max_impact_score(&mut shard); + + let mut reader = BufReader::with_capacity(8192, &shard.delete_file); + while let Ok(buffer) = reader.fill_buf() { + let length = buffer.len(); + + if length == 0 { + break; + } + + for i in (0..length).step_by(8) { + let docid = read_u64(buffer, i); + shard.delete_hashset.insert(docid as usize); + } + + reader.consume(length); + } + + let shard_arc = Arc::new(RwLock::new(shard)); + + warmup(&shard_arc).await; + Ok(shard_arc.clone()) + } + Err(err) => Err(err.to_string()), + } + } + Err(err) => Err(err.to_string()), + } + } + Err(err) => Err(err.to_string()), + } +} + +/// Loads the index from disk into RAM or MMAP. +/// * `index_path` - index path. +/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). +pub async fn open_index(index_path: PathBuf, mute: bool) -> Result { + if !mute { + println!("opening index ..."); + } + + let start_time = Instant::now(); + + match File::open(PathBuf::new(index_path).join(META_FILENAME)) { + Ok(meta_file) => { + let meta: IndexMetaObject = serde_json::from_reader(BufReader::new(meta_file)).unwrap(); + + match File::open(PathBuf::new(index_path).join(SCHEMA_FILENAME)) { + Ok(schema_file) => { + let schema = serde_json::from_reader(BufReader::new(schema_file)).unwrap(); + + let synonyms = if let Ok(synonym_file) = + File::open(PathBuf::new(index_path).join(SYNONYMS_FILENAME)) + { + serde_json::from_reader(BufReader::new(synonym_file)).unwrap_or_default() + } else { + Vec::new() + }; + + match create_index_root( + index_path, meta, &schema, false, &synonyms, 11, false, None, + ) + .await + { + Ok(index_arc) => { + let lock = Arc::into_inner(index_arc).unwrap(); + let index = RwLock::into_inner(lock); + + let index_arc = Arc::new(RwLock::new(index)); + + if let Some(symspell) = + &mut index_arc.read().await.symspell_option.as_ref() + { + let dictionary_path = + PathBuf::new(&index_arc.read().await.index_path_string) + .join(DICTIONARY_FILENAME); + let _ = symspell.write().await.load_dictionary( + &dictionary_path, + 0, + 1, + " ", + ); + } + + if let Some(completion_option) = + &mut index_arc.read().await.completion_option.as_ref() + { + let _ = completion_option.write().await.load_completions( + PathBuf::new(&index_arc.read().await.index_path_string) + .join(COMPLETIONS_FILENAME), + 0, + 1, + ":", + ); + } + + let mut level_count = 0; + + let mut shard_vec: Vec>> = Vec::new(); + let mut shard_queue = VecDeque::::new(); + + let paths: Vec<_> = fs::read_dir(index_path.join("shards")) + .unwrap() + .filter_map(Result::ok) + .collect(); + let mut shard_handle_vec = Vec::new(); + let index_path_clone = Arc::new(index_path.to_path_buf()); + for i in 0..paths.len() { + let index_path_clone2 = index_path_clone.clone(); + shard_handle_vec.push(tokio::spawn(async move { + let path = index_path_clone2.join("shards").join(i.to_string()); + + open_shard(&path, true).await.unwrap() + })); + } + + for shard_handle in shard_handle_vec { + let shard_arc = shard_handle.await.unwrap(); + shard_arc.write().await.index_option = Some(index_arc.clone()); + index_arc.write().await.indexed_doc_count += + shard_arc.read().await.indexed_doc_count; + index_arc.write().await.deleted_doc_count += + shard_arc.read().await.delete_hashset.len(); + level_count += shard_arc.read().await.level_index.len(); + let shard_id = shard_arc.read().await.meta.id; + shard_queue.push_back(shard_id as usize); + shard_vec.push(shard_arc); + } + + index_arc.write().await.shard_number = shard_vec.len(); + index_arc.write().await.shard_bits = + (usize::BITS - (shard_vec.len() - 1).leading_zeros()) as usize; + + for shard in shard_vec.iter() { + shard.write().await.shard_number = shard_vec.len(); + } + + index_arc.write().await.shard_vec = shard_vec; + index_arc.write().await.shard_queue = + Arc::new(RwLock::new(shard_queue)); + + let elapsed_time = start_time.elapsed().as_nanos(); + + if !mute { + let index_ref = index_arc.read().await; + println!( + "{} name {} id {} version {} {} shards {} ngrams {:08b} level {} fields {} {} facets {} docs {} deleted {} segments {} dictionary {} {} completions {} time {} s", + INDEX_FILENAME, + index_ref.meta.name, + index_ref.meta.id, + index_ref.index_format_version_major.to_string() + + "." + + &index_ref.index_format_version_minor.to_string(), + INDEX_FORMAT_VERSION_MAJOR.to_string() + + "." + + &INDEX_FORMAT_VERSION_MINOR.to_string(), + index_ref.shard_count().await, + index_ref.meta.ngram_indexing, + level_count, + index_ref.indexed_field_vec.len(), + index_ref.schema_map.len(), + index_ref.facets.len(), + index_ref.indexed_doc_count.to_formatted_string(&Locale::en), + index_ref.deleted_doc_count.to_formatted_string(&Locale::en), + index_ref.segment_number1, + if let Some(symspell) = index_ref.symspell_option.as_ref() { + symspell + .read() + .await + .get_dictionary_size() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + if let Some(symspell) = index_ref.symspell_option.as_ref() { + symspell + .read() + .await + .get_candidates_size() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + if let Some(completions) = index_ref.completion_option.as_ref() + { + completions + .read() + .await + .len() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + elapsed_time / 1_000_000_000 + ); + } + + Ok(index_arc.clone()) + } + Err(err) => Err(err.to_string()), + } + } + Err(err) => Err(err.to_string()), + } + } + Err(err) => Err(err.to_string()), + } +} + +pub(crate) async fn warmup(shard_object_arc: &ShardArc) { + shard_object_arc.write().await.frequentword_results.clear(); + let mut query_facets: Vec = Vec::new(); + for facet in shard_object_arc.read().await.facets.iter() { + match facet.field_type { + FieldType::String16 => query_facets.push(QueryFacet::String16 { + field: facet.name.clone(), + prefix: "".into(), + length: u16::MAX, + }), + FieldType::String32 => query_facets.push(QueryFacet::String32 { + field: facet.name.clone(), + prefix: "".into(), + length: u32::MAX, + }), + FieldType::StringSet16 => query_facets.push(QueryFacet::StringSet16 { + field: facet.name.clone(), + prefix: "".into(), + length: u16::MAX, + }), + FieldType::StringSet32 => query_facets.push(QueryFacet::StringSet32 { + field: facet.name.clone(), + prefix: "".into(), + length: u32::MAX, + }), + _ => {} + } + } + + let frequent_words = shard_object_arc.read().await.frequent_words.clone(); + for frequentword in frequent_words.iter() { + let results_list = shard_object_arc + .search_shard( + frequentword.to_owned(), + QueryType::Union, + 0, + 1000, + ResultType::TopkCount, + false, + Vec::new(), + query_facets.clone(), + Vec::new(), + Vec::new(), + ) + .await; + + let mut index_mut = shard_object_arc.write().await; + index_mut + .frequentword_results + .insert(frequentword.to_string(), results_list); + } +} + +#[derive(Default, Debug, Deserialize, Serialize, Clone)] +pub(crate) struct TermObject { + pub key_hash: u64, + pub key0: u32, + pub term: String, + + pub ngram_type: NgramType, + + pub term_ngram_2: String, + pub term_ngram_1: String, + pub term_ngram_0: String, + pub field_vec_ngram1: Vec<(usize, u32)>, + pub field_vec_ngram2: Vec<(usize, u32)>, + pub field_vec_ngram3: Vec<(usize, u32)>, + + pub field_positions_vec: Vec>, +} + +#[derive(Default, Debug, Serialize, Deserialize, Clone)] +pub(crate) struct NonUniqueTermObject { + pub term: String, + pub ngram_type: NgramType, + + pub term_ngram_2: String, + pub term_ngram_1: String, + pub term_ngram_0: String, + pub op: QueryType, +} + +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +use ahash::RandomState; +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +use std::sync::LazyLock; + +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +pub static HASHER_32: LazyLock = + LazyLock::new(|| RandomState::with_seeds(805272099, 242851902, 646123436, 591410655)); + +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +pub static HASHER_64: LazyLock = + LazyLock::new(|| RandomState::with_seeds(808259318, 750368348, 84901999, 789810389)); + +#[inline] +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +pub(crate) fn hash32(term_bytes: &[u8]) -> u32 { + HASHER_32.hash_one(term_bytes) as u32 +} + +#[inline] +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +pub(crate) fn hash64(term_bytes: &[u8]) -> u64 { + HASHER_64.hash_one(term_bytes) + & 0b1111111111111111111111111111111111111111111111111111111111111000 +} + +static FREQUENT_EN: &str = include_str!("../../assets/dictionaries/frequent_en.txt"); +static FREQUENT_DE: &str = include_str!("../../assets/dictionaries/frequent_de.txt"); +static FREQUENT_FR: &str = include_str!("../../assets/dictionaries/frequent_fr.txt"); +static FREQUENT_ES: &str = include_str!("../../assets/dictionaries/frequent_es.txt"); + +pub(crate) const NUM_FREE_VALUES: u32 = 24; + +/// Compress an u32 to a byte, preserving 4 significant bits. +/// used for compressing n-gram frequent_term positions_count and doc/field length +/// Ported from Lucene SmallFloat.java https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java +pub(crate) fn int_to_byte4(i: u32) -> u8 { + if i < NUM_FREE_VALUES { + i as u8 + } else { + let ii = i - NUM_FREE_VALUES; + let num_bits = 32 - ii.leading_zeros(); + if num_bits < 4 { + (NUM_FREE_VALUES + ii) as u8 + } else { + let shift = num_bits - 4; + (NUM_FREE_VALUES + (((ii >> shift) & 0x07) | (shift + 1) << 3)) as u8 + } + } +} + +/// Decompress a byte that has been compressed with intToByte4(int), to an u32 +/// used for pre-calculating DOCUMENT_LENGTH_COMPRESSION table. Decompressing n-gram frequent_term positions_count and doc/field length via table lookup. +/// Ported from Lucene SmallFloat.java https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java +pub(crate) const fn byte4_to_int(b: u8) -> u32 { + if (b as u32) < NUM_FREE_VALUES { + b as u32 + } else { + let i = b as u32 - NUM_FREE_VALUES; + let bits = i & 0x07; + let shift = i >> 3; + if shift == 0 { + NUM_FREE_VALUES + bits + } else { + NUM_FREE_VALUES + ((bits | 0x08) << (shift - 1)) + } + } +} + +/// Pre-calculated DOCUMENT_LENGTH_COMPRESSION table for fast lookup. +pub(crate) const DOCUMENT_LENGTH_COMPRESSION: [u32; 256] = { + let mut k2 = [0; 256]; + let mut i = 0usize; + while i < 256 { + k2[i] = byte4_to_int(i as u8); + i += 1; + } + k2 +}; + +impl Shard { + pub(crate) fn string_set_to_single_term_id(&mut self) { + for (i, facet) in self.facets.iter().enumerate() { + if facet.field_type == FieldType::StringSet16 + || facet.field_type == FieldType::StringSet32 + { + for (idx, value) in facet.values.iter().enumerate() { + for term in value.1.0.iter() { + self.string_set_to_single_term_id_vec[i] + .entry(term.to_string()) + .or_insert(AHashSet::from_iter(vec![idx as u32])) + .insert(idx as u32); + } + } + } + } + } + + /// Reset shard to empty, while maintaining schema + async fn clear_shard(&mut self) { + let permit = self.permits.clone().acquire_owned().await.unwrap(); + + self.level_terms.clear(); + + let mut mmap_options = MmapOptions::new(); + let mmap: MmapMut = mmap_options.len(4).map_anon().unwrap(); + self.index_file_mmap = mmap + .make_read_only() + .expect("Unable to make Mmap read-only"); + + let _ = self.index_file.rewind(); + if let Err(e) = self.index_file.set_len(0) { + println!( + "Unable to index_file.set_len in clear_index {} {} {:?}", + self.index_path_string, self.indexed_doc_count, e + ) + }; + + if !self.compressed_docstore_segment_block_buffer.is_empty() { + self.compressed_docstore_segment_block_buffer = vec![0; ROARING_BLOCK_SIZE * 4]; + }; + + write_u16( + INDEX_FORMAT_VERSION_MAJOR, + &mut self.compressed_index_segment_block_buffer, + 0, + ); + write_u16( + INDEX_FORMAT_VERSION_MINOR, + &mut self.compressed_index_segment_block_buffer, + 2, + ); + + let _ = self + .index_file + .write(&self.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize]); + let _ = self.index_file.flush(); + + self.index_file_mmap = + unsafe { Mmap::map(&self.index_file).expect("Unable to create Mmap") }; + + self.docstore_file_mmap = unsafe { + MmapOptions::new() + .len(0) + .map(&self.docstore_file) + .expect("Unable to create Mmap") + }; + + let _ = self.docstore_file.rewind(); + if let Err(e) = self.docstore_file.set_len(0) { + println!("Unable to docstore_file.set_len in clear_index {:?}", e) + }; + let _ = self.docstore_file.flush(); + + let _ = self.delete_file.rewind(); + if let Err(e) = self.delete_file.set_len(0) { + println!("Unable to delete_file.set_len in clear_index {:?}", e) + }; + let _ = self.delete_file.flush(); + self.delete_hashset.clear(); + + self.facets_file_mmap = unsafe { + MmapOptions::new() + .len(0) + .map_mut(&self.facets_file) + .expect("Unable to create Mmap") + }; + let _ = self.facets_file.rewind(); + if let Err(e) = self + .facets_file + .set_len((self.facets_size_sum * ROARING_BLOCK_SIZE) as u64) + { + println!("Unable to facets_file.set_len in clear_index {:?}", e) + }; + let _ = self.facets_file.flush(); + + self.facets_file_mmap = + unsafe { MmapMut::map_mut(&self.facets_file).expect("Unable to create Mmap") }; + let index_path = PathBuf::new(&self.index_path_string); + let _ = fs::remove_file(index_path.join(FACET_VALUES_FILENAME)); + for facet in self.facets.iter_mut() { + facet.values.clear(); + facet.min = ValueType::None; + facet.max = ValueType::None; + } + + if !self.stored_field_names.is_empty() && self.meta.access_type == AccessType::Mmap { + self.docstore_file_mmap = + unsafe { Mmap::map(&self.docstore_file).expect("Unable to create Mmap") }; + } + + self.document_length_normalized_average = 0.0; + self.indexed_doc_count = 0; + self.committed_doc_count = 0; + self.positions_sum_normalized = 0; + + self.level_index = Vec::new(); + + for segment in self.segments_index.iter_mut() { + segment.byte_array_blocks.clear(); + segment.byte_array_blocks_pointer.clear(); + segment.segment.clear(); + } + + for segment in self.segments_level0.iter_mut() { + segment.segment.clear(); + } + + self.key_count_sum = 0; + self.block_id = 0; + self.strip_compressed_sum = 0; + self.postings_buffer_pointer = 0; + self.docid_count = 0; + self.size_compressed_docid_index = 0; + self.size_compressed_positions_index = 0; + self.position_count = 0; + self.postinglist_count = 0; + + self.is_last_level_incomplete = false; + + drop(permit); + } + + pub(crate) fn get_index_string_facets_shard( + &self, + query_facets: Vec, + ) -> Option> { + if self.facets.is_empty() { + return None; + } + + let mut result_query_facets = Vec::new(); + if !query_facets.is_empty() { + result_query_facets = vec![ResultFacet::default(); self.facets.len()]; + for query_facet in query_facets.iter() { + match &query_facet { + QueryFacet::String16 { + field, + prefix, + length, + } => { + if let Some(idx) = self.facets_map.get(field) + && self.facets[*idx].field_type == FieldType::String16 + { + result_query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length as u32, + ..Default::default() + } + } + } + QueryFacet::StringSet16 { + field, + prefix, + length, + } => { + if let Some(idx) = self.facets_map.get(field) + && self.facets[*idx].field_type == FieldType::StringSet16 + { + result_query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length as u32, + ..Default::default() + } + } + } + + QueryFacet::String32 { + field, + prefix, + length, + } => { + if let Some(idx) = self.facets_map.get(field) + && self.facets[*idx].field_type == FieldType::String32 + { + result_query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length, + ..Default::default() + } + } + } + QueryFacet::StringSet32 { + field, + prefix, + length, + } => { + if let Some(idx) = self.facets_map.get(field) + && self.facets[*idx].field_type == FieldType::StringSet32 + { + result_query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length, + ..Default::default() + } + } + } + + _ => {} + }; + } + } + + let mut facets: AHashMap = AHashMap::new(); + for (i, facet) in result_query_facets.iter().enumerate() { + if facet.length == 0 || self.facets[i].values.is_empty() { + continue; + } + + if self.facets[i].field_type == FieldType::StringSet16 + || self.facets[i].field_type == FieldType::StringSet32 + { + let mut hash_map: AHashMap = AHashMap::new(); + for value in self.facets[i].values.iter() { + for term in value.1.0.iter() { + *hash_map.entry(term.clone()).or_insert(0) += value.1.1; + } + } + + let v = hash_map + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| (a.to_string(), *c)) + .filter(|(a, _c)| facet.prefix.is_empty() || a.starts_with(&facet.prefix)) + .take(facet.length as usize) + .collect::>(); + + if !v.is_empty() { + facets.insert(facet.field.clone(), v); + } + } else { + let v = self.facets[i] + .values + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| (a.to_string(), c.1)) + .filter(|(a, _c)| facet.prefix.is_empty() || a.starts_with(&facet.prefix)) + .take(facet.length as usize) + .collect::>(); + + if !v.is_empty() { + facets.insert(facet.field.clone(), v); + } + } + } + + Some(facets) + } +} + +impl Index { + /// Current document count: indexed document count - deleted document count + pub async fn current_doc_count(&self) -> usize { + let mut current_doc_count = 0; + for shard in self.shard_vec.iter() { + current_doc_count += + shard.read().await.indexed_doc_count - shard.read().await.delete_hashset.len(); + } + current_doc_count + } + + /// are there uncommited documents? + pub async fn uncommitted_doc_count(&self) -> usize { + let mut uncommitted_doc_count = 0; + for shard in self.shard_vec.iter() { + uncommitted_doc_count += + shard.read().await.indexed_doc_count - shard.read().await.committed_doc_count; + } + uncommitted_doc_count + } + + /// Get number of indexed documents. + pub async fn committed_doc_count(&self) -> usize { + let mut committed_doc_count = 0; + for shard in self.shard_vec.iter() { + committed_doc_count += shard.read().await.committed_doc_count; + } + committed_doc_count + } + + /// Get number of indexed documents. + pub async fn indexed_doc_count(&self) -> usize { + let mut indexed_doc_count = 0; + for shard in self.shard_vec.iter() { + indexed_doc_count += shard.read().await.indexed_doc_count; + } + indexed_doc_count + } + + /// Get number of index levels. One index level comprises 64K documents. + pub async fn level_count(&self) -> usize { + let mut level_count = 0; + for shard in self.shard_vec.iter() { + level_count += shard.read().await.level_index.len(); + } + level_count + } + + /// Get number of index shards. + pub async fn shard_count(&self) -> usize { + self.shard_number + } + + /// Get number of facets defined in the index schema. + pub fn facets_count(&self) -> usize { + self.facets.len() + } + + /// get_index_facets_minmax: return map of numeric facet fields, each with field name and min/max values. + pub async fn index_facets_minmax(&self) -> HashMap { + let mut facets_minmax: HashMap = HashMap::new(); + for shard in self.shard_vec.iter() { + for facet in shard.read().await.facets.iter() { + match (&facet.min, &facet.max) { + (ValueType::U8(min), ValueType::U8(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_u64().unwrap() as u8))).into(), + max: (*max.min(&(item.max.as_u64().unwrap() as u8))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::U16(min), ValueType::U16(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_u64().unwrap() as u16))).into(), + max: (*max.min(&(item.max.as_u64().unwrap() as u16))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::U32(min), ValueType::U32(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_u64().unwrap() as u32))).into(), + max: (*max.min(&(item.max.as_u64().unwrap() as u32))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::U64(min), ValueType::U64(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_u64().unwrap()))).into(), + max: (*max.min(&(item.max.as_u64().unwrap()))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::I8(min), ValueType::I8(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_i64().unwrap() as i8))).into(), + max: (*max.min(&(item.max.as_i64().unwrap() as i8))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::I16(min), ValueType::I16(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_i64().unwrap() as i16))).into(), + max: (*max.min(&(item.max.as_i64().unwrap() as i16))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::I32(min), ValueType::I32(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_i64().unwrap() as i32))).into(), + max: (*max.min(&(item.max.as_i64().unwrap() as i32))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::I64(min), ValueType::I64(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_i64().unwrap()))).into(), + max: (*max.min(&(item.max.as_i64().unwrap()))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::Timestamp(min), ValueType::Timestamp(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_i64().unwrap()))).into(), + max: (*max.min(&(item.max.as_i64().unwrap()))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::F32(min), ValueType::F32(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: min.min(item.min.as_f64().unwrap() as f32).into(), + max: max.min(item.max.as_f64().unwrap() as f32).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::F64(min), ValueType::F64(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: min.min(item.min.as_f64().unwrap()).into(), + max: max.min(item.max.as_f64().unwrap()).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + _ => {} + } + } + } + facets_minmax + } + + /// get_index_string_facets: list of string facet fields, each with field name and a map of unique values and their count (number of times the specific value appears in the whole index). + /// values are sorted by their occurrence count within all indexed documents in descending order + /// * `query_facets`: Must be set if facet fields should be returned in get_index_facets. If set to Vec::new() then no facet fields are returned. + /// The prefix property of a QueryFacet allows to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. + /// The length property of a QueryFacet allows limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. + /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are returned. + /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. + /// Example: query_facets = vec![QueryFacet::String16 {field: "language".to_string(),prefix: "ger".to_string(),length: 5},QueryFacet::String16 {field: "brand".to_string(),prefix: "a".to_string(),length: 5}]; + pub async fn get_index_string_facets( + &self, + query_facets: Vec, + ) -> Option> { + if self.facets.is_empty() { + return None; + } + + let mut result: AHashMap = AHashMap::new(); + + let mut result_facets: AHashMap, u32)> = AHashMap::new(); + for query_facet in query_facets.iter() { + match query_facet { + QueryFacet::String16 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); + } + QueryFacet::StringSet16 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); + } + + QueryFacet::String32 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length)); + } + QueryFacet::StringSet32 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length)); + } + + _ => {} + } + } + + for shard_arc in self.shard_vec.iter() { + let shard = shard_arc.read().await; + if !shard.facets.is_empty() { + for facet in shard.facets.iter() { + if let Some(existing) = result_facets.get_mut(&facet.name) { + for (key, value) in facet.values.iter() { + *existing.0.entry(key.clone()).or_insert(0) += value.1; + } + }; + } + } + } + + for (key, value) in result_facets.iter_mut() { + let sum = value + .0 + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| (a.clone(), *c)) + .take(value.1 as usize) + .collect::>(); + result.insert(key.clone(), sum); + } + + Some(result) + } + + /// Reset index to empty, while maintaining schema + pub async fn clear_index(&mut self) { + let index_path = PathBuf::new(&self.index_path_string); + let _ = fs::remove_file(index_path.join(DICTIONARY_FILENAME)); + if let Some(spelling_correction) = self.meta.spelling_correction.as_ref() { + self.symspell_option = Some(Arc::new(RwLock::new(SymSpell::new( + spelling_correction.max_dictionary_edit_distance, + spelling_correction.term_length_threshold.clone(), + 7, + spelling_correction.count_threshold, + )))); + } + + let _ = fs::remove_file(index_path.join(COMPLETIONS_FILENAME)); + if let Some(_query_completion) = self.meta.query_completion.as_ref() { + self.completion_option = Some(Arc::new(RwLock::new(PruningRadixTrie::new()))); + } + + let mut result_object_list = Vec::new(); + for shard in self.shard_vec.iter() { + let shard_clone = shard.clone(); + result_object_list.push(tokio::spawn(async move { + shard_clone.write().await.clear_shard().await; + })); + } + future::join_all(result_object_list).await; + } + + /// Delete index from disc and ram + pub fn delete_index(&mut self) { + let index_path = PathBuf::new(&self.index_path_string); + + let _ = fs::remove_file(index_path.join(DICTIONARY_FILENAME)); + let _ = fs::remove_file(index_path.join(COMPLETIONS_FILENAME)); + + let _ = fs::remove_file(index_path.join(INDEX_FILENAME)); + let _ = fs::remove_file(index_path.join(SCHEMA_FILENAME)); + let _ = fs::remove_file(index_path.join(META_FILENAME)); + let _ = fs::remove_file(index_path.join(DELETE_FILENAME)); + let _ = fs::remove_file(index_path.join(FACET_FILENAME)); + let _ = fs::remove_file(index_path.join(FACET_VALUES_FILENAME)); + let _ = fs::remove_dir(index_path); + } + + /// Get synonyms from index + pub fn get_synonyms(&self) -> Result, String> { + if let Ok(synonym_file) = + File::open(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)) + { + if let Ok(synonyms) = serde_json::from_reader(BufReader::new(synonym_file)) { + Ok(synonyms) + } else { + Err("not found".into()) + } + } else { + Err("not found".into()) + } + } + + /// Set/replace/overwrite synonyms in index + /// Affects only subsequently indexed documents + pub fn set_synonyms(&mut self, synonyms: &Vec) -> Result { + serde_json::to_writer( + &File::create(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)).unwrap(), + &synonyms, + ) + .unwrap(); + + self.synonyms_map = get_synonyms_map(synonyms, self.segment_number_mask1); + Ok(synonyms.len()) + } + + /// Add/append/update/merge synonyms in index + /// Affects only subsequently indexed documents + pub fn add_synonyms(&mut self, synonyms: &[Synonym]) -> Result { + let mut merged_synonyms = if let Ok(synonym_file) = + File::open(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)) + { + serde_json::from_reader(BufReader::new(synonym_file)).unwrap_or_default() + } else { + Vec::new() + }; + + merged_synonyms.extend(synonyms.iter().cloned()); + + serde_json::to_writer( + &File::create(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)).unwrap(), + &merged_synonyms, + ) + .unwrap(); + + self.synonyms_map = get_synonyms_map(&merged_synonyms, self.segment_number_mask1); + Ok(merged_synonyms.len()) + } +} + +/// Remove index from RAM (Reverse of open_index) +#[allow(async_fn_in_trait)] +pub trait Close { + /// Remove index from RAM (Reverse of open_index) + async fn close(&self); +} + +/// Remove index from RAM (Reverse of open_index) +impl Close for IndexArc { + /// Remove index from RAM (Reverse of open_index) + async fn close(&self) { + self.commit().await; + + if let Some(completion_option) = &self.read().await.completion_option.as_ref() { + let trie = completion_option.read().await; + let completions_path = + PathBuf::new(&self.read().await.index_path_string).join(COMPLETIONS_FILENAME); + + _ = trie.save_completions(&completions_path, ":"); + } + + if let Some(symspell) = &mut self.read().await.symspell_option.as_ref() { + let dictionary_path = + PathBuf::new(&self.read().await.index_path_string).join(DICTIONARY_FILENAME); + let _ = symspell.read().await.save_dictionary(&dictionary_path, " "); + } + + let mut result_object_list = Vec::new(); + for shard in self.read().await.shard_vec.iter() { + let shard_clone = shard.clone(); + result_object_list.push(tokio::spawn(async move { + let mut mmap_options = MmapOptions::new(); + let mmap: MmapMut = mmap_options.len(4).map_anon().unwrap(); + shard_clone.write().await.index_file_mmap = mmap + .make_read_only() + .expect("Unable to make Mmap read-only"); + + let mut mmap_options = MmapOptions::new(); + let mmap: MmapMut = mmap_options.len(4).map_anon().unwrap(); + shard_clone.write().await.docstore_file_mmap = mmap + .make_read_only() + .expect("Unable to make Mmap read-only"); + })); + } + future::join_all(result_object_list).await; + } +} + +/// Delete document from index by document id +#[allow(async_fn_in_trait)] +pub trait DeleteDocument { + /// Delete document from index by document id + async fn delete_document(&self, docid: u64); +} + +/// Delete document from index by document id +/// Document ID can by obtained by search. +/// Immediately effective, indpendent of commit. +/// Index space used by deleted documents is not reclaimed (until compaction is implemented), but result_count_total is updated. +/// By manually deleting the delete.bin file the deleted documents can be recovered (until compaction). +/// Deleted documents impact performance, especially but not limited to counting (Count, TopKCount). They also increase the size of the index (until compaction is implemented). +/// For minimal query latency delete index and reindexing documents is preferred over deleting documents (until compaction is implemented). +/// BM25 scores are not updated (until compaction is implemented), but the impact is minimal. +impl DeleteDocument for IndexArc { + async fn delete_document(&self, docid: u64) { + let index_ref = self.read().await; + let shard_id = docid & ((1 << index_ref.shard_bits) - 1); + let doc_id = docid >> index_ref.shard_bits; + let mut shard_mut = index_ref.shard_vec[shard_id as usize].write().await; + + if doc_id as usize >= shard_mut.indexed_doc_count { + return; + } + if shard_mut.delete_hashset.insert(doc_id as usize) { + let mut buffer: [u8; 8] = [0; 8]; + write_u64(doc_id, &mut buffer, 0); + let _ = shard_mut.delete_file.write(&buffer); + let _ = shard_mut.delete_file.flush(); + } + } +} + +/// Delete documents from index by document id +#[allow(async_fn_in_trait)] +pub trait DeleteDocuments { + /// Delete documents from index by document id + async fn delete_documents(&self, docid_vec: Vec); +} + +/// Delete documents from index by document id +/// Document ID can by obtained by search. +/// Immediately effective, indpendent of commit. +/// Index space used by deleted documents is not reclaimed (until compaction is implemented), but result_count_total is updated. +/// By manually deleting the delete.bin file the deleted documents can be recovered (until compaction). +/// Deleted documents impact performance, especially but not limited to counting (Count, TopKCount). They also increase the size of the index (until compaction is implemented). +/// For minimal query latency delete index and reindexing documents is preferred over deleting documents (until compaction is implemented). +/// BM25 scores are not updated (until compaction is implemented), but the impact is minimal. +impl DeleteDocuments for IndexArc { + async fn delete_documents(&self, docid_vec: Vec) { + for docid in docid_vec { + self.delete_document(docid).await; + } + } +} + +/// Delete documents from index by query +/// Delete and search have identical parameters. +/// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub trait DeleteDocumentsByQuery { + /// Delete documents from index by query + /// Delete and search have identical parameters. + /// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. + async fn delete_documents_by_query( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + include_uncommited: bool, + field_filter: Vec, + facet_filter: Vec, + result_sort: Vec, + ); +} + +/// Delete documents from index by query +/// Delete and search have identical parameters. +/// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. +impl DeleteDocumentsByQuery for IndexArc { + async fn delete_documents_by_query( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + include_uncommited: bool, + field_filter: Vec, + facet_filter: Vec, + result_sort: Vec, + ) { + let rlo = self + .search( + query_string.to_owned(), + query_type_default, + offset, + length, + ResultType::Topk, + include_uncommited, + field_filter, + Vec::new(), + facet_filter, + result_sort, + QueryRewriting::SearchOnly, + ) + .await; + + let document_id_vec: Vec = rlo + .results + .iter() + .map(|result| result.doc_id as u64) + .collect(); + self.delete_documents(document_id_vec).await; + } +} + +/// Update document in index +/// Update_document is a combination of delete_document and index_document. +/// All current limitations of delete_document apply. +#[allow(async_fn_in_trait)] +pub trait UpdateDocument { + /// Update document in index + /// Update_document is a combination of delete_document and index_document. + /// All current limitations of delete_document apply. + async fn update_document(&self, id_document: (u64, Document)); +} + +/// Update document in index +/// Update_document is a combination of delete_document and index_document. +/// All current limitations of delete_document apply. +impl UpdateDocument for IndexArc { + async fn update_document(&self, id_document: (u64, Document)) { + self.delete_document(id_document.0).await; + self.index_document(id_document.1, FileType::None).await; + } +} + +/// Update documents in index +/// Update_document is a combination of delete_document and index_document. +/// All current limitations of delete_document apply. +#[allow(async_fn_in_trait)] +pub trait UpdateDocuments { + /// Update documents in index + /// Update_document is a combination of delete_document and index_document. + /// All current limitations of delete_document apply. + async fn update_documents(&self, id_document_vec: Vec<(u64, Document)>); +} + +/// Update documents in index +/// Update_document is a combination of delete_document and index_document. +/// All current limitations of delete_document apply. +impl UpdateDocuments for IndexArc { + async fn update_documents(&self, id_document_vec: Vec<(u64, Document)>) { + let (docid_vec, document_vec): (Vec<_>, Vec<_>) = id_document_vec.into_iter().unzip(); + self.delete_documents(docid_vec).await; + self.index_documents(document_vec).await; + } +} + +/// Indexes a list of documents +#[allow(async_fn_in_trait)] +pub trait IndexDocuments { + /// Indexes a list of documents + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_documents(&self, document_vec: Vec); +} + +impl IndexDocuments for IndexArc { + /// Index list of documents (bulk) + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_documents(&self, document_vec: Vec) { + for document in document_vec { + self.index_document(document, FileType::None).await; + } + } +} + +/// Indexes a single document +#[allow(async_fn_in_trait)] +pub trait IndexDocument { + /// Indexes a single document + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_document(&self, document: Document, file: FileType); +} + +impl IndexDocument for IndexArc { + /// Index document + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_document(&self, document: Document, file: FileType) { + while self.read().await.shard_queue.read().await.is_empty() { + hint::spin_loop(); + } + + let index_arc_clone = self.clone(); + let index_id = self + .read() + .await + .shard_queue + .write() + .await + .pop_front() + .unwrap(); + let index_shard = self.read().await.shard_vec[index_id].clone(); + + let permit = index_shard + .read() + .await + .permits + .clone() + .acquire_owned() + .await + .unwrap(); + + tokio::spawn(async move { + let index_id2 = index_id; + index_shard.index_document_shard(document, file).await; + + index_arc_clone + .read() + .await + .shard_queue + .write() + .await + .push_back(index_id2); + drop(permit); + }); + } +} + +/// Indexes a single document +#[allow(async_fn_in_trait)] +pub(crate) trait IndexDocumentShard { + /// Indexes a single document + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_document_shard(&self, document: Document, file: FileType); +} + +impl IndexDocumentShard for ShardArc { + /// Index document + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_document_shard(&self, document: Document, file: FileType) { + let shard_arc_clone = self.clone(); + let index_ref = self.read().await; + let schema = index_ref.indexed_schema_vec.clone(); + let ngram_indexing = index_ref.meta.ngram_indexing; + let indexed_field_vec_len = index_ref.indexed_field_vec.len(); + let tokenizer_type = index_ref.meta.tokenizer; + let segment_number_mask1 = index_ref.segment_number_mask1; + drop(index_ref); + + let token_per_field_max: u32 = u16::MAX as u32; + let mut unique_terms: AHashMap = AHashMap::new(); + let mut field_vec: Vec<(usize, u8, u32, u32)> = Vec::new(); + let shard_ref2 = shard_arc_clone.read().await; + + for schema_field in schema.iter() { + if !schema_field.indexed { + continue; + } + + let field_name = &schema_field.field; + + if let Some(field_value) = document.get(field_name) { + let mut non_unique_terms: Vec = Vec::new(); + let mut nonunique_terms_count = 0u32; + + let text = match schema_field.field_type { + FieldType::Text | FieldType::String16 | FieldType::String32 => { + serde_json::from_value::(field_value.clone()) + .unwrap_or(field_value.to_string()) + } + _ => field_value.to_string(), + }; + + let mut query_type_mut = QueryType::Union; + + tokenizer( + &shard_ref2, + &text, + &mut unique_terms, + &mut non_unique_terms, + tokenizer_type, + segment_number_mask1, + &mut nonunique_terms_count, + token_per_field_max, + MAX_POSITIONS_PER_TERM, + false, + &mut query_type_mut, + ngram_indexing, + schema_field.indexed_field_id, + indexed_field_vec_len, + ) + .await; + + let document_length_compressed: u8 = int_to_byte4(nonunique_terms_count); + let document_length_normalized: u32 = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize]; + field_vec.push(( + schema_field.indexed_field_id, + document_length_compressed, + document_length_normalized, + nonunique_terms_count, + )); + } + } + drop(shard_ref2); + + let ngrams: Vec = unique_terms + .iter() + .filter(|term| term.1.ngram_type != NgramType::SingleTerm) + .map(|term| term.1.term.clone()) + .collect(); + + for term in ngrams.iter() { + let ngram = unique_terms.get(term).unwrap(); + + match ngram.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + let term_ngram1 = ngram.term_ngram_1.clone(); + let term_ngram2 = ngram.term_ngram_0.clone(); + + for indexed_field_id in 0..indexed_field_vec_len { + let positions_count_ngram1 = + unique_terms[&term_ngram1].field_positions_vec[indexed_field_id].len(); + let positions_count_ngram2 = + unique_terms[&term_ngram2].field_positions_vec[indexed_field_id].len(); + let ngram = unique_terms.get_mut(term).unwrap(); + + if positions_count_ngram1 > 0 { + ngram + .field_vec_ngram1 + .push((indexed_field_id, positions_count_ngram1 as u32)); + } + if positions_count_ngram2 > 0 { + ngram + .field_vec_ngram2 + .push((indexed_field_id, positions_count_ngram2 as u32)); + } + } + } + _ => { + let term_ngram1 = ngram.term_ngram_2.clone(); + let term_ngram2 = ngram.term_ngram_1.clone(); + let term_ngram3 = ngram.term_ngram_0.clone(); + + for indexed_field_id in 0..indexed_field_vec_len { + let positions_count_ngram1 = + unique_terms[&term_ngram1].field_positions_vec[indexed_field_id].len(); + let positions_count_ngram2 = + unique_terms[&term_ngram2].field_positions_vec[indexed_field_id].len(); + let positions_count_ngram3 = + unique_terms[&term_ngram3].field_positions_vec[indexed_field_id].len(); + let ngram = unique_terms.get_mut(term).unwrap(); + + if positions_count_ngram1 > 0 { + ngram + .field_vec_ngram1 + .push((indexed_field_id, positions_count_ngram1 as u32)); + } + if positions_count_ngram2 > 0 { + ngram + .field_vec_ngram2 + .push((indexed_field_id, positions_count_ngram2 as u32)); + } + if positions_count_ngram3 > 0 { + ngram + .field_vec_ngram3 + .push((indexed_field_id, positions_count_ngram3 as u32)); + } + } + } + } + } + + let document_item = DocumentItem { + document, + unique_terms, + field_vec, + }; + + shard_arc_clone.index_document_2(document_item, file).await; + } +} + +#[allow(async_fn_in_trait)] +pub(crate) trait IndexDocument2 { + async fn index_document_2(&self, document_item: DocumentItem, file: FileType); +} + +impl IndexDocument2 for ShardArc { + async fn index_document_2(&self, document_item: DocumentItem, file: FileType) { + let mut shard_mut = self.write().await; + + let doc_id: usize = shard_mut.indexed_doc_count; + shard_mut.indexed_doc_count += 1; + + let do_commit = shard_mut.block_id != doc_id >> 16; + if do_commit { + shard_mut.commit(doc_id).await; + + shard_mut.block_id = doc_id >> 16; + } + + if !shard_mut.facets.is_empty() { + let facets_size_sum = shard_mut.facets_size_sum; + for i in 0..shard_mut.facets.len() { + let facet = &mut shard_mut.facets[i]; + if let Some(field_value) = document_item.document.get(&facet.name) { + let address = (facets_size_sum * doc_id) + facet.offset; + + match facet.field_type { + FieldType::U8 => { + let value = field_value.as_u64().unwrap_or_default() as u8; + match (&facet.min, &facet.max) { + (ValueType::U8(min), ValueType::U8(max)) => { + if value < *min { + facet.min = ValueType::U8(value); + } + if value > *max { + facet.max = ValueType::U8(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::U8(value); + facet.max = ValueType::U8(value); + } + _ => {} + } + shard_mut.facets_file_mmap[address] = value + } + FieldType::U16 => { + let value = field_value.as_u64().unwrap_or_default() as u16; + match (&facet.min, &facet.max) { + (ValueType::U16(min), ValueType::U16(max)) => { + if value < *min { + facet.min = ValueType::U16(value); + } + if value > *max { + facet.max = ValueType::U16(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::U16(value); + facet.max = ValueType::U16(value); + } + _ => {} + } + write_u16(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::U32 => { + let value = field_value.as_u64().unwrap_or_default() as u32; + match (&facet.min, &facet.max) { + (ValueType::U32(min), ValueType::U32(max)) => { + if value < *min { + facet.min = ValueType::U32(value); + } + if value > *max { + facet.max = ValueType::U32(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::U32(value); + facet.max = ValueType::U32(value); + } + _ => {} + } + write_u32(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::U64 => { + let value = field_value.as_u64().unwrap_or_default(); + match (&facet.min, &facet.max) { + (ValueType::U64(min), ValueType::U64(max)) => { + if value < *min { + facet.min = ValueType::U64(value); + } + if value > *max { + facet.max = ValueType::U64(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::U64(value); + facet.max = ValueType::U64(value); + } + _ => {} + } + write_u64(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::I8 => { + let value = field_value.as_i64().unwrap_or_default() as i8; + match (&facet.min, &facet.max) { + (ValueType::I8(min), ValueType::I8(max)) => { + if value < *min { + facet.min = ValueType::I8(value); + } + if value > *max { + facet.max = ValueType::I8(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::I8(value); + facet.max = ValueType::I8(value); + } + _ => {} + } + write_i8(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::I16 => { + let value = field_value.as_i64().unwrap_or_default() as i16; + match (&facet.min, &facet.max) { + (ValueType::I16(min), ValueType::I16(max)) => { + if value < *min { + facet.min = ValueType::I16(value); + } + if value > *max { + facet.max = ValueType::I16(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::I16(value); + facet.max = ValueType::I16(value); + } + _ => {} + } + write_i16(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::I32 => { + let value = field_value.as_i64().unwrap_or_default() as i32; + match (&facet.min, &facet.max) { + (ValueType::I32(min), ValueType::I32(max)) => { + if value < *min { + facet.min = ValueType::I32(value); + } + if value > *max { + facet.max = ValueType::I32(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::I32(value); + facet.max = ValueType::I32(value); + } + _ => {} + } + write_i32(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::I64 => { + let value = field_value.as_i64().unwrap_or_default(); + match (&facet.min, &facet.max) { + (ValueType::I64(min), ValueType::I64(max)) => { + if value < *min { + facet.min = ValueType::I64(value); + } + if value > *max { + facet.max = ValueType::I64(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::I64(value); + facet.max = ValueType::I64(value); + } + _ => {} + } + write_i64(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::Timestamp => { + let value = field_value.as_i64().unwrap_or_default(); + match (&facet.min, &facet.max) { + (ValueType::Timestamp(min), ValueType::Timestamp(max)) => { + if value < *min { + facet.min = ValueType::Timestamp(value); + } + if value > *max { + facet.max = ValueType::Timestamp(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::Timestamp(value); + facet.max = ValueType::Timestamp(value); + } + _ => {} + } + + write_i64(value, &mut shard_mut.facets_file_mmap, address); + } + FieldType::F32 => { + let value = field_value.as_f64().unwrap_or_default() as f32; + match (&facet.min, &facet.max) { + (ValueType::F32(min), ValueType::F32(max)) => { + if value < *min { + facet.min = ValueType::F32(value); + } + if value > *max { + facet.max = ValueType::F32(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::F32(value); + facet.max = ValueType::F32(value); + } + _ => {} + } + + write_f32(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::F64 => { + let value = field_value.as_f64().unwrap_or_default(); + match (&facet.min, &facet.max) { + (ValueType::F64(min), ValueType::F64(max)) => { + if value < *min { + facet.min = ValueType::F64(value); + } + if value > *max { + facet.max = ValueType::F64(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::F64(value); + facet.max = ValueType::F64(value); + } + _ => {} + } + + write_f64(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::String16 => { + if facet.values.len() < u16::MAX as usize { + let key = serde_json::from_value::(field_value.clone()) + .unwrap_or(field_value.to_string()); + + let key_string = key.clone(); + let key = vec![key]; + + facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; + + let facet_value_id = + facet.values.get_index_of(&key_string).unwrap() as u16; + write_u16(facet_value_id, &mut shard_mut.facets_file_mmap, address) + } + } + + FieldType::StringSet16 => { + if facet.values.len() < u16::MAX as usize { + let mut key: Vec = + serde_json::from_value(field_value.clone()).unwrap(); + key.sort(); + + let key_string = key.join("_"); + facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; + + let facet_value_id = + facet.values.get_index_of(&key_string).unwrap() as u16; + write_u16(facet_value_id, &mut shard_mut.facets_file_mmap, address) + } + } + + FieldType::String32 => { + if facet.values.len() < u32::MAX as usize { + let key = serde_json::from_value::(field_value.clone()) + .unwrap_or(field_value.to_string()); + + let key_string = key.clone(); + let key = vec![key]; + + facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; + + let facet_value_id = + facet.values.get_index_of(&key_string).unwrap() as u32; + write_u32(facet_value_id, &mut shard_mut.facets_file_mmap, address) + } + } + + FieldType::StringSet32 => { + if facet.values.len() < u32::MAX as usize { + let mut key: Vec = + serde_json::from_value(field_value.clone()).unwrap(); + key.sort(); + + let key_string = key.join("_"); + facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; + + let facet_value_id = + facet.values.get_index_of(&key_string).unwrap() as u32; + write_u32(facet_value_id, &mut shard_mut.facets_file_mmap, address) + } + } + + FieldType::Point => { + if let Ok(point) = serde_json::from_value::(field_value.clone()) + && point.len() == 2 + { + if point[0] >= -90.0 + && point[0] <= 90.0 + && point[1] >= -180.0 + && point[1] <= 180.0 + { + let morton_code = encode_morton_2_d(&point); + write_u64(morton_code, &mut shard_mut.facets_file_mmap, address) + } else { + println!( + "outside valid coordinate range: {} {}", + point[0], point[1] + ); + } + } + } + + _ => {} + }; + } + } + } + + if !shard_mut.uncommitted { + if shard_mut.segments_level0[0].positions_compressed.is_empty() { + for strip0 in shard_mut.segments_level0.iter_mut() { + strip0.positions_compressed = vec![0; MAX_POSITIONS_PER_TERM * 2]; + } + } + shard_mut.uncommitted = true; + } + + let mut longest_field_id: usize = 0; + let mut longest_field_length: u32 = 0; + for value in document_item.field_vec { + if doc_id == 0 && value.3 > longest_field_length { + longest_field_id = value.0; + longest_field_length = value.3; + } + + shard_mut.document_length_compressed_array[value.0][doc_id & 0b11111111_11111111] = + value.1; + shard_mut.positions_sum_normalized += value.2 as u64; + shard_mut.indexed_field_vec[value.0].field_length_sum += value.2 as usize; + } + + if doc_id == 0 { + if !shard_mut.longest_field_auto { + longest_field_id = shard_mut.longest_field_id; + } + shard_mut.longest_field_id = longest_field_id; + shard_mut.indexed_field_vec[longest_field_id].is_longest_field = true; + if shard_mut.indexed_field_vec.len() > 1 { + println!( + "detect longest field id {} name {} length {}", + longest_field_id, + shard_mut.indexed_field_vec[longest_field_id].schema_field_name, + longest_field_length + ); + } + } + + let mut unique_terms = document_item.unique_terms; + if !shard_mut.synonyms_map.is_empty() { + let unique_terms_clone = unique_terms.clone(); + for term in unique_terms_clone.iter() { + if term.1.ngram_type == NgramType::SingleTerm { + let synonym = shard_mut.synonyms_map.get(&term.1.key_hash).cloned(); + if let Some(synonym) = synonym { + for synonym_term in synonym { + let mut term_clone = term.1.clone(); + term_clone.key_hash = synonym_term.1.0; + term_clone.key0 = synonym_term.1.1; + term_clone.term = synonym_term.0.clone(); + + if let Some(existing) = unique_terms.get_mut(&synonym_term.0) { + existing + .field_positions_vec + .iter_mut() + .zip(term_clone.field_positions_vec.iter()) + .for_each(|(x1, x2)| { + x1.extend_from_slice(x2); + x1.sort_unstable(); + }); + } else { + unique_terms.insert(synonym_term.0.clone(), term_clone); + }; + } + } + } + } + } + + for term in unique_terms { + shard_mut.index_posting(term.1, doc_id, false, 0, 0, 0); + } + + match file { + FileType::PathBuf(file_path) => { + if let Err(e) = shard_mut.copy_file(&file_path, doc_id) { + println!("can't copy PDF {} {}", file_path.display(), e); + } + } + + FileType::Bytes(file_path, file_bytes) => { + if let Err(e) = shard_mut.write_file(&file_bytes, doc_id) { + println!("can't copy PDF {} {}", file_path.display(), e); + } + } + + _ => {} + } + + if !shard_mut.stored_field_names.is_empty() { + shard_mut.store_document(doc_id, document_item.document); + } + + if do_commit { + drop(shard_mut); + warmup(self).await; + } + } +} + +pub(crate) struct DocumentItem { + pub document: Document, + pub unique_terms: AHashMap, + pub field_vec: Vec<(usize, u8, u32, u32)>, +} diff --git a/mobile_app/rust/src/seekstorm/index_posting.rs b/mobile_app/rust/src/seekstorm/index_posting.rs new file mode 100644 index 0000000..01a21aa --- /dev/null +++ b/mobile_app/rust/src/seekstorm/index_posting.rs @@ -0,0 +1,941 @@ +use std::cmp; + +use num::FromPrimitive; + +use crate::{ + compress_postinglist::compress_positions, + index::{ + AccessType, CompressionType, FIELD_STOP_BIT_1, FIELD_STOP_BIT_2, NgramType, + POSTING_BUFFER_SIZE, PostingListObject0, ROARING_BLOCK_SIZE, STOP_BIT, Shard, TermObject, + }, + search::binary_search, + utils::{block_copy_mut, read_u16, read_u32, write_u16_ref, write_u32}, +}; + +impl Shard { + pub(crate) fn index_posting( + &mut self, + term: TermObject, + doc_id: usize, + restore: bool, + posting_count_ngram_1_compressed: u8, + posting_count_ngram_2_compressed: u8, + posting_count_ngram_3_compressed: u8, + ) { + if let Some(spelling_correction) = self.meta.spelling_correction.as_ref() + && term.key_hash & 7 == 0 + && (spelling_correction.term_length_threshold.as_ref().is_none() + || spelling_correction + .term_length_threshold + .as_ref() + .unwrap() + .is_empty() + || term.term.len() + >= spelling_correction.term_length_threshold.as_ref().unwrap()[0]) + { + let sum: usize = term + .field_positions_vec + .iter() + .enumerate() + .filter(|&x| self.indexed_schema_vec[x.0].dictionary_source) + .map(|field| field.1.len()) + .sum(); + if sum > 0 { + _ = self + .level_terms + .entry((term.key_hash >> 32) as u32) + .or_insert(term.term.clone()); + } + }; + + let mut positions_count_sum = 0; + let mut field_positions_vec: Vec> = Vec::new(); + for positions_uncompressed in term.field_positions_vec.iter() { + positions_count_sum += positions_uncompressed.len(); + let mut positions: Vec = Vec::new(); + let mut previous_position: u16 = 0; + for pos in positions_uncompressed.iter() { + if positions.is_empty() { + positions.push(*pos); + } else { + positions.push(*pos - previous_position - 1); + } + previous_position = *pos; + } + field_positions_vec.push(positions); + } + + if positions_count_sum == 0 { + println!("empty posting {} docid {}", term.term, doc_id); + return; + } + + if self.postings_buffer_pointer > self.postings_buffer.len() - (POSTING_BUFFER_SIZE >> 4) { + self.postings_buffer + .resize(self.postings_buffer.len() + (POSTING_BUFFER_SIZE >> 2), 0); + } + + let strip_object0 = self.segments_level0.get_mut(term.key0 as usize).unwrap(); + + let value = strip_object0 + .segment + .entry(term.key_hash) + .or_insert(PostingListObject0 { + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ..Default::default() + }); + let exists: bool = value.posting_count > 0; + + if self.is_last_level_incomplete && !exists && !restore { + if self.meta.access_type == AccessType::Mmap { + let pointer = self.segments_index[term.key0 as usize] + .byte_array_blocks_pointer + .last() + .unwrap(); + + let key_count = pointer.2 as usize; + + let byte_array_keys = + &self.index_file_mmap[pointer.0 - (key_count * self.key_head_size)..pointer.0]; + let key_index = binary_search( + byte_array_keys, + key_count, + term.key_hash, + self.key_head_size, + ); + + if key_index >= 0 { + let key_address = key_index as usize * self.key_head_size; + let compression_type_pointer = + read_u32(byte_array_keys, key_address + self.key_head_size - 4); + let rank_position_pointer_range = + compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let position_range_previous = if key_index == 0 { + 0 + } else { + let posting_count_previous = + read_u16(byte_array_keys, key_address + 8 - self.key_head_size) + as usize + + 1; + let pointer_pivot_p_docid_previous = + read_u16(byte_array_keys, key_address - 6); + + let posting_pointer_size_sum_previous = pointer_pivot_p_docid_previous + as usize + * 2 + + if (pointer_pivot_p_docid_previous as usize) < posting_count_previous + { + (posting_count_previous - pointer_pivot_p_docid_previous as usize) + * 3 + } else { + 0 + }; + + let compression_type_pointer_previous = + read_u32(byte_array_keys, key_address + 18 - self.key_head_size); + let rank_position_pointer_range_previous = compression_type_pointer_previous + & 0b0011_1111_1111_1111_1111_1111_1111_1111; + let compression_type_previous: CompressionType = FromPrimitive::from_i32( + (compression_type_pointer_previous >> 30) as i32, + ) + .unwrap(); + + let compressed_docid_previous = match compression_type_previous { + CompressionType::Array => posting_count_previous * 2, + CompressionType::Bitmap => 8192, + CompressionType::Rle => { + let block_id = doc_id >> 16; + let segment: &crate::index::SegmentIndex = + &self.segments_index[term.key0 as usize]; + let byte_array_docid = &self.index_file_mmap[segment + .byte_array_blocks_pointer[block_id] + .0 + ..segment.byte_array_blocks_pointer[block_id].0 + + segment.byte_array_blocks_pointer[block_id].1]; + + 4 * read_u16( + byte_array_docid, + rank_position_pointer_range_previous as usize + + posting_pointer_size_sum_previous, + ) as usize + + 2 + } + _ => 0, + }; + + rank_position_pointer_range_previous + + (posting_pointer_size_sum_previous + compressed_docid_previous) as u32 + }; + + value.size_compressed_positions_key = + (rank_position_pointer_range - position_range_previous) as usize; + } + } else { + let posting_list_object_index_option = self.segments_index[term.key0 as usize] + .segment + .get(&term.key_hash); + + if let Some(plo) = posting_list_object_index_option { + let block = plo.blocks.last().unwrap(); + if block.block_id as usize == self.level_index.len() - 1 { + let rank_position_pointer_range: u32 = block.compression_type_pointer + & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + value.size_compressed_positions_key = + (rank_position_pointer_range - plo.position_range_previous) as usize; + } + }; + } + } + + let mut posting_pointer_size = + if value.size_compressed_positions_key < 32_768 && value.posting_count < 65_535 { + value.pointer_pivot_p_docid = value.posting_count as u16 + 1; + 2u8 + } else { + 3u8 + }; + + let mut nonempty_field_count = 0; + let mut only_longest_field = true; + for (field_id, item) in field_positions_vec.iter().enumerate() { + if !item.is_empty() { + nonempty_field_count += 1; + + if !self.indexed_field_vec[field_id].is_longest_field { + only_longest_field = false; + } + } + } + + let mut positions_meta_compressed_nonembedded_size = 0; + + match term.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + for (i, field) in term.field_vec_ngram1.iter().enumerate() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.1 < 128 { + 1 + } else if field.1 < 16_384 { + 2 + } else { + 3 + }; + } else if term.field_vec_ngram1.len() == 1 + && term.field_vec_ngram1[0].0 == self.longest_field_id + { + positions_meta_compressed_nonembedded_size += if field.1 < 64 { + 1 + } else if field.1 < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + } + for (i, field) in term.field_vec_ngram2.iter().enumerate() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.1 < 128 { + 1 + } else if field.1 < 16_384 { + 2 + } else { + 3 + }; + } else if term.field_vec_ngram2.len() == 1 + && term.field_vec_ngram2[0].0 == self.longest_field_id + { + positions_meta_compressed_nonembedded_size += if field.1 < 64 { + 1 + } else if field.1 < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + } + } + _ => { + for (i, field) in term.field_vec_ngram1.iter().enumerate() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.1 < 128 { + 1 + } else if field.1 < 16_384 { + 2 + } else { + 3 + }; + } else if term.field_vec_ngram1.len() == 1 + && term.field_vec_ngram1[0].0 == self.longest_field_id + { + positions_meta_compressed_nonembedded_size += if field.1 < 64 { + 1 + } else if field.1 < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + } + for (i, field) in term.field_vec_ngram2.iter().enumerate() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.1 < 128 { + 1 + } else if field.1 < 16_384 { + 2 + } else { + 3 + }; + } else if term.field_vec_ngram2.len() == 1 + && term.field_vec_ngram2[0].0 == self.longest_field_id + { + positions_meta_compressed_nonembedded_size += if field.1 < 64 { + 1 + } else if field.1 < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + } + for (i, field) in term.field_vec_ngram3.iter().enumerate() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.1 < 128 { + 1 + } else if field.1 < 16_384 { + 2 + } else { + 3 + }; + } else if term.field_vec_ngram3.len() == 1 + && term.field_vec_ngram3[0].0 == self.longest_field_id + { + positions_meta_compressed_nonembedded_size += if field.1 < 64 { + 1 + } else if field.1 < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + } + } + } + + let mut positions_sum = 0; + let mut positions_vec: Vec = Vec::new(); + let mut field_vec: Vec<(usize, u32)> = Vec::new(); + for (field_id, field) in field_positions_vec.iter().enumerate() { + if !field.is_empty() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.len() < 128 { + 1 + } else if field.len() < 16_384 { + 2 + } else { + 3 + }; + } else if only_longest_field { + positions_meta_compressed_nonembedded_size += if field.len() < 64 { + 1 + } else if field.len() < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = usize::BITS - field.len().leading_zeros(); + let only_longest_field_bit = if field_vec.is_empty() { 1 } else { 0 }; + + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + + positions_sum += field.len(); + if self.indexed_field_vec.len() > 1 && field.len() <= 4 { + positions_vec.append(&mut field.clone()) + }; + + field_vec.push((field_id, field.len() as u32)); + } + } + + let mut embed_flag = term.ngram_type == NgramType::SingleTerm; + + if self.indexed_field_vec.len() == 1 { + if posting_pointer_size == 2 { + embed_flag &= positions_sum <= 2 + && ((positions_sum == 1 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 14) + || (positions_sum == 2 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 7 + && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 7)); + } else { + embed_flag &= positions_sum <= 4 + && ((positions_sum == 1 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 21) + || (positions_sum == 2 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 10 + && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 11) + || (positions_sum == 3 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 7 + && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 7 + && u16::BITS - field_positions_vec[0][2].leading_zeros() <= 7) + || (positions_sum == 4 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 5 + && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 5 + && u16::BITS - field_positions_vec[0][2].leading_zeros() <= 5 + && u16::BITS - field_positions_vec[0][3].leading_zeros() <= 6)); + } + } else if only_longest_field { + if posting_pointer_size == 2 { + embed_flag &= positions_sum <= 2 + && ((positions_sum == 1 && u16::BITS - positions_vec[0].leading_zeros() <= 13) + || (positions_sum == 2 + && u16::BITS - positions_vec[0].leading_zeros() <= 6 + && u16::BITS - positions_vec[1].leading_zeros() <= 7)); + } else { + embed_flag &= positions_sum <= 4 + && ((positions_sum == 1 && u16::BITS - positions_vec[0].leading_zeros() <= 20) + || (positions_sum == 2 + && u16::BITS - positions_vec[0].leading_zeros() <= 10 + && u16::BITS - positions_vec[1].leading_zeros() <= 10) + || (positions_sum == 3 + && u16::BITS - positions_vec[0].leading_zeros() <= 6 + && u16::BITS - positions_vec[1].leading_zeros() <= 7 + && u16::BITS - positions_vec[2].leading_zeros() <= 7) + || (positions_sum == 4 + && u16::BITS - positions_vec[0].leading_zeros() <= 5 + && u16::BITS - positions_vec[1].leading_zeros() <= 5 + && u16::BITS - positions_vec[2].leading_zeros() <= 5 + && u16::BITS - positions_vec[3].leading_zeros() <= 5)); + } + } else { + let used_bits = nonempty_field_count * self.indexed_field_id_bits as u32; + let bits = if posting_pointer_size == 2 { 12 } else { 19 }; + let remaining_bits_new = if used_bits < bits { + bits - used_bits + } else { + embed_flag = false; + 0 + }; + + if posting_pointer_size == 2 { + embed_flag &= positions_sum <= 3 + && ((positions_sum == 1 + && u16::BITS - positions_vec[0].leading_zeros() <= remaining_bits_new) + || (positions_sum == 2 + && u16::BITS - positions_vec[0].leading_zeros() + <= remaining_bits_new / 2 + && u16::BITS - positions_vec[1].leading_zeros() + <= remaining_bits_new - remaining_bits_new / 2) + || (positions_sum == 3 + && nonempty_field_count == 1 + && u16::BITS - positions_vec[0].leading_zeros() + <= remaining_bits_new / 3 + && u16::BITS - positions_vec[1].leading_zeros() + <= (remaining_bits_new - remaining_bits_new / 3) / 2 + && u16::BITS - positions_vec[2].leading_zeros() + <= remaining_bits_new + - (remaining_bits_new - remaining_bits_new / 3) / 2 + - (remaining_bits_new / 3))); + } else { + embed_flag &= positions_sum <= 4 + && ((positions_sum == 1 + && u16::BITS - positions_vec[0].leading_zeros() <= remaining_bits_new) + || (positions_sum == 2 + && u16::BITS - positions_vec[0].leading_zeros() + <= remaining_bits_new / 2 + && u16::BITS - positions_vec[1].leading_zeros() + <= remaining_bits_new - remaining_bits_new / 2) + || (positions_sum == 3 + && u16::BITS - positions_vec[0].leading_zeros() + <= remaining_bits_new / 3 + && u16::BITS - positions_vec[1].leading_zeros() + <= (remaining_bits_new - remaining_bits_new / 3) / 2 + && u16::BITS - positions_vec[2].leading_zeros() + <= remaining_bits_new + - (remaining_bits_new - remaining_bits_new / 3) / 2 + - (remaining_bits_new / 3)) + || (positions_sum == 4 + && nonempty_field_count == 1 + && u16::BITS - positions_vec[0].leading_zeros() + <= remaining_bits_new / 4 + && u16::BITS - positions_vec[1].leading_zeros() + <= (remaining_bits_new - remaining_bits_new / 4) / 3 + && u16::BITS - positions_vec[2].leading_zeros() + <= (remaining_bits_new + - (remaining_bits_new - remaining_bits_new / 4) / 3 + - (remaining_bits_new / 4)) + / 2 + && u16::BITS - positions_vec[3].leading_zeros() + <= remaining_bits_new + - remaining_bits_new / 4 + - (remaining_bits_new - remaining_bits_new / 4) / 3 + - (remaining_bits_new + - (remaining_bits_new - remaining_bits_new / 4) / 3 + - (remaining_bits_new / 4)) + / 2)); + } + }; + + let mut write_pointer_base = self.postings_buffer_pointer; + let mut write_pointer = self.postings_buffer_pointer + 8; + + let mut positions_compressed_pointer = 0usize; + let positions_stack = if embed_flag { + 0 + } else { + for field_positions in field_positions_vec.iter() { + compress_positions( + field_positions, + &mut strip_object0.positions_compressed, + &mut positions_compressed_pointer, + ); + } + + let exceeded = posting_pointer_size == 2 + && (value.size_compressed_positions_key + + positions_meta_compressed_nonembedded_size + + positions_compressed_pointer + >= 32_768); + if exceeded { + posting_pointer_size = 3; + value.pointer_pivot_p_docid = value.posting_count as u16; + } + + positions_meta_compressed_nonembedded_size + positions_compressed_pointer + }; + + let compressed_position_size = if embed_flag { + let mut positions_vec: Vec = Vec::new(); + let mut data: u32 = 0; + for field in field_vec.iter() { + for pos in field_positions_vec[field.0].iter() { + positions_vec.push(*pos); + } + if self.indexed_field_vec.len() > 1 && !only_longest_field { + data <<= self.indexed_field_id_bits; + data |= field.0 as u32; + } + } + + let mut remaining_bits = posting_pointer_size as usize * 8 + - if posting_pointer_size == 2 { 0 } else { 1 } + - if self.indexed_field_vec.len() == 1 { + 2 + } else if only_longest_field { + 3 + } else { + 4 + nonempty_field_count as usize * self.indexed_field_id_bits + }; + for (i, position) in positions_vec.iter().enumerate() { + let position_bits = remaining_bits / (positions_vec.len() - i); + remaining_bits -= position_bits; + data <<= position_bits; + data |= *position as u32; + } + + if posting_pointer_size == 2 { + self.postings_buffer[write_pointer] = (data & 0b11111111) as u8; + if self.indexed_field_vec.len() == 1 { + self.postings_buffer[write_pointer + 1] = + (data >> 8) as u8 | 0b10000000 | ((positions_vec.len() - 1) << 6) as u8; + } else if only_longest_field { + self.postings_buffer[write_pointer + 1] = + (data >> 8) as u8 | 0b11000000 | ((positions_vec.len() - 1) << 5) as u8; + } else if nonempty_field_count == 1 { + self.postings_buffer[write_pointer + 1] = + (data >> 8) as u8 | 0b10000000 | ((positions_vec.len() - 1) << 4) as u8; + } else { + self.postings_buffer[write_pointer + 1] = (data >> 8) as u8 | 0b10110000; + }; + } else { + self.postings_buffer[write_pointer] = (data & 0b11111111) as u8; + self.postings_buffer[write_pointer + 1] = ((data >> 8) & 0b11111111) as u8; + if self.indexed_field_vec.len() == 1 { + self.postings_buffer[write_pointer + 2] = + (data >> 16) as u8 | 0b10000000 | ((positions_vec.len() - 1) << 5) as u8; + } else if only_longest_field { + self.postings_buffer[write_pointer + 2] = + (data >> 16) as u8 | 0b11000000 | ((positions_vec.len() - 1) << 4) as u8; + } else { + self.postings_buffer[write_pointer + 2] = (data >> 16) as u8 + | 0b10000000 + | if nonempty_field_count == 1 { + ((positions_vec.len() - 1) << 3) as u8 + } else if nonempty_field_count == 3 { + 0b00111000 + } else if field_vec[0].1 == 1 && field_vec[1].1 == 1 { + 0b00100000 + } else if field_vec[0].1 == 1 && field_vec[1].1 == 2 { + 0b00101000 + } else { + 0b00110000 + }; + } + } + + write_pointer += posting_pointer_size as usize; + posting_pointer_size as usize + } else { + let write_pointer_start = write_pointer; + + match term.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &term.field_vec_ngram1, + self.indexed_field_vec.len(), + term.field_vec_ngram1.len() == 1 + && term.field_vec_ngram1[0].0 == self.longest_field_id, + term.field_vec_ngram1.len() as u32, + self.indexed_field_id_bits as u32, + ); + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &term.field_vec_ngram2, + self.indexed_field_vec.len(), + term.field_vec_ngram2.len() == 1 + && term.field_vec_ngram2[0].0 == self.longest_field_id, + term.field_vec_ngram2.len() as u32, + self.indexed_field_id_bits as u32, + ); + } + _ => { + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &term.field_vec_ngram1, + self.indexed_field_vec.len(), + term.field_vec_ngram1.len() == 1 + && term.field_vec_ngram1[0].0 == self.longest_field_id, + term.field_vec_ngram1.len() as u32, + self.indexed_field_id_bits as u32, + ); + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &term.field_vec_ngram2, + self.indexed_field_vec.len(), + term.field_vec_ngram2.len() == 1 + && term.field_vec_ngram2[0].0 == self.longest_field_id, + term.field_vec_ngram2.len() as u32, + self.indexed_field_id_bits as u32, + ); + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &term.field_vec_ngram3, + self.indexed_field_vec.len(), + term.field_vec_ngram3.len() == 1 + && term.field_vec_ngram3[0].0 == self.longest_field_id, + term.field_vec_ngram3.len() as u32, + self.indexed_field_id_bits as u32, + ); + } + } + + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &field_vec, + self.indexed_field_vec.len(), + only_longest_field, + nonempty_field_count, + self.indexed_field_id_bits as u32, + ); + + block_copy_mut( + &mut strip_object0.positions_compressed, + 0, + &mut self.postings_buffer, + write_pointer, + positions_compressed_pointer, + ); + + write_pointer += positions_compressed_pointer; + write_pointer - write_pointer_start + }; + + let docid_lsb = (doc_id & 0xFFFF) as u16; + if exists { + value.posting_count += 1; + value.position_count += positions_count_sum; + value.size_compressed_positions_key += positions_stack; + if docid_lsb > value.docid_old { + value.docid_delta_max = + cmp::max(value.docid_delta_max, docid_lsb - value.docid_old - 1); + } + value.docid_old = docid_lsb; + + write_u32( + write_pointer_base as u32, + &mut self.postings_buffer, + value.pointer_last, + ); + + value.pointer_last = write_pointer_base; + } else if term.ngram_type == NgramType::NgramFF + || term.ngram_type == NgramType::NgramRF + || term.ngram_type == NgramType::NgramFR + { + *value = PostingListObject0 { + pointer_first: write_pointer_base, + pointer_last: write_pointer_base, + posting_count: 1, + position_count: positions_count_sum, + ngram_type: term.ngram_type.clone(), + term_ngram1: term.term_ngram_1, + term_ngram2: term.term_ngram_0, + term_ngram3: term.term_ngram_2, + size_compressed_positions_key: value.size_compressed_positions_key + + positions_stack, + docid_delta_max: docid_lsb, + docid_old: docid_lsb, + ..*value + }; + } else { + *value = PostingListObject0 { + pointer_first: write_pointer_base, + pointer_last: write_pointer_base, + posting_count: 1, + position_count: positions_count_sum, + ngram_type: term.ngram_type.clone(), + term_ngram1: term.term_ngram_2, + term_ngram2: term.term_ngram_1, + term_ngram3: term.term_ngram_0, + size_compressed_positions_key: value.size_compressed_positions_key + + positions_stack, + docid_delta_max: docid_lsb, + docid_old: docid_lsb, + ..*value + }; + } + + write_pointer_base += 4; + + write_u16_ref( + docid_lsb, + &mut self.postings_buffer, + &mut write_pointer_base, + ); + + if positions_compressed_pointer + 2 > ROARING_BLOCK_SIZE { + println!( + "compressed positions size exceeded: {}", + positions_compressed_pointer + 2 + ) + }; + + if !embed_flag && positions_stack != compressed_position_size { + println!( + "size conflict: embed {} term {} ngram_type {:?} frequent {} pos_count {} : positions_stack {} compressed_position_size {} : positions_compressed_pointer {} posting_pointer_size {} docid {}", + embed_flag, + term.term, + term.ngram_type, + only_longest_field, + positions_count_sum, + positions_stack, + compressed_position_size, + positions_compressed_pointer, + posting_pointer_size, + doc_id + ); + } + + write_u16_ref( + if embed_flag { + compressed_position_size | 0b10000000_00000000 + } else { + compressed_position_size & 0b01111111_11111111 + } as u16, + &mut self.postings_buffer, + &mut write_pointer_base, + ); + + self.postings_buffer_pointer = write_pointer; + } +} + +pub(crate) fn write_field_vec( + postings_buffer: &mut [u8], + write_pointer: &mut usize, + field_vec: &[(usize, u32)], + indexed_field_vec_len: usize, + only_longest_field: bool, + nonempty_field_count: u32, + indexed_field_id_bits: u32, +) { + for (i, field) in field_vec.iter().enumerate() { + if indexed_field_vec_len == 1 { + if field.1 < 128 { + postings_buffer[*write_pointer] = field.1 as u8 | STOP_BIT; + *write_pointer += 1; + } else if field.1 < 16_384 { + postings_buffer[*write_pointer] = (field.1 >> 7) as u8; + *write_pointer += 1; + postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else if field.1 < 2_097_152 { + postings_buffer[*write_pointer] = (field.1 >> 14) as u8; + *write_pointer += 1; + postings_buffer[*write_pointer] = ((field.1 >> 7) & 0b01111111) as u8; + *write_pointer += 1; + + postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else { + println!("positionCount exceeded1: {}", field.1); + } + } else if only_longest_field { + if field.1 < 64 { + postings_buffer[*write_pointer] = field.1 as u8 | 0b11000000; + *write_pointer += 1; + } else if field.1 < 8_192 { + postings_buffer[*write_pointer] = (field.1 >> 7) as u8 | 0b01000000; + *write_pointer += 1; + postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else if field.1 < 1_048_576 { + postings_buffer[*write_pointer] = (field.1 >> 14) as u8 | 0b01000000; + *write_pointer += 1; + postings_buffer[*write_pointer] = ((field.1 >> 7) & 0b01111111) as u8; + *write_pointer += 1; + + postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else { + println!("positionCount exceeded2: {}", field.1); + } + } else { + let field_stop_bit = if i == nonempty_field_count as usize - 1 { + if i == 0 { + FIELD_STOP_BIT_1 + } else { + FIELD_STOP_BIT_2 + } + } else { + 0b00000000 + }; + + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + + let field_id_position_count = ((field.1 as usize) << indexed_field_id_bits) | field.0; + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = + only_longest_field_bit + required_position_count_bits + indexed_field_id_bits; + + if meta_bits <= 6 { + postings_buffer[*write_pointer] = + field_stop_bit | field_id_position_count as u8 | STOP_BIT; + *write_pointer += 1; + } else if meta_bits <= 13 { + postings_buffer[*write_pointer] = + field_stop_bit | (field_id_position_count >> 7) as u8; + *write_pointer += 1; + postings_buffer[*write_pointer] = + (field_id_position_count & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else if meta_bits <= 20 { + postings_buffer[*write_pointer] = + field_stop_bit | (field_id_position_count >> 14) as u8; + *write_pointer += 1; + postings_buffer[*write_pointer] = + ((field_id_position_count >> 7) & 0b01111111) as u8; + *write_pointer += 1; + postings_buffer[*write_pointer] = + (field_id_position_count & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else { + println!("positionCount exceeded3: {} ", field_id_position_count); + } + } + } +} diff --git a/mobile_app/rust/src/seekstorm/ingest.rs b/mobile_app/rust/src/seekstorm/ingest.rs new file mode 100644 index 0000000..11c137f --- /dev/null +++ b/mobile_app/rust/src/seekstorm/ingest.rs @@ -0,0 +1,756 @@ +use std::{ + collections::HashMap, + ffi::OsStr, + fs::{File, metadata}, + io::{self, BufReader, Read}, + path::PathBuf, + sync::Arc, + time::{Instant, SystemTime}, +}; + +use chrono::{DateTime, NaiveDateTime, TimeZone, Utc}; +use colored::Colorize; +use csv::{ReaderBuilder, Terminator}; +use num_format::{Locale, ToFormattedString}; +#[cfg(feature = "pdf")] +use pdfium_render::prelude::{PdfDocumentMetadataTagType, Pdfium}; +use serde_json::{Deserializer, json}; +use tokio::sync::RwLock; +use walkdir::WalkDir; + +use crate::{ + commit::Commit, + index::{Document, FileType, Index, IndexArc, IndexDocument}, + utils::truncate, +}; + +use lazy_static::lazy_static; + +#[cfg(feature = "pdf")] +type PdfDocument<'a> = pdfium_render::prelude::PdfDocument<'a>; +#[cfg(not(feature = "pdf"))] +type PdfDocument<'a> = (); + +#[cfg(feature = "pdf")] +lazy_static! { + pub(crate) static ref pdfium_option: Option = if let Ok(pdfium) = + Pdfium::bind_to_library(Pdfium::pdfium_platform_library_name_at_path("./")) + .or_else(|_| Pdfium::bind_to_system_library()) + { + Some(Pdfium::new(pdfium)) + } else { + None + }; +} + +fn read_skipping_ws(mut reader: impl Read) -> io::Result { + loop { + let mut byte = 0u8; + reader.read_exact(std::slice::from_mut(&mut byte))?; + if !byte.is_ascii_whitespace() { + return Ok(byte); + } + } +} + +/// Index PDF file from local disk. +/// - converts pdf to text and indexes it +/// - extracts title from metatag, or first line of text, or from filename +/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) +/// - copies all ingested pdf files to "files" subdirectory in index +/// # Arguments +/// * `file_path` - PathBuf to the file +/// # Returns +/// * `Result<(), String>` - Ok(()) or Err(String) +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub trait IndexPdfFile { + /// Index PDF file from local disk. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - PathBuf to the file + /// # Returns + /// * `Result<(), String>` - Ok(()) or Err(String) + async fn index_pdf_file(&self, file_path: &PathBuf) -> Result<(), String>; +} + +impl IndexPdfFile for IndexArc { + /// Index PDF file from local disk. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + async fn index_pdf_file(&self, file_path: &PathBuf) -> Result<(), String> { + #[cfg(feature = "pdf")] + { + if let Some(pdfium) = pdfium_option.as_ref() { + let file_size = file_path.metadata().unwrap().len() as usize; + + let date: DateTime = if let Ok(metadata) = metadata(file_path) { + if let Ok(time) = metadata.created() { + time + } else { + SystemTime::now() + } + } else { + SystemTime::now() + } + .into(); + let file_date = date.timestamp(); + + if let Ok(pdf) = pdfium.load_pdf_from_file(file_path, None) { + self.index_pdf( + file_path, + file_size, + file_date, + FileType::PathBuf(file_path.into()), + pdf, + ) + .await; + Ok(()) + } else { + println!("can't read PDF {} {}", file_path.display(), file_size); + Err("can't read PDF".to_string()) + } + } else { + println!( + "Pdfium library not found: download and copy into the same folder as the seekstorm_server.exe: https://github.com/bblanchon/pdfium-binaries" + ); + Err("Pdfium library not found".to_string()) + } + } + #[cfg(not(feature = "pdf"))] + { + println!("pdf feature flag not enabled"); + Err("pdf feature flag not enabled".to_string()) + } + } +} + +/// Index PDF file from byte array. +/// - converts pdf to text and indexes it +/// - extracts title from metatag, or first line of text, or from filename +/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) +/// - copies all ingested pdf files to "files" subdirectory in index +/// # Arguments +/// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) +/// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) +/// * `file_bytes` - Byte array of the file +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub trait IndexPdfBytes { + /// Index PDF file from byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) + /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) + /// * `file_bytes` - Byte array of the file + async fn index_pdf_bytes( + &self, + file_path: &PathBuf, + file_date: i64, + file_bytes: &[u8], + ) -> Result<(), String>; +} + +#[cfg(feature = "pdf")] +impl IndexPdfBytes for IndexArc { + /// Index PDF file from byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) + /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) + /// * `file_bytes` - Byte array of the file + async fn index_pdf_bytes( + &self, + file_path: &PathBuf, + file_date: i64, + file_bytes: &[u8], + ) -> Result<(), String> { + if let Some(pdfium) = pdfium_option.as_ref() { + let file_size = file_bytes.len(); + if let Ok(pdf) = pdfium.load_pdf_from_byte_slice(file_bytes, None) { + self.index_pdf( + file_path, + file_size, + file_date, + FileType::Bytes(file_path.into(), file_bytes.into()), + pdf, + ) + .await; + Ok(()) + } else { + println!("can't read PDF {} {}", file_path.display(), file_size); + Err("can't read PDF".to_string()) + } + } else { + println!( + "Pdfium library not found: download and copy into the same folder as the seekstorm_server.exe: https://github.com/bblanchon/pdfium-binaries" + ); + Err("Pdfium library not found".to_string()) + } + } +} + +#[cfg(not(feature = "pdf"))] +impl IndexPdfBytes for IndexArc { + /// Index PDF file from byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) + /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) + /// * `file_bytes` - Byte array of the file + async fn index_pdf_bytes( + &self, + file_path: &PathBuf, + file_date: i64, + file_bytes: &[u8], + ) -> Result<(), String> { + println!("pdf feature flag not enabled"); + Err("pdf feature flag not enabled".to_string()) + } +} + +/// Index PDF file from local disk or byte array. +/// - converts pdf to text and indexes it +/// - extracts title from metatag, or first line of text, or from filename +/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) +/// - copies all ingested pdf files to "files" subdirectory in index +/// # Arguments +/// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) +/// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) +/// * `file` - FileType::PathBuf or FileType::Bytes +/// * `pdf` - pdfium_render::prelude::PdfDocument +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +trait IndexPdf { + async fn index_pdf( + &self, + file_path: &PathBuf, + file_size: usize, + file_date: i64, + file: FileType, + pdf: PdfDocument<'_>, + ); +} + +#[cfg(feature = "pdf")] +impl IndexPdf for IndexArc { + /// Index PDF file from local disk or byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + async fn index_pdf( + &self, + file_path: &PathBuf, + file_size: usize, + file_date: i64, + file: FileType, + pdf: PdfDocument<'_>, + ) { + let mut text = String::with_capacity(file_size); + + pdf.pages().iter().for_each(|page| { + text.push_str(&page.text().unwrap().all()); + text.push_str(" \n"); + }); + + if text.is_empty() { + println!("can't extract text from PDF {}", file_path.display(),); + } else { + let meta = pdf.metadata(); + + let title = if let Some(title) = meta.get(PdfDocumentMetadataTagType::Title) { + title.value().to_owned() + } else { + let mut i = 0; + let mut lines = text.lines(); + loop { + i += 1; + if let Some(title) = lines.next() { + if title.trim().len() > 1 { + break truncate(title, 160).trim().to_owned(); + } else if i < 10 { + continue; + } + } + + break file_path + .file_stem() + .unwrap() + .to_string_lossy() + .to_string() + .replace("_", ""); + } + }; + + let mut creation_timestamp = + if let Some(date) = meta.get(PdfDocumentMetadataTagType::CreationDate) { + let mut date_string = if date.value().starts_with("D:") { + &date.value()[2..] + } else { + &date.value()[0..] + }; + + if date_string.len() > 14 + && date_string + .chars() + .nth(14) + .unwrap() + .eq_ignore_ascii_case(&'z') + { + date_string = &date_string[0..14]; + } + + if date_string.len() == 14 + || date_string.len() == 19 + || date_string.len() == 20 + || date_string.len() == 21 + { + let mut date_string2 = String::with_capacity(23); + date_string2.push_str(&date_string[0..4]); + date_string2.push('-'); + date_string2.push_str(&date_string[4..6]); + date_string2.push('-'); + date_string2.push_str(&date_string[6..8]); + date_string2.push('T'); + date_string2.push_str(&date_string[8..10]); + date_string2.push(':'); + date_string2.push_str(&date_string[10..12]); + date_string2.push(':'); + date_string2.push_str(&date_string[12..14]); + if date_string.len() == 14 { + date_string2.push_str("+00:00") + } else if date_string.chars().nth(17).unwrap() == '\'' { + date_string2.push_str(&date_string[14..17]); + date_string2.push(':'); + date_string2.push_str(&date_string[18..20]); + } else { + date_string2.push_str(&date_string[14..17]); + date_string2.push(':'); + date_string2.push_str(&date_string[17..19]); + } + + if let Ok(date) = DateTime::parse_from_rfc3339(&date_string2) { + date.timestamp() + } else { + file_date + } + } else if let Ok(date) = + NaiveDateTime::parse_from_str(date.value(), "%a %b %e %H:%M:%S %Y") + .map(|ndt| Utc.from_utc_datetime(&ndt)) + { + date.timestamp() + } else if let Ok(date) = + NaiveDateTime::parse_from_str(date.value(), "%Y/%m/%d %H:%M:%S") + .map(|ndt| Utc.from_utc_datetime(&ndt)) + { + date.timestamp() + } else if let Ok(date) = + NaiveDateTime::parse_from_str(date.value(), "%m/%e/%Y %H:%M:%S") + .map(|ndt| Utc.from_utc_datetime(&ndt)) + { + date.timestamp() + } else { + file_date + } + } else { + file_date + }; + + if creation_timestamp > Utc::now().timestamp() || creation_timestamp < 0 { + creation_timestamp = file_date; + } + + let document: Document = HashMap::from([ + ("title".to_string(), json!(title)), + ("body".to_string(), json!(text)), + ("url".to_string(), json!(&file_path.display().to_string())), + ("date".to_string(), json!(creation_timestamp)), + ]); + + self.index_document(document, file).await; + + let date_time = Utc.timestamp_opt(creation_timestamp, 0).unwrap(); + println!( + "indexed {} {} {} {}", + date_time.format("%d/%m/%Y %H:%M"), + file_path.display(), + text.len().to_formatted_string(&Locale::en), + title + ); + } + } +} + +#[cfg(not(feature = "pdf"))] +impl IndexPdf for IndexArc { + /// Index PDF file from local disk or byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + async fn index_pdf( + &self, + file_path: &PathBuf, + file_size: usize, + file_date: i64, + file: FileType, + pdf: PdfDocument<'_>, + ) { + println!("pdf feature flag not enabled"); + } +} + +pub(crate) async fn path_recurse( + index_arc: &Arc>, + data_path: &PathBuf, + docid: &mut usize, +) { + for entry in WalkDir::new(data_path) { + let entry = entry.unwrap(); + let path = entry.path(); + + let md = metadata(path).unwrap(); + if md.is_file() + && let Some(extension) = path.extension().and_then(OsStr::to_str) + && extension.to_lowercase() == "pdf" + && index_arc.index_pdf_file(path).await.is_ok() + { + *docid += 1; + }; + } +} + +/// Index PDF files from local disk directory and sub-directories or from file. +/// - converts pdf to text and indexes it +/// - extracts title from metatag, or first line of text, or from filename +/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) +/// - copies all ingested pdf files to "files" subdirectory in index +/// # Arguments +/// * `file_path` - PathBuf to the file +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub trait IngestPdf { + /// Index PDF files from local disk directory and sub-directories or from file. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - PathBuf to the file + async fn ingest_pdf(&mut self, file_path: &PathBuf); +} + +#[cfg(feature = "pdf")] +impl IngestPdf for IndexArc { + /// Index PDF files from local disk directory and sub-directories or from file. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + async fn ingest_pdf(&mut self, data_path: &PathBuf) { + if pdfium_option.is_some() { + match data_path.exists() { + true => { + println!("ingesting PDF from: {}", data_path.display()); + + let start_time = Instant::now(); + let mut docid = 0usize; + + let index_ref = self.read().await; + drop(index_ref); + + let md = metadata(data_path).unwrap(); + if md.is_file() { + if let Some(extension) = PathBuf::new(&data_path.display().to_string()) + .extension() + .and_then(OsStr::to_str) + && extension.to_lowercase() == "pdf" + && self.index_pdf_file(data_path).await.is_ok() + { + docid += 1; + } + } else { + path_recurse(self, data_path, &mut docid).await; + } + + self.commit().await; + + let elapsed_time = start_time.elapsed().as_nanos(); + + println!( + "{}: docs {} docs/sec {} docs/day {} minutes {:.2} seconds {}", + "Indexing finished".green(), + docid.to_formatted_string(&Locale::en), + (docid as u128 * 1_000_000_000 / elapsed_time) + .to_formatted_string(&Locale::en), + ((docid as u128 * 1_000_000_000 / elapsed_time) * 3600 * 24) + .to_formatted_string(&Locale::en), + elapsed_time as f64 / 1_000_000_000.0 / 60.0, + elapsed_time / 1_000_000_000 + ); + } + false => { + println!("data file not found: {}", data_path.display()); + } + } + } else { + println!( + "Pdfium library not found: download and copy into the same folder as the seekstorm_server.exe: https://github.com/bblanchon/pdfium-binaries" + ) + } + } +} + +#[cfg(not(feature = "pdf"))] +impl IngestPdf for IndexArc { + /// Index PDF files from local disk directory and sub-directories or from file. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + async fn ingest_pdf(&mut self, data_path: &PathBuf) { + println!("pdf feature flag not enabled"); + } +} + +/// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. +/// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub trait IngestJson { + /// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + async fn ingest_json(&mut self, data_path: &PathBuf); +} + +impl IngestJson for IndexArc { + /// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + async fn ingest_json(&mut self, data_path: &PathBuf) { + match data_path.exists() { + true => { + println!("ingesting data from: {}", data_path.display()); + + let start_time = Instant::now(); + let mut docid: i64 = 0; + + let index_arc_clone2 = self.clone(); + let index_ref = index_arc_clone2.read().await; + drop(index_ref); + + let index_arc_clone = self.clone(); + let file = File::open(data_path).unwrap(); + let mut reader = BufReader::new(file); + + let is_vector = read_skipping_ws(&mut reader).unwrap() == b'['; + + if !is_vector { + println!("Newline-delimited JSON (ndjson) or Concatenated JSON detected"); + reader.seek_relative(-1).unwrap(); + + for doc_object in Deserializer::from_reader(reader).into_iter::() { + let index_arc_clone_clone = index_arc_clone.clone(); + + index_arc_clone_clone + .index_document(doc_object.unwrap(), FileType::None) + .await; + docid += 1; + } + } else { + println!("JSON detected"); + + let index_arc_clone_clone = index_arc_clone.clone(); + loop { + let next_obj = Deserializer::from_reader(reader.by_ref()) + .into_iter::() + .next(); + match next_obj { + Some(doc_object) => { + index_arc_clone_clone + .index_document(doc_object.unwrap(), FileType::None) + .await + } + None => break, + } + + docid += 1; + + match read_skipping_ws(reader.by_ref()).unwrap() { + b',' => {} + b']' => break, + _ => break, + } + } + } + + self.commit().await; + + let elapsed_time = start_time.elapsed().as_nanos(); + + let date: DateTime = DateTime::from(SystemTime::now()); + + let index_ref = self.read().await; + + println!( + "{}: {} shards {} levels {} ngrams {:08b} docs {} docs/sec {} docs/day {} dictionary {} {} completions {} minutes {:.2} seconds {}", + "Indexing finished".green(), + date.format("%D"), + index_ref.shard_count().await, + index_ref.shard_vec[0].read().await.level_index.len(), + index_ref.meta.ngram_indexing, + docid.to_formatted_string(&Locale::en), + (docid as u128 * 1_000_000_000 / elapsed_time).to_formatted_string(&Locale::en), + ((docid as u128 * 1_000_000_000 / elapsed_time) * 3600 * 24) + .to_formatted_string(&Locale::en), + if let Some(symspell) = index_ref.symspell_option.as_ref() { + symspell + .read() + .await + .get_dictionary_size() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + if let Some(symspell) = index_ref.symspell_option.as_ref() { + symspell + .read() + .await + .get_candidates_size() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + if let Some(completions) = index_ref.completion_option.as_ref() { + completions + .read() + .await + .len() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + elapsed_time as f64 / 1_000_000_000.0 / 60.0, + elapsed_time / 1_000_000_000 + ); + } + false => { + println!("data file not found: {}", data_path.display()); + } + } + } +} + +#[allow(async_fn_in_trait)] +/// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). +/// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. +pub trait IngestCsv { + /// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + async fn ingest_csv( + &mut self, + data_path: &PathBuf, + has_header: bool, + quoting: bool, + delimiter: u8, + skip_docs: Option, + num_docs: Option, + ); +} + +impl IngestCsv for IndexArc { + /// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + async fn ingest_csv( + &mut self, + data_path: &PathBuf, + has_header: bool, + quoting: bool, + delimiter: u8, + skip_docs: Option, + num_docs: Option, + ) { + match data_path.exists() { + true => { + println!("ingesting data from: {}", data_path.display()); + + let start_time = Instant::now(); + let mut docid: usize = 0; + + let index_arc_clone2 = self.clone(); + let index_ref = index_arc_clone2.read().await; + drop(index_ref); + + let index_arc_clone = self.clone(); + let index_arc_clone_clone = index_arc_clone.clone(); + + let index_ref = index_arc_clone.read().await; + let mut schema_vec: Vec = vec!["".to_string(); index_ref.schema_map.len()]; + for (key, value) in index_ref.schema_map.iter() { + schema_vec[value.field_id] = key.clone(); + } + drop(index_ref); + + let mut rdr = ReaderBuilder::new() + .has_headers(has_header) + .quoting(quoting) + .delimiter(delimiter) + .terminator(Terminator::CRLF) + .from_path(data_path) + .unwrap(); + + let skip = skip_docs.unwrap_or(0); + let max = num_docs.unwrap_or(usize::MAX); + let mut i: usize = 0; + let mut record = csv::StringRecord::new(); + while rdr.read_record(&mut record).unwrap() && docid < max { + if i < skip { + i += 1; + continue; + } + let mut document: Document = HashMap::new(); + for (i, element) in record.iter().enumerate() { + document.insert(schema_vec[i].clone(), json!(element)); + } + + index_arc_clone_clone + .index_document(document, FileType::None) + .await; + docid += 1; + } + + self.commit().await; + + let elapsed_time = start_time.elapsed().as_nanos(); + + println!( + "{}: docs {} docs/sec {} docs/day {} minutes {:.2} seconds {}", + "Indexing finished".green(), + docid.to_formatted_string(&Locale::en), + (docid as u128 * 1_000_000_000 / elapsed_time).to_formatted_string(&Locale::en), + ((docid as u128 * 1_000_000_000 / elapsed_time) * 3600 * 24) + .to_formatted_string(&Locale::en), + elapsed_time as f64 / 1_000_000_000.0 / 60.0, + elapsed_time / 1_000_000_000 + ); + } + false => { + println!("data file not found: {}", data_path.display()); + } + } + } +} diff --git a/mobile_app/rust/src/seekstorm/intersection.rs b/mobile_app/rust/src/seekstorm/intersection.rs new file mode 100644 index 0000000..671996c --- /dev/null +++ b/mobile_app/rust/src/seekstorm/intersection.rs @@ -0,0 +1,2300 @@ +use crate::{ + add_result::add_result_multiterm_multifield, + compatible::{_blsr_u64, _mm_tzcnt_64}, + index::{ + AccessType, CompressionType, NonUniquePostingListObjectQuery, PostingListObjectQuery, + SORT_FLAG, SPEEDUP_FLAG, Shard, + }, + intersection_simd::intersection_vector16, + search::{FilterSparse, ResultType, SearchResult}, + utils::{read_u16, read_u64}, +}; +use ahash::AHashSet; +use num_traits::FromPrimitive; +use std::{ + cmp, + cmp::Ordering as OtherOrdering, + sync::{ + Arc, + atomic::{AtomicUsize, Ordering}, + }, +}; + +pub(crate) fn bitpacking32_get_delta(body: &[u8], bitposition: u32, rangebits: u32) -> u16 { + let bodyspan = &body[((bitposition >> 3) as usize)..]; + let bodyspan_4: &[u8; 4] = bodyspan.try_into().unwrap(); + let source_bytes = u32::from_be_bytes(*bodyspan_4); + ((source_bytes >> (32 - rangebits - (bitposition & 7)) as i32) + & (0b1111_1111_1111_1111_1111_1111_1111_1111 >> (32 - rangebits as i32))) as u16 +} + +#[allow(clippy::too_many_arguments)] +pub(crate) fn intersection_bitmap_2( + result_count: &mut i32, + block_id: usize, + shard: &Shard, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, + filtered: bool, + block_score: f32, + all_terms_frequent: bool, +) { + for ulong_pos in 0..1024 { + let mut bits1 = read_u64( + &query_list[0].byte_array[query_list[0].compressed_doc_id_range..], + ulong_pos * 8, + ); + let mut bits2 = read_u64( + &query_list[1].byte_array[query_list[1].compressed_doc_id_range..], + ulong_pos * 8, + ); + + let mut intersect = bits1 & bits2; + + if !filtered && result_type == &ResultType::Count { + *result_count += u64::count_ones(intersect) as i32; + } else if !filtered + && search_result.topk_candidates.current_heap_size == top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + if result_type != &ResultType::Topk { + *result_count += u64::count_ones(intersect) as i32; + } + } else { + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as usize; + let doc_id1 = (ulong_pos << 6) + bit_pos; + + if bit_pos > 0 { + let mask2 = u64::MAX << bit_pos; + let mask1 = !mask2; + query_list[0].p_docid += (bits1 & mask1).count_ones() as usize; + query_list[1].p_docid += (bits2 & mask1).count_ones() as usize; + bits1 &= mask2; + bits2 &= mask2; + } + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + intersect = unsafe { _blsr_u64(intersect) }; + } + query_list[0].p_docid += bits1.count_ones() as usize; + query_list[1].p_docid += bits2.count_ones() as usize; + } + } +} + +#[allow(clippy::too_many_arguments)] +#[allow(clippy::never_loop)] +pub(crate) async fn intersection_docid( + shard: &Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'_>], + query_list: &mut [PostingListObjectQuery<'_>], + not_query_list: &mut [PostingListObjectQuery<'_>], + block_id: usize, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + phrase_query: bool, + block_score: f32, +) { + let t1 = 0; + let mut t2 = 1; + + let filtered = !not_query_list.is_empty() + || phrase_query + || !field_filter_set.is_empty() + || !search_result.topk_candidates.result_sort.is_empty() + || (!search_result.query_facets.is_empty() || !facet_filter.is_empty()) + && (!search_result.skip_facet_count || !facet_filter.is_empty()); + + for plo in not_query_list.iter_mut() { + let query_list_item_mut = plo; + + let result = query_list_item_mut + .blocks + .binary_search_by(|block| block.block_id.cmp(&(block_id as u32))); + match result { + Ok(p_block) => { + query_list_item_mut.bm25_flag = true; + query_list_item_mut.p_block = p_block as i32 + } + Err(_) => { + query_list_item_mut.bm25_flag = false; + continue; + } + }; + + let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; + + query_list_item_mut.compression_type = + FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); + + query_list_item_mut.rank_position_pointer_range = + blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 + + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { + ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + query_list_item_mut.compressed_doc_id_range = + query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; + + query_list_item_mut.p_docid = 0; + query_list_item_mut.p_docid_count = blo.posting_count as usize + 1; + + query_list_item_mut.pointer_pivot_p_docid = blo.pointer_pivot_p_docid; + + query_list_item_mut.docid = 0; + + if query_list_item_mut.compression_type == CompressionType::Rle { + query_list_item_mut.p_run_count = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range, + ) as i32; + let startdocid = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 2, + ); + let runlength = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 4, + ); + query_list_item_mut.docid = startdocid as i32; + query_list_item_mut.run_end = (startdocid + runlength) as i32; + query_list_item_mut.p_run_sum = runlength as i32; + query_list_item_mut.p_run = 6; + } + } + + let mut all_terms_frequent = shard.indexed_doc_count > (top_k << 8); + for query_list_item_mut in query_list.iter_mut() { + let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; + + query_list_item_mut.p_docid = 0; + query_list_item_mut.p_docid_count = blo.posting_count as usize + 1; + + if query_list_item_mut.bm25_flag + && (query_list_item_mut.posting_count as f32) / (shard.indexed_doc_count as f32) < 0.5 + { + all_terms_frequent = false; + } + + query_list_item_mut.compression_type = + FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); + + query_list_item_mut.rank_position_pointer_range = + blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + query_list_item_mut.pointer_pivot_p_docid = blo.pointer_pivot_p_docid; + + let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 + + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { + ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + query_list_item_mut.compressed_doc_id_range = + query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; + + query_list_item_mut.docid = 0; + query_list_item_mut.p_run = 0; + query_list_item_mut.p_run_count = 0; + + query_list_item_mut.p_run_sum = + if query_list_item_mut.compression_type == CompressionType::Rle { + query_list_item_mut.p_run_count = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range, + ) as i32; + + read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 4, + ) + .into() + } else { + 0 + }; + } + + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && (result_type == &ResultType::Topk) + && (search_result.topk_candidates.current_heap_size == top_k) + && (block_score <= search_result.topk_candidates._elements[0].score) + { + return; + } + + query_list.sort_unstable_by(|x, y| { + if (x.compression_type == CompressionType::Bitmap) + != (y.compression_type == CompressionType::Bitmap) + { + if x.compression_type == CompressionType::Bitmap { + OtherOrdering::Greater + } else { + OtherOrdering::Less + } + } else { + x.blocks[x.p_block as usize] + .posting_count + .partial_cmp(&y.blocks[y.p_block as usize].posting_count) + .unwrap() + } + }); + + 'restart: loop { + match ( + &query_list[t1].compression_type, + &query_list[t2].compression_type, + ) { + (CompressionType::Array, CompressionType::Array) => 'exit: loop { + let mut doc_id1: u16 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + let mut doc_id2: u16 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + + if query_list.len() == 2 + && cfg!(any(target_arch = "x86_64", target_arch = "aarch64")) + { + intersection_vector16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[0].p_docid_count, + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + query_list[1].p_docid_count, + result_count, + block_id, + shard, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + all_terms_frequent, + ); + + break 'exit; + } + + loop { + match doc_id1.cmp(&doc_id2) { + cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Array { + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + continue 'restart; + } else { + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + doc_id1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + } + cmp::Ordering::Greater => { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].p_docid_count { + break; + } + + let mut bound = 2; + while (query_list[t2].p_docid + bound < query_list[t2].p_docid_count) + && (read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (query_list[t2].p_docid + bound) * 2, + ) < doc_id1) + { + query_list[t2].p_docid += bound; + bound <<= 1; + } + + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } + cmp::Ordering::Equal => { + if t2 + 1 < query_list.len() { + t2 += 1; + if query_list[t2].compression_type != CompressionType::Array { + continue 'restart; + } else { + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + continue; + } + } + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break 'exit; + } + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 == item.run_end as u16) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Array { + continue 'restart; + } + doc_id1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } + } + } + + break; + }, + + (CompressionType::Array, CompressionType::Delta) => 'exit: loop { + let mut doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + let mut doc_id2: u16 = query_list[t2].docid as u16; + + loop { + match doc_id1.cmp(&doc_id2) { + cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Delta { + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + continue 'restart; + } else { + doc_id2 = query_list[t2].docid as u16; + } + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + doc_id1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + } + cmp::Ordering::Greater => { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].p_docid_count { + break; + } + + query_list[t2].bitposition += query_list[t2].rangebits as u32; + doc_id2 = query_list[t2].docid as u16 + + bitpacking32_get_delta( + query_list[t2].byte_array, + query_list[t2].bitposition, + query_list[t2].rangebits as u32, + ) + + 1; + query_list[t2].docid = doc_id2 as i32; + } + cmp::Ordering::Equal => { + if t2 + 1 < query_list.len() { + t2 += 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } else { + doc_id2 = query_list[t2].docid as u16; + continue; + } + } + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut() { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 == item.run_end as u16) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } + doc_id1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + doc_id2 = query_list[t2].docid as u16; + } + } + } + + break; + }, + (CompressionType::Bitmap, CompressionType::Bitmap) => 'exit: loop { + if query_list.len() == 2 && SPEEDUP_FLAG { + intersection_bitmap_2( + result_count, + block_id, + shard, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + filtered, + block_score, + all_terms_frequent, + ); + break 'exit; + } + + let mut intersect_mask: u64 = u64::MAX << (query_list[t1].docid & 63); + + for ulong_pos in (query_list[t1].docid as usize >> 6)..1024 { + let ulong_1 = read_u64( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + ulong_pos * 8, + ); + let ulong_2 = read_u64( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + ulong_pos * 8, + ); + let mut intersect: u64 = ulong_1 & ulong_2 & intersect_mask; + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as usize; + let doc_id1 = (ulong_pos << 6) + bit_pos; + + if t2 + 1 < query_list.len() { + for i in (query_list[t2].p_run as usize)..ulong_pos { + query_list[t2].p_run_sum += read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + i * 8, + ) + .count_ones() + as i32 + } + query_list[t2].p_docid = if bit_pos == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos * 8, + ) << (64 - bit_pos)) + .count_ones() as usize + }; + + query_list[t2].p_run = ulong_pos as i32; + + t2 += 1; + + intersect &= read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos * 8, + ); + + if ((1u64 << bit_pos) & intersect) == 0 { + t2 = 1; + } + + query_list[t1].docid = doc_id1 as i32; + + continue; + } + + intersect = unsafe { _blsr_u64(intersect) }; + + if SPEEDUP_FLAG + && !filtered + && (result_type == &ResultType::Count + || ((search_result.topk_candidates.current_heap_size == top_k) + && (block_score + <= search_result.topk_candidates._elements[0].score))) + { + if result_type != &ResultType::Topk { + *result_count += 1; + } + } else { + for i in (query_list[t1].p_run as usize)..ulong_pos { + query_list[t1].p_run_sum += read_u64( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + i * 8, + ) + .count_ones() + as i32 + } + query_list[t1].p_docid = if bit_pos == 0 { + query_list[t1].p_run_sum as usize + } else { + query_list[t1].p_run_sum as usize + + (read_u64( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + ulong_pos * 8, + ) << (64 - bit_pos)) + .count_ones() as usize + }; + query_list[t1].p_run = ulong_pos as i32; + + for i in (query_list[t2].p_run as usize)..ulong_pos { + query_list[t2].p_run_sum += read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + i * 8, + ) + .count_ones() + as i32 + } + query_list[t2].p_docid = if bit_pos == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos * 8, + ) << (64 - bit_pos)) + .count_ones() as usize + }; + query_list[t2].p_run = ulong_pos as i32; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 == item.run_end as usize) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + } + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Bitmap { + query_list[t1].docid = doc_id1 as i32 + 1; + continue 'restart; + } + } + + intersect_mask = u64::MAX; + } + + break; + }, + + (CompressionType::Array, CompressionType::Bitmap) => 'exit: loop { + if query_list.len() == 2 { + let block_id_bits = block_id << 16; + let mut p_docid = query_list[0].p_docid; + let compressed_doc_id_range = query_list[1].compressed_doc_id_range; + let p_docid_count = query_list[0].p_docid_count; + loop { + let doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + p_docid * 2, + ); + if (query_list[1].byte_array + [compressed_doc_id_range + (doc_id1 >> 3) as usize] + & (1u32 << (doc_id1 & 7)) as u8) + > 0 + { + query_list[0].p_docid = p_docid; + + let byte_pos = (doc_id1 >> 6) << 3; + let bit_pos = doc_id1 & 63; + for i in (((query_list[t2].p_run << 3) as usize)..byte_pos as usize) + .step_by(8) + { + query_list[t2].p_run_sum += read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + i, + ) + .count_ones() + as i32; + } + + query_list[t2].p_docid = if bit_pos == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + byte_pos as usize, + ) << (64 - bit_pos)) + .count_ones() as usize + }; + + query_list[t2].p_run = (doc_id1 >> 6) as i32; + add_result_multiterm_multifield( + shard, + block_id_bits | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + } + + p_docid += 1; + if p_docid == p_docid_count { + break 'exit; + } + } + } + + loop { + let doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + + if (query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range + (doc_id1 >> 3) as usize] + & (1u32 << (doc_id1 & 7)) as u8) + > 0 + { + let byte_pos2 = (doc_id1 >> 6) << 3; + let bit_pos2 = doc_id1 & 63; + + if t2 + 1 < query_list.len() { + for i in (((query_list[t2].p_run << 3) as usize)..byte_pos2 as usize) + .step_by(8) + { + query_list[t2].p_run_sum += read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + i, + ) + .count_ones() + as i32; + } + query_list[t2].p_docid = if bit_pos2 == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + byte_pos2 as usize, + ) << (64 - bit_pos2)) + .count_ones() as usize + }; + query_list[t2].p_run = (doc_id1 >> 6) as i32; + + t2 += 1; + continue; + } + + for i in + (((query_list[t2].p_run << 3) as usize)..byte_pos2 as usize).step_by(8) + { + query_list[t2].p_run_sum += (read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + i, + )) + .count_ones() + as i32; + } + query_list[t2].p_docid = if bit_pos2 == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + byte_pos2 as usize, + ) << (64 - bit_pos2)) + .count_ones() as usize + }; + query_list[t2].p_run = (doc_id1 >> 6) as i32; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 as i32 == item.run_end) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, + ) as i32; + } + } + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break 'exit; + } + t2 = 1; + if query_list[t2].compression_type != CompressionType::Bitmap { + continue 'restart; + } + } + }, + + (CompressionType::Array, CompressionType::Rle) => 'exit: loop { + query_list[t2].p_run_count = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + 0, + ) as i32; + let mut doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + let mut run_start2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + let mut run_length2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + let mut run_end2 = run_start2 + run_length2; + query_list[t2].run_end = run_end2 as i32; + + loop { + if doc_id1 > run_end2 { + query_list[t2].p_run += 1; + if query_list[t2].p_run == query_list[t2].p_run_count { + break; + } + + if false { + let mut bound: i32 = 2; + while (query_list[t2].p_run + bound < query_list[t2].p_run_count) + && (read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + ((query_list[t2].p_run + bound) << 1) as usize) * 2, + ) + read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + ((query_list[t2].p_run + bound) << 1) as usize) * 2, + ) < doc_id1) + { + query_list[t2].p_run += bound; + bound <<= 1; + } + } + + run_start2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + run_length2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + run_end2 = run_start2 + run_length2; + query_list[t2].p_run_sum += run_length2 as i32; + query_list[t2].run_end = run_end2 as i32; + } else if doc_id1 < run_start2 { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Rle { + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + continue 'restart; + } else { + run_start2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + run_end2 = query_list[t2].run_end as u16; + } + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + } else { + if t2 + 1 < query_list.len() { + run_length2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + query_list[t2].p_docid = query_list[t2].p_run_sum as usize + - run_length2 as usize + + doc_id1 as usize + - run_start2 as usize + + query_list[t2].p_run as usize; + + t2 += 1; + if query_list[t2].compression_type != CompressionType::Rle { + continue 'restart; + } else { + query_list[t2].p_run_count = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + 0, + ) + as i32; + run_start2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + run_length2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + run_end2 = run_start2 + run_length2; + query_list[t2].run_end = run_end2 as i32; + + continue; + } + } + + query_list[t2].p_docid = query_list[t2].p_run_sum as usize + - run_length2 as usize + + doc_id1 as usize + - run_start2 as usize + + query_list[t2].p_run as usize; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break 'exit; + } + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 as i32 == item.run_end) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Rle { + continue 'restart; + } + + doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + + run_start2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + run_length2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + run_end2 = run_start2 + run_length2; + query_list[t2].run_end = run_end2 as i32; + } + } + + break; + }, + + (CompressionType::Delta, CompressionType::Delta) => 'exit: loop { + let mut doc_id1: u16 = query_list[t1].docid as u16; + let mut doc_id2: u16 = query_list[t2].docid as u16; + + loop { + match doc_id1.cmp(&doc_id2) { + cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Delta { + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + continue 'restart; + } else { + doc_id2 = query_list[t2].docid as u16; + } + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + + query_list[t1].bitposition += query_list[t1].rangebits as u32; + doc_id1 = query_list[t1].docid as u16 + + bitpacking32_get_delta( + query_list[t1].byte_array, + query_list[t1].bitposition, + query_list[t1].rangebits as u32, + ) + + 1; + query_list[t1].docid = doc_id1 as i32; + } + cmp::Ordering::Greater => { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].p_docid_count { + break; + } + + query_list[t2].bitposition += query_list[t2].rangebits as u32; + doc_id2 = query_list[t2].docid as u16 + + bitpacking32_get_delta( + query_list[t2].byte_array, + query_list[t2].bitposition, + query_list[t2].rangebits as u32, + ) + + 1; + query_list[t2].docid = doc_id2 as i32; + } + cmp::Ordering::Equal => { + if t2 + 1 < query_list.len() { + t2 += 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } else { + doc_id2 = query_list[t2].docid as u16; + continue; + } + } + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut() { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 == item.run_end as u16) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } + doc_id1 = query_list[t1].docid as u16; + doc_id2 = query_list[t2].docid as u16; + } + } + } + + break; + }, + + (CompressionType::Bitmap, CompressionType::Delta) => 'exit: loop { + loop { + let doc_id2 = query_list[t2].docid as u16; + let byte_pos = doc_id2 >> 3; + let bit_pos = doc_id2 & 7; + + if (query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range + byte_pos as usize] + & (1u32 << bit_pos) as u8) + > 0 + { + if t2 + 1 < query_list.len() { + t2 += 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } else { + continue; + } + } + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id2 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id2 == item.run_end as u16) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } + } else { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].p_docid_count { + break 'exit; + } + } + } + }, + + (CompressionType::Rle, CompressionType::Rle) => 'exit: loop { + query_list[t1].p_run_count = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + 0, + ) as i32; + let mut runstart1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + let mut runlength1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + + let mut runend1 = runstart1 + runlength1; + query_list[t1].run_end = runend1 as i32; + + query_list[t2].p_run_count = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + 0, + ) as i32; + let mut runstart2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + let mut runlength2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + let mut runend2 = runstart2 + runlength2; + query_list[t2].run_end = runend2 as i32; + + 'start: loop { + if query_list[t1].docid < runstart2 as i32 && t2 > 1 { + query_list[t1].docid = runstart2 as i32; + + t2 = 1; + + continue 'restart; + } + + if runstart1 > runend2 { + query_list[t2].p_run += 1; + if query_list[t2].p_run == query_list[t2].p_run_count { + break 'exit; + } + + runstart2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + runlength2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + runend2 = runstart2 + runlength2; + + query_list[t2].p_run_sum += runlength2 as i32; + query_list[t2].run_end = runend2 as i32; + } else if runend1 < runstart2 { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Rle { + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + + query_list[t1].p_run_sum += read_u16( + query_list[t1].byte_array, + query_list[t1].compressed_doc_id_range + + 4 + + (query_list[t1].p_run << 2) as usize, + ) + as i32; + + continue 'restart; + } else { + runstart2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + runlength2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + runend2 = query_list[t2].run_end as u16; + } + } + + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + runstart1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + runlength1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + runend1 = runstart1 + runlength1; + + query_list[t1].p_run_sum += runlength1 as i32; + query_list[t1].run_end = runend1 as i32; + } else { + for doc_id in cmp::max( + query_list[t1].docid, + cmp::max(runstart1 as i32, runstart2 as i32), + ) + ..=(cmp::min(runend1 as i32, runend2 as i32)) + { + if t2 + 1 < query_list.len() { + query_list[t2].p_docid = query_list[t2].p_run_sum as usize + - runlength2 as usize + + doc_id as usize + - read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ) as usize + + query_list[t2].p_run as usize; + + t2 += 1; + if query_list[t2].compression_type != CompressionType::Rle { + query_list[t1].docid = doc_id; + + continue 'restart; + } else { + query_list[t2].p_run_count = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + 0, + ) + as i32; + runstart2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + runlength2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + runend2 = runstart2 + runlength2; + query_list[t2].run_end = runend2 as i32; + + query_list[t1].docid = doc_id; + + continue 'start; + } + } + + query_list[t1].p_docid = query_list[t1].p_run_sum as usize + - runlength1 as usize + + doc_id as usize + - read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ) as usize + + query_list[t1].p_run as usize; + + query_list[t2].p_docid = query_list[t2].p_run_sum as usize + - runlength2 as usize + + doc_id as usize + - read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ) as usize + + query_list[t2].p_run as usize; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + query_list[t1].docid = doc_id + 1; + + let mut flag = false; + for item in query_list.iter_mut() { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id >= item.run_end) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + + flag = true; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Rle { + continue 'restart; + } else if flag || (query_list.len() > 2) { + continue 'exit; + } + } + + if query_list[t1].docid > query_list[t1].run_end { + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + runstart1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + runlength1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + runend1 = runstart1 + runlength1; + query_list[t1].p_run_sum += runlength1 as i32; + query_list[t1].run_end = runend1 as i32; + } + + if query_list[t1].docid > query_list[t2].run_end { + query_list[t2].p_run += 1; + if query_list[t2].p_run == query_list[t2].p_run_count { + break 'exit; + } + runstart2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + runlength2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + runend2 = runstart2 + runlength2; + query_list[t2].p_run_sum += runlength2 as i32; + query_list[t2].run_end = runend2 as i32; + } + } + } + + #[allow(unreachable_code)] + break; + }, + + (CompressionType::Rle, CompressionType::Bitmap) => 'exit: loop { + query_list[t1].p_run_count = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + 0, + ) as i32; + + loop { + let mut runstart1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (1 + (query_list[t1].p_run * 2) as usize) * 2, + ); + let runlength1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + (query_list[t1].p_run * 2) as usize) * 2, + ); + + let runend1 = runstart1 + runlength1; + query_list[t1].run_end = runend1 as i32; + + runstart1 = cmp::max(runstart1, query_list[t1].docid as u16); + + let mut intersect_mask: u64 = if (query_list[t1].docid as u16) < runstart1 { + u64::MAX + } else { + u64::MAX << (query_list[t1].docid & 63) + }; + + let byte_pos_start = runstart1 >> 6; + let byte_pos_end = runend1 >> 6; + + for ulong_pos in byte_pos_start..=byte_pos_end { + let mut intersect: u64 = read_u64( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + ulong_pos as usize * 8, + ) & intersect_mask; + + if ulong_pos == byte_pos_start { + intersect &= u64::MAX << (runstart1 & 63); + } + if ulong_pos == byte_pos_end { + intersect &= u64::MAX >> (63 - (runend1 & 63)); + } + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) }; + let doc_id = ((ulong_pos as u32) << 6) + bit_pos as u32; + + query_list[t1].docid = doc_id as i32; + + if t2 + 1 < query_list.len() { + for i in (query_list[t2].p_run as usize)..ulong_pos as usize { + query_list[t2].p_run_sum += read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + i * 8, + ) + .count_ones() + as i32 + } + query_list[t2].p_docid = if bit_pos == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos as usize * 8, + ) << (64 - bit_pos)) + .count_ones() + as usize + }; + query_list[t2].p_run = ulong_pos as i32; + + t2 += 1; + intersect &= read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + continue; + } + + intersect = unsafe { _blsr_u64(intersect) }; + + query_list[t1].p_docid = query_list[t1].p_run_sum as usize + - runlength1 as usize + + doc_id as usize + - read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (1 + (query_list[t1].p_run * 2)) as usize * 2, + ) as usize + + query_list[t1].p_run as usize; + + for i in (query_list[t2].p_run as usize)..ulong_pos as usize { + query_list[t2].p_run_sum += read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + i * 8, + ) + .count_ones() + as i32 + } + query_list[t2].p_docid = if bit_pos == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos as usize * 8, + ) << (64 - bit_pos)) + .count_ones() as usize + }; + + query_list[t2].p_run = ulong_pos as i32; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + }; + } else if (item.compression_type == CompressionType::Rle) + && (doc_id == item.run_end as u32) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + }; + + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Bitmap { + if doc_id == query_list[t1].run_end as u32 { + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + query_list[t1].p_run_sum += read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (2 + (query_list[t1].p_run * 2)) as usize * 2, + ) + as i32; + } + if doc_id == 65_535 { + break 'exit; + } + query_list[t1].docid = doc_id as i32 + 1; + continue 'restart; + } + intersect &= read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + intersect_mask = u64::MAX; + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Bitmap { + if query_list[t1].docid == 65_535 { + break 'exit; + } + + query_list[t1].docid = cmp::max( + query_list[t1].docid + 1, + cmp::min(((ulong_pos + 1) << 6) as i32, runend1 as i32 + 1), + ); + + continue 'restart; + } + } + + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + query_list[t1].p_run_sum += read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + (query_list[t1].p_run * 2)) as usize * 2, + ) as i32; + } + }, + + (CompressionType::Rle, CompressionType::Array) => 'exit: loop { + query_list[t1].p_run_count = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + 0, + ) as i32; + let mut runstart1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + let mut runlength1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + + let mut runend1 = runstart1 + runlength1; + query_list[t1].run_end = runend1 as i32; + + runstart1 = cmp::max(runstart1, query_list[t1].docid as u16); + + let mut doc_id2: u16 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + + loop { + if doc_id2 > runend1 { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Array { + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break; + } + query_list[t1].p_run_sum += read_u16( + query_list[t1].byte_array, + query_list[t1].compressed_doc_id_range + + 4 + + (query_list[t1].p_run << 2) as usize, + ) + as i32; + + continue 'restart; + } else { + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } + } + + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break; + } + + runstart1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + runlength1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + runend1 = runstart1 + runlength1; + query_list[t1].p_run_sum += runlength1 as i32; + query_list[t1].run_end = runend1 as i32; + } else if doc_id2 < runstart1 { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].p_docid_count { + break; + } + + if true { + let mut bound = 2; + while (query_list[t2].p_docid + bound < query_list[t2].p_docid_count) + && (read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (query_list[t2].p_docid + bound) * 2, + ) < runstart1) + { + query_list[t2].p_docid += bound; + bound <<= 1; + } + } + doc_id2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } else { + if t2 + 1 < query_list.len() { + t2 += 1; + if query_list[t2].compression_type != CompressionType::Array { + query_list[t1].docid = doc_id2 as i32; + continue 'restart; + } else { + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + continue; + } + } + + query_list[t1].p_docid = query_list[t1].p_run_sum as usize + - runlength1 as usize + + doc_id2 as usize + - runstart1 as usize + + query_list[t1].p_run as usize; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id2 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id2 == item.run_end as u16) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Array { + query_list[t1].docid = doc_id2 as i32 + 1; + + continue 'restart; + } + + if doc_id2 == query_list[t1].run_end as u16 { + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + runstart1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + runlength1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + runend1 = runstart1 + runlength1; + query_list[t1].p_run_sum += runlength1 as i32; + query_list[t1].run_end = runend1 as i32; + } + doc_id2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } + } + + break; + }, + + _ => { + println!( + "invalid compression combination: block: {} t1: {} {} {} {:?} t2: {} {} {} {:?} {} ", + block_id, + t1, + query_list[t1].term, + query_list[t1].blocks[query_list[t1].p_block as usize].posting_count, + query_list[t1].compression_type, + t2, + query_list[t2].term, + query_list[t2].blocks[query_list[t2].p_block as usize].posting_count, + query_list[t2].compression_type, + query_list.len() + ); + } + } + + break; + } +} + +pub(crate) struct BlockObject { + pub block_id: usize, + pub block_score: f32, + pub p_block_vec: Vec, +} + +/// Intersection between blocks of 64k docids of a posting list +#[allow(clippy::too_many_arguments)] +pub(crate) async fn intersection_blockid<'a>( + shard: &'a Shard, + non_unique_query_list: &mut Vec>, + query_list: &mut Vec>, + not_query_list: &mut [PostingListObjectQuery<'a>], + result_count_arc: &Arc, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + matching_blocks: &mut i32, + phrase_query: bool, + query_term_count: usize, +) { + let item_0 = &query_list[0]; + let enable_inter_query_threading_multi = + if !shard.enable_search_quality_test && shard.enable_inter_query_threading_auto { + item_0.posting_count / item_0.p_block_max as u32 > 10 + } else { + shard.enable_inter_query_threading + }; + + let mut task_list = Vec::new(); + + let t1: i32 = 0; + let mut t2: i32 = 1; + + let item_1 = &query_list[t1 as usize]; + let item_2 = &query_list[t2 as usize]; + let mut block_id1 = item_1.blocks[item_1.p_block as usize].block_id; + let mut block_id2 = item_2.blocks[item_2.p_block as usize].block_id; + + let mut block_vec: Vec = Vec::new(); + + 'exit: loop { + match block_id1.cmp(&block_id2) { + cmp::Ordering::Less => { + let item_1 = &mut query_list[t1 as usize]; + item_1.p_block += 1; + if item_1.p_block == item_1.p_block_max { + break; + } + block_id1 = item_1.blocks[item_1.p_block as usize].block_id; + + t2 = 1; + let item_2 = &query_list[t2 as usize]; + block_id2 = item_2.blocks[item_2.p_block as usize].block_id; + } + cmp::Ordering::Greater => { + let item_2 = &mut query_list[t2 as usize]; + item_2.p_block += 1; + if item_2.p_block == item_2.p_block_max { + break; + } + block_id2 = item_2.blocks[item_2.p_block as usize].block_id; + } + cmp::Ordering::Equal => { + if t2 + 1 < query_list.len() as i32 { + t2 += 1; + let item_2 = &query_list[t2 as usize]; + block_id2 = item_2.blocks[item_2.p_block as usize].block_id; + + continue; + } + + if !enable_inter_query_threading_multi { + let mut block_score = 0.0; + if SPEEDUP_FLAG && result_type != &ResultType::Count { + for query_list_item_mut in query_list.iter_mut() { + block_score += query_list_item_mut.blocks + [query_list_item_mut.p_block as usize] + .max_block_score; + } + } + + if SPEEDUP_FLAG && SORT_FLAG && result_type != &ResultType::Count { + let mut p_block_vec: Vec = vec![0; query_term_count]; + for i in 0..query_list.len() { + p_block_vec[query_list[i].term_index_unique] = query_list[i].p_block + } + let block_object = BlockObject { + block_id: block_id1 as usize, + block_score, + p_block_vec, + }; + block_vec.push(block_object); + } else if !SPEEDUP_FLAG + || result_type == &ResultType::Count + || search_result.topk_candidates.current_heap_size < top_k + || block_score > search_result.topk_candidates._elements[0].score + { + if shard.meta.access_type == AccessType::Mmap { + for query_list_item_mut in query_list.iter_mut() { + let segment = + &shard.segments_index[query_list_item_mut.key0 as usize]; + query_list_item_mut.byte_array = &shard.index_file_mmap[segment + .byte_array_blocks_pointer + [block_id1 as usize] + .0 + ..segment.byte_array_blocks_pointer[block_id1 as usize].0 + + segment.byte_array_blocks_pointer[block_id1 as usize].1]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + let segment = &shard.segments_index + [nonunique_query_list_item_mut.key0 as usize]; + nonunique_query_list_item_mut.byte_array = &shard.index_file_mmap + [segment.byte_array_blocks_pointer[block_id1 as usize].0 + ..segment.byte_array_blocks_pointer[block_id1 as usize].0 + + segment.byte_array_blocks_pointer + [block_id1 as usize] + .1]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + let segment = + &shard.segments_index[not_query_list_item_mut.key0 as usize]; + not_query_list_item_mut.byte_array = &shard.index_file_mmap[segment + .byte_array_blocks_pointer + [block_id1 as usize] + .0 + ..segment.byte_array_blocks_pointer[block_id1 as usize].0 + + segment.byte_array_blocks_pointer[block_id1 as usize].1]; + } + } else { + for query_list_item_mut in query_list.iter_mut() { + query_list_item_mut.byte_array = &shard.segments_index + [query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id1 as usize]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + nonunique_query_list_item_mut.byte_array = &shard.segments_index + [nonunique_query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id1 as usize]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + not_query_list_item_mut.byte_array = &shard.segments_index + [not_query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id1 as usize]; + } + } + + let mut result_count_local = 0; + intersection_docid( + shard, + non_unique_query_list, + query_list, + not_query_list, + block_id1 as usize, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + phrase_query, + block_score, + ) + .await; + + result_count_arc.fetch_add(result_count_local as usize, Ordering::Relaxed); + } + } else { + let mut query_list_copy: Vec = Vec::new(); + let mut non_unique_query_list_copy: Vec = + Vec::new(); + + for x in &mut *query_list { + query_list_copy.push(x.clone()); + } + + for x in &mut *non_unique_query_list { + let y = x.clone(); + non_unique_query_list_copy.push(y); + } + + let result_count_clone = result_count_arc.clone(); + task_list.push(tokio::spawn(async move { + let result_count_local = 1; + result_count_clone.fetch_add(result_count_local, Ordering::Relaxed); + })); + } + + *matching_blocks += 1; + + t2 = 1; + + for item in query_list.iter_mut() { + item.p_block += 1; + if item.p_block == item.p_block_max { + break 'exit; + } + } + + let item_1 = &query_list[t1 as usize]; + let item_2 = &query_list[t2 as usize]; + block_id1 = item_1.blocks[item_1.p_block as usize].block_id; + block_id2 = item_2.blocks[item_2.p_block as usize].block_id; + } + } + } + + if SORT_FLAG && SPEEDUP_FLAG && (result_type != &ResultType::Count) { + block_vec.sort_unstable_by(|x, y| y.block_score.partial_cmp(&x.block_score).unwrap()); + for block in block_vec { + if (result_type == &ResultType::Topk) + && search_result.topk_candidates.result_sort.is_empty() + && (search_result.topk_candidates.current_heap_size == top_k) + && (block.block_score <= search_result.topk_candidates._elements[0].score) + { + break; + } + + for item in query_list.iter_mut() { + item.p_block = block.p_block_vec[item.term_index_unique]; + } + + if shard.meta.access_type == AccessType::Mmap { + for query_list_item_mut in query_list.iter_mut() { + let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; + query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block.block_id].0 + ..segment.byte_array_blocks_pointer[block.block_id].0 + + segment.byte_array_blocks_pointer[block.block_id].1]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + let segment = + &shard.segments_index[nonunique_query_list_item_mut.key0 as usize]; + nonunique_query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block.block_id].0 + ..segment.byte_array_blocks_pointer[block.block_id].0 + + segment.byte_array_blocks_pointer[block.block_id].1]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + let segment = &shard.segments_index[not_query_list_item_mut.key0 as usize]; + not_query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block.block_id].0 + ..segment.byte_array_blocks_pointer[block.block_id].0 + + segment.byte_array_blocks_pointer[block.block_id].1]; + } + } else { + for query_list_item_mut in query_list.iter_mut() { + query_list_item_mut.byte_array = &shard.segments_index + [query_list_item_mut.key0 as usize] + .byte_array_blocks[block.block_id]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + nonunique_query_list_item_mut.byte_array = &shard.segments_index + [nonunique_query_list_item_mut.key0 as usize] + .byte_array_blocks[block.block_id]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + not_query_list_item_mut.byte_array = &shard.segments_index + [not_query_list_item_mut.key0 as usize] + .byte_array_blocks[block.block_id]; + } + } + + let mut result_count_local = 0; + intersection_docid( + shard, + non_unique_query_list, + query_list, + not_query_list, + block.block_id, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + phrase_query, + block.block_score, + ) + .await; + + result_count_arc.fetch_add(result_count_local as usize, Ordering::Relaxed); + } + } +} diff --git a/mobile_app/rust/src/seekstorm/intersection_simd.rs b/mobile_app/rust/src/seekstorm/intersection_simd.rs new file mode 100644 index 0000000..6fd0489 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/intersection_simd.rs @@ -0,0 +1,178 @@ +#[cfg(target_arch = "aarch64")] +use std::{ + arch::aarch64::{uint16x8_t, vceqq_u16, vld1q_dup_u16, vld1q_u16, vst1q_u16}, + mem::{self}, +}; + +use crate::index::Shard; +use crate::{ + add_result::add_result_multiterm_multifield, + index::{NonUniquePostingListObjectQuery, PostingListObjectQuery}, + search::{FilterSparse, ResultType, SearchResult}, + utils::read_u16, +}; +use ahash::AHashSet; + + + +#[cfg(target_arch = "aarch64")] +pub(crate) fn intersection_vector16( + a: &[u8], + s_a: usize, + b: &[u8], + s_b: usize, + result_count: &mut i32, + block_id: usize, + index: &Shard, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, + all_terms_frequent: bool, +) { + unsafe { + let mut i_a = 0; + let mut i_b = 0; + let vectorlength = mem::size_of::() / mem::size_of::(); + let st_b = (s_b / vectorlength) * vectorlength; + while i_a < s_a && i_b < st_b { + if read_u16(&a[..], i_a * 2) < read_u16(&b[..], i_b * 2) { + i_a += 1; + continue; + } else if read_u16(&a[..], i_a * 2) > read_u16(&b[..], (i_b + vectorlength - 1) * 2) { + i_b += vectorlength; + continue; + } + + let v_a = vld1q_dup_u16(a[(i_a * 2)..].as_ptr() as *const _); + let v_b = vld1q_u16(b[(i_b * 2)..].as_ptr() as *const _); + let res_v = vceqq_u16(v_a, v_b); + let mut res = [0u16; 8]; + vst1q_u16(res.as_mut_ptr(), res_v); + for i in 0..res.len() { + if res[i] == 0 { + continue; + } + query_list[0].p_docid = i_a; + query_list[1].p_docid = i_b + i; + add_result_multiterm_multifield( + index, + (block_id << 16) | read_u16(&a[..], i_a * 2) as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + f32::MAX, + all_terms_frequent, + ); + break; + } + i_a += 1; + } + while i_a < s_a && i_b < s_b { + let a = read_u16(&a[..], i_a * 2); + let b = read_u16(&b[..], i_b * 2); + match a.cmp(&b) { + std::cmp::Ordering::Less => { + i_a += 1; + } + std::cmp::Ordering::Greater => { + i_b += 1; + } + std::cmp::Ordering::Equal => { + query_list[0].p_docid = i_a; + query_list[1].p_docid = i_b; + add_result_multiterm_multifield( + index, + (block_id << 16) | a as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + f32::MAX, + all_terms_frequent, + ); + + i_a += 1; + i_b += 1; + } + } + } + } +} + +#[cfg(not(any(target_arch = "x86_64", target_arch = "aarch64")))] +pub(crate) fn intersection_vector16( + a: &[u8], + s_a: usize, + b: &[u8], + s_b: usize, + result_count: &mut i32, + block_id: usize, + index: &Shard, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, + all_terms_frequent: bool, +) { + let mut i_a = 0; + let mut i_b = 0; + while i_a < s_a && i_b < s_b { + let a = read_u16(&a[..], i_a * 2); + let b = read_u16(&b[..], i_b * 2); + match a.cmp(&b) { + std::cmp::Ordering::Less => { + i_a += 1; + } + std::cmp::Ordering::Greater => { + i_b += 1; + } + std::cmp::Ordering::Equal => { + query_list[0].p_docid = i_a; + query_list[1].p_docid = i_b; + add_result_multiterm_multifield( + index, + (block_id << 16) | a as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + f32::MAX, + all_terms_frequent, + ); + + i_a += 1; + i_b += 1; + } + } + } +} diff --git a/mobile_app/rust/src/seekstorm/lib.rs b/mobile_app/rust/src/seekstorm/lib.rs new file mode 100644 index 0000000..2538c60 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/lib.rs @@ -0,0 +1,517 @@ +#![crate_type = "lib"] +#![crate_name = "seekstorm"] +#![doc(html_logo_url = "http://seekstorm.com/assets/logo.svg")] +#![doc(html_favicon_url = "http://seekstorm.com/favicon.ico")] + +//! # `seekstorm` +//! SeekStorm is an open-source, sub-millisecond full-text search library & multi-tenancy server written in Rust. +//! The **SeekStorm library** can be embedded into your program, while the **SeekStorm server** is a standalone search server to be accessed via HTTP. +//! ### Add required crates to your project +//! ```text +//! cargo add seekstorm +//! cargo add tokio +//! cargo add serde_json +//! ``` +//! ### use an asynchronous Rust runtime +//! ```no_run +//! use std::error::Error; +//! #[tokio::main] +//! async fn main() -> Result<(), Box> { +//! +//! // your SeekStorm code here +//! +//! Ok(()) +//! } +//! ``` +//! ### create index +//! ```no_run +//! # tokio_test::block_on(async { +//! use std::path::PathBuf; +//! use std::sync::{Arc, RwLock}; +//! use seekstorm::index::{IndexMetaObject, SimilarityType,TokenizerType,StopwordType,FrequentwordType,AccessType,StemmerType,NgramSet,create_index}; +//! +//! let index_path=PathBuf::new("C:/index/"); +//! let schema_json = r#" +//! [{"field":"title","field_type":"Text","stored":false,"indexed":false}, +//! {"field":"body","field_type":"Text","stored":true,"indexed":true}, +//! {"field":"url","field_type":"Text","stored":false,"indexed":false}]"#; +//! let schema=serde_json::from_str(schema_json).unwrap(); +//! let meta = IndexMetaObject { +//! id: 0, +//! name: "test_index".into(), +//! similarity:SimilarityType::Bm25f, +//! tokenizer:TokenizerType::AsciiAlphabetic, +//! stemmer:StemmerType::None, +//! stop_words: StopwordType::None, +//! frequent_words:FrequentwordType::English, +//! ngram_indexing:NgramSet::NgramFF as u8, +//! access_type: AccessType::Mmap, +//! spelling_correction: None, +//! query_completion: None, +//! }; +//! let segment_number_bits1=11; +//! let serialize_schema=true; +//! let index_arc=create_index(index_path,meta,&schema,&Vec::new(),segment_number_bits1,false,None).await.unwrap(); +//! # }); +//! ``` +//! ### open index (alternatively to create index) +//! ```no_run +//! # tokio_test::block_on(async { +//! use seekstorm::index::open_index; +//! use std::path::PathBuf; +//! +//! let index_path=PathBuf::new("C:/index/"); +//! let index_arc=open_index(index_path,false).await.unwrap(); +//! # }); +//! ``` +//! ### index document +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::IndexDocument; +//! use seekstorm::index::FileType; +//! +//! let document_json = r#" +//! {"title":"title1 test","body":"body1","url":"url1"}"#; +//! let document=serde_json::from_str(document_json).unwrap(); +//! index_arc.index_document(document,FileType::None).await; +//! # }); +//! ``` +//! ### index documents +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::IndexDocuments; +//! let documents_json = r#" +//! [{"title":"title1 test","body":"body1","url":"url1"}, +//! {"title":"title2","body":"body2 test","url":"url2"}, +//! {"title":"title3 test","body":"body3 test","url":"url3"}]"#; +//! let documents_vec=serde_json::from_str(documents_json).unwrap(); +//! index_arc.index_documents(documents_vec).await; +//! # }); +//! ``` +//! ### delete documents by document id +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::DeleteDocuments; +//! +//! let docid_vec=vec![1,2]; +//! index_arc.delete_documents(docid_vec).await; +//! # }); +//! ``` +//! ### delete documents by query +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::search::QueryType; +//! use seekstorm::index::DeleteDocumentsByQuery; +//! +//! let query="test".to_string(); +//! let offset=0; +//! let length=10; +//! let query_type=QueryType::Intersection; +//! let include_uncommitted=false; +//! let field_filter=Vec::new(); +//! let facet_filter=Vec::new(); +//! let result_sort=Vec::new(); +//! index_arc.delete_documents_by_query(query, query_type, offset, length, include_uncommitted,field_filter,facet_filter,result_sort).await; +//! # }); +//! ``` +//! ### update documents +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::UpdateDocuments; +//! use seekstorm::commit::Commit; +//! +//! let id_document_vec_json = r#" +//! [[1,{"title":"title1 test","body":"body1","url":"url1"}], +//! [2,{"title":"title3 test","body":"body3 test","url":"url3"}]]"#; +//! let id_document_vec=serde_json::from_str(id_document_vec_json).unwrap(); +//! index_arc.update_documents(id_document_vec).await; +//! +//! // ### commit documents +//! +//! index_arc.commit().await; +//! # }); +//! ``` +//! ### search index +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::search::{Search, QueryType, ResultType, QueryRewriting}; +//! +//! let query="test".to_string(); +//! let offset=10; +//! let length=10; +//! let query_type=QueryType::Intersection; +//! let result_type=ResultType::TopkCount; +//! let include_uncommitted=false; +//! let field_filter=Vec::new(); +//! let query_facets=Vec::new(); +//! let facet_filter=Vec::new(); +//! let result_sort=Vec::new(); +//! let result_object = index_arc.search(query, query_type, offset, length, result_type,include_uncommitted,field_filter,query_facets,facet_filter,result_sort,QueryRewriting::SearchOnly).await; +//! +//! // ### display results +//! +//! use seekstorm::highlighter::{Highlight, highlighter}; +//! use std::collections::HashSet; +//! +//! let highlights:Vec= vec![ +//! Highlight { +//! field: "body".to_string(), +//! name:String::new(), +//! fragment_number: 2, +//! fragment_size: 160, +//! highlight_markup: true, +//! ..Default::default() +//! }, +//! ]; +//! let highlighter=Some(highlighter(&index_arc,highlights, result_object.query_terms).await); +//! let return_fields_filter= HashSet::new(); +//! let distance_fields=Vec::new(); +//! let index=index_arc.read().await; +//! for result in result_object.results.iter() { +//! let doc=index.get_document(result.doc_id,false,&highlighter,&return_fields_filter,&distance_fields).await.unwrap(); +//! println!("result {} rank {} body field {:?}" , result.doc_id,result.score, doc.get("body")); +//! } +//! println!("result counts {} {} {}",result_object.results.len(), result_object.result_count, result_object.result_count_total); +//! # }); +//! ``` +//! ### get document +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use std::collections::HashSet; +//! +//! let doc_id=0; +//! let highlighter=None; +//! let return_fields_filter= HashSet::new(); +//! let distance_fields=Vec::new(); +//! let index=index_arc.read().await; +//! let doc=index.get_document(doc_id,false,&highlighter,&return_fields_filter,&distance_fields).await.unwrap(); +//! # }); +//! ``` +//! ### index JSON file in JSON, Newline-delimited JSON and Concatenated JSON format +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::ingest::IngestJson; +//! use std::path::PathBuf; +//! +//! let file_path=PathBuf::new("wiki-articles.json"); +//! let _ =index_arc.ingest_json(file_path).await; +//! # }); +//! ``` +//! ### index all PDF files in directory and sub-directories +//! - converts pdf to text and indexes it +//! - extracts title from metatag, or first line of text, or from filename +//! - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) +//! - copies all ingested pdf files to "files" subdirectory in index +//! - the following index schema is required (and automatically created by the console `ingest` command): +//! ```no_run +//! let schema_json = r#" +//! [ +//! { +//! "field": "title", +//! "stored": true, +//! "indexed": true, +//! "field_type": "Text", +//! "boost": 10 +//! }, +//! { +//! "field": "body", +//! "stored": true, +//! "indexed": true, +//! "field_type": "Text" +//! }, +//! { +//! "field": "url", +//! "stored": true, +//! "indexed": false, +//! "field_type": "Text" +//! }, +//! { +//! "field": "date", +//! "stored": true, +//! "indexed": false, +//! "field_type": "Timestamp", +//! "facet": true +//! } +//! ]"#; +//! ``` +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! use std::path::PathBuf; +//! use seekstorm::ingest::IngestPdf; +//! +//! let file_path=PathBuf::new("C:/Users/johndoe/Downloads"); +//! let _ =index_arc.ingest_pdf(file_path).await; +//! # }); +//! ``` +//! ### index PDF file +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! use std::path::PathBuf; +//! use seekstorm::ingest::IndexPdfFile; +//! +//! let file_path=PathBuf::new("C:/test.pdf"); +//! let _ =index_arc.index_pdf_file(file_path).await; +//! # }); +//! ``` +//! ### index PDF file bytes +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! use std::path::PathBuf; +//! use std::fs; +//! use chrono::Utc; +//! use seekstorm::ingest::IndexPdfBytes; +//! +//! let file_date=Utc::now().timestamp(); +//! let file_path=PathBuf::new("C:/test.pdf"); +//! let document = fs::read(file_path).unwrap(); +//! let _ =index_arc.index_pdf_bytes(file_path, file_date, &document).await; +//! # }); +//! ``` +//! ### get PDF file bytes +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # use std::path::PathBuf; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! let doc_id=0; +//! let _file=index_arc.read().await.get_file(doc_id).await.unwrap(); +//! # }); +//! ``` +//! ### clear index +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # use std::path::PathBuf; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! index_arc.write().await.clear_index().await; +//! # }); +//! ``` +//! ### delete index +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # use std::path::PathBuf; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! index_arc.write().await.delete_index(); +//! # }); +//! ``` +//! ### close index +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # use std::path::PathBuf; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::Close; +//! +//! index_arc.close().await; +//! # }); +//! ``` +//! ### seekstorm library version string +//! ```no_run +//! use seekstorm::index::version; +//! +//! let version=version(); +//! println!("version {}",version); +//! ``` +//! +//! ---------------- +//! ### Faceted search - Quick start +//! **Facets are defined in 3 different places:** +//! 1. the facet fields are defined in schema at create_index, +//! 2. the facet field values are set in index_document at index time, +//! 3. the query_facets/facet_filter search parameters are specified at query time. +//! Facets are then returned in the search result object. +//! +//! A minimal working example of faceted indexing & search requires just 60 lines of code. But to puzzle it all together from the documentation alone might be tedious. +//! This is why we provide a quick start example here: +//! ### create index +//! ```no_run +//! # tokio_test::block_on(async { +//! use std::path::PathBuf; +//! use seekstorm::index::{IndexMetaObject, SimilarityType,TokenizerType,StopwordType,FrequentwordType,AccessType,StemmerType,NgramSet,create_index}; +//! +//! let index_path=PathBuf::new("C:/index/"); +//! let schema_json = r#" +//! [{"field":"title","field_type":"Text","stored":false,"indexed":false}, +//! {"field":"body","field_type":"Text","stored":true,"indexed":true}, +//! {"field":"url","field_type":"Text","stored":true,"indexed":false}, +//! {"field":"town","field_type":"String15","stored":false,"indexed":false,"facet":true}]"#; +//! let schema=serde_json::from_str(schema_json).unwrap(); +//! let meta = IndexMetaObject { +//! id: 0, +//! name: "test_index".into(), +//! similarity:SimilarityType::Bm25f, +//! tokenizer:TokenizerType::AsciiAlphabetic, +//! stemmer:StemmerType::None, +//! stop_words: StopwordType::None, +//! frequent_words:FrequentwordType::English, +//! ngram_indexing:NgramSet::NgramFF as u8, +//! access_type: AccessType::Mmap, +//! spelling_correction: None, +//! query_completion: None, +//! }; +//! let serialize_schema=true; +//! let segment_number_bits1=11; +//! let index_arc=create_index(index_path,meta,&schema,&Vec::new(),segment_number_bits1,false,None).await.unwrap(); +//! # }); +//! ``` +//! ### index documents +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::IndexDocuments; +//! use seekstorm::commit::Commit; +//! use seekstorm::search::{QueryType, ResultType, QueryFacet, FacetFilter}; +//! +//! let documents_json = r#" +//! [{"title":"title1 test","body":"body1","url":"url1","town":"Berlin"}, +//! {"title":"title2","body":"body2 test","url":"url2","town":"Warsaw"}, +//! {"title":"title3 test","body":"body3 test","url":"url3","town":"New York"}]"#; +//! let documents_vec=serde_json::from_str(documents_json).unwrap(); +//! index_arc.index_documents(documents_vec).await; +//! +//! // ### commit documents +//! +//! index_arc.commit().await; +//! # }); +//! ``` +//! ### search index +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::search::{QueryType, ResultType, QueryFacet, FacetFilter, QueryRewriting,Search}; +//! +//! let query="test".to_string(); +//! let offset=0; +//! let length=10; +//! let query_type=QueryType::Intersection; +//! let result_type=ResultType::TopkCount; +//! let include_uncommitted=false; +//! let field_filter=Vec::new(); +//! let query_facets = vec![QueryFacet::String16 {field: "town".to_string(),prefix: "".to_string(),length: u16::MAX}]; +//! let facet_filter=Vec::new(); +//! //let facet_filter = vec![FacetFilter {field: "town".to_string(), filter:Filter::String(vec!["Berlin".to_string()])}]; +//! let result_sort=Vec::new(); +//! let result_object = index_arc.search(query, query_type, offset, length, result_type,include_uncommitted,field_filter,query_facets,facet_filter,result_sort,QueryRewriting::SearchOnly).await; +//! +//! // ### display results +//! +//! use std::collections::HashSet; +//! use seekstorm::highlighter::{highlighter, Highlight}; +//! +//! let highlights:Vec= vec![ +//! Highlight { +//! field: "body".to_owned(), +//! name:String::new(), +//! fragment_number: 2, +//! fragment_size: 160, +//! highlight_markup: true, +//! ..Default::default() +//! }, +//! ]; +//! let highlighter=Some(highlighter(&index_arc,highlights, result_object.query_terms).await); +//! let return_fields_filter= HashSet::new(); +//! let distance_fields=Vec::new(); +//! let index=index_arc.write().await; +//! for result in result_object.results.iter() { +//! let doc=index.get_document(result.doc_id,false,&highlighter,&return_fields_filter,&distance_fields).await.unwrap(); +//! println!("result {} rank {} body field {:?}" , result.doc_id,result.score, doc.get("body")); +//! } +//! println!("result counts {} {} {}",result_object.results.len(), result_object.result_count, result_object.result_count_total); +//! +//! // ### display facets +//! +//! println!("{}", serde_json::to_string_pretty(&result_object.facets).unwrap()); +//! # }); +//! ``` + +/// include README.md in documentation +#[cfg_attr(doctest, doc = include_str!("../../README.md"))] +pub struct ReadmeDoctests; + +/// include FACETED_SEARCH.md in documentation +#[cfg_attr(doctest, doc = include_str!("../../FACETED_SEARCH.md"))] +pub struct ReadmeDoctests2; + +pub(crate) mod add_result; +/// Commit moves indexed documents from the intermediate uncompressed data structure in RAM +/// to the final compressed data structure on disk. +pub mod commit; +pub(crate) mod compatible; +pub(crate) mod compress_postinglist; +pub(crate) mod doc_store; +/// Geo search by indexing geo points (latitude, longitude), proximity searching for points within a specified radius, and proximity sorting. +pub mod geo_search; +/// Extracts the most relevant fragments (snippets, summaries) from specified fields of the document to provide a "keyword in context" (KWIC) functionality. +/// With highlight_markup the matching query terms within the fragments can be highlighted with HTML markup. +pub mod highlighter; +/// Operate the index: reate_index, open_index, clear_index, close_index, delete_index, index_document(s) +pub mod index; +pub(crate) mod index_posting; +/// Ingest JSON, Newline-delimited JSON, Concatenated JSON files, and PDF files into the index. +pub mod ingest; +pub(crate) mod intersection; +pub(crate) mod intersection_simd; +pub(crate) mod min_heap; +pub(crate) mod realtime_search; +/// Search the index for all indexed documents, both for committed and uncommitted documents. +/// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. +pub mod search; +pub(crate) mod single; +/// Tokenizes text into tokens (words), supports Chinese word segmentation, folds (converts) diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters into their basic representation. +pub(crate) mod tokenizer; +pub(crate) mod union; +/// Utils `truncate()` and `substring()` +pub mod utils; +#[cfg(feature = "zh")] +pub(crate) mod word_segmentation; diff --git a/mobile_app/rust/src/seekstorm/min_heap.rs b/mobile_app/rust/src/seekstorm/min_heap.rs new file mode 100644 index 0000000..dd12ddb --- /dev/null +++ b/mobile_app/rust/src/seekstorm/min_heap.rs @@ -0,0 +1,1167 @@ +use tokio::sync::RwLockReadGuard; + +use ahash::AHashMap; +use serde::{Deserialize, Serialize}; + +use crate::{ + geo_search::morton_ordering, + index::{FieldType, Shard}, + search::{FacetValue, ResultSortIndex, SortOrder}, + utils::{ + read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u16, read_u32, read_u64, + }, +}; + +#[derive(Clone, Debug, Copy, Default, Deserialize, Serialize)] +pub struct Result { + pub doc_id: usize, + pub score: f32, +} + +/// MinHeap implements an min-heap, which is a binary heap used as priority queue. +/// Maintains a list of the top-k most relevant result candidates. +/// Better performance than a ordered list with binary search, inserts, and deletes +pub(crate) struct MinHeap<'a> { + pub _elements: Vec, + pub current_heap_size: usize, + pub docid_hashset: AHashMap, + + pub index: &'a Shard, + pub result_sort: &'a Vec>, +} + +#[inline] +pub(crate) fn result_ordering_root( + shard_vec: &[RwLockReadGuard<'_, Shard>], + shard_bits: usize, + result_sort: &Vec>, + result1: Result, + result2: Result, +) -> core::cmp::Ordering { + let shard_id1 = result1.doc_id & ((1 << shard_bits) - 1); + let doc_id1 = result1.doc_id >> shard_bits; + let shard1 = &shard_vec[shard_id1]; + + let shard_id2 = result2.doc_id & ((1 << shard_bits) - 1); + let doc_id2 = result2.doc_id >> shard_bits; + let shard2 = &shard_vec[shard_id2]; + + for field in result_sort.iter() { + match shard1.facets[field.idx].field_type { + FieldType::U8 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = + &shard1.facets_file_mmap[(shard1.facets_size_sum * doc_id1) + offset]; + + let facet_value_2 = + &shard2.facets_file_mmap[(shard2.facets_size_sum * doc_id2) + offset]; + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(facet_value_2) + } else { + facet_value_2.cmp(facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::U16 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_u16( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_u16( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::U32 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_u32( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_u32( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::U64 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_u64( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_u64( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::I8 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_i8( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_i8( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::I16 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_i16( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_i16( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::I32 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_i32( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_i32( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::I64 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_i64( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_i64( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::Timestamp => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_i64( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_i64( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::F32 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_f32( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_f32( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1 + .partial_cmp(&facet_value_2) + .unwrap_or(core::cmp::Ordering::Equal) + } else { + facet_value_2 + .partial_cmp(&facet_value_1) + .unwrap_or(core::cmp::Ordering::Equal) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::F64 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_f64( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_f64( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1 + .partial_cmp(&facet_value_2) + .unwrap_or(core::cmp::Ordering::Equal) + } else { + facet_value_2 + .partial_cmp(&facet_value_1) + .unwrap_or(core::cmp::Ordering::Equal) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::String16 => { + let offset = shard1.facets[field.idx].offset; + + let facet_id_1 = read_u16( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_id_2 = read_u16( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let facet_value_1 = shard1.facets[field.idx] + .values + .get_index((facet_id_1).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = shard2.facets[field.idx] + .values + .get_index((facet_id_2).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::StringSet16 => { + let offset = shard1.facets[field.idx].offset; + + let facet_id_1 = read_u16( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_id_2 = read_u16( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let facet_value_1 = shard1.facets[field.idx] + .values + .get_index((facet_id_1).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = shard2.facets[field.idx] + .values + .get_index((facet_id_2).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::String32 => { + let offset = shard1.facets[field.idx].offset; + + let facet_id_1 = read_u32( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_id_2 = read_u32( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let facet_value_1 = shard1.facets[field.idx] + .values + .get_index(facet_id_1 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = shard2.facets[field.idx] + .values + .get_index(facet_id_2 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::StringSet32 => { + let offset = shard1.facets[field.idx].offset; + + let facet_id_1 = read_u32( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_id_2 = read_u32( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let facet_value_1 = shard1.facets[field.idx] + .values + .get_index(facet_id_1 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = shard2.facets[field.idx] + .values + .get_index(facet_id_2 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::Point => { + if let FacetValue::Point(base) = &field.base { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_u64( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_u64( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = morton_ordering(facet_value_1, facet_value_2, base, &field.order); + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + } + + _ => {} + } + } + + result1 + .score + .partial_cmp(&result2.score) + .unwrap_or(core::cmp::Ordering::Equal) +} + +impl<'a> MinHeap<'a> { + #[inline(always)] + pub(crate) fn new( + size: usize, + index: &'a Shard, + result_sort: &'a Vec, + ) -> MinHeap<'a> { + MinHeap { + current_heap_size: 0, + docid_hashset: AHashMap::new(), + _elements: vec![ + Result { + doc_id: 0, + score: 0.0, + }; + size + ], + index, + result_sort, + } + } + + #[inline] + pub(crate) fn result_ordering_shard( + &self, + result1: Result, + result2: Result, + ) -> core::cmp::Ordering { + for field in self.result_sort.iter() { + match self.index.facets[field.idx].field_type { + FieldType::U8 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = &self.index.facets_file_mmap + [(self.index.facets_size_sum * result1.doc_id) + offset]; + + let facet_value_2 = &self.index.facets_file_mmap + [(self.index.facets_size_sum * result2.doc_id) + offset]; + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(facet_value_2) + } else { + facet_value_2.cmp(facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::U16 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::U32 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::U64 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_u64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_u64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::I8 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_i8( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_i8( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::I16 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_i16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_i16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::I32 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_i32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_i32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::I64 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_i64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_i64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::Timestamp => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_i64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_i64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::F32 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_f32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_f32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1 + .partial_cmp(&facet_value_2) + .unwrap_or(core::cmp::Ordering::Equal) + } else { + facet_value_2 + .partial_cmp(&facet_value_1) + .unwrap_or(core::cmp::Ordering::Equal) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::F64 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_f64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_f64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1 + .partial_cmp(&facet_value_2) + .unwrap_or(core::cmp::Ordering::Equal) + } else { + facet_value_2 + .partial_cmp(&facet_value_1) + .unwrap_or(core::cmp::Ordering::Equal) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::String16 => { + let offset = self.index.facets[field.idx].offset; + + let facet_id_1 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_id_2 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let facet_value_1 = self.index.facets[field.idx] + .values + .get_index((facet_id_1).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = self.index.facets[field.idx] + .values + .get_index((facet_id_2).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::StringSet16 => { + let offset = self.index.facets[field.idx].offset; + + let facet_id_1 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_id_2 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let facet_value_1 = self.index.facets[field.idx] + .values + .get_index((facet_id_1).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = self.index.facets[field.idx] + .values + .get_index((facet_id_2).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::String32 => { + let offset = self.index.facets[field.idx].offset; + + let facet_id_1 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_id_2 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let facet_value_1 = self.index.facets[field.idx] + .values + .get_index(facet_id_1 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = self.index.facets[field.idx] + .values + .get_index(facet_id_2 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::StringSet32 => { + let offset = self.index.facets[field.idx].offset; + + let facet_id_1 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_id_2 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let facet_value_1 = self.index.facets[field.idx] + .values + .get_index(facet_id_1 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = self.index.facets[field.idx] + .values + .get_index(facet_id_2 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::Point => { + if let FacetValue::Point(base) = &field.base { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_u64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_u64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = + morton_ordering(facet_value_1, facet_value_2, base, &field.order); + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + } + + _ => {} + } + } + + result1 + .score + .partial_cmp(&result2.score) + .unwrap_or(core::cmp::Ordering::Equal) + } + + #[inline(always)] + fn get_left_child_index(element_index: usize) -> usize { + 2 * element_index + 1 + } + + #[inline(always)] + fn get_right_child_index(element_index: usize) -> usize { + 2 * element_index + 2 + } + + #[inline(always)] + fn get_parent_index(element_index: usize) -> usize { + (element_index - 1) / 2 + } + + #[inline(always)] + fn has_left_child(&self, element_index: usize) -> bool { + Self::get_left_child_index(element_index) < self.current_heap_size + } + + #[inline(always)] + fn has_right_child(&self, element_index: usize) -> bool { + Self::get_right_child_index(element_index) < self.current_heap_size + } + + #[inline(always)] + fn is_root(element_index: usize) -> bool { + element_index == 0 + } + + #[inline(always)] + fn get_left_child(&self, element_index: usize) -> &Result { + &self._elements[Self::get_left_child_index(element_index)] + } + + #[inline(always)] + fn get_right_child(&self, element_index: usize) -> &Result { + &self._elements[Self::get_right_child_index(element_index)] + } + + #[inline(always)] + fn get_parent(&self, element_index: usize) -> &Result { + &self._elements[Self::get_parent_index(element_index)] + } + + #[inline(always)] + fn swap(&mut self, first_index: usize, second_index: usize) { + self._elements.swap(first_index, second_index); + } + + #[inline(always)] + fn add(&mut self, result: &Result) { + self._elements[self.current_heap_size].score = result.score; + self._elements[self.current_heap_size].doc_id = result.doc_id; + self.current_heap_size += 1; + + self.heapify_up(); + } + + #[inline(always)] + fn pop_add(&mut self, score: f32, doc_id: usize) { + if !self.docid_hashset.is_empty() { + self.docid_hashset.remove(&self._elements[0].doc_id); + } + + self._elements[0].score = score; + self._elements[0].doc_id = doc_id; + self.heapify_down(); + } + + #[inline(always)] + fn heapify_up(&mut self) { + let mut index = self.current_heap_size - 1; + while !Self::is_root(index) + && self + .result_ordering_shard(self._elements[index], *Self::get_parent(self, index)) + .is_lt() + { + let parent_index = Self::get_parent_index(index); + self.swap(parent_index, index); + index = parent_index; + } + } + + #[inline(always)] + fn heapify_down(&mut self) { + let mut index: usize = 0; + while self.has_left_child(index) { + let mut smaller_index = Self::get_left_child_index(index); + if self.has_right_child(index) + && self + .result_ordering_shard( + *self.get_right_child(index), + *self.get_left_child(index), + ) + .is_lt() + { + smaller_index = Self::get_right_child_index(index); + } + if self + .result_ordering_shard(self._elements[smaller_index], self._elements[index]) + .is_ge() + { + break; + } + + self.swap(smaller_index, index); + index = smaller_index; + } + } + + #[inline(always)] + fn heapify_down_index(&mut self, index: usize) { + let mut index: usize = index; + while self.has_left_child(index) { + let mut smaller_index = Self::get_left_child_index(index); + if self.has_right_child(index) + && self + .result_ordering_shard( + *self.get_right_child(index), + *self.get_left_child(index), + ) + .is_lt() + { + smaller_index = Self::get_right_child_index(index); + } + + if self + .result_ordering_shard(self._elements[smaller_index], self._elements[index]) + .is_ge() + { + break; + } + + self.swap(smaller_index, index); + index = smaller_index; + } + } + + #[inline(always)] + pub(crate) fn add_topk(&mut self, result: Result, top_k: usize) -> bool { + if self.current_heap_size > top_k + && self + .result_ordering_shard(self._elements[0], result) + .is_ge() + { + return false; + } + + if !self.docid_hashset.is_empty() && self.docid_hashset.contains_key(&result.doc_id) { + if self._elements[0].doc_id == result.doc_id { + if self + .result_ordering_shard(result, self._elements[0]) + .is_gt() + { + self._elements[0].score = result.score; + self.heapify_down(); + return true; + } else { + return false; + } + } else { + if self + .result_ordering_shard( + Result { + doc_id: result.doc_id, + score: self.docid_hashset[&result.doc_id], + }, + result, + ) + .is_ge() + { + return false; + } + + let mut index = 0; + while result.doc_id != self._elements[index].doc_id { + if index == self.current_heap_size - 1 { + self.pop_add(result.score, result.doc_id); + return true; + } + index += 1; + } + + self._elements[index].score = result.score; + self.heapify_down_index(index); + return true; + } + } + + if self.current_heap_size < top_k { + self.add(&result); + true + } else if self + .result_ordering_shard(result, self._elements[0]) + .is_gt() + { + self.pop_add(result.score, result.doc_id); + true + } else { + false + } + } +} diff --git a/mobile_app/rust/src/seekstorm/realtime_search.rs b/mobile_app/rust/src/seekstorm/realtime_search.rs new file mode 100644 index 0000000..ff7daad --- /dev/null +++ b/mobile_app/rust/src/seekstorm/realtime_search.rs @@ -0,0 +1,2077 @@ +use std::sync::{ + Arc, + atomic::{AtomicUsize, Ordering}, +}; + +use ahash::{AHashMap, AHashSet}; +use smallvec::SmallVec; + +use crate::{ + add_result::{B, K, SIGMA, facet_count, is_facet_filter, read_multifield_vec}, + index::{ + AccessType, DOCUMENT_LENGTH_COMPRESSION, DUMMY_VEC_8, NgramType, + NonUniquePostingListObjectQuery, NonUniqueTermObject, PostingListObjectQuery, STOP_BIT, + Shard, SimilarityType, TermObject, hash32, hash64, + }, + min_heap, + search::{FilterSparse, QueryType, ResultType, SearchResult, decode_posting_list_counts}, + utils::{read_u16, read_u16_ref, read_u32, read_u32_ref}, +}; + +#[inline(always)] +pub(crate) fn get_next_position_uncommitted( + shard: &Shard, + plo: &mut NonUniquePostingListObjectQuery, +) -> u32 { + if plo.is_embedded { + return plo.embedded_positions[if plo.p_field == 0 { + plo.p_pos as usize + } else { + plo.field_vec[plo.p_field - 1].1 + plo.p_pos as usize + }]; + } + + if (shard.postings_buffer[plo.positions_pointer] & STOP_BIT) != 0 { + let position = (shard.postings_buffer[plo.positions_pointer] & 0b0111_1111) as u32; + plo.positions_pointer += 1; + position + } else if (shard.postings_buffer[plo.positions_pointer + 1] & STOP_BIT) != 0 { + let position = ((shard.postings_buffer[plo.positions_pointer] as u32) << 7) + | (shard.postings_buffer[plo.positions_pointer + 1] & 0b0111_1111) as u32; + plo.positions_pointer += 2; + position + } else { + let position = ((shard.postings_buffer[plo.positions_pointer] as u32) << 13) + | ((shard.postings_buffer[plo.positions_pointer + 1] as u32) << 7) + | (shard.postings_buffer[plo.positions_pointer + 2] & 0b0111_1111) as u32; + plo.positions_pointer += 3; + position + } +} + +#[allow(clippy::too_many_arguments)] +pub(crate) fn add_result_singleterm_uncommitted( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + + plo_single: &mut PostingListObjectQuery, + not_query_list: &mut [PostingListObjectQuery], +) { + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + let local_docid = docid & 0b11111111_11111111; + + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + let mut read_pointer = plo.posting_pointer; + + plo.posting_pointer = read_u32_ref(&shard.postings_buffer, &mut read_pointer) as usize; + plo.docid = read_u16_ref(&shard.postings_buffer, &mut read_pointer) as i32; + + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + let filtered = !not_query_list.is_empty() + || !field_filter_set.is_empty() + || !shard.delete_hashset.is_empty() + || !facet_filter.is_empty(); + + shard.decode_positions_uncommitted(plo_single, false); + + if !field_filter_set.is_empty() + && plo_single.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() + { + let mut match_flag = false; + for field in plo_single.field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + + match *result_type { + ResultType::Count => { + if filtered { + facet_count(shard, search_result, docid); + + *result_count += 1; + } + return; + } + ResultType::Topk => {} + ResultType::TopkCount => { + if filtered { + facet_count(shard, search_result, docid); + + *result_count += 1; + } + } + } + + let bm25 = get_bm25f_singleterm_multifield_uncommitted(shard, docid, plo_single); + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25, + }, + top_k, + ); +} + +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn add_result_multiterm_uncommitted( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, +) { + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + let local_docid = docid & 0b11111111_11111111; + + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + let mut read_pointer = plo.posting_pointer; + + plo.posting_pointer = read_u32_ref(&shard.postings_buffer, &mut read_pointer) as usize; + plo.docid = read_u16_ref(&shard.postings_buffer, &mut read_pointer) as i32; + + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + let filtered = phrase_query + || !field_filter_set.is_empty() + || !shard.delete_hashset.is_empty() + || !facet_filter.is_empty(); + + if !filtered && result_type == &ResultType::Count { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + + for plo in query_list.iter_mut() { + shard.decode_positions_uncommitted(plo, phrase_query); + + if !field_filter_set.is_empty() + && plo.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() + { + let mut match_flag = false; + for field in plo.field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + + if phrase_query { + let len = query_list.len(); + let mut index_transpose = vec![0; len]; + for i in 0..len { + index_transpose[query_list[i].term_index_unique] = i; + } + + let mut phrasematch_count = 0; + if shard.indexed_field_vec.len() == 1 { + for plo in non_unique_query_list.iter_mut() { + plo.p_pos = 0; + let item = &query_list[index_transpose[plo.term_index_unique]]; + plo.positions_pointer = item.positions_pointer as usize; + plo.positions_count = item.positions_count; + + plo.is_embedded = item.is_embedded; + plo.embedded_positions = item.embedded_positions; + + plo.pos = get_next_position_uncommitted(shard, plo); + } + + non_unique_query_list + .sort_by(|x, y| x.positions_count.partial_cmp(&y.positions_count).unwrap()); + + let t1 = 0; + let mut t2 = 1; + let mut pos1 = non_unique_query_list[t1].pos; + let mut pos2 = non_unique_query_list[t2].pos; + + loop { + match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) + .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) + { + std::cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + pos2 = non_unique_query_list[t2].pos; + } + + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + pos1 += + get_next_position_uncommitted(shard, &mut non_unique_query_list[t1]) + + 1; + } + std::cmp::Ordering::Greater => { + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + pos2 = non_unique_query_list[t2].pos + + get_next_position_uncommitted(shard, &mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + std::cmp::Ordering::Equal => { + if t2 + 1 < non_unique_query_list.len() { + t2 += 1; + pos2 = non_unique_query_list[t2].pos; + continue; + } + + phrasematch_count += 1; + if phrasematch_count >= 1 { + break; + } + + t2 = 1; + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + + pos1 += + get_next_position_uncommitted(shard, &mut non_unique_query_list[t1]) + + 1; + pos2 = non_unique_query_list[t2].pos + + get_next_position_uncommitted(shard, &mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + } + } + } else { + for plo in non_unique_query_list.iter_mut() { + let item = &query_list[index_transpose[plo.term_index_unique]]; + plo.positions_pointer = item.positions_pointer as usize; + plo.is_embedded = item.is_embedded; + plo.embedded_positions = item.embedded_positions; + plo.field_vec.clone_from(&item.field_vec); + plo.p_pos = 0; + plo.positions_count = item.positions_count; + plo.p_field = 0; + } + + 'main: for i in 0..shard.indexed_field_vec.len() as u16 { + for plo in non_unique_query_list.iter_mut() { + while plo.field_vec[plo.p_field].0 < i { + if !plo.is_embedded { + for _ in plo.p_pos..plo.field_vec[plo.p_field].1 as i32 { + get_next_position_uncommitted(shard, plo); + } + } + if plo.p_field < plo.field_vec.len() - 1 { + plo.p_field += 1; + plo.p_pos = 0; + } else { + break 'main; + } + } + if plo.field_vec[plo.p_field].0 > i { + continue 'main; + } + } + + for plo in non_unique_query_list.iter_mut() { + plo.p_pos = 0; + plo.positions_count = plo.field_vec[plo.p_field].1 as u32; + plo.pos = get_next_position_uncommitted(shard, plo); + } + + if !field_filter_set.is_empty() && !field_filter_set.contains(&i) { + continue; + } + + non_unique_query_list + .sort_by(|x, y| x.positions_count.partial_cmp(&y.positions_count).unwrap()); + + let t1 = 0; + let mut t2 = 1; + let mut pos1 = non_unique_query_list[t1].pos; + let mut pos2 = non_unique_query_list[t2].pos; + + loop { + match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) + .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) + { + std::cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + pos2 = non_unique_query_list[t2].pos; + } + + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(1) { + item.p_pos += 1 + } + } + break; + } + pos1 += get_next_position_uncommitted( + shard, + &mut non_unique_query_list[t1], + ) + 1; + } + std::cmp::Ordering::Greater => { + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for (j, item) in non_unique_query_list.iter_mut().enumerate() { + if j != t2 { + item.p_pos += 1 + } + } + } + break; + } + pos2 = non_unique_query_list[t2].pos + + get_next_position_uncommitted( + shard, + &mut non_unique_query_list[t2], + ) + + 1; + non_unique_query_list[t2].pos = pos2; + } + std::cmp::Ordering::Equal => { + if t2 + 1 < non_unique_query_list.len() { + t2 += 1; + pos2 = non_unique_query_list[t2].pos; + continue; + } + + phrasematch_count += 1; + if phrasematch_count >= 1 { + break 'main; + } + + t2 = 1; + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(1) { + item.p_pos += 1 + } + } + break; + } + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(2) { + item.p_pos += 1 + } + } + break; + } + + pos1 += get_next_position_uncommitted( + shard, + &mut non_unique_query_list[t1], + ) + 1; + pos2 = non_unique_query_list[t2].pos + + get_next_position_uncommitted( + shard, + &mut non_unique_query_list[t2], + ) + + 1; + non_unique_query_list[t2].pos = pos2; + } + } + } + } + } + + if phrase_query && (phrasematch_count == 0) { + return; + } + } + + match *result_type { + ResultType::Count => { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + ResultType::Topk => {} + ResultType::TopkCount => { + facet_count(shard, search_result, docid); + + *result_count += 1; + } + } + + let bm25 = get_bm25f_multiterm_multifield_uncommitted(shard, docid, query_list); + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25, + }, + top_k, + ); +} + +#[inline(always)] +pub(crate) fn get_bm25f_singleterm_multifield_uncommitted( + shard: &Shard, + docid: usize, + plo_single: &PostingListObjectQuery, +) -> f32 { + let mut bm25f = 0.0; + + let document_length_normalized_average = if shard.document_length_normalized_average == 0.0 { + shard.positions_sum_normalized as f32 / shard.indexed_doc_count as f32 + } else { + shard.document_length_normalized_average + }; + + if shard.indexed_field_vec.len() == 1 { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION + [shard.document_length_compressed_array[0][docid & 0b11111111_11111111] as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + match plo_single.ngram_type { + NgramType::SingleTerm => { + let tf = plo_single.field_vec[0].1 as f32; + + bm25f = plo_single.idf + * ((tf * (K + 1.0) / (tf + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + let tf_ngram1 = plo_single.field_vec_ngram1[0].1 as f32; + let tf_ngram2 = plo_single.field_vec_ngram2[0].1 as f32; + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + _ => { + let tf_ngram1 = plo_single.field_vec_ngram1[0].1 as f32; + let tf_ngram2 = plo_single.field_vec_ngram2[0].1 as f32; + let tf_ngram3 = plo_single.field_vec_ngram3[0].1 as f32; + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo_single.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + } else { + match plo_single.ngram_type { + NgramType::SingleTerm => { + for field in plo_single.field_vec.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf = field.1 as f32; + + bm25f += plo_single.idf + * ((tf * (K + 1.0) + / (tf + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + for field in plo_single.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + bm25f += plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo_single.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + bm25f += plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + _ => { + for field in plo_single.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + bm25f += plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo_single.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + bm25f += plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo_single.field_vec_ngram3.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram3 = field.1 as f32; + + bm25f += plo_single.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + } + } + + bm25f +} + +#[inline(always)] +pub(crate) fn get_bm25f_multiterm_multifield_uncommitted( + shard: &Shard, + docid: usize, + query_list: &mut [PostingListObjectQuery], +) -> f32 { + let mut bm25f = 0.0; + + let document_length_normalized_average = if shard.document_length_normalized_average == 0.0 { + shard.positions_sum_normalized as f32 / shard.indexed_doc_count as f32 + } else { + shard.document_length_normalized_average + }; + + if shard.indexed_field_vec.len() == 1 { + let mut document_length_quotient = 0.0; + + for plo in query_list.iter() { + if !plo.bm25_flag { + continue; + } + + if document_length_quotient == 0.0 { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[0][docid & 0b11111111_11111111] + as usize] as f32; + + document_length_quotient = + document_length_normalized / document_length_normalized_average; + } + + match plo.ngram_type { + NgramType::SingleTerm => { + let tf = plo.field_vec[0].1 as f32; + + bm25f += plo.idf + * ((tf * (K + 1.0) + / (tf + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + let tf_ngram1 = plo.field_vec_ngram1[0].1 as f32; + let tf_ngram2 = plo.field_vec_ngram2[0].1 as f32; + + bm25f += plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + _ => { + let tf_ngram1 = plo.field_vec_ngram1[0].1 as f32; + let tf_ngram2 = plo.field_vec_ngram2[0].1 as f32; + let tf_ngram3 = plo.field_vec_ngram3[0].1 as f32; + + bm25f += plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + } + } else { + for plo in query_list.iter() { + if !plo.bm25_flag { + continue; + } + + match plo.ngram_type { + NgramType::SingleTerm => { + for field in plo.field_vec.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf + * ((tf * (K + 1.0) + / (tf + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + for field in plo.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + _ => { + for field in plo.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo.field_vec_ngram3.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram3 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + } + } + } + + bm25f +} + +impl Shard { + pub(crate) fn get_posting_count_uncommited(&self, term_string: &str) -> usize { + let term_bytes = term_string.as_bytes(); + let key0 = hash32(term_bytes) & self.segment_number_mask1; + let key_hash = hash64(term_bytes); + + match self.segments_level0[key0 as usize].segment.get(&key_hash) { + Some(value1) => value1.posting_count, + + None => 0, + } + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn search_uncommitted( + &self, + unique_terms: &AHashMap, + non_unique_terms: &[NonUniqueTermObject], + query_type_mut: &mut QueryType, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + + search_result: &mut SearchResult, + result_count_arc: &Arc, + top_k: usize, + ) { + let mut query_list_map: AHashMap = AHashMap::new(); + let mut query_list: Vec; + + let mut not_query_list_map: AHashMap = AHashMap::new(); + let mut not_query_list: Vec; + + let mut non_unique_query_list: Vec = Vec::new(); + + let block_id = if self.is_last_level_incomplete { + self.level_index.len() - 1 + } else { + self.level_index.len() + }; + let mut preceding_ngram_count = 0; + + for non_unique_term in non_unique_terms.iter() { + let term = unique_terms.get(&non_unique_term.term).unwrap(); + let key0: u32 = term.key0; + let key_hash: u64 = term.key_hash; + + match self.segments_level0[key0 as usize].segment.get(&key_hash) { + Some(value1) => { + let mut idf = 0.0; + let mut idf_ngram1 = 0.0; + let mut idf_ngram2 = 0.0; + let mut idf_ngram3 = 0.0; + if result_type != &ResultType::Count { + let posting_counts_option = if self.meta.access_type == AccessType::Mmap { + decode_posting_list_counts( + &self.segments_index[key0 as usize], + self, + key_hash, + ) + } else { + let posting_list_object_index_option = + self.segments_index[key0 as usize].segment.get(&key_hash); + posting_list_object_index_option.map(|plo| { + ( + plo.posting_count, + plo.posting_count_ngram_1, + plo.posting_count_ngram_2, + plo.posting_count_ngram_3, + ) + }) + }; + + if non_unique_term.ngram_type == NgramType::SingleTerm + || self.meta.similarity == SimilarityType::Bm25fProximity + { + let posting_count = if let Some(posting_count) = posting_counts_option { + posting_count.0 as usize + value1.posting_count + } else { + value1.posting_count + }; + + idf = (((self.indexed_doc_count as f32 - posting_count as f32 + 0.5) + / (posting_count as f32 + 0.5)) + + 1.0) + .ln(); + } else if term.ngram_type == NgramType::NgramFF + || term.ngram_type == NgramType::NgramRF + || term.ngram_type == NgramType::NgramFR + { + let posting_count_ngram_1 = + if let Some(posting_count) = posting_counts_option { + posting_count.1 + } else { + 0 + } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_1) + as u32; + + let posting_count_ngram_2 = + if let Some(posting_count) = posting_counts_option { + posting_count.2 + } else { + 0 + } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_0) + as u32; + + idf_ngram1 = (((self.indexed_doc_count as f32 + - posting_count_ngram_1 as f32 + + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram2 = (((self.indexed_doc_count as f32 + - posting_count_ngram_2 as f32 + + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + } else { + let posting_count_ngram_1 = + if let Some(posting_count) = posting_counts_option { + posting_count.1 + } else { + 0 + } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_1) + as u32; + + let posting_count_ngram_2 = + if let Some(posting_count) = posting_counts_option { + posting_count.2 + } else { + 0 + } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_0) + as u32; + + let posting_count_ngram_3 = + if let Some(posting_count) = posting_counts_option { + posting_count.3 + } else { + 0 + } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_0) + as u32; + + idf_ngram1 = (((self.indexed_doc_count as f32 + - posting_count_ngram_1 as f32 + + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram2 = (((self.indexed_doc_count as f32 + - posting_count_ngram_2 as f32 + + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram3 = (((self.indexed_doc_count as f32 + - posting_count_ngram_3 as f32 + + 0.5) + / (posting_count_ngram_3 as f32 + 0.5)) + + 1.0) + .ln(); + } + } + + let term_index_unique = if non_unique_term.op == QueryType::Not { + let query_list_map_len = not_query_list_map.len(); + let value = + not_query_list_map + .entry(key_hash) + .or_insert(PostingListObjectQuery { + posting_count: value1.posting_count as u32, + posting_pointer: value1.pointer_first, + term: non_unique_term.term.clone(), + key0, + term_index_unique: query_list_map_len, + + p_docid: 0, + p_docid_count: value1.posting_count, + docid: 0, + + idf, + idf_ngram1, + idf_ngram2, + idf_ngram3, + ngram_type: non_unique_term.ngram_type.clone(), + ..Default::default() + }); + value.term_index_unique + } else { + let query_list_map_len = query_list_map.len(); + let value = + query_list_map + .entry(key_hash) + .or_insert(PostingListObjectQuery { + posting_count: value1.posting_count as u32, + posting_pointer: value1.pointer_first, + term: non_unique_term.term.clone(), + key0, + term_index_unique: query_list_map_len, + + pointer_pivot_p_docid: value1.pointer_pivot_p_docid, + p_docid: 0, + p_docid_count: value1.posting_count, + docid: 0, + + idf, + idf_ngram1, + idf_ngram2, + idf_ngram3, + ngram_type: non_unique_term.ngram_type.clone(), + ..Default::default() + }); + value.term_index_unique + }; + + if non_unique_term.op == QueryType::Phrase { + let nu_plo = NonUniquePostingListObjectQuery { + term_index_unique, + term_index_nonunique: non_unique_query_list.len() + + preceding_ngram_count, + pos: 0, + p_pos: 0, + positions_pointer: 0, + positions_count: 0, + byte_array: &DUMMY_VEC_8, + key0, + is_embedded: false, + p_field: 0, + field_vec: SmallVec::new(), + embedded_positions: [0; 4], + }; + + non_unique_query_list.push(nu_plo); + } + + match non_unique_term.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { + preceding_ngram_count += 1 + } + _ => preceding_ngram_count += 2, + }; + } + None => { + if non_unique_term.op == QueryType::Intersection + || non_unique_term.op == QueryType::Phrase + { + return; + } + } + } + } + + not_query_list = not_query_list_map.into_values().collect(); + query_list = query_list_map.into_values().collect(); + let query_list_len = query_list.len(); + + let non_unique_query_list_count = non_unique_query_list.len(); + + if query_list_len == 0 { + } else if query_list_len == 1 { + self.single_docid_uncommitted( + block_id, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + 0, + result_type, + field_filter_set, + facet_filter, + search_result, + result_count_arc, + top_k, + ); + } else if query_type_mut == &QueryType::Union { + self.union_docid_uncommitted( + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + block_id, + result_count_arc, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ); + } else { + self.intersection_docid_uncommitted( + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + block_id, + result_count_arc, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + query_type_mut == &mut QueryType::Phrase && non_unique_query_list_count >= 2, + ); + } + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn single_docid_uncommitted<'a>( + self: &Shard, + block_id: usize, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], + query_list: &mut [PostingListObjectQuery<'a>], + not_query_list: &mut [PostingListObjectQuery<'a>], + term_index: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + + search_result: &mut SearchResult, + result_count_arc: &Arc, + top_k: usize, + ) { + let filtered = !not_query_list.is_empty() + || !field_filter_set.is_empty() + || !self.delete_hashset.is_empty() + || !facet_filter.is_empty(); + + if (self.enable_single_term_topk || (result_type == &ResultType::Count)) + && (non_unique_query_list.len() <= 1 && !filtered) + { + result_count_arc.fetch_add( + query_list[term_index].posting_count as usize, + Ordering::Relaxed, + ); + + return; + } + + let plo1 = &mut query_list[term_index]; + + let mut result_count_local = 0; + for i in 0..plo1.posting_count { + plo1.p_docid = i as usize; + + self.get_next_docid_uncommitted(plo1); + + add_result_singleterm_uncommitted( + self, + (block_id << 16) | plo1.docid as usize, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + plo1, + not_query_list, + ); + } + + if result_type != &ResultType::Topk { + let filtered = !not_query_list.is_empty() || !field_filter_set.is_empty(); + result_count_arc.fetch_add( + if filtered { + result_count_local as usize + } else { + plo1.posting_count as usize + }, + Ordering::Relaxed, + ); + } + } + + pub(crate) fn get_next_docid_uncommitted(self: &Shard, plo: &mut PostingListObjectQuery) { + plo.posting_pointer_previous = plo.posting_pointer; + + let mut read_pointer = plo.posting_pointer; + + plo.posting_pointer = read_u32_ref(&self.postings_buffer, &mut read_pointer) as usize; + + plo.docid = read_u16_ref(&self.postings_buffer, &mut read_pointer) as i32; + } + + #[inline(always)] + pub(crate) fn decode_positions_uncommitted( + self: &Shard, + plo: &mut PostingListObjectQuery, + phrase_query: bool, + ) { + let mut read_pointer = plo.posting_pointer_previous + 6; + + let position_size_byte_temp: u16 = read_u16_ref(&self.postings_buffer, &mut read_pointer); + + let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + plo.is_embedded = position_size_byte_temp & 0b10000000_00000000 > 0; + + if !plo.is_embedded { + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + plo.field_vec_ngram1 = SmallVec::new(); + plo.field_vec_ngram2 = SmallVec::new(); + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut plo.field_vec_ngram1, + &self.postings_buffer, + &mut read_pointer, + ); + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut plo.field_vec_ngram2, + &self.postings_buffer, + &mut read_pointer, + ); + } + _ => { + plo.field_vec_ngram1 = SmallVec::new(); + plo.field_vec_ngram2 = SmallVec::new(); + plo.field_vec_ngram3 = SmallVec::new(); + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut plo.field_vec_ngram1, + &self.postings_buffer, + &mut read_pointer, + ); + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut plo.field_vec_ngram2, + &self.postings_buffer, + &mut read_pointer, + ); + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut plo.field_vec_ngram3, + &self.postings_buffer, + &mut read_pointer, + ); + } + } + + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut field_vec, + &self.postings_buffer, + &mut read_pointer, + ); + } else { + let field_id; + + if plo.p_docid < plo.pointer_pivot_p_docid as usize { + let rank_position_pointer = read_u16(&self.postings_buffer, read_pointer) as u32; + + match ( + self.indexed_field_vec.len() == 1, + rank_position_pointer >> 12, + ) { + (true, 0b1000..=0b1011) => { + if phrase_query { + plo.embedded_positions = + [rank_position_pointer & 0b00111111_11111111, 0, 0, 0]; + }; + field_vec.push((0, 1)); + } + (true, 0b1100..=0b1111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 7) & 0b00000000_01111111, + rank_position_pointer & 0b00000000_01111111, + 0, + 0, + ]; + }; + field_vec.push((0, 2)); + } + + (false, 0b1100 | 0b1101) => { + if phrase_query { + plo.embedded_positions = + [rank_position_pointer & 0b00011111_11111111, 0, 0, 0]; + }; + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 1)); + } + (false, 0b1110 | 0b1111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 7) & 0b00000000_00111111, + rank_position_pointer & 0b00000000_01111111, + 0, + 0, + ]; + }; + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 2)); + } + + (false, 0b1000) => { + let position_bits = 12 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer & ((1 << position_bits) - 1)), + 0, + 0, + 0, + ]; + }; + } + (false, 0b1001) => { + let position_bits = 12 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 2)); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b1010) => { + let position_bits = 12 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 3)); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b1011) => { + let position_bits = + 12 - self.indexed_field_id_bits - self.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + + (_, _) => { + if phrase_query { + println!("unsupported 2 byte pointer embedded"); + plo.embedded_positions = [0, 0, 0, 0] + }; + } + } + } else { + let rank_position_pointer = read_u32(&self.postings_buffer, read_pointer); + + match ( + self.indexed_field_vec.len() == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, + ) { + (true, 0b10000..=0b10011) => { + if phrase_query { + plo.embedded_positions = [ + rank_position_pointer & 0b00011111_11111111_11111111, + 0, + 0, + 0, + ]; + }; + field_vec.push((0, 1)); + } + (true, 0b10100..=0b10111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 11) & 0b00000000_00000011_11111111, + rank_position_pointer & 0b00000000_00000111_11111111, + 0, + 0, + ]; + }; + field_vec.push((0, 2)); + } + (true, 0b11000..=0b11011) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 14) & 0b00000000_00000000_01111111, + (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, + rank_position_pointer & 0b00000000_00000000_01111111, + 0, + ]; + }; + field_vec.push((0, 3)); + } + (true, 0b11100..=0b11111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 16) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 11) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 6) & 0b00000000_00000000_00011111, + rank_position_pointer & 0b00000000_00000000_00111111, + ]; + }; + field_vec.push((0, 4)); + } + + (false, 0b11000 | 0b11001) => { + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + rank_position_pointer & 0b00001111_11111111_11111111, + 0, + 0, + 0, + ]; + }; + } + (false, 0b11010 | 0b11011) => { + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 2)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 10) & 0b00000000_00000011_11111111, + rank_position_pointer & 0b00000000_00000011_11111111, + 0, + 0, + ]; + }; + } + (false, 0b11100 | 0b11101) => { + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 3)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 14) & 0b00000000_00000000_00111111, + (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, + rank_position_pointer & 0b00000000_00000000_01111111, + 0, + ]; + }; + } + (false, 0b11110 | 0b11111) => { + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 4)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 15) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 10) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 5) & 0b00000000_00000000_00011111, + rank_position_pointer & 0b00000000_00000000_00011111, + ]; + }; + } + + (false, 0b10000) => { + let position_bits = 19 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer & ((1 << position_bits) - 1)), + 0, + 0, + 0, + ]; + }; + } + + (false, 0b10001) => { + let position_bits = 19 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 2)); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b10010) => { + let position_bits = 19 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 3)); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10011) => { + let position_bits = 19 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 4)); + if phrase_query { + let position_bits_1 = position_bits >> 2; + let position_bits_2 = (position_bits - position_bits_1) / 3; + let position_bits_3 = + (position_bits - position_bits_1 - position_bits_2) >> 1; + let position_bits_4 = + position_bits - position_bits_1 - position_bits_2 - position_bits_3; + plo.embedded_positions = [ + ((rank_position_pointer + >> (position_bits_2 + position_bits_3 + position_bits_4)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> (position_bits_3 + position_bits_4)) + & ((1 << position_bits_2) - 1)), + ((rank_position_pointer >> position_bits_4) + & ((1 << position_bits_3) - 1)), + (rank_position_pointer & ((1 << position_bits_4) - 1)), + ]; + }; + } + (false, 0b10100) => { + let position_bits = + 19 - self.indexed_field_id_bits - self.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b10101) => { + let position_bits = + 19 - self.indexed_field_id_bits - self.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 2)]); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10110) => { + let position_bits = + 19 - self.indexed_field_id_bits - self.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 2), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10111) => { + let position_bits = 19 + - self.indexed_field_id_bits + - self.indexed_field_id_bits + - self.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + + self.indexed_field_id_bits + + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_2 = ((rank_position_pointer + >> (position_bits + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_3 = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); + + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + + (_, _) => { + if phrase_query { + println!("unsupported 3 byte pointer embedded"); + plo.embedded_positions = [0, 0, 0, 0] + }; + } + } + }; + } + + plo.positions_count = field_vec[0].1 as u32; + plo.field_vec = field_vec; + plo.positions_pointer = read_pointer as u32; + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn intersection_docid_uncommitted( + self: &Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'_>], + query_list: &mut [PostingListObjectQuery<'_>], + not_query_list: &mut [PostingListObjectQuery<'_>], + block_id: usize, + result_count_arc: &Arc, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + phrase_query: bool, + ) { + let mut result_count = 0; + let t1 = 0; + let mut t2 = 1; + + query_list.sort_by(|x, y| x.posting_count.partial_cmp(&y.posting_count).unwrap()); + + for plo in query_list.iter_mut() { + plo.p_docid = 0; + self.get_next_docid_uncommitted(plo); + } + + 'outer: loop { + match query_list[t1].docid.cmp(&query_list[t2].docid) { + std::cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].posting_count as usize { + break; + } + self.get_next_docid_uncommitted(&mut query_list[t1]); + } + std::cmp::Ordering::Greater => { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].posting_count as usize { + break; + } + + self.get_next_docid_uncommitted(&mut query_list[t2]); + } + std::cmp::Ordering::Equal => { + if t2 + 1 < query_list.len() { + t2 += 1; + continue; + } + + add_result_multiterm_uncommitted( + self, + (block_id << 16) | query_list[t1].docid as usize, + &mut result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + ); + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].posting_count as usize { + break; + } + for item in query_list.iter_mut().skip(1) { + item.p_docid += 1; + if item.p_docid == item.posting_count as usize { + break 'outer; + } + self.get_next_docid_uncommitted(item); + } + + t2 = 1; + self.get_next_docid_uncommitted(&mut query_list[t1]); + } + } + } + + if result_type != &ResultType::Topk { + result_count_arc.fetch_add(result_count as usize, Ordering::Relaxed); + } + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn union_docid_uncommitted( + &self, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + block_id: usize, + result_count_arc: &Arc, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + ) { + let mut result_count: i32 = 0; + + if result_type == &ResultType::Count { + self.union_count_uncommitted(&mut result_count, query_list); + result_count_arc.fetch_add(result_count as usize, Ordering::Relaxed); + return; + } + + self.union_scan_uncommitted( + &mut result_count, + block_id, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + ); + + result_count_arc.fetch_add(result_count as usize, Ordering::Relaxed); + } + + pub(crate) fn union_count_uncommitted( + &self, + result_count: &mut i32, + query_list: &mut [PostingListObjectQuery], + ) { + query_list.sort_by(|a, b| b.posting_count.partial_cmp(&a.posting_count).unwrap()); + + let mut result_count_local = query_list[0].posting_count; + let mut bitmap_0: [u8; 8192] = [0u8; 8192]; + + for (i, item) in query_list.iter_mut().enumerate() { + if item.end_flag { + continue; + } + + if i == 0 { + for _p_docid in 0..item.posting_count { + self.get_next_docid_uncommitted(item); + let docid = item.docid as usize; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + bitmap_0[byte_index] |= 1 << bit_index; + } + } else { + for _p_docid in 0..item.posting_count { + self.get_next_docid_uncommitted(item); + let docid = item.docid as usize; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + if bitmap_0[byte_index] & (1 << bit_index) == 0 { + bitmap_0[byte_index] |= 1 << bit_index; + result_count_local += 1; + } + } + } + } + + *result_count += result_count_local as i32; + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn union_scan_uncommitted( + &self, + result_count: &mut i32, + block_id: usize, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + ) { + for plo in query_list.iter_mut() { + if !plo.end_flag { + self.get_next_docid_uncommitted(plo); + } + } + + loop { + let mut break_loop = true; + let mut docid_min = u16::MAX; + + for plo in query_list.iter_mut() { + if !plo.end_flag && (plo.docid as u16) < docid_min { + docid_min = plo.docid as u16; + } + } + + if result_type != &ResultType::Count { + let mut term_match_count = 0; + let mut term_index = 0; + for (i, plo) in query_list.iter_mut().enumerate() { + if !plo.end_flag && (plo.docid as u16 == docid_min) { + plo.bm25_flag = true; + term_match_count += 1; + term_index = i; + } else { + plo.bm25_flag = false; + } + } + + if term_match_count == 1 { + add_result_singleterm_uncommitted( + self, + (block_id << 16) | docid_min as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + &mut query_list[term_index], + not_query_list, + ); + if not_query_list.is_empty() && result_type != &ResultType::Topk { + *result_count += 1; + } + } else { + add_result_multiterm_uncommitted( + self, + (block_id << 16) | docid_min as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + false, + ); + } + } else { + *result_count += 1; + } + + for plo in query_list.iter_mut() { + if !plo.end_flag { + let doc_id = plo.docid as u16; + if doc_id == docid_min { + if plo.p_docid < plo.posting_count as usize - 1 { + plo.p_docid += 1; + self.get_next_docid_uncommitted(plo); + break_loop = false; + } else { + plo.end_flag = true; + } + } else { + break_loop = false; + } + } + } + + if break_loop { + break; + } + } + } +} diff --git a/mobile_app/rust/src/seekstorm/search.rs b/mobile_app/rust/src/seekstorm/search.rs new file mode 100644 index 0000000..7bc184c --- /dev/null +++ b/mobile_app/rust/src/seekstorm/search.rs @@ -0,0 +1,3243 @@ +use crate::geo_search::{decode_morton_2_d, point_distance_to_morton_range}; +use crate::index::{ + DOCUMENT_LENGTH_COMPRESSION, DistanceUnit, Facet, FieldType, NgramType, ResultFacet, Shard, + ShardArc, hash64, +}; +use crate::min_heap::{Result, result_ordering_root}; +use crate::tokenizer::{tokenizer, tokenizer_lite}; +use crate::union::{union_docid_2, union_docid_3}; +use crate::utils::{ + read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u8, read_u16, read_u32, + read_u64, +}; +use crate::{ + index::{ + AccessType, BlockObjectIndex, DUMMY_VEC, DUMMY_VEC_8, Index, IndexArc, + MAX_POSITIONS_PER_TERM, NonUniquePostingListObjectQuery, NonUniqueTermObject, + PostingListObjectIndex, PostingListObjectQuery, QueueObject, SPEEDUP_FLAG, SegmentIndex, + SimilarityType, TermObject, get_max_score, + }, + intersection::intersection_blockid, + min_heap::MinHeap, + single::single_blockid, + union::union_blockid, +}; + +use ahash::{AHashMap, AHashSet}; +use itertools::Itertools; +use num::FromPrimitive; +use serde::{Deserialize, Serialize}; +use smallvec::SmallVec; +use std::mem::discriminant; +use std::ops::Range; +use std::sync::{ + Arc, + atomic::{AtomicUsize, Ordering}, +}; +use std::{cmp, mem}; +use utoipa::ToSchema; + +use symspell_complete_rs::Suggestion; + +/// Specifies the default QueryType: The following query types are supported: +/// - **Union** (OR, disjunction), +/// - **Intersection** (AND, conjunction), +/// - **Phrase** (""), +/// - **Not** (-). +/// +/// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (+ - ""). +#[derive(Default, PartialEq, Clone, Debug, Serialize, Deserialize, ToSchema)] +pub enum QueryType { + /// Union (OR, disjunction) + #[default] + Union = 0, + /// Intersection (AND, conjunction) + Intersection = 1, + /// Phrase ("") + Phrase = 2, + /// Not (-) + Not = 3, +} + +/// Specifies whether query rewriting is enabled or disabled +#[derive(Default, PartialEq, Clone, Debug, Serialize, Deserialize, ToSchema)] +pub enum QueryRewriting { + /// Query rewriting disabled, returns query results for query as-is, returns no suggestions for corrected or completed query. + /// No performance overhead for spelling correction and suggestions. + #[default] + SearchOnly, + /// Query rewriting disabled, returns query results for original query string, returns suggestions for corrected or completed query. + /// Additional latency for spelling suggestions. + SearchSuggest { + /// Enable query correction, for queries with query string length >= threshold + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + correct: Option, + /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. + distance: usize, + /// Term length thresholds for each edit distance. + /// None: max_dictionary_edit_distance for all terms lengths + /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, + /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 + term_length_threshold: Option>, + /// Enable query completions, for queries with query string length >= threshold, in addition to spelling corrections + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + complete: Option, + /// An option to limit maximum number of returned suggestions. + length: Option, + }, + /// Query rewriting enabled, returns query results for spelling corrected or completed query string (=instant search), returns suggestions for corrected or completed query. + /// Additional latency for spelling correction and suggestions. + SearchRewrite { + /// Enable query correction, for queries with query string length >= threshold + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + correct: Option, + /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. + distance: usize, + /// Term length thresholds for each edit distance. + /// None: max_dictionary_edit_distance for all terms lengths + /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, + /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 + term_length_threshold: Option>, + /// Enable query completions, for queries with query string length >= threshold, in addition to spelling corrections + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + complete: Option, + /// An option to limit maximum number of returned suggestions. + length: Option, + }, + /// Search disabled, returns no query results, only returns suggestions for corrected or completed query. + SuggestOnly { + /// Enable query correction, for queries with query string length >= threshold + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + correct: Option, + /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. + distance: usize, + /// Term length thresholds for each edit distance. + /// None: max_dictionary_edit_distance for all terms lengths + /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, + /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 + term_length_threshold: Option>, + /// Enable query completions, for queries with query string length >= threshold, in addition to spelling corrections + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + complete: Option, + /// An option to limit maximum number of returned suggestions. + length: Option, + }, +} + +/// The following result types are supported: +/// - **Count** (count all results that match the query, but returning top-k results is not required) +/// - **Topk** (returns the top-k results per query, but counting all results that match the query is not required) +/// - **TopkCount** (returns the top-k results per query + count all results that match the query) +#[derive(Default, PartialEq, Clone, Debug, Serialize, Deserialize, ToSchema)] +pub enum ResultType { + /// Count all results that match the query, without returning top-k results + Count = 0, + /// Return the top-k results per query, without counting all results that match the query + Topk = 1, + /// Return the top-k results per query and count all results that match the query + #[default] + TopkCount = 2, +} + +pub(crate) struct SearchResult<'a> { + pub topk_candidates: MinHeap<'a>, + pub query_facets: Vec, + pub skip_facet_count: bool, +} + +/// Contains the results returned when searching the index. +#[derive(Default, Debug, Deserialize, Serialize, Clone)] +pub struct ResultObject { + /// Search query string + pub original_query: String, + /// Search query string after any automatic query correction or completion + pub query: String, + /// Vector of search query terms. Can be used e.g. for custom highlighting. + pub query_terms: Vec, + /// Number of returned search results. Identical to results.len() + pub result_count: usize, + + /// Total number of search results that match the query + /// result_count_total is only accurate if result_type=TopkCount or ResultType=Count, but not for ResultType=Topk + pub result_count_total: usize, + + /// List of search results: doc ID and BM25 score + pub results: Vec, + /// List of facet fields: field name and vector of unique values and their counts. + /// Unique values and their counts are only accurate if result_type=TopkCount or ResultType=Count, but not for ResultType=Topk + pub facets: AHashMap, + ///Suggestions for auto complete and spelling correction. + pub suggestions: Vec, +} + +/// specifies how to count the frequency of numerical facet field values +#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq, ToSchema)] +pub enum RangeType { + /// within the specified range + #[default] + CountWithinRange, + /// within the range and all ranges above + CountAboveRange, + /// within the range and all ranges below + CountBelowRange, +} + +/// Defines the query facets: +/// - string facet field values +/// - range segments for numerical facet field values +#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq, ToSchema)] +pub enum QueryFacet { + /// Range segment definition for numerical facet field values of type u8 + U8 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, u8)>, + }, + /// Range segment definition for numerical facet field values of type u16 + U16 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, u16)>, + }, + /// Range segment definition for numerical facet field values of type u32 + U32 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, u32)>, + }, + /// Range segment definition for numerical facet field values of type u64 + U64 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, u64)>, + }, + /// Range segment definition for numerical facet field values of type i8 + I8 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, i8)>, + }, + /// Range segment definition for numerical facet field values of type i16 + I16 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, i16)>, + }, + /// Range segment definition for numerical facet field values of type i32 + I32 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, i32)>, + }, + /// Range segment definition for numerical facet field values of type i64 + I64 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, i64)>, + }, + /// Range segment definition for numerical facet field values of type Unix timestamp + Timestamp { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, i64)>, + }, + /// Range segment definition for numerical facet field values of type f32 + F32 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, f32)>, + }, + /// Range segment definition for numerical facet field values of type f64 + F64 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, f64)>, + }, + /// Facet field values of type string + String16 { + /// field name + field: String, + /// Prefix filter of facet values to return + prefix: String, + /// maximum number of facet values to return + length: u16, + }, + /// Facet field values of type string + String32 { + /// field name + field: String, + /// Prefix filter of facet values to return + prefix: String, + /// maximum number of facet values to return + length: u32, + }, + /// Facet field values of type string set + StringSet16 { + /// field name + field: String, + /// Prefix filter of facet values to return + prefix: String, + /// maximum number of facet values to return + length: u16, + }, + /// Facet field values of type string set + StringSet32 { + /// field name + field: String, + /// Prefix filter of facet values to return + prefix: String, + /// maximum number of facet values to return + length: u32, + }, + /// Range segment definition for numerical facet field values of type Point (distance between base of type Point and facet field of type Point) + Point { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, f64)>, + /// base point (latitude/lat, longitude/lon) + base: Point, + /// distance unit (kilometers/miles) + unit: DistanceUnit, + }, + /// No query facet + #[default] + None, +} + +/// Defines the range segments for numerical facet field values +#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq)] +pub enum Ranges { + /// U8 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + U8(RangeType, Vec<(String, u8)>), + /// U16 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + U16(RangeType, Vec<(String, u16)>), + /// U32 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + U32(RangeType, Vec<(String, u32)>), + /// U64 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + U64(RangeType, Vec<(String, u64)>), + /// I8 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + I8(RangeType, Vec<(String, i8)>), + /// I16 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + I16(RangeType, Vec<(String, i16)>), + /// I32 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + I32(RangeType, Vec<(String, i32)>), + /// I64 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + I64(RangeType, Vec<(String, i64)>), + /// Unix timestamp (number of seconds since 1 January 1970) range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + Timestamp(RangeType, Vec<(String, i64)>), + /// F32 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + F32(RangeType, Vec<(String, f32)>), + /// F64 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + F64(RangeType, Vec<(String, f64)>), + /// Proximity range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, base point (longitude/lon, latitude/lat), distance unit + Point(RangeType, Vec<(String, f64)>, Point, DistanceUnit), + #[default] + /// No range filter + None, +} + +/// FacetValue: Facet field value types +#[derive(Clone, PartialEq, Serialize, Deserialize, ToSchema)] +pub enum FacetValue { + /// Boolean value + Bool(bool), + /// Unsigned 8-bit integer + U8(u8), + /// Unsigned 16-bit integer + U16(u16), + /// Unsigned 32-bit integer + U32(u32), + /// Unsigned 64-bit integer + U64(u64), + /// Signed 8-bit integer + I8(i8), + /// Signed 16-bit integer + I16(i16), + /// Signed 32-bit integer + I32(i32), + /// Signed 64-bit integer + I64(i64), + /// Unix timestamp: the number of seconds since 1 January 1970 + Timestamp(i64), + /// 32-bit floating point number + F32(f32), + /// 64-bit floating point number + F64(f64), + /// String value + String(String), + /// String set value + StringSet(Vec), + /// Point value: latitude/lat, longitude/lon + Point(Point), + /// No value + None, +} + +impl Index { + /// get_facet_value: Returns value from facet field for a doc_id even if schema stored=false (field not stored in document JSON). + /// Facet fields are more compact than fields stored in document JSON. + /// Strings are stored more compact as indices to a unique term dictionary. Numbers are stored binary, not as strings. + /// Facet fields are faster because no document loading, decompression and JSON decoding is required. + /// Facet fields are always memory mapped, internally always stored with fixed byte length layout, regardless of string size. + #[inline] + pub async fn get_facet_value(self: &Index, field: &str, doc_id: usize) -> FacetValue { + let shard_id = doc_id & ((1 << self.shard_bits) - 1); + let doc_id = doc_id >> self.shard_bits; + self.shard_vec[shard_id] + .read() + .await + .get_facet_value_shard(field, doc_id) + } +} + +impl Shard { + #[inline] + pub(crate) fn get_facet_value_shard(self: &Shard, field: &str, doc_id: usize) -> FacetValue { + if let Some(field_idx) = self.facets_map.get(field) { + match &self.facets[*field_idx].field_type { + FieldType::U8 => { + let facet_value = &self.facets_file_mmap + [(self.facets_size_sum * doc_id) + self.facets[*field_idx].offset]; + FacetValue::U8(*facet_value) + } + FieldType::U16 => { + let facet_value = read_u16( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::U16(facet_value) + } + FieldType::U32 => { + let facet_value = read_u32( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::U32(facet_value) + } + FieldType::U64 => { + let facet_value = read_u64( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::U64(facet_value) + } + FieldType::I8 => { + let facet_value = read_i8( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::I8(facet_value) + } + FieldType::I16 => { + let facet_value = read_i16( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::I16(facet_value) + } + FieldType::I32 => { + let facet_value = read_i32( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::I32(facet_value) + } + FieldType::I64 => { + let facet_value = read_i64( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::I64(facet_value) + } + FieldType::Timestamp => { + let facet_value = read_i64( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::Timestamp(facet_value) + } + FieldType::F32 => { + let facet_value = read_f32( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::F32(facet_value) + } + FieldType::F64 => { + let facet_value = read_f64( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::F64(facet_value) + } + + FieldType::String16 => { + let facet_id = read_u16( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + + let facet_value = self.facets[*field_idx] + .values + .get_index((facet_id).into()) + .unwrap(); + + FacetValue::String(facet_value.1.0[0].clone()) + } + + FieldType::StringSet16 => { + let facet_id = read_u16( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + + let facet_value = self.facets[*field_idx] + .values + .get_index((facet_id).into()) + .unwrap(); + + FacetValue::StringSet(facet_value.1.0.clone()) + } + + FieldType::String32 => { + let facet_id = read_u32( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + + let facet_value = self.facets[*field_idx] + .values + .get_index(facet_id as usize) + .unwrap(); + + FacetValue::String(facet_value.1.0[0].clone()) + } + + FieldType::StringSet32 => { + let facet_id = read_u32( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + + let facet_value = self.facets[*field_idx] + .values + .get_index(facet_id as usize) + .unwrap(); + + FacetValue::StringSet(facet_value.1.0.clone()) + } + + FieldType::Point => { + let code = read_u64( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + + let x = decode_morton_2_d(code); + + FacetValue::Point(x.clone()) + } + + _ => FacetValue::None, + } + } else { + FacetValue::None + } + } +} + +/// U8 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeU8 { + /// range start + pub start: u8, + /// range end + pub end: u8, +} + +/// U16 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeU16 { + /// range start + pub start: u16, + /// range end + pub end: u16, +} + +/// U32 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeU32 { + /// range start + pub start: u32, + /// range end + pub end: u32, +} + +/// U64 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeU64 { + /// range start + pub start: u64, + /// range end + pub end: u64, +} + +/// I8 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeI8 { + /// range start + pub start: i8, + /// range end + pub end: i8, +} + +/// I16 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeI16 { + /// range start + pub start: i16, + /// range end + pub end: i16, +} + +/// I32 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeI32 { + /// range start + pub start: i32, + /// range end + pub end: i32, +} + +/// I64 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeI64 { + /// range start + pub start: i64, + /// range end + pub end: i64, +} + +/// F32 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeF32 { + /// range start + pub start: f32, + /// range end + pub end: f32, +} + +/// F64 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeF64 { + /// range start + pub start: f64, + /// range end + pub end: f64, +} + +/// FacetFilter: +/// either numerical range facet filter (range start/end) or +/// string facet filter (vector of strings) at least one (boolean OR) must match. +#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ToSchema)] +pub enum FacetFilter { + /// U8 range filter + U8 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeU8)] + filter: Range, + }, + /// U16 range filter + U16 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeU16)] + filter: Range, + }, + /// U32 range filter + U32 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeU32)] + filter: Range, + }, + /// U64 range filter + U64 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeU64)] + filter: Range, + }, + /// I8 range filter + I8 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeI8)] + filter: Range, + }, + /// I16 range filter + I16 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeI16)] + filter: Range, + }, + /// I32 range filter + I32 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeI32)] + filter: Range, + }, + /// I64 range filter + I64 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeI64)] + filter: Range, + }, + /// Timestamp range filter, Unix timestamp: the number of seconds since 1 January 1970 + Timestamp { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeI64)] + filter: Range, + }, + /// F32 range filter + F32 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeF32)] + filter: Range, + }, + /// F64 range filter + F64 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeF64)] + filter: Range, + }, + /// String16 filter + String16 { + /// field name + field: String, + /// filter: array of facet string values + filter: Vec, + }, + /// StringSet16 filter + StringSet16 { + /// field name + field: String, + /// filter: array of facet string values + filter: Vec, + }, + /// String32 filter + String32 { + /// field name + field: String, + /// filter: array of facet string values + filter: Vec, + }, + /// StringSet32 filter + StringSet32 { + /// field name + field: String, + /// filter: array of facet string values + filter: Vec, + }, + /// Point proximity range filter + Point { + /// field name + field: String, + /// filter: base point (latitude/lat, longitude/lon), proximity range start, proximity range end, distance unit + #[schema(value_type=(Point, RangeF64, DistanceUnit))] + filter: (Point, Range, DistanceUnit), + }, +} + +#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq)] +pub(crate) enum FilterSparse { + U8(Range), + U16(Range), + U32(Range), + U64(Range), + I8(Range), + I16(Range), + I32(Range), + I64(Range), + /// Unix timestamp: the number of seconds since 1 January 1970 + Timestamp(Range), + F32(Range), + F64(Range), + String16(Vec), + String32(Vec), + Point(Point, Range, DistanceUnit, Range), + #[default] + None, +} + +/// Specifies the sort order for the search results. +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, ToSchema)] +pub enum SortOrder { + /// Ascending sort order + Ascending = 0, + /// Descending sort order + Descending = 1, +} + +/// Specifies the sort order for the search results. +#[derive(Clone, Deserialize, Serialize, ToSchema)] +pub struct ResultSort { + /// name of the facet field to sort by + pub field: String, + /// Sort order: Ascending or Descending + pub order: SortOrder, + /// Base value/point for (geo) proximity sorting + pub base: FacetValue, +} + +/// Specifies the sort order for the search results. +#[derive(Clone, Serialize)] +pub(crate) struct ResultSortIndex<'a> { + /// Index/ID of the facet field to sort by + pub idx: usize, + /// Sort order: Ascending or Descending + pub order: SortOrder, + /// Base value/point for (geo) proximity sorting + pub base: &'a FacetValue, +} + +/// latitude lat +/// longitude lon +pub type Point = Vec; + +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +/// Search the index for all indexed documents, both for committed and uncommitted documents. +/// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. +/// Arguments: +/// * `query_string`: query string `+` `-` `""` search operators are recognized. +/// * `query_type_default`: Specifiy default QueryType: +/// * **Union**, disjunction, OR, +/// * **Intersection**, conjunction, AND, `+`, +/// * **Phrase** `""`, +/// * **Not**, except, minus `-`. +/// +/// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (`+` `-` `""`). +/// +/// Boolean queries are specified in the search method either via the query_type parameter or via operator chars within the query parameter. +/// The interpretation of operator chars within the query string (set `query_type=QueryType::Union`) allows to specify advanced search operations via a simple search box. +/// +/// Intersection, AND `+` +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Union; +/// let query_string="+red +apple".to_string(); +/// ``` +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Intersection; +/// let query_string="red apple".to_string(); +/// ``` +/// Union, OR +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Union; +/// let query_string="red apple".to_string(); +/// ``` +/// Phrase `""` +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Union; +/// let query_string="\"red apple\"".to_string(); +/// ``` +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Phrase; +/// let query_string="red apple".to_string(); +/// ``` +/// Except, minus, NOT `-` +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Union; +/// let query_string="apple -red".to_string(); +/// ``` +/// Mixed phrase and intersection +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Union; +/// let query_string="+\"the who\" +uk".to_string(); +/// ``` +/// * `offset`: offset of search results to return. +/// * `length`: number of search results to return. +/// With length=0, resultType::TopkCount will be automatically downgraded to resultType::Count, returning the number of results only, without returning the results itself. +/// * `result_type`: type of search results to return: Count, Topk, TopkCount. +/// * `include_uncommited`: true realtime search: include indexed documents which where not yet committed into search results. +/// * `field_filter`: Specify field names where to search at querytime, whereas SchemaField.indexed is set at indextime. If set to Vec::new() then all indexed fields are searched. +/// * `query_facets`: Must be set if facets should be returned in ResultObject. If set to Vec::new() then no facet fields are returned. +/// Facet fields are only collected, counted and returned for ResultType::Count and ResultType::TopkCount, but not for ResultType::Topk. +/// The prefix property of a QueryFacet allows at query time to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. +/// The length property of a QueryFacet allows at query time limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. +/// If the length property of a QueryFacet is set to 0 then no facet values for that facet are collected, counted and returned at query time. That decreases the query latency significantly. +/// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. +/// Examples: +/// query_facets = vec![QueryFacet::String16 {field: "language".into(),prefix: "ger".into(),length: 5},QueryFacet::String16 {field: "brand".into(),prefix: "a".into(),length: 5}]; +/// query_facets = vec![QueryFacet::U8 {field: "age".into(), range_type: RangeType::CountWithinRange, ranges: vec![("0-20".into(), 0),("20-40".into(), 20), ("40-60".into(), 40),("60-80".into(), 60), ("80-100".into(), 80)]}]; +/// query_facets = vec![QueryFacet::Point {field: "location".into(),base:vec![38.8951, -77.0364],unit:DistanceUnit::Kilometers,range_type: RangeType::CountWithinRange,ranges: vec![ ("0-200".into(), 0.0),("200-400".into(), 200.0), ("400-600".into(), 400.0), ("600-800".into(), 600.0), ("800-1000".into(), 800.0)]}]; +/// * `facet_filter`: Search results are filtered to documents matching specific string values or numerical ranges in the facet fields. If set to Vec::new() then result are not facet filtered. +/// The filter parameter filters the returned results to those documents both matching the query AND matching for all (boolean AND) stated facet filter fields at least one (boolean OR) of the stated values. +/// If the query is changed then both facet counts and search results are changed. If the facet filter is changed then only the search results are changed, while facet counts remain unchanged. +/// The facet counts depend only from the query and not which facet filters are selected. +/// Examples: +/// facet_filter=vec![FacetFilter::String{field:"language".into(),filter:vec!["german".into()]},FacetFilter::String{field:"brand".into(),filter:vec!["apple".into(),"google".into()]}]; +/// facet_filter=vec![FacetFilter::U8{field:"age".into(),filter: 21..65}]; +/// facet_filter = vec![FacetFilter::Point {field: "location".into(),filter: (vec![38.8951, -77.0364], 0.0..1000.0, DistanceUnit::Kilometers)}]; +/// * `result_sort`: Sort field and order: Search results are sorted by the specified facet field, either in ascending or descending order. +/// If no sort field is specified, then the search results are sorted by rank in descending order per default. +/// Multiple sort fields are combined by a "sort by, then sort by"-method ("tie-breaking"-algorithm). +/// The results are sorted by the first field, and only for those results where the first field value is identical (tie) the results are sub-sorted by the second field, +/// until the n-th field value is either not equal or the last field is reached. +/// A special _score field (BM25x), reflecting how relevant the result is for a given search query (phrase match, match in title etc.) can be combined with any of the other sort fields as primary, secondary or n-th search criterium. +/// Sort is only enabled on facet fields that are defined in schema at create_index! +/// Examples: +/// result_sort = vec![ResultSort {field: "price".into(), order: SortOrder::Descending, base: FacetValue::None},ResultSort {field: "language".into(), order: SortOrder::Ascending, base: FacetValue::None}]; +/// result_sort = vec![ResultSort {field: "location".into(),order: SortOrder::Ascending, base: FacetValue::Point(vec![38.8951, -77.0364])}]; +/// +/// If query_string is empty, then index facets (collected at index time) are returned, otherwise query facets (collected at query time) are returned. +/// Facets are defined in 3 different places: +/// the facet fields are defined in schema at create_index, +/// the facet field values are set in index_document at index time, +/// the query_facets/facet_filter search parameters are specified at query time. +/// Facets are then returned in the search result object. +pub trait Search { + /// Search the index for all indexed documents, both for committed and uncommitted documents. + /// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. + /// Arguments: + /// * `query_string`: query string `+` `-` `""` search operators are recognized. + /// * `query_type_default`: Specifiy default QueryType: + /// * **Union**, disjunction, OR, + /// * **Intersection**, conjunction, AND, `+`, + /// * **Phrase** `""`, + /// * **Not**, except, minus `-`. + /// + /// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (`+` `-` `""`). + /// + /// Boolean queries are specified in the search method either via the query_type parameter or via operator chars within the query parameter. + /// The interpretation of operator chars within the query string (set `query_type=QueryType::Union`) allows to specify advanced search operations via a simple search box. + /// + /// Intersection, AND `+` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="+red +apple".to_string(); + /// ``` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Intersection; + /// let query_string="red apple".to_string(); + /// ``` + /// Union, OR + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="red apple".to_string(); + /// ``` + /// Phrase `""` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="\"red apple\"".to_string(); + /// ``` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Phrase; + /// let query_string="red apple".to_string(); + /// ``` + /// Except, minus, NOT `-` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="apple -red".to_string(); + /// ``` + /// Mixed phrase and intersection + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="+\"the who\" +uk".to_string(); + /// ``` + /// * `offset`: offset of search results to return. + /// * `length`: number of search results to return. + /// With length=0, resultType::TopkCount will be automatically downgraded to resultType::Count, returning the number of results only, without returning the results itself. + /// * `result_type`: type of search results to return: Count, Topk, TopkCount. + /// * `include_uncommited`: true realtime search: include indexed documents which where not yet committed into search results. + /// * `field_filter`: Specify field names where to search at querytime, whereas SchemaField.indexed is set at indextime. If set to Vec::new() then all indexed fields are searched. + /// * `query_facets`: Must be set if facets should be returned in ResultObject. If set to Vec::new() then no facet fields are returned. + /// Facet fields are only collected, counted and returned for ResultType::Count and ResultType::TopkCount, but not for ResultType::Topk. + /// The prefix property of a QueryFacet allows at query time to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. + /// The length property of a QueryFacet allows at query time limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. + /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are collected, counted and returned at query time. That decreases the query latency significantly. + /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. + /// Examples: + /// query_facets = vec![QueryFacet::String16 {field: "language".into(),prefix: "ger".into(),length: 5},QueryFacet::String16 {field: "brand".into(),prefix: "a".into(),length: 5}]; + /// query_facets = vec![QueryFacet::U8 {field: "age".into(), range_type: RangeType::CountWithinRange, ranges: vec![("0-20".into(), 0),("20-40".into(), 20), ("40-60".into(), 40),("60-80".into(), 60), ("80-100".into(), 80)]}]; + /// query_facets = vec![QueryFacet::Point {field: "location".into(),base:vec![38.8951, -77.0364],unit:DistanceUnit::Kilometers,range_type: RangeType::CountWithinRange,ranges: vec![ ("0-200".into(), 0.0),("200-400".into(), 200.0), ("400-600".into(), 400.0), ("600-800".into(), 600.0), ("800-1000".into(), 800.0)]}]; + /// * `facet_filter`: Search results are filtered to documents matching specific string values or numerical ranges in the facet fields. If set to Vec::new() then result are not facet filtered. + /// The filter parameter filters the returned results to those documents both matching the query AND matching for all (boolean AND) stated facet filter fields at least one (boolean OR) of the stated values. + /// If the query is changed then both facet counts and search results are changed. If the facet filter is changed then only the search results are changed, while facet counts remain unchanged. + /// The facet counts depend only from the query and not which facet filters are selected. + /// Examples: + /// facet_filter=vec![FacetFilter::String{field:"language".into(),filter:vec!["german".into()]},FacetFilter::String{field:"brand".into(),filter:vec!["apple".into(),"google".into()]}]; + /// facet_filter=vec![FacetFilter::U8{field:"age".into(),filter: 21..65}]; + /// facet_filter = vec![FacetFilter::Point {field: "location".into(),filter: (vec![38.8951, -77.0364], 0.0..1000.0, DistanceUnit::Kilometers)}]; + /// * `result_sort`: Sort field and order: Search results are sorted by the specified facet field, either in ascending or descending order. + /// If no sort field is specified, then the search results are sorted by rank in descending order per default. + /// Multiple sort fields are combined by a "sort by, then sort by"-method ("tie-breaking"-algorithm). + /// The results are sorted by the first field, and only for those results where the first field value is identical (tie) the results are sub-sorted by the second field, + /// until the n-th field value is either not equal or the last field is reached. + /// A special _score field (BM25x), reflecting how relevant the result is for a given search query (phrase match, match in title etc.) can be combined with any of the other sort fields as primary, secondary or n-th search criterium. + /// Sort is only enabled on facet fields that are defined in schema at create_index! + /// Examples: + /// result_sort = vec![ResultSort {field: "price".into(), order: SortOrder::Descending, base: FacetValue::None},ResultSort {field: "language".into(), order: SortOrder::Ascending, base: FacetValue::None}]; + /// result_sort = vec![ResultSort {field: "location".into(),order: SortOrder::Ascending, base: FacetValue::Point(vec![38.8951, -77.0364])}]; + /// * `query_rewriting`: Enables query rewriting features such as spelling correction and query auto-completion (QAC). + /// The spelling correction of multi-term query strings handles three cases: + /// 1. mistakenly inserted space into a correct term led to two incorrect terms: `hels inki` -> `helsinki` + /// 2. mistakenly omitted space between two correct terms led to one incorrect combined term: `modernart` -> `modern art` + /// 3. multiple independent input terms with/without spelling errors: `cinese indastrialication` -> `chinese industrialization` + /// + /// Query correction/completion supports phrases "", but is disabled, if +- operators are used, or if a opening quote is used after the first term, or if a closing quote is used before the last term. + /// See QueryRewriting enum for details. + /// ⚠️ In addition to setting the query_rewriting parameter per query, the incremental creation of the Symspell dictionary during the indexing of documents has to be enabled via the create_index parameter `meta.spelling_correction`. + /// + /// Facets: + /// If query_string is empty, then index facets (collected at index time) are returned, otherwise query facets (collected at query time) are returned. + /// Facets are defined in 3 different places: + /// the facet fields are defined in schema at create_index, + /// the facet field values are set in index_document at index time, + /// the query_facets/facet_filter search parameters are specified at query time. + /// Facets are then returned in the search result object. + async fn search( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + result_type: ResultType, + include_uncommited: bool, + field_filter: Vec, + query_facets: Vec, + facet_filter: Vec, + result_sort: Vec, + query_rewriting: QueryRewriting, + ) -> ResultObject; +} + +impl Search for IndexArc { + async fn search( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + result_type: ResultType, + include_uncommited: bool, + field_filter: Vec, + query_facets: Vec, + facet_filter: Vec, + result_sort: Vec, + query_rewriting: QueryRewriting, + ) -> ResultObject { + let index_ref = self.read().await; + let original_query = query_string.clone(); + + let (edit_distance_max, term_length_threshold, correct, complete, suggestion_length) = + match &query_rewriting { + QueryRewriting::SearchSuggest { + distance, + term_length_threshold, + correct, + complete, + length, + } => (distance, term_length_threshold, correct, complete, length), + QueryRewriting::SuggestOnly { + distance, + term_length_threshold, + correct, + complete, + length, + } => (distance, term_length_threshold, correct, complete, length), + QueryRewriting::SearchRewrite { + distance, + term_length_threshold, + correct, + complete, + length, + } => (distance, term_length_threshold, correct, complete, length), + _ => (&0, &None, &None, &None, &None), + }; + + let (query_string, suggestions) = if correct.is_some() || complete.is_some() { + let mut query_string = query_string; + let mut allow_loop = true; + let mut previous_qac: Option<(String, Vec)> = None; + loop { + let shard = index_ref.shard_vec[0].read().await; + let query_terms = tokenizer_lite(&query_string, &index_ref.meta.tokenizer, &shard); + drop(shard); + + let qac = if !query_terms.is_empty() { + let query_terms_vec: Vec = + query_terms.iter().map(|s| s.0.to_string()).collect(); + + let suffix = if query_string.ends_with(" ") { " " } else { "" }; + let (query_terms_prefix, query_terms_str) = if query_terms.len() + suffix.len() + > 3 + { + ( + query_terms_vec[..query_terms.len() - 3 + suffix.len()].join(" ") + " ", + query_terms_vec[query_terms.len() - 3 + suffix.len()..].join(" ") + + suffix, + ) + } else { + (String::new(), query_terms_vec.join(" ") + suffix) + }; + let is_phrase = + !query_terms.is_empty() && query_terms[0].1 == QueryType::Phrase; + + let qac: Option<(String, Vec)> = if let Some(completion_option) = + index_ref.completion_option.as_ref() + && complete.is_some() + && query_string.len() >= complete.unwrap() + && query_rewriting != QueryRewriting::SearchOnly + { + let trie = completion_option.read().await; + let completions = + trie.lookup_completions(&query_terms_str, suggestion_length.to_owned()); + + if completions.is_empty() { + previous_qac.clone() + } else { + let mut suggestions: Vec = Vec::new(); + for qc in completions.iter() { + suggestions.push(Suggestion { + term: if is_phrase { + ["\"", &query_terms_prefix, &qc.term, "\""].join("") + } else { + [query_terms_prefix.as_str(), &qc.term].join("") + }, + distance: qc.term.len() - query_string.len(), + count: *qc.count, + }); + } + + if let Some(suggestion_length) = suggestion_length.as_ref() + && suggestions.len() < *suggestion_length + && query_terms.len() >= 2 + { + let mut position = 0; + let mut completion_term_vec = Vec::new(); + for (i, completion) in completions.iter().enumerate() { + completion_term_vec = + completion.term.split(" ").collect::>(); + if completion_term_vec.len() >= 3 { + position = i + 1; + break; + } + } + + if completion_term_vec.len() >= 3 { + let completion_term_str = + completion_term_vec[1..].join(" ") + " "; + let additional_completions = trie.lookup_completions( + &completion_term_str, + Some(suggestion_length - suggestions.len() + 5), + ); + + let query_terms_prefix = query_terms_vec[..query_terms.len() + - if query_terms.len() == 2 { 1 } else { 2 }] + .join(" ") + + " "; + + let mut j = 0; + for qc in additional_completions.iter() { + if let Some(p) = qc.term.rfind(' ') + && p + 1 < qc.term.len() + { + let suffix = qc.term[p + 1..].to_string(); + let hash = hash64(suffix.as_bytes()); + if index_ref.frequent_hashset.contains(&hash) { + continue; + } + }; + + suggestions.insert( + position + j, + Suggestion { + term: if is_phrase { + ["\"", &query_terms_prefix, &qc.term, "\""] + .join("") + } else { + [query_terms_prefix.as_str(), &qc.term].join("") + }, + distance: qc.term.len() - query_string.len(), + count: *qc.count, + }, + ); + + j += 1; + + if suggestions.len() >= *suggestion_length { + break; + } + } + } + } + + let completed_query = suggestions[0].term.to_string(); + + Some((completed_query, suggestions)) + } + } else { + previous_qac.clone() + }; + + let qac: Option<(String, Vec)> = if let Some(symspell) = + &index_ref.symspell_option + && correct.is_some() + && query_string.len() >= correct.unwrap() + && query_rewriting != QueryRewriting::SearchOnly + && qac.is_none() + && allow_loop + { + if let Ok(symspell) = symspell.try_read() + && (term_length_threshold.is_none() + || term_length_threshold.as_ref().unwrap().is_empty() + || query_string.len() >= term_length_threshold.as_ref().unwrap()[0]) + { + let mut corrections = symspell.lookup_compound_vec( + &query_terms_vec, + edit_distance_max.to_owned(), + term_length_threshold, + false, + ); + + if corrections.is_empty() { + None + } else { + if is_phrase { + for suggestion in corrections.iter_mut() { + suggestion.term = ["\"", &suggestion.term, "\""].join(""); + } + } + + query_string = corrections[0].term.clone(); + allow_loop = false; + previous_qac = Some((corrections[0].term.clone(), corrections)); + continue; + } + } else { + None + } + } else { + qac + }; + + if let Some((corrected_query, suggestions)) = qac { + if discriminant(&query_rewriting) + == discriminant(&QueryRewriting::SearchRewrite { + distance: 0, + term_length_threshold: None, + correct: None, + complete: None, + length: None, + }) + { + (corrected_query, Some(suggestions)) + } else { + (query_string, Some(suggestions)) + } + } else { + (query_string, None) + } + } else { + (query_string, None) + }; + + break qac; + } + } else { + (query_string, None) + }; + + if discriminant(&query_rewriting) + == discriminant(&QueryRewriting::SuggestOnly { + distance: 0, + term_length_threshold: None, + correct: None, + complete: None, + length: None, + }) + { + let mut result_object = ResultObject { + original_query, + query: query_string.clone(), + ..Default::default() + }; + if let Some(suggestions) = suggestions.as_ref() { + result_object.suggestions = suggestions.iter().map(|s| s.term.clone()).collect(); + } + return result_object; + } + + if index_ref.shard_vec.len() == 1 { + let mut result_object = index_ref.shard_vec[0] + .search_shard( + query_string.clone(), + query_type_default, + offset, + length, + result_type, + include_uncommited, + field_filter, + query_facets, + facet_filter, + result_sort, + ) + .await; + result_object.original_query = original_query; + result_object.query = query_string.clone(); + if let Some(suggestions) = suggestions.as_ref() { + result_object.suggestions = suggestions.iter().map(|s| s.term.clone()).collect(); + } + return result_object; + } + + let mut result_object_list = Vec::new(); + let shard_bits = index_ref.shard_bits; + let aggregate_results = result_type != ResultType::Count; + + for shard in index_ref.shard_vec.iter() { + let query_string_clone = query_string.clone(); + let shard_clone = shard.clone(); + let query_type_clone = query_type_default.clone(); + let result_type_clone = result_type.clone(); + let field_filter_clone = field_filter.clone(); + let query_facets_clone = query_facets.clone(); + let facet_filter_clone = facet_filter.clone(); + let result_sort_clone = result_sort.clone(); + let shard_id = shard.read().await.meta.id; + + result_object_list.push(tokio::spawn(async move { + let mut rlo = shard_clone + .search_shard( + query_string_clone, + query_type_clone, + 0, + offset + length, + result_type_clone, + include_uncommited, + field_filter_clone, + query_facets_clone, + facet_filter_clone, + result_sort_clone, + ) + .await; + + if aggregate_results { + for result in rlo.results.iter_mut() { + result.doc_id = (result.doc_id << shard_bits) | shard_id as usize; + } + } + + rlo + })); + } + + let mut result_object: ResultObject = Default::default(); + + let mut result_facets: AHashMap, u32)> = AHashMap::new(); + if result_type != ResultType::Topk { + for query_facet in query_facets.iter() { + match query_facet { + QueryFacet::String16 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); + } + QueryFacet::StringSet16 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); + } + QueryFacet::String32 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length)); + } + QueryFacet::StringSet32 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length)); + } + QueryFacet::Timestamp { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + + QueryFacet::U8 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::U16 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::U32 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::U64 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::I8 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::I16 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::I32 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::I64 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::F32 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::F64 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::Point { + field, + range_type: _, + ranges: _, + base: _, + unit: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + + _ => {} + } + } + } + + for result_object_shard in result_object_list { + let mut rlo_shard = result_object_shard.await.unwrap(); + + result_object.result_count_total += rlo_shard.result_count_total; + if aggregate_results { + result_object.results.append(&mut rlo_shard.results); + } + + if result_object.query_terms.is_empty() { + result_object.query_terms = rlo_shard.query_terms + }; + + if !rlo_shard.facets.is_empty() { + for facet in rlo_shard.facets.iter() { + if let Some(existing) = result_facets.get_mut(facet.0) { + for (key, value) in facet.1.iter() { + *existing.0.entry(key.clone()).or_insert(0) += value; + } + }; + } + } + } + + for (key, value) in result_facets.iter_mut() { + let sum = value + .0 + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| (a.clone(), *c)) + .take(value.1 as usize) + .collect::>(); + result_object.facets.insert(key.clone(), sum); + } + + if aggregate_results { + let mut result_sort_index: Vec = Vec::new(); + if !result_sort.is_empty() { + for rs in result_sort.iter() { + if let Some(idx) = index_ref.shard_vec[0] + .read() + .await + .facets_map + .get(&rs.field) + { + result_sort_index.push(ResultSortIndex { + idx: *idx, + order: rs.order.clone(), + base: &rs.base, + }); + } + } + let shard_vec = + futures::future::join_all(index_ref.shard_vec.iter().map(|s| s.read())).await; + + result_object.results.sort_by(|a, b| { + result_ordering_root( + &shard_vec, + index_ref.shard_bits, + &result_sort_index, + *b, + *a, + ) + }); + } else { + result_object + .results + .sort_by(|a, b| b.score.partial_cmp(&a.score).unwrap()); + } + + if offset > 0 { + result_object.results = if offset >= result_object.results.len() { + Vec::new() + } else { + result_object.results.split_off(offset) + }; + } + + if result_object.results.len() > length { + result_object.results.truncate(length); + } + + result_object.result_count = result_object.results.len(); + } + + result_object.original_query = original_query; + result_object.query = query_string.clone(); + if let Some(suggestions) = suggestions { + result_object.suggestions = suggestions.into_iter().map(|s| s.term.clone()).collect(); + } + + result_object + } +} + +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub(crate) trait SearchShard { + async fn search_shard( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + result_type: ResultType, + include_uncommited: bool, + field_filter: Vec, + query_facets: Vec, + facet_filter: Vec, + result_sort: Vec, + ) -> ResultObject; +} + +/// Non-recursive binary search of non-consecutive u64 values in a slice of bytes +#[inline(never)] +pub(crate) fn binary_search( + byte_array: &[u8], + len: usize, + key_hash: u64, + key_head_size: usize, +) -> i64 { + let mut left = 0i64; + let mut right = len as i64 - 1; + while left <= right { + let mid = (left + right) / 2; + + let pivot = read_u64(byte_array, mid as usize * key_head_size); + match pivot.cmp(&key_hash) { + cmp::Ordering::Equal => { + return mid; + } + cmp::Ordering::Less => left = mid + 1, + cmp::Ordering::Greater => right = mid - 1, + } + } + + -1 +} + +/// Decode posting_list_object and blocks on demand from mmap, instead keepping all posting_list_object and blocks for all keys in ram +#[inline(always)] +pub(crate) fn decode_posting_list_count( + segment: &SegmentIndex, + index: &Shard, + key_hash1: u64, + previous: bool, +) -> Option { + let offset = if previous { 1 } else { 0 }; + + let mut posting_count_list = 0u32; + let mut found = false; + + if segment.byte_array_blocks_pointer.len() <= offset { + return None; + } + + let block_id_last = segment.byte_array_blocks_pointer.len() - 1 - offset; + for pointer in segment + .byte_array_blocks_pointer + .iter() + .take(block_id_last + 1) + { + let key_count = pointer.2 as usize; + + let byte_array = + &index.index_file_mmap[pointer.0 - (key_count * index.key_head_size)..pointer.0]; + let key_index = binary_search(byte_array, key_count, key_hash1, index.key_head_size); + + if key_index >= 0 { + found = true; + let key_address = key_index as usize * index.key_head_size; + let posting_count = read_u16(byte_array, key_address + 8); + posting_count_list += posting_count as u32 + 1; + } + } + + if found { + Some(posting_count_list) + } else { + None + } +} + +#[inline(always)] +pub(crate) fn decode_posting_list_counts( + segment: &SegmentIndex, + index: &Shard, + key_hash1: u64, +) -> Option<(u32, u32, u32, u32)> { + let mut posting_count_list = 0u32; + let mut posting_count_ngram_1_compressed = 0; + let mut posting_count_ngram_2_compressed = 0; + let mut posting_count_ngram_3_compressed = 0; + let mut posting_count_ngram_1 = 0; + let mut posting_count_ngram_2 = 0; + let mut posting_count_ngram_3 = 0; + let mut found = false; + + let read_flag = key_hash1 & 0b111 > 0; + + if segment.byte_array_blocks_pointer.is_empty() { + return None; + } + + for pointer in segment.byte_array_blocks_pointer.iter() { + let key_count = pointer.2 as usize; + + let byte_array = + &index.index_file_mmap[pointer.0 - (key_count * index.key_head_size)..pointer.0]; + let key_index = binary_search(byte_array, key_count, key_hash1, index.key_head_size); + + if key_index >= 0 { + found = true; + let key_address = key_index as usize * index.key_head_size; + let posting_count = read_u16(byte_array, key_address + 8); + + match index.key_head_size { + 20 => {} + 22 => { + if read_flag { + posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); + } + } + _ => { + if read_flag { + posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); + posting_count_ngram_3_compressed = read_u8(byte_array, key_address + 16); + } + } + } + + posting_count_list += posting_count as u32 + 1; + } + } + + if found { + match index.key_head_size { + 20 => {} + 22 => { + if read_flag { + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + } + } + _ => { + if read_flag { + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + posting_count_ngram_3 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_3_compressed as usize]; + } + } + } + + Some(( + posting_count_list, + posting_count_ngram_1, + posting_count_ngram_2, + posting_count_ngram_3, + )) + } else { + None + } +} + +/// Decode posting_list_object and blocks on demand from mmap, instead keepping all posting_list_object and blocks for all keys in ram +#[inline(always)] +pub(crate) fn decode_posting_list_object( + segment: &SegmentIndex, + shard: &Shard, + key_hash1: u64, + calculate_score: bool, +) -> Option { + let mut posting_count_list = 0u32; + let mut max_list_score = 0.0; + let mut blocks_owned: Vec = Vec::new(); + let mut posting_count_ngram_1_compressed = 0; + let mut posting_count_ngram_2_compressed = 0; + let mut posting_count_ngram_3_compressed = 0; + let mut posting_count_ngram_1 = 0; + let mut posting_count_ngram_2 = 0; + let mut posting_count_ngram_3 = 0; + + let read_flag = key_hash1 & 0b111 > 0; + + for (block_id, pointer) in segment.byte_array_blocks_pointer.iter().enumerate() { + let key_count = pointer.2 as usize; + + let byte_array = + &shard.index_file_mmap[pointer.0 - (key_count * shard.key_head_size)..pointer.0]; + let key_index = binary_search(byte_array, key_count, key_hash1, shard.key_head_size); + + if key_index >= 0 { + let key_address = key_index as usize * shard.key_head_size; + let posting_count = read_u16(byte_array, key_address + 8); + + let max_docid = read_u16(byte_array, key_address + 10); + let max_p_docid = read_u16(byte_array, key_address + 12); + + match shard.key_head_size { + 20 => {} + 22 => { + if read_flag { + posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); + } + } + _ => { + if read_flag { + posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); + posting_count_ngram_3_compressed = read_u8(byte_array, key_address + 16); + } + } + } + + let pointer_pivot_p_docid = read_u16(byte_array, key_address + shard.key_head_size - 6); + let compression_type_pointer = + read_u32(byte_array, key_address + shard.key_head_size - 4); + + posting_count_list += posting_count as u32 + 1; + + let block_object_index = BlockObjectIndex { + max_block_score: 0.0, + block_id: block_id as u32, + posting_count, + max_docid, + max_p_docid, + pointer_pivot_p_docid, + compression_type_pointer, + }; + blocks_owned.push(block_object_index); + } + } + + if !blocks_owned.is_empty() { + if calculate_score { + match shard.key_head_size { + 20 => {} + 22 => { + if read_flag { + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + } + } + _ => { + if read_flag { + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + posting_count_ngram_3 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_3_compressed as usize]; + } + } + } + + let ngram_type = + FromPrimitive::from_u64(key_hash1 & 0b111).unwrap_or(NgramType::SingleTerm); + + for block in blocks_owned.iter_mut() { + block.max_block_score = get_max_score( + shard, + segment, + posting_count_ngram_1, + posting_count_ngram_2, + posting_count_ngram_3, + posting_count_list, + block.block_id as usize, + block.max_docid as usize, + block.max_p_docid as usize, + block.pointer_pivot_p_docid as usize, + block.compression_type_pointer, + &ngram_type, + ); + + if block.max_block_score > max_list_score { + max_list_score = block.max_block_score + } + } + } + + let posting_list_object_index = PostingListObjectIndex { + posting_count: posting_count_list, + posting_count_ngram_1, + posting_count_ngram_2, + posting_count_ngram_3, + max_list_score, + blocks: blocks_owned, + position_range_previous: 0, + ..Default::default() + }; + + Some(posting_list_object_index) + } else { + None + } +} + +impl SearchShard for ShardArc { + async fn search_shard( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + result_type: ResultType, + include_uncommited: bool, + field_filter: Vec, + query_facets: Vec, + facet_filter: Vec, + result_sort: Vec, + ) -> ResultObject { + let shard_ref = self.read().await; + let mut query_type_mut = query_type_default; + + let facet_cap = if shard_ref.shard_number == 1 { + 0 + } else { + u32::MAX + }; + + let mut result_object: ResultObject = Default::default(); + + let mut result_type = result_type; + if length == 0 && result_type != ResultType::Count { + if result_type == ResultType::Topk { + return result_object; + } + result_type = ResultType::Count; + } + + if shard_ref.segments_index.is_empty() { + return result_object; + } + + let mut field_filter_set: AHashSet = AHashSet::new(); + for item in field_filter.iter() { + match shard_ref.schema_map.get(item) { + Some(value) => { + if value.indexed { + field_filter_set.insert(value.indexed_field_id as u16); + } + } + None => { + println!("field not found: {}", item) + } + } + } + + let mut result_sort_index: Vec = Vec::new(); + if !result_sort.is_empty() && result_type != ResultType::Count { + for rs in result_sort.iter() { + if let Some(idx) = shard_ref.facets_map.get(&rs.field) { + result_sort_index.push(ResultSortIndex { + idx: *idx, + order: rs.order.clone(), + base: &rs.base, + }); + } + } + } + + let heap_size = if result_type != ResultType::Count { + cmp::min(offset + length, shard_ref.indexed_doc_count) + } else { + 0 + }; + let mut search_result = SearchResult { + topk_candidates: MinHeap::new(heap_size, &shard_ref, &result_sort_index), + query_facets: Vec::new(), + skip_facet_count: false, + }; + + let mut facet_filter_sparse: Vec = Vec::new(); + if !facet_filter.is_empty() { + facet_filter_sparse = vec![FilterSparse::None; shard_ref.facets.len()]; + for facet_filter_item in facet_filter.iter() { + match &facet_filter_item { + FacetFilter::U8 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U8 + { + facet_filter_sparse[*idx] = FilterSparse::U8(filter.clone()) + } + } + FacetFilter::U16 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U16 + { + facet_filter_sparse[*idx] = FilterSparse::U16(filter.clone()) + } + } + FacetFilter::U32 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U32 + { + facet_filter_sparse[*idx] = FilterSparse::U32(filter.clone()) + } + } + FacetFilter::U64 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U64 + { + facet_filter_sparse[*idx] = FilterSparse::U64(filter.clone()) + } + } + FacetFilter::I8 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I8 + { + facet_filter_sparse[*idx] = FilterSparse::I8(filter.clone()) + } + } + FacetFilter::I16 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I16 + { + facet_filter_sparse[*idx] = FilterSparse::I16(filter.clone()) + } + } + FacetFilter::I32 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I32 + { + facet_filter_sparse[*idx] = FilterSparse::I32(filter.clone()) + } + } + FacetFilter::I64 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I64 + { + facet_filter_sparse[*idx] = FilterSparse::I64(filter.clone()) + } + } + FacetFilter::Timestamp { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::Timestamp + { + facet_filter_sparse[*idx] = FilterSparse::Timestamp(filter.clone()) + } + } + FacetFilter::F32 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::F32 + { + facet_filter_sparse[*idx] = FilterSparse::F32(filter.clone()) + } + } + FacetFilter::F64 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::F64 + { + facet_filter_sparse[*idx] = FilterSparse::F64(filter.clone()) + } + } + + FacetFilter::String16 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) { + let facet = &shard_ref.facets[*idx]; + if shard_ref.facets[*idx].field_type == FieldType::String16 { + let mut string_id_vec = Vec::new(); + for value in filter.iter() { + let key = [value.clone()]; + if let Some(facet_value_id) = facet.values.get_index_of(&key[0]) + { + string_id_vec.push(facet_value_id as u16); + } + } + facet_filter_sparse[*idx] = FilterSparse::String16(string_id_vec); + } + } + } + + FacetFilter::StringSet16 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) { + let facet = &shard_ref.facets[*idx]; + if shard_ref.facets[*idx].field_type == FieldType::StringSet16 { + let mut string_id_vec = Vec::new(); + for value in filter.iter() { + let key = [value.clone()]; + if let Some(facet_value_id) = + facet.values.get_index_of(&key.join("_")) + { + string_id_vec.push(facet_value_id as u16); + } + + if let Some(facet_value_ids) = shard_ref + .string_set_to_single_term_id_vec[*idx] + .get(&value.clone()) + { + for code in facet_value_ids.iter() { + string_id_vec.push(*code as u16); + } + } + } + facet_filter_sparse[*idx] = FilterSparse::String16(string_id_vec); + } + } + } + + FacetFilter::String32 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) { + let facet = &shard_ref.facets[*idx]; + + if shard_ref.facets[*idx].field_type == FieldType::String32 { + let mut string_id_vec = Vec::new(); + for value in filter.iter() { + let key = [value.clone()]; + if let Some(facet_value_id) = facet.values.get_index_of(&key[0]) + { + string_id_vec.push(facet_value_id as u32); + } + } + facet_filter_sparse[*idx] = FilterSparse::String32(string_id_vec); + } + } + } + + FacetFilter::StringSet32 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) { + let facet = &shard_ref.facets[*idx]; + if shard_ref.facets[*idx].field_type == FieldType::StringSet32 { + let mut string_id_vec = Vec::new(); + for value in filter.iter() { + let key = [value.clone()]; + if let Some(facet_value_id) = + facet.values.get_index_of(&key.join("_")) + { + string_id_vec.push(facet_value_id as u32); + } + + if let Some(facet_value_ids) = shard_ref + .string_set_to_single_term_id_vec[*idx] + .get(&value.clone()) + { + for code in facet_value_ids.iter() { + string_id_vec.push(*code); + } + } + } + facet_filter_sparse[*idx] = FilterSparse::String32(string_id_vec); + } + } + } + + FacetFilter::Point { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::Point + { + facet_filter_sparse[*idx] = FilterSparse::Point( + filter.0.clone(), + filter.1.clone(), + filter.2.clone(), + point_distance_to_morton_range(&filter.0, filter.1.end, &filter.2), + ); + } + } + } + } + } + + let mut is_range_facet = false; + if !query_facets.is_empty() { + search_result.query_facets = vec![ResultFacet::default(); shard_ref.facets.len()]; + for query_facet in query_facets.iter() { + match &query_facet { + QueryFacet::U8 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U8 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::U8(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::U16 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U16 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::U16(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::U32 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U32 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::U32(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::U64 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U64 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::U64(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::I8 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I8 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::I8(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::I16 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I16 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::I16(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::I32 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I32 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::I32(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::I64 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I64 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::I64(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::Timestamp { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::Timestamp + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::Timestamp(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::F32 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::F32 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::F32(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::F64 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::F64 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::F64(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::String16 { + field, + prefix, + length, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::String16 + { + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length as u32, + ..Default::default() + } + } + } + QueryFacet::StringSet16 { + field, + prefix, + length, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::StringSet16 + { + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length as u32, + ..Default::default() + } + } + } + + QueryFacet::String32 { + field, + prefix, + length, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::String32 + { + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length, + ..Default::default() + } + } + } + QueryFacet::StringSet32 { + field, + prefix, + length, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::StringSet32 + { + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length, + ..Default::default() + } + } + } + + QueryFacet::Point { + field, + range_type, + ranges, + base, + unit, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::Point + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::Point( + range_type.clone(), + ranges.clone(), + base.clone(), + unit.clone(), + ), + ..Default::default() + }; + } + } + + QueryFacet::None => {} + }; + } + } + + let result_count_arc = Arc::new(AtomicUsize::new(0)); + let result_count_uncommitted_arc = Arc::new(AtomicUsize::new(0)); + + 'fallback: loop { + let mut unique_terms: AHashMap = AHashMap::new(); + let mut non_unique_terms: Vec = Vec::new(); + let mut nonunique_terms_count = 0u32; + + tokenizer( + &shard_ref, + &query_string, + &mut unique_terms, + &mut non_unique_terms, + shard_ref.meta.tokenizer, + shard_ref.segment_number_mask1, + &mut nonunique_terms_count, + u16::MAX as u32, + MAX_POSITIONS_PER_TERM, + true, + &mut query_type_mut, + shard_ref.meta.ngram_indexing, + 0, + 1, + ) + .await; + + if include_uncommited && shard_ref.uncommitted { + shard_ref.search_uncommitted( + &unique_terms, + &non_unique_terms, + &mut query_type_mut, + &result_type, + &field_filter_set, + &facet_filter_sparse, + &mut search_result, + &result_count_uncommitted_arc, + offset + length, + ); + } + + let mut query_list_map: AHashMap = AHashMap::new(); + let mut query_list: Vec; + + let mut not_query_list_map: AHashMap = AHashMap::new(); + let mut not_query_list: Vec; + + let mut non_unique_query_list: Vec = Vec::new(); + let mut preceding_ngram_count = 0; + + let mut blocks_vec: Vec> = Vec::new(); + + let mut not_found_terms_hashset: AHashSet = AHashSet::new(); + + for non_unique_term in non_unique_terms.iter() { + let term = unique_terms.get(&non_unique_term.term).unwrap(); + let key0: u32 = term.key0; + let key_hash: u64 = term.key_hash; + let term_no_diacritics_umlaut_case = &non_unique_term.term; + + let mut idf = 0.0; + let mut idf_ngram1 = 0.0; + let mut idf_ngram2 = 0.0; + let mut idf_ngram3 = 0.0; + + let mut term_index_unique = 0; + if non_unique_term.op == QueryType::Not { + let query_list_map_len = not_query_list_map.len(); + let not_query_list_option = not_query_list_map.get(&key_hash); + if not_query_list_option.is_none() + && !not_found_terms_hashset.contains(&key_hash) + { + let posting_count; + let max_list_score; + let blocks; + let blocks_len; + let found_plo = if shard_ref.meta.access_type == AccessType::Mmap { + let posting_list_object_index_option = decode_posting_list_object( + &shard_ref.segments_index[key0 as usize], + &shard_ref, + key_hash, + false, + ); + + if let Some(plo) = posting_list_object_index_option { + posting_count = plo.posting_count; + max_list_score = plo.max_list_score; + blocks = &DUMMY_VEC; + blocks_len = plo.blocks.len(); + blocks_vec.push(plo.blocks); + true + } else { + posting_count = 0; + max_list_score = 0.0; + blocks = &DUMMY_VEC; + blocks_len = 0; + false + } + } else { + let posting_list_object_index_option = shard_ref.segments_index + [key0 as usize] + .segment + .get(&key_hash); + + if let Some(plo) = posting_list_object_index_option { + posting_count = plo.posting_count; + max_list_score = plo.max_list_score; + blocks_len = plo.blocks.len(); + blocks = &plo.blocks; + true + } else { + posting_count = 0; + max_list_score = 0.0; + blocks = &DUMMY_VEC; + blocks_len = 0; + false + } + }; + + if found_plo { + let value_new = PostingListObjectQuery { + posting_count, + max_list_score, + blocks, + blocks_index: blocks_vec.len(), + p_block_max: blocks_len as i32, + term: term_no_diacritics_umlaut_case.clone(), + key0, + term_index_unique: query_list_map_len, + idf, + idf_ngram1, + idf_ngram2, + idf_ngram3, + ngram_type: non_unique_term.ngram_type.clone(), + ..Default::default() + }; + not_query_list_map.insert(key_hash, value_new); + } else { + not_found_terms_hashset.insert(key_hash); + } + } + } else { + let query_list_map_len = query_list_map.len(); + let mut found = true; + let query_list_option = query_list_map.get(&key_hash); + match query_list_option { + None => { + if !not_found_terms_hashset.contains(&key_hash) { + let posting_count; + let posting_count_ngram_1; + let posting_count_ngram_2; + let posting_count_ngram_3; + let max_list_score; + let blocks; + let blocks_len; + let found_plo = if shard_ref.meta.access_type == AccessType::Mmap { + let posting_list_object_index_option = + decode_posting_list_object( + &shard_ref.segments_index[key0 as usize], + &shard_ref, + key_hash, + true, + ); + + if let Some(plo) = posting_list_object_index_option { + posting_count = plo.posting_count; + posting_count_ngram_1 = plo.posting_count_ngram_1; + posting_count_ngram_2 = plo.posting_count_ngram_2; + posting_count_ngram_3 = plo.posting_count_ngram_3; + max_list_score = plo.max_list_score; + blocks = &DUMMY_VEC; + blocks_len = plo.blocks.len(); + blocks_vec.push(plo.blocks); + true + } else { + posting_count = 0; + posting_count_ngram_1 = 0; + posting_count_ngram_2 = 0; + posting_count_ngram_3 = 0; + max_list_score = 0.0; + blocks = &DUMMY_VEC; + blocks_len = 0; + false + } + } else { + let posting_list_object_index_option = shard_ref.segments_index + [key0 as usize] + .segment + .get(&key_hash); + + if let Some(plo) = posting_list_object_index_option { + posting_count = plo.posting_count; + posting_count_ngram_1 = plo.posting_count_ngram_1; + posting_count_ngram_2 = plo.posting_count_ngram_2; + posting_count_ngram_3 = plo.posting_count_ngram_3; + max_list_score = plo.max_list_score; + blocks_len = plo.blocks.len(); + blocks = &plo.blocks; + true + } else { + posting_count = 0; + posting_count_ngram_1 = 0; + posting_count_ngram_2 = 0; + posting_count_ngram_3 = 0; + max_list_score = 0.0; + blocks = &DUMMY_VEC; + blocks_len = 0; + false + } + }; + + if found_plo { + if result_type != ResultType::Count { + if non_unique_term.ngram_type == NgramType::SingleTerm + || shard_ref.meta.similarity + == SimilarityType::Bm25fProximity + { + idf = (((shard_ref.indexed_doc_count as f32 + - posting_count as f32 + + 0.5) + / (posting_count as f32 + 0.5)) + + 1.0) + .ln(); + } else if non_unique_term.ngram_type == NgramType::NgramFF + || non_unique_term.ngram_type == NgramType::NgramRF + || non_unique_term.ngram_type == NgramType::NgramFR + { + idf_ngram1 = (((shard_ref.indexed_doc_count as f32 + - posting_count_ngram_1 as f32 + + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram2 = (((shard_ref.indexed_doc_count as f32 + - posting_count_ngram_2 as f32 + + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + } else { + idf_ngram1 = (((shard_ref.indexed_doc_count as f32 + - posting_count_ngram_1 as f32 + + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram2 = (((shard_ref.indexed_doc_count as f32 + - posting_count_ngram_2 as f32 + + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram3 = (((shard_ref.indexed_doc_count as f32 + - posting_count_ngram_3 as f32 + + 0.5) + / (posting_count_ngram_3 as f32 + 0.5)) + + 1.0) + .ln(); + } + } + + let value_new = PostingListObjectQuery { + posting_count, + max_list_score, + blocks, + blocks_index: blocks_vec.len(), + p_block_max: blocks_len as i32, + term: term_no_diacritics_umlaut_case.clone(), + key0, + term_index_unique: query_list_map_len, + idf, + idf_ngram1, + idf_ngram2, + idf_ngram3, + ngram_type: non_unique_term.ngram_type.clone(), + ..Default::default() + }; + term_index_unique = value_new.term_index_unique; + query_list_map.insert(key_hash, value_new); + } else { + if non_unique_term.op == QueryType::Intersection + || non_unique_term.op == QueryType::Phrase + { + break 'fallback; + } + not_found_terms_hashset.insert(key_hash); + found = false; + } + } + } + Some(value) => { + term_index_unique = value.term_index_unique; + } + } + + if found && non_unique_term.op == QueryType::Phrase { + let nu_plo = NonUniquePostingListObjectQuery { + term_index_unique, + term_index_nonunique: non_unique_query_list.len() + + preceding_ngram_count, + pos: 0, + p_pos: 0, + positions_pointer: 0, + positions_count: 0, + byte_array: &DUMMY_VEC_8, + field_vec: SmallVec::new(), + p_field: 0, + key0, + is_embedded: false, + embedded_positions: [0; 4], + }; + + match non_unique_term.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { + preceding_ngram_count += 1 + } + _ => preceding_ngram_count += 2, + }; + + non_unique_query_list.push(nu_plo); + } + } + match term.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { + result_object + .query_terms + .push(term.term_ngram_1.to_string()); + result_object + .query_terms + .push(term.term_ngram_0.to_string()); + } + _ => { + result_object + .query_terms + .push(term.term_ngram_2.to_string()); + result_object + .query_terms + .push(term.term_ngram_1.to_string()); + result_object + .query_terms + .push(term.term_ngram_0.to_string()); + } + }; + { + result_object.query_terms.push(term.term.to_string()); + } + } + + not_query_list = not_query_list_map.into_values().collect(); + query_list = query_list_map.into_values().collect(); + + if shard_ref.meta.access_type == AccessType::Mmap { + for plo in query_list.iter_mut() { + plo.blocks = &blocks_vec[plo.blocks_index - 1] + } + for plo in not_query_list.iter_mut() { + plo.blocks = &blocks_vec[plo.blocks_index - 1] + } + } + + let query_list_len = query_list.len(); + let non_unique_query_list_len = non_unique_query_list.len(); + + let mut matching_blocks: i32 = 0; + let query_term_count = non_unique_terms.len(); + if query_list_len == 0 { + } else if query_list_len == 1 { + if !(shard_ref.uncommitted && include_uncommited) + && offset + length <= 1000 + && not_query_list.is_empty() + && field_filter_set.is_empty() + && shard_ref.delete_hashset.is_empty() + && facet_filter_sparse.is_empty() + && !is_range_facet + && result_sort_index.is_empty() + && let Some(stopword_result_object) = shard_ref + .frequentword_results + .get(&non_unique_terms[0].term) + { + result_object.query = stopword_result_object.query.clone(); + result_object + .query_terms + .clone_from(&stopword_result_object.query_terms); + result_object.result_count = stopword_result_object.result_count; + result_object.result_count_total = stopword_result_object.result_count_total; + + if result_type != ResultType::Count { + result_object + .results + .clone_from(&stopword_result_object.results); + if offset > 0 { + result_object.results.drain(..offset); + } + if length < 1000 { + result_object.results.truncate(length); + } + } + + if !search_result.query_facets.is_empty() && result_type != ResultType::Topk { + let mut facets: AHashMap = AHashMap::new(); + for facet in search_result.query_facets.iter() { + if facet.length == 0 + || stopword_result_object.facets[&facet.field].is_empty() + { + continue; + } + + let v = stopword_result_object.facets[&facet.field] + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(&a.1)) + .map(|(a, c)| (a.clone(), *c)) + .filter(|(a, _c)| { + facet.prefix.is_empty() || a.starts_with(&facet.prefix) + }) + .take(facet.length.max(facet_cap) as usize) + .collect::>(); + + if !v.is_empty() { + facets.insert(facet.field.clone(), v); + } + } + result_object.facets = facets; + }; + + return result_object; + } + + single_blockid( + &shard_ref, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + &mut matching_blocks, + ) + .await; + } else if query_type_mut == QueryType::Union { + search_result.skip_facet_count = true; + + if result_type == ResultType::Count && query_list_len != 2 { + union_blockid( + &shard_ref, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + ) + .await; + } else if SPEEDUP_FLAG + && query_list_len == 2 + && search_result.query_facets.is_empty() + && facet_filter_sparse.is_empty() + && search_result.topk_candidates.result_sort.is_empty() + { + union_docid_2( + &shard_ref, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + &mut matching_blocks, + query_term_count, + ) + .await; + } else if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && query_list_len <= 10 + { + union_docid_3( + &shard_ref, + &mut non_unique_query_list, + &mut Vec::from([QueueObject { + query_list: query_list.clone(), + query_index: 0, + max_score: f32::MAX, + }]), + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + &mut matching_blocks, + 0, + query_term_count, + ) + .await; + } else { + union_blockid( + &shard_ref, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + ) + .await; + } + } else { + intersection_blockid( + &shard_ref, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + &mut matching_blocks, + query_type_mut == QueryType::Phrase && non_unique_query_list_len >= 2, + query_term_count, + ) + .await; + + if shard_ref.enable_fallback + && (result_count_arc.load(Ordering::Relaxed) < offset + length) + { + continue 'fallback; + } + } + + break; + } + + result_object.result_count = search_result.topk_candidates.current_heap_size; + + if search_result.topk_candidates.current_heap_size > offset { + result_object.results = mem::take(&mut search_result.topk_candidates._elements); + + if search_result.topk_candidates.current_heap_size < offset + length { + result_object + .results + .truncate(search_result.topk_candidates.current_heap_size); + } + + result_object + .results + .sort_by(|a, b| search_result.topk_candidates.result_ordering_shard(*b, *a)); + + if offset > 0 { + result_object.results.drain(..offset); + } + } + + result_object.result_count_total = result_count_uncommitted_arc.load(Ordering::Relaxed) + + result_count_arc.load(Ordering::Relaxed); + + if !search_result.query_facets.is_empty() { + result_object.facets = if result_object.query_terms.is_empty() { + shard_ref + .get_index_string_facets_shard(query_facets) + .unwrap_or_default() + } else { + let mut facets: AHashMap = AHashMap::new(); + for (i, facet) in search_result.query_facets.iter_mut().enumerate() { + if facet.length == 0 || facet.values.is_empty() { + continue; + } + + let v = if facet.ranges == Ranges::None { + if shard_ref.facets[i].values.is_empty() { + continue; + } + + if shard_ref.facets[i].field_type == FieldType::StringSet16 + || shard_ref.facets[i].field_type == FieldType::StringSet32 + { + let mut hash_map: AHashMap = AHashMap::new(); + for value in facet.values.iter() { + let value2 = shard_ref.facets[i] + .values + .get_index(*value.0 as usize) + .unwrap(); + + for term in value2.1.0.iter() { + *hash_map.entry(term.clone()).or_insert(0) += value.1; + } + } + + hash_map + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| (a.clone(), *c)) + .filter(|(a, _c)| { + facet.prefix.is_empty() || a.starts_with(&facet.prefix) + }) + .take(facet.length.max(facet_cap) as usize) + .collect::>() + } else { + facet + .values + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| { + ( + shard_ref.facets[i] + .values + .get_index(*a as usize) + .unwrap() + .0 + .clone(), + *c, + ) + }) + .filter(|(a, _c)| { + facet.prefix.is_empty() || a.starts_with(&facet.prefix) + }) + .take(facet.length.max(facet_cap) as usize) + .collect::>() + } + } else { + let range_type = match &facet.ranges { + Ranges::U8(range_type, _ranges) => range_type.clone(), + Ranges::U16(range_type, _ranges) => range_type.clone(), + Ranges::U32(range_type, _ranges) => range_type.clone(), + Ranges::U64(range_type, _ranges) => range_type.clone(), + Ranges::I8(range_type, _ranges) => range_type.clone(), + Ranges::I16(range_type, _ranges) => range_type.clone(), + Ranges::I32(range_type, _ranges) => range_type.clone(), + Ranges::I64(range_type, _ranges) => range_type.clone(), + Ranges::Timestamp(range_type, _ranges) => range_type.clone(), + Ranges::F32(range_type, _ranges) => range_type.clone(), + Ranges::F64(range_type, _ranges) => range_type.clone(), + Ranges::Point(range_type, _ranges, _base, _unit) => range_type.clone(), + _ => RangeType::CountWithinRange, + }; + + match range_type { + RangeType::CountAboveRange => { + let mut sum = 0usize; + for value in facet + .values + .iter_mut() + .sorted_unstable_by(|a, b| b.0.cmp(a.0)) + { + sum += *value.1; + *value.1 = sum; + } + } + RangeType::CountBelowRange => { + let mut sum = 0usize; + for value in facet + .values + .iter_mut() + .sorted_unstable_by(|a, b| a.0.cmp(b.0)) + { + sum += *value.1; + *value.1 = sum; + } + } + RangeType::CountWithinRange => {} + } + + facet + .values + .iter() + .sorted_unstable_by(|a, b| a.0.cmp(b.0)) + .map(|(a, c)| { + ( + match &facet.ranges { + Ranges::U8(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::U16(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::U32(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::U64(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::I8(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::I16(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::I32(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::I64(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::Timestamp(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::F32(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::F64(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + + Ranges::Point(_range_type, ranges, _base, _unit) => { + ranges[*a as usize].0.clone() + } + + _ => "".into(), + }, + *c, + ) + }) + .filter(|(a, _c)| { + facet.prefix.is_empty() || a.starts_with(&facet.prefix) + }) + .collect::>() + }; + + if !v.is_empty() { + facets.insert(facet.field.clone(), v); + } + } + facets + }; + } + + result_object + } +} diff --git a/mobile_app/rust/src/seekstorm/single.rs b/mobile_app/rust/src/seekstorm/single.rs new file mode 100644 index 0000000..99b47a7 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/single.rs @@ -0,0 +1,419 @@ +use std::sync::{ + Arc, + atomic::{AtomicUsize, Ordering}, +}; + +use crate::{ + add_result::{PostingListObjectSingle, add_result_singleterm_multifield}, + compatible::{_blsr_u64, _mm_tzcnt_64}, + index::{ + AccessType, BlockObjectIndex, CompressionType, NonUniquePostingListObjectQuery, + PostingListObjectQuery, SORT_FLAG, SPEEDUP_FLAG, Shard, + }, + intersection::{BlockObject, bitpacking32_get_delta}, + search::{FilterSparse, ResultType, SearchResult}, + utils::{read_u16, read_u64}, +}; + +use ahash::AHashSet; +use num_traits::FromPrimitive; + +#[allow(clippy::too_many_arguments)] +#[allow(clippy::ptr_arg)] +#[allow(non_snake_case)] +pub(crate) async fn single_docid<'a>( + shard: &'a Shard, + query_list: &mut Vec>, + not_query_list: &mut [PostingListObjectQuery<'a>], + blo: &BlockObjectIndex, + term_index: usize, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], +) { + let block_score = blo.max_block_score; + + let filtered = !not_query_list.is_empty() + || !field_filter_set.is_empty() + || !search_result.topk_candidates.result_sort.is_empty() + || (!search_result.query_facets.is_empty() || !facet_filter.is_empty()) + && result_type != &ResultType::Topk; + if SPEEDUP_FLAG + && (result_type == &ResultType::Count + || (search_result.topk_candidates.current_heap_size == top_k + && block_score <= search_result.topk_candidates._elements[0].score)) + && (!filtered || result_type == &ResultType::Topk) + { + return; + } + + let block_id = blo.block_id; + for plo in not_query_list.iter_mut() { + let query_list_item_mut = plo; + + let result = query_list_item_mut + .blocks + .binary_search_by(|block| block.block_id.cmp(&block_id)); + match result { + Ok(p_block) => { + query_list_item_mut.bm25_flag = true; + query_list_item_mut.p_block = p_block as i32 + } + Err(_) => { + query_list_item_mut.bm25_flag = false; + continue; + } + }; + let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; + + query_list_item_mut.compression_type = + FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); + + query_list_item_mut.rank_position_pointer_range = + blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 + + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { + ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + query_list_item_mut.compressed_doc_id_range = + query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; + + if shard.meta.access_type == AccessType::Mmap { + let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; + query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[blo.block_id as usize].0 + ..segment.byte_array_blocks_pointer[blo.block_id as usize].0 + + segment.byte_array_blocks_pointer[blo.block_id as usize].1]; + } else { + query_list_item_mut.byte_array = &shard.segments_index + [query_list_item_mut.key0 as usize] + .byte_array_blocks[blo.block_id as usize]; + } + + query_list_item_mut.p_docid = 0; + query_list_item_mut.p_docid_count = + query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count as usize + + 1; + + query_list_item_mut.docid = 0; + + if query_list_item_mut.compression_type == CompressionType::Rle { + query_list_item_mut.p_run_count = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range, + ) as i32; + let startdocid = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 2, + ); + let runlength = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 4, + ); + query_list_item_mut.docid = startdocid as i32; + query_list_item_mut.run_end = (startdocid + runlength) as i32; + query_list_item_mut.p_run_sum = runlength as i32; + query_list_item_mut.p_run = 6; + } + } + + let compression_type: CompressionType = + FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); + + let rank_position_pointer_range: u32 = + blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum = blo.pointer_pivot_p_docid as u32 * 2 + + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { + ((blo.posting_count as u32 + 1) - blo.pointer_pivot_p_docid as u32) * 3 + } else { + 0 + }; + let compressed_doc_id_range: u32 = rank_position_pointer_range + posting_pointer_size_sum; + + let query_list_item_mut = &mut query_list[term_index]; + + let byte_array = if shard.meta.access_type == AccessType::Mmap { + let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; + &shard.index_file_mmap[segment.byte_array_blocks_pointer[blo.block_id as usize].0 + ..segment.byte_array_blocks_pointer[blo.block_id as usize].0 + + segment.byte_array_blocks_pointer[blo.block_id as usize].1] + } else { + &shard.segments_index[query_list_item_mut.key0 as usize].byte_array_blocks + [blo.block_id as usize] + }; + + let mut plo = PostingListObjectSingle { + rank_position_pointer_range, + pointer_pivot_p_docid: blo.pointer_pivot_p_docid, + byte_array, + p_docid: 0, + idf: query_list_item_mut.idf, + idf_ngram1: query_list_item_mut.idf_ngram1, + idf_ngram2: query_list_item_mut.idf_ngram2, + idf_ngram3: query_list_item_mut.idf_ngram3, + ngram_type: query_list_item_mut.ngram_type.clone(), + }; + + match compression_type { + CompressionType::Array => { + for i in 0..=blo.posting_count { + plo.p_docid = i as i32; + + add_result_singleterm_multifield( + shard, + ((blo.block_id as usize) << 16) + | read_u16( + byte_array, + compressed_doc_id_range as usize + (i as usize * 2), + ) as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + &plo, + not_query_list, + block_score, + ); + } + } + + CompressionType::Delta => { + let deltasizebits = 4; + let rangebits: i32 = + byte_array[compressed_doc_id_range as usize] as i32 >> (8 - deltasizebits); + + let mut docid_old: i32 = -1; + let mut bitposition: u32 = (compressed_doc_id_range << 3) + deltasizebits; + + for i in 0..=blo.posting_count { + plo.p_docid = i as i32; + let delta = bitpacking32_get_delta(byte_array, bitposition, rangebits as u32); + bitposition += rangebits as u32; + + let doc_id: u16 = (docid_old + delta as i32 + 1) as u16; + docid_old = doc_id as i32; + + add_result_singleterm_multifield( + shard, + ((blo.block_id as usize) << 16) | doc_id as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + &plo, + not_query_list, + block_score, + ); + } + } + + CompressionType::Rle => { + let runs_count = read_u16(&byte_array[compressed_doc_id_range as usize..], 0) as i32; + + plo.p_docid = 0; + for i in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &byte_array[compressed_doc_id_range as usize..], + i as usize * 2, + ); + let runlength = read_u16( + &byte_array[compressed_doc_id_range as usize..], + (i + 1) as usize * 2, + ); + + for j in 0..=runlength { + add_result_singleterm_multifield( + shard, + ((blo.block_id as usize) << 16) | (startdocid + j) as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + &plo, + not_query_list, + block_score, + ); + + plo.p_docid += 1; + } + } + } + + CompressionType::Bitmap => { + plo.p_docid = 0; + let block_id_msb = (blo.block_id as usize) << 16; + + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &byte_array[compressed_doc_id_range as usize..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + + intersect = unsafe { _blsr_u64(intersect) }; + + add_result_singleterm_multifield( + shard, + block_id_msb | ((ulong_pos << 6) + bit_pos) as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + &plo, + not_query_list, + block_score, + ); + + plo.p_docid += 1; + } + } + } + + _ => {} + } +} + +#[allow(clippy::too_many_arguments)] +pub(crate) async fn single_blockid<'a>( + index: &'a Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], + query_list: &mut Vec>, + not_query_list: &mut [PostingListObjectQuery<'a>], + result_count_arc: &Arc, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + matching_blocks: &mut i32, +) { + let term_index = 0; + let filtered = !not_query_list.is_empty() + || !field_filter_set.is_empty() + || !index.delete_hashset.is_empty() + || !search_result.topk_candidates.result_sort.is_empty() + || (!search_result.query_facets.is_empty() || !facet_filter.is_empty()) + && result_type != &ResultType::Topk; + + if (index.enable_single_term_topk || (result_type == &ResultType::Count)) + && (non_unique_query_list.len() <= 1) + && !filtered + { + result_count_arc.fetch_add( + query_list[term_index].posting_count as usize, + Ordering::Relaxed, + ); + + return; + } + + let mut result_count_local = 0; + + let enable_inter_query_threading_single = + if !index.enable_search_quality_test && index.enable_inter_query_threading_auto { + query_list[term_index].posting_count / query_list[term_index].p_block_max as u32 > 10 + } else { + index.enable_inter_query_threading + }; + + let mut block_vec: Vec = Vec::new(); + + for (p_block, blo) in query_list[term_index].blocks.iter().enumerate() { + if !enable_inter_query_threading_single { + let block_score = blo.max_block_score; + + if SPEEDUP_FLAG && SORT_FLAG { + let p_block_vec: Vec = vec![p_block as i32]; + let block_object = BlockObject { + block_id: blo.block_id as usize, + block_score, + p_block_vec, + }; + + block_vec.push(block_object); + } else if !SPEEDUP_FLAG + || (filtered && result_type != &ResultType::Topk) + || search_result.topk_candidates.current_heap_size < top_k + || block_score > search_result.topk_candidates._elements[0].score + { + single_docid( + index, + query_list, + not_query_list, + blo, + term_index, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + } + } + } + + if SORT_FLAG && SPEEDUP_FLAG { + block_vec.sort_unstable_by(|x, y| y.block_score.partial_cmp(&x.block_score).unwrap()); + for (block_index, block) in block_vec.iter().enumerate() { + if !filtered && block_index == top_k { + break; + } + if (search_result.topk_candidates.current_heap_size == top_k) + && (block.block_score <= search_result.topk_candidates._elements[0].score) + { + if !filtered { + break; + } else if result_type == &ResultType::Topk { + continue; + } + } + + let blo = &query_list[term_index].blocks[block.p_block_vec[0] as usize]; + + single_docid( + index, + query_list, + not_query_list, + blo, + term_index, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + } + } + + result_count_arc.fetch_add( + if !filtered { + query_list[term_index].posting_count as usize + } else { + result_count_local as usize + }, + Ordering::Relaxed, + ); + + *matching_blocks = query_list[term_index].blocks.len() as i32; +} diff --git a/mobile_app/rust/src/seekstorm/tokenizer.rs b/mobile_app/rust/src/seekstorm/tokenizer.rs new file mode 100644 index 0000000..5539d1e --- /dev/null +++ b/mobile_app/rust/src/seekstorm/tokenizer.rs @@ -0,0 +1,1680 @@ +use std::cmp; + +use ahash::AHashMap; +use finl_unicode::categories::{CharacterCategories, MinorCategory}; + +use crate::{ + index::{ + MAX_QUERY_TERM_NUMBER, NgramSet, NgramType, NonUniqueTermObject, Shard, TermObject, + TokenizerType, hash32, hash64, + }, + search::QueryType, +}; + +const APOSTROPH: [char; 2] = ['\u{2019}', '\u{0027}']; +const ZALGO_CHAR_CATEGORIES: [MinorCategory; 2] = [MinorCategory::Mn, MinorCategory::Me]; + +/// fold_diacritics_accents_zalgo_umlaut() (used by TokenizerType::UnicodeAlphanumericFolded): +/// Converts text with diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters into its basic representation. +/// Unicode UTF-8 has made life so much easier compared to the old code pages, but its endless possibilities also pose challenges in parsing and indexing. +/// The challenge is that the same basic letter might be represented by different UTF8 characters if they contain diacritics, accents, or are bold, italic, or full-width. +/// Sometimes, users can't search because the keyboard doesn't have these letters or they don't know how to enter, or they even don't know what that letter looks like. +/// Sometimes the document to be ingested is already written without diacritics for the same reasons. +/// We don't want to search for every variant separately, most often we even don't know that they exist in the index. +/// We want to have all results, for every variant, no matter which variant is entered in the query, +/// e.g. for indexing LinkedIn posts that make use of external bold/italic formatters or for indexing documents in accented languages. +/// It is important that the search engine supports the character folding rather than external preprocessing, as we want to have both: enter the query in any character form, receive all results independent from their character form, but have them returned in their original, unaltered characters. +pub fn fold_diacritics_accents_ligatures_zalgo_umlaut(string: &str) -> String { + string + .to_lowercase() + .chars() + .fold(String::with_capacity(string.len()), |mut folded, cc| { + let mut base_char = None; + let mut base_char2 = None; + + match cc { + 'ff' => folded.push_str("ff"), + 'ffi' => folded.push_str("ffi"), + 'ffl' => folded.push_str("ffl"), + 'fi' => folded.push_str("fi"), + 'fl' => folded.push_str("fl"), + 'st' => folded.push_str("st"), + 'ſt' => folded.push_str("st"), + + 'ⅰ' => folded.push('i'), + 'ⅱ' => folded.push_str("ii"), + 'ⅲ' => folded.push_str("iii"), + 'ⅳ' => folded.push_str("iv"), + 'ⅴ' => folded.push('v'), + 'ⅵ' => folded.push_str("vi"), + 'ⅶ' => folded.push_str("vii"), + 'ⅷ' => folded.push_str("viii"), + 'ⅸ' => folded.push_str("ix"), + 'ⅹ' => folded.push('x'), + 'ⅺ' => folded.push_str("xi"), + 'ⅻ' => folded.push_str("xii"), + 'ⅼ' => folded.push('l'), + 'ⅽ' => folded.push('c'), + 'ⅾ' => folded.push('d'), + 'ⅿ' => folded.push('m'), + + 'ä' => folded.push_str("ae"), + 'ö' => folded.push_str("oe"), + 'ü' => folded.push_str("ue"), + 'ß' => folded.push_str("ss"), + 'ł' => folded.push('l'), + 'æ' => folded.push('a'), + 'œ' => folded.push('o'), + 'ø' => folded.push('o'), + 'ð' => folded.push('d'), + 'þ' => folded.push('t'), + 'đ' => folded.push('d'), + 'ɖ' => folded.push('d'), + 'ħ' => folded.push('h'), + 'ı' => folded.push('i'), + 'ƿ' => folded.push('w'), + 'ȝ' => folded.push('g'), + 'Ƿ' => folded.push('w'), + 'Ȝ' => folded.push('g'), + + _ => { + unicode_normalization::char::decompose_canonical(cc, |c| { + base_char.get_or_insert(c); + }); + unicode_normalization::char::decompose_compatible(base_char.unwrap(), |c| { + if c.is_alphanumeric() { + base_char2.get_or_insert(c); + } + }); + if base_char2.is_none() { + base_char2 = base_char + } + + if !ZALGO_CHAR_CATEGORIES.contains(&base_char2.unwrap().get_minor_category()) { + match base_char2.unwrap() { + 'ł' => folded.push('l'), + 'æ' => folded.push('a'), + 'œ' => folded.push('o'), + 'ø' => folded.push('o'), + 'ð' => folded.push('d'), + 'þ' => folded.push('t'), + 'đ' => folded.push('d'), + 'ɖ' => folded.push('d'), + 'ħ' => folded.push('h'), + 'ı' => folded.push('i'), + 'ƿ' => folded.push('w'), + 'ȝ' => folded.push('g'), + 'Ƿ' => folded.push('w'), + 'Ȝ' => folded.push('g'), + + _ => folded.push(base_char2.unwrap()), + } + } + } + } + folded + }) +} + +/// Tokenizer splits text to terms +#[allow(clippy::too_many_arguments)] +#[allow(clippy::assigning_clones)] +pub(crate) async fn tokenizer( + index: &Shard, + text: &str, + unique_terms: &mut AHashMap, + non_unique_terms: &mut Vec, + tokenizer: TokenizerType, + segment_number_mask1: u32, + nonunique_terms_count: &mut u32, + token_per_field_max: u32, + position_per_term_max: usize, + is_query: bool, + query_type: &mut QueryType, + ngram_indexing: u8, + indexed_field_id: usize, + indexed_field_number: usize, +) { + let (max_completion_entries, completion_len) = if is_query { + (0, 0) + } else { + let root_index = &index.index_option.as_ref().unwrap().read().await; + if let Some(v) = root_index.completion_option.as_ref() { + (root_index.max_completion_entries, v.read().await.len()) + } else { + (0, 0) + } + }; + + let token_per_field_max_capped = cmp::max(token_per_field_max, 65_536); + + let text_normalized; + let mut non_unique_terms_line: Vec<&str> = Vec::new(); + let mut non_unique_terms_line_string: Vec = Vec::new(); + + let mut start = false; + let mut start_pos = 0; + let mut first_part = &text[0..0]; + + if is_query { + match tokenizer { + TokenizerType::AsciiAlphabetic => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + 'a'..='z' | '"' | '+' | '-' => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + TokenizerType::UnicodeAlphanumeric => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + TokenizerType::UnicodeAlphanumericFolded => { + text_normalized = fold_diacritics_accents_ligatures_zalgo_umlaut(text); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + let apostroph = APOSTROPH.contains(&char.1); + if start { + if apostroph { + first_part = &text_normalized[start_pos..char.0]; + } else { + if first_part.len() >= 2 { + non_unique_terms_line.push(first_part) + } else { + non_unique_terms_line + .push(&text_normalized[start_pos..char.0]); + } + first_part = &text_normalized[0..0]; + } + } else if !apostroph && !first_part.is_empty() { + non_unique_terms_line.push(first_part); + first_part = &text_normalized[0..0]; + } + + false + } + }; + } + } + + TokenizerType::Whitespace => { + text_normalized = text.to_owned(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + TokenizerType::WhitespaceLowercase => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + #[cfg(feature = "zh")] + TokenizerType::UnicodeAlphanumericZH => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(&text_normalized[start_pos..char.0], true); + non_unique_terms_line_string.extend(result.0); + } + false + } + }; + } + } + } + } else { + match tokenizer { + TokenizerType::AsciiAlphabetic => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + 'a'..='z' => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + TokenizerType::UnicodeAlphanumeric => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '+' | '-' | '#' => start, + + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + TokenizerType::UnicodeAlphanumericFolded => { + text_normalized = fold_diacritics_accents_ligatures_zalgo_umlaut(text); + + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '+' | '-' | '#' => start, + + _ => { + let apostroph = APOSTROPH.contains(&char.1); + if start { + if apostroph { + first_part = &text_normalized[start_pos..char.0]; + } else { + if first_part.len() >= 2 { + non_unique_terms_line.push(first_part) + } else { + non_unique_terms_line + .push(&text_normalized[start_pos..char.0]); + } + first_part = &text_normalized[0..0]; + } + } else if !apostroph && !first_part.is_empty() { + non_unique_terms_line.push(first_part); + first_part = &text_normalized[0..0]; + } + + false + } + }; + } + } + + TokenizerType::Whitespace => { + text_normalized = text.to_owned(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + TokenizerType::WhitespaceLowercase => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + #[cfg(feature = "zh")] + TokenizerType::UnicodeAlphanumericZH => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '+' | '-' | '#' => start, + + _ => { + if start { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(&text_normalized[start_pos..char.0], true); + non_unique_terms_line_string.extend(result.0); + } + false + } + }; + } + } + } + } + + #[cfg(feature = "zh")] + if tokenizer == TokenizerType::UnicodeAlphanumericZH { + if start { + if first_part.len() >= 2 { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(first_part, true); + non_unique_terms_line_string.extend(result.0); + } else { + non_unique_terms_line.push(&text_normalized[start_pos..text_normalized.len()]); + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(&text_normalized[start_pos..text_normalized.len()], true); + non_unique_terms_line_string.extend(result.0); + } + } else if !first_part.is_empty() { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(first_part, true); + non_unique_terms_line_string.extend(result.0); + } + non_unique_terms_line = non_unique_terms_line_string + .iter() + .map(|s| s.as_str()) + .collect(); + } + + if tokenizer == TokenizerType::AsciiAlphabetic + || tokenizer == TokenizerType::UnicodeAlphanumeric + || tokenizer == TokenizerType::UnicodeAlphanumericFolded + || tokenizer == TokenizerType::Whitespace + || tokenizer == TokenizerType::WhitespaceLowercase + { + if start { + if first_part.len() >= 2 { + non_unique_terms_line.push(first_part) + } else { + non_unique_terms_line.push(&text_normalized[start_pos..text_normalized.len()]); + } + } else if !first_part.is_empty() { + non_unique_terms_line.push(first_part) + } + } + + if is_query && non_unique_terms_line.len() > MAX_QUERY_TERM_NUMBER { + non_unique_terms_line.truncate(MAX_QUERY_TERM_NUMBER); + } + + let mut position: u32 = 0; + let mut is_phrase = query_type == &QueryType::Phrase; + let mut term_string_1 = "".to_string(); + let mut term_frequent_1 = false; + let mut term_string_2 = "".to_string(); + let mut term_frequent_2 = false; + + let mut term_len_1 = 0; + let mut term_len_2 = 0; + + let mut non_unique_terms_raw = Vec::new(); + + for term_string in non_unique_terms_line.iter_mut() { + if is_query { + let mut query_type_term = if is_phrase { + QueryType::Phrase + } else { + query_type.clone() + }; + if term_string.starts_with('+') { + if query_type != &QueryType::Phrase { + *query_type = QueryType::Intersection; + } + query_type_term = QueryType::Intersection; + *term_string = &term_string[1..]; + } else if term_string.starts_with('-') { + query_type_term = QueryType::Not; + *term_string = &term_string[1..]; + } + if term_string.starts_with('\"') { + is_phrase = true; + *query_type = QueryType::Phrase; + query_type_term = QueryType::Phrase; + *term_string = &term_string[1..]; + } + if term_string.ends_with('\"') { + *query_type = QueryType::Phrase; + *term_string = &term_string[0..term_string.len() - 1]; + is_phrase = false; + } + + if term_string.is_empty() { + continue; + } + + if !index.stop_words.is_empty() && index.stop_words.contains(*term_string) { + continue; + } + + let term_string = if let Some(stemmer) = index.stemmer.as_ref() { + stemmer.stem(term_string).to_string() + } else { + term_string.to_string() + }; + + non_unique_terms_raw.push((term_string, query_type_term)); + } else { + if !index.stop_words.is_empty() && index.stop_words.contains(*term_string) { + continue; + } + + let term_string_0 = if let Some(stemmer) = index.stemmer.as_ref() { + stemmer.stem(term_string).to_string() + } else { + term_string.to_string() + }; + + let mut term_positions_len; + let term_hash_0 = hash64(term_string_0.as_bytes()); + let term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + + let term_number_0 = term_string_0.chars().next().unwrap().is_ascii_digit() + && term_string_0.chars().last().unwrap().is_ascii_digit(); + let term_len_0 = term_string_0.chars().count(); + + if index.indexed_schema_vec[indexed_field_id].completion_source { + let mut level_completions = index.level_completions.write().await; + + if !term_number_0 && term_len_0 > 1 { + let unigram_string = vec![term_string_0.clone()]; + if completion_len < max_completion_entries { + level_completions + .entry(unigram_string) + .and_modify(|v| { + *v += 1; + }) + .or_insert(1); + } + } + + if !term_string_1.is_empty() { + if term_len_1 > 1 { + let bigram_string = vec![term_string_1.clone(), term_string_0.clone()]; + if completion_len < max_completion_entries { + level_completions + .entry(bigram_string) + .and_modify(|v| { + *v += 1; + }) + .or_insert(1); + } + } + + if !term_string_2.is_empty() && term_len_2 > 1 { + let trigram_string = vec![ + term_string_2.clone(), + term_string_1.clone(), + term_string_0.clone(), + ]; + if completion_len < max_completion_entries { + level_completions + .entry(trigram_string) + .and_modify(|v| { + *v += 1; + }) + .or_insert(1); + } + } + } + + drop(level_completions); + + term_len_2 = term_len_1; + term_len_1 = term_len_0; + } + + let term_object = unique_terms + .entry(term_string_0.clone()) + .or_insert_with(|| { + let term_bytes = term_string_0.as_bytes(); + TermObject { + term: term_string_0.clone(), + + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes), + + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::SingleTerm, + + ..Default::default() + } + }); + + term_object.field_positions_vec[indexed_field_id].push(position as u16); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + + if !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramFF as u8 != 0 + && term_frequent_1 + && term_frequent_0) + { + let term_string = [term_string_1.as_str(), term_string_0.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFF, + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 1); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramRF as u8 != 0 + && !term_frequent_1 + && term_frequent_0) + { + let term_string = [term_string_1.as_str(), term_string_0.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramRF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramRF, + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 1); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramFR as u8 != 0 + && term_frequent_1 + && !term_frequent_0) + { + let term_string = [term_string_1.as_str(), term_string_0.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFR as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFR, + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 1); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_2.is_empty() + && !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramFFF as u8 != 0 + && term_frequent_2 + && term_frequent_1 + && term_frequent_0) + { + let term_string = [ + term_string_2.as_str(), + term_string_1.as_str(), + term_string_0.as_str(), + ] + .join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFFF, + term_ngram_2: term_string_2.clone(), + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_2.is_empty() + && !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 + && !term_frequent_2 + && term_frequent_1 + && term_frequent_0) + { + let term_string = [ + term_string_2.as_str(), + term_string_1.as_str(), + term_string_0.as_str(), + ] + .join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramRFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramRFF, + term_ngram_2: term_string_2.clone(), + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_2.is_empty() + && !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 + && term_frequent_2 + && term_frequent_1 + && !term_frequent_0) + { + let term_string = [ + term_string_2.as_str(), + term_string_1.as_str(), + term_string_0.as_str(), + ] + .join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFFR as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFFR, + term_ngram_2: term_string_2.clone(), + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_2.is_empty() + && !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 + && term_frequent_2 + && !term_frequent_1 + && term_frequent_0) + { + let term_string = [ + term_string_2.as_str(), + term_string_1.as_str(), + term_string_0.as_str(), + ] + .join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFRF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFRF, + term_ngram_2: term_string_2, + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + term_string_2 = term_string_1; + term_string_1 = term_string_0; + + term_frequent_2 = term_frequent_1; + term_frequent_1 = term_frequent_0; + + position += 1; + + if position >= token_per_field_max_capped { + break; + } + if term_positions_len >= position_per_term_max { + continue; + } + }; + } + + if is_query { + let len = non_unique_terms_raw.len(); + + let mut term_0; + let mut term_frequent_0; + let mut term_phrase_0; + + if len > 0 { + let item = &non_unique_terms_raw[0]; + term_0 = item.0.clone(); + let term_hash_0 = hash64(term_0.as_bytes()); + term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + term_phrase_0 = item.1 == QueryType::Phrase; + } else { + term_0 = "".to_string(); + term_frequent_0 = false; + term_phrase_0 = false; + } + + let mut term_1; + let mut term_frequent_1; + let mut term_phrase_1; + if len > 1 { + let item = &non_unique_terms_raw[1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + + let len = non_unique_terms_raw.len(); + let mut i = 0; + while i < len { + let term_2; + let term_frequent_2; + let term_phrase_2; + if len > i + 2 { + let item = &non_unique_terms_raw[i + 2]; + term_2 = item.0.clone(); + let term_hash_2 = hash64(term_2.as_bytes()); + term_frequent_2 = index.frequent_hashset.contains(&term_hash_2); + term_phrase_2 = item.1 == QueryType::Phrase; + } else { + term_2 = "".to_string(); + term_frequent_2 = false; + term_phrase_2 = false; + } + if i + 2 < len + && (ngram_indexing & NgramSet::NgramFFF as u8 != 0 + && term_frequent_0 + && term_frequent_1 + && term_frequent_2 + && term_phrase_0 + && term_phrase_1 + && term_phrase_2) + { + let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFFF, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramFFF, + op: QueryType::Phrase, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + }); + + i += 3; + + if len > i { + let item = &non_unique_terms_raw[i]; + term_0 = item.0.clone(); + let term_hash_0 = hash64(term_0.as_bytes()); + term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + term_phrase_0 = item.1 == QueryType::Phrase; + } else { + term_0 = "".to_string(); + term_frequent_0 = false; + term_phrase_0 = false; + } + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 2 < len + && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 + && !term_frequent_0 + && term_frequent_1 + && term_frequent_2 + && term_phrase_0 + && term_phrase_1 + && term_phrase_2) + { + let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramRFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramRFF, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramRFF, + op: QueryType::Phrase, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + }); + + i += 3; + + if len > i { + let item = &non_unique_terms_raw[i]; + term_0 = item.0.clone(); + let term_hash_0 = hash64(term_0.as_bytes()); + term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + term_phrase_0 = item.1 == QueryType::Phrase; + } else { + term_0 = "".to_string(); + term_frequent_0 = false; + term_phrase_0 = false; + } + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 2 < len + && (ngram_indexing & NgramSet::NgramFFR as u8 != 0 + && term_frequent_0 + && term_frequent_1 + && !term_frequent_2 + && term_phrase_0 + && term_phrase_1 + && term_phrase_2) + { + let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFFR as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFFR, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramFFR, + op: QueryType::Phrase, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + }); + + i += 3; + + if len > i { + let item = &non_unique_terms_raw[i]; + term_0 = item.0.clone(); + let term_hash_0 = hash64(term_0.as_bytes()); + term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + term_phrase_0 = item.1 == QueryType::Phrase; + } else { + term_0 = "".to_string(); + term_frequent_0 = false; + term_phrase_0 = false; + } + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 2 < len + && (ngram_indexing & NgramSet::NgramFRF as u8 != 0 + && term_frequent_0 + && !term_frequent_1 + && term_frequent_2 + && term_phrase_0 + && term_phrase_1 + && term_phrase_2) + { + let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFRF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFRF, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramFRF, + op: QueryType::Phrase, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + }); + + i += 3; + + if len > i { + let item = &non_unique_terms_raw[i]; + term_0 = item.0.clone(); + let term_hash_0 = hash64(term_0.as_bytes()); + term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + term_phrase_0 = item.1 == QueryType::Phrase; + } else { + term_0 = "".to_string(); + term_frequent_0 = false; + term_phrase_0 = false; + } + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 1 < len + && (ngram_indexing & NgramSet::NgramFF as u8 != 0 + && term_frequent_0 + && term_frequent_1 + && term_phrase_0 + && term_phrase_1) + { + let term_string = [term_0.as_str(), term_1.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFF, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramFF, + op: QueryType::Phrase, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + }); + + i += 2; + + term_0 = term_2.clone(); + term_frequent_0 = term_frequent_2; + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 1 < len + && (ngram_indexing & NgramSet::NgramRF as u8 != 0 + && !term_frequent_0 + && term_frequent_1 + && term_phrase_0 + && term_phrase_1) + { + let term_string = [term_0.as_str(), term_1.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramRF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramRF, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramRF, + op: QueryType::Phrase, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + }); + + i += 2; + + term_0 = term_2.clone(); + term_frequent_0 = term_frequent_2; + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 1 < len + && (ngram_indexing & NgramSet::NgramFR as u8 != 0 + && term_frequent_0 + && !term_frequent_1 + && term_phrase_0 + && term_phrase_1) + { + let term_string = [term_0.as_str(), term_1.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFR as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFR, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramFR, + op: QueryType::Phrase, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + }); + + i += 2; + + term_0 = term_2.clone(); + term_frequent_0 = term_frequent_2; + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else { + let term_string = term_0.clone(); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.to_string(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes), + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::SingleTerm, + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::SingleTerm, + op: non_unique_terms_raw[i].1.clone(), + ..Default::default() + }); + + i += 1; + + term_0.clone_from(&term_1); + term_1.clone_from(&term_2); + + term_frequent_0 = term_frequent_1; + term_frequent_1 = term_frequent_2; + + term_phrase_0 = term_phrase_1; + term_phrase_1 = term_phrase_2; + }; + + position += 1; + } + } + + *nonunique_terms_count = position; +} + +/// Parse a string into words, using the specified tokenizer type. +pub fn tokenizer_lite( + text: &str, + tokenizer: &TokenizerType, + index: &Shard, +) -> Vec<(String, QueryType)> { + let text_normalized; + let mut non_unique_terms_line: Vec = Vec::new(); + + let mut start = false; + let mut start_pos = 0; + let mut first_part = &text[0..0]; + + match tokenizer { + TokenizerType::AsciiAlphabetic => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + 'a'..='z' | '"' | '+' | '-' => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line + .push(text_normalized[start_pos..char.0].to_string()); + } + false + } + }; + } + } + TokenizerType::UnicodeAlphanumeric => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + non_unique_terms_line + .push(text_normalized[start_pos..char.0].to_string()); + } + false + } + }; + } + } + TokenizerType::UnicodeAlphanumericFolded => { + text_normalized = fold_diacritics_accents_ligatures_zalgo_umlaut(text); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + let apostroph = APOSTROPH.contains(&char.1); + if start { + if apostroph { + first_part = &text_normalized[start_pos..char.0]; + } else { + if first_part.len() >= 2 { + non_unique_terms_line.push(first_part.to_string()) + } else { + non_unique_terms_line + .push(text_normalized[start_pos..char.0].to_string()); + } + first_part = &text_normalized[0..0]; + } + } else if !apostroph && !first_part.is_empty() { + non_unique_terms_line.push(first_part.to_string()); + first_part = &text_normalized[0..0]; + } + + false + } + }; + } + } + + TokenizerType::Whitespace => { + text_normalized = text.to_owned(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line + .push(text_normalized[start_pos..char.0].to_string()); + } + false + } + }; + } + } + + TokenizerType::WhitespaceLowercase => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line + .push(text_normalized[start_pos..char.0].to_string()); + } + false + } + }; + } + } + + #[cfg(feature = "zh")] + TokenizerType::UnicodeAlphanumericZH => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(&text_normalized[start_pos..char.0], true); + non_unique_terms_line.extend(result.0); + } + false + } + }; + } + } + } + + #[cfg(feature = "zh")] + if tokenizer == &TokenizerType::UnicodeAlphanumericZH { + if start { + if first_part.len() >= 2 { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(first_part, true); + non_unique_terms_line.extend(result.0); + } else { + non_unique_terms_line + .push(text_normalized[start_pos..text_normalized.len()].to_string()); + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(&text_normalized[start_pos..text_normalized.len()], true); + non_unique_terms_line.extend(result.0); + } + } else if !first_part.is_empty() { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(first_part, true); + non_unique_terms_line.extend(result.0); + } + } + + if tokenizer != &TokenizerType::AsciiAlphabetic + || tokenizer == &TokenizerType::UnicodeAlphanumeric + || tokenizer == &TokenizerType::UnicodeAlphanumericFolded + || tokenizer == &TokenizerType::Whitespace + || tokenizer == &TokenizerType::WhitespaceLowercase + { + if start { + if first_part.len() >= 2 { + non_unique_terms_line.push(first_part.to_string()) + } else { + non_unique_terms_line + .push(text_normalized[start_pos..text_normalized.len()].to_string()); + } + } else if !first_part.is_empty() { + non_unique_terms_line.push(first_part.to_string()) + } + } + + let mut non_unique_terms_raw = Vec::new(); + let query_type = &mut QueryType::Union; + let mut is_phrase = query_type == &QueryType::Phrase; + let mut is_endswith_quote = false; + for term_string in non_unique_terms_line.iter_mut() { + if is_endswith_quote { + return Vec::new(); + } + + let mut query_type_term = if is_phrase { + QueryType::Phrase + } else { + query_type.clone() + }; + if term_string.starts_with('+') || term_string.starts_with('-') { + return Vec::new(); + } + if term_string.starts_with('\"') { + if !non_unique_terms_raw.is_empty() { + return Vec::new(); + } + + is_phrase = true; + *query_type = QueryType::Phrase; + query_type_term = QueryType::Phrase; + *term_string = term_string[1..].to_string(); + } + if term_string.ends_with('\"') { + *query_type = QueryType::Phrase; + *term_string = term_string[0..term_string.len() - 1].to_string(); + is_phrase = false; + is_endswith_quote = true; + } + + if term_string.is_empty() { + continue; + } + + if !index.stop_words.is_empty() && index.stop_words.contains(term_string) { + continue; + } + + let term_string = if let Some(stemmer) = index.stemmer.as_ref() { + stemmer.stem(term_string).to_string() + } else { + term_string.to_string() + }; + + non_unique_terms_raw.push((term_string, query_type_term)); + } + + non_unique_terms_raw +} diff --git a/mobile_app/rust/src/seekstorm/union.rs b/mobile_app/rust/src/seekstorm/union.rs new file mode 100644 index 0000000..b2d95f2 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/union.rs @@ -0,0 +1,1478 @@ +use crate::{ + add_result::{add_result_multiterm_multifield, is_facet_filter}, + compatible::{_blsr_u64, _mm_tzcnt_64}, + geo_search::{decode_morton_2_d, euclidian_distance}, + index::{ + AccessType, CompressionType, FieldType, NonUniquePostingListObjectQuery, + PostingListObjectQuery, QueueObject, ROARING_BLOCK_SIZE, Shard, + }, + intersection::intersection_blockid, + search::{FilterSparse, Ranges, ResultType, SearchResult}, + single::{single_blockid, single_docid}, + utils::{ + block_copy, read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u16, read_u32, + read_u64, write_u64, + }, +}; + +use ahash::AHashSet; +use num_traits::FromPrimitive; + +use std::sync::Arc; +use std::{ + cmp, + sync::atomic::{AtomicUsize, Ordering}, +}; + +use async_recursion::async_recursion; + +/// Union for a single block +#[allow(clippy::too_many_arguments)] +pub(crate) async fn union_docid<'a>( + shard: &'a Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], + query_list: &mut Vec>, + not_query_list: &mut [PostingListObjectQuery<'a>], + block_id: usize, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], +) { + for plo in not_query_list.iter_mut() { + let query_list_item_mut = plo; + + let result = query_list_item_mut + .blocks + .binary_search_by(|block| block.block_id.cmp(&(block_id as u32))); + match result { + Ok(p_block) => { + query_list_item_mut.bm25_flag = true; + query_list_item_mut.p_block = p_block as i32 + } + Err(_) => { + query_list_item_mut.bm25_flag = false; + continue; + } + }; + let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; + + query_list_item_mut.compression_type = + FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); + + query_list_item_mut.rank_position_pointer_range = + blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 + + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { + ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + query_list_item_mut.compressed_doc_id_range = + query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; + + query_list_item_mut.p_docid = 0; + query_list_item_mut.p_docid_count = + query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count as usize + + 1; + + query_list_item_mut.docid = 0; + + if query_list_item_mut.compression_type == CompressionType::Rle { + query_list_item_mut.p_run_count = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range, + ) as i32; + let startdocid = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 2, + ); + let runlength = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 4, + ); + query_list_item_mut.docid = startdocid as i32; + query_list_item_mut.run_end = (startdocid + runlength) as i32; + query_list_item_mut.p_run_sum = runlength as i32; + query_list_item_mut.p_run = 6; + } + } + + let mut valid_term_count = 0; + let mut term_index = 0; + let mut single_term_index = 0; + + for query_list_item_mut in query_list.iter_mut() { + query_list_item_mut.end_flag = query_list_item_mut.end_flag_block + || (query_list_item_mut.blocks[query_list_item_mut.p_block as usize].block_id + != block_id as u32); + + if query_list_item_mut.end_flag { + term_index += 1; + continue; + } + + valid_term_count += 1; + single_term_index = term_index; + term_index += 1; + + query_list_item_mut.p_docid = 0; + query_list_item_mut.p_docid_count = + query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count as usize + + 1; + + query_list_item_mut.compression_type = FromPrimitive::from_u32( + query_list_item_mut.blocks[query_list_item_mut.p_block as usize] + .compression_type_pointer + >> 30, + ) + .unwrap(); + + query_list_item_mut.rank_position_pointer_range = query_list_item_mut.blocks + [query_list_item_mut.p_block as usize] + .compression_type_pointer + & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + query_list_item_mut.pointer_pivot_p_docid = + query_list_item_mut.blocks[query_list_item_mut.p_block as usize].pointer_pivot_p_docid; + + let posting_pointer_size_sum = query_list_item_mut.blocks + [query_list_item_mut.p_block as usize] + .pointer_pivot_p_docid as usize + * 2 + + if (query_list_item_mut.blocks[query_list_item_mut.p_block as usize] + .pointer_pivot_p_docid as usize) + <= query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count + as usize + { + ((query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count + as usize + + 1) + - query_list_item_mut.blocks[query_list_item_mut.p_block as usize] + .pointer_pivot_p_docid as usize) + * 3 + } else { + 0 + }; + query_list_item_mut.compressed_doc_id_range = + query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; + query_list_item_mut.docid = 0; + query_list_item_mut.intersect = 0; + query_list_item_mut.ulong_pos = 0; + query_list_item_mut.p_run = -2; + query_list_item_mut.run_end = 0; + } + + if valid_term_count == 0 { + return; + } + + if valid_term_count == 1 { + if result_type == &ResultType::Count && search_result.query_facets.is_empty() { + *result_count += query_list[single_term_index].p_docid_count as i32; + } else { + let skip_facet_count = search_result.skip_facet_count; + search_result.skip_facet_count = false; + + single_docid( + shard, + query_list, + not_query_list, + &query_list[single_term_index].blocks + [query_list[single_term_index].p_block as usize], + single_term_index, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + + search_result.skip_facet_count = skip_facet_count; + } + return; + }; + + if result_type == &ResultType::Count { + union_count( + shard, + result_count, + search_result, + query_list, + not_query_list, + facet_filter, + block_id, + ) + .await; + return; + } + + if query_list.len() <= 8 { + union_scan_8( + shard, + non_unique_query_list, + query_list, + not_query_list, + block_id, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + } else { + let mut result_count_local = *result_count; + union_scan_32( + shard, + non_unique_query_list, + query_list, + not_query_list, + block_id, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + + if query_list.len() > 32 && result_type == &ResultType::TopkCount { + union_count( + shard, + &mut result_count_local, + search_result, + query_list, + not_query_list, + facet_filter, + block_id, + ) + .await; + *result_count = result_count_local; + } + } +} + +#[allow(clippy::too_many_arguments)] +pub(crate) async fn union_blockid<'a>( + shard: &'a Shard, + non_unique_query_list: &mut Vec>, + query_list: &mut Vec>, + not_query_list: &mut [PostingListObjectQuery<'a>], + result_count_arc: &Arc, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], +) { + let item_0 = &query_list[0]; + let enable_inter_query_threading_multi = + if !shard.enable_search_quality_test && shard.enable_inter_query_threading_auto { + item_0.posting_count / item_0.p_block_max as u32 > 10 + } else { + shard.enable_inter_query_threading + }; + let mut task_list = Vec::new(); + + loop { + let mut break_loop = true; + let mut block_id_min = usize::MAX; + + for plo in query_list.iter_mut() { + if !plo.end_flag_block { + let block_id = plo.blocks[plo.p_block as usize].block_id as usize; + + if block_id < block_id_min { + block_id_min = block_id; + } + } + } + + if !enable_inter_query_threading_multi { + if shard.meta.access_type == AccessType::Mmap { + for query_list_item_mut in query_list.iter_mut() { + let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; + query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block_id_min].0 + ..segment.byte_array_blocks_pointer[block_id_min].0 + + segment.byte_array_blocks_pointer[block_id_min].1]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + let segment = + &shard.segments_index[nonunique_query_list_item_mut.key0 as usize]; + nonunique_query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block_id_min].0 + ..segment.byte_array_blocks_pointer[block_id_min].0 + + segment.byte_array_blocks_pointer[block_id_min].1]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + let segment = &shard.segments_index[not_query_list_item_mut.key0 as usize]; + not_query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block_id_min].0 + ..segment.byte_array_blocks_pointer[block_id_min].0 + + segment.byte_array_blocks_pointer[block_id_min].1]; + } + } else { + for query_list_item_mut in query_list.iter_mut() { + query_list_item_mut.byte_array = &shard.segments_index + [query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id_min]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + nonunique_query_list_item_mut.byte_array = &shard.segments_index + [nonunique_query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id_min]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + not_query_list_item_mut.byte_array = &shard.segments_index + [not_query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id_min]; + } + } + + let mut result_count_local = 0; + union_docid( + shard, + non_unique_query_list, + query_list, + not_query_list, + block_id_min, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + + result_count_arc.fetch_add(result_count_local as usize, Ordering::Relaxed); + } else { + let mut query_list_copy: Vec = Vec::new(); + let mut non_unique_query_list_copy: Vec = Vec::new(); + + for x in &mut *query_list { + query_list_copy.push(x.clone()); + } + + for x in &mut *non_unique_query_list { + let y = x.clone(); + non_unique_query_list_copy.push(y); + } + + let result_count_clone = result_count_arc.clone(); + + task_list.push(tokio::spawn(async move { + let result_count_local = 1; + result_count_clone.fetch_add(result_count_local, Ordering::Relaxed); + })); + } + + for plo in query_list.iter_mut() { + if !plo.end_flag_block { + let block_id = plo.blocks[plo.p_block as usize].block_id as usize; + if block_id == block_id_min { + if plo.p_block < plo.p_block_max - 1 { + plo.p_block += 1; + break_loop = false; + } else { + plo.end_flag_block = true; + } + } else { + break_loop = false; + } + } + } + + if break_loop { + break; + } + } +} + +#[allow(clippy::too_many_arguments)] +pub(crate) async fn union_scan_8<'a>( + shard: &'a Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], + query_list: &mut [PostingListObjectQuery<'a>], + not_query_list: &mut [PostingListObjectQuery<'a>], + block_id: usize, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], +) { + let union_max = 8usize; + + let mut query_terms_bitset_table: [u8; ROARING_BLOCK_SIZE] = [0u8; ROARING_BLOCK_SIZE]; + let mut result_count_local = 0; + + query_list.sort_by(|a, b| { + b.blocks[b.p_block as usize] + .max_block_score + .partial_cmp(&a.blocks[a.p_block as usize].max_block_score) + .unwrap() + }); + + let mut max_score = 0.0; + + for (i, plo) in query_list.iter_mut().take(union_max).enumerate() { + if plo.end_flag { + continue; + } + + plo.p_docid = 0; + let mask = 1 << i; + max_score += plo.blocks[plo.p_block as usize].max_block_score; + + if plo.compression_type == CompressionType::Bitmap { + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &plo.byte_array[plo.compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = ((ulong_pos << 6) + bit_pos) as usize; + query_terms_bitset_table[docid] |= mask; + } + } + } else if plo.compression_type == CompressionType::Array { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + + query_terms_bitset_table[docid] |= mask; + } + } else { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + + query_terms_bitset_table[docid] |= mask; + } + } + } + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + if plo.compression_type == CompressionType::Bitmap { + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &plo.byte_array[plo.compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = ((ulong_pos << 6) + bit_pos) as usize; + query_terms_bitset_table[docid] = 0; + } + } + } else if plo.compression_type == CompressionType::Array { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + + query_terms_bitset_table[docid] = 0; + } + } else { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + + query_terms_bitset_table[docid] = 0; + } + } + } + } + + let block_skip = search_result.topk_candidates.current_heap_size >= top_k + && max_score <= search_result.topk_candidates._elements[0].score + && search_result.topk_candidates.result_sort.is_empty(); + + let query_list_len = cmp::min(query_list.len(), union_max); + + let query_combination_count = 1 << query_list_len; + let mut query_terms_max_score_sum_table: Vec = vec![0.0; query_combination_count]; + for (i, max_score) in query_terms_max_score_sum_table.iter_mut().enumerate() { + for (j, term) in query_list.iter().enumerate().take(query_list_len) { + if ((1 << j) & i) > 0 { + *max_score += term.blocks[term.p_block as usize].max_block_score + } + } + } + + let mut p_docid_array = vec![0u16; union_max]; + + let mut _result_count = 0; + let block_id_msb = block_id << 16; + + for (i, query_terms_bitset) in query_terms_bitset_table.iter().enumerate() { + if *query_terms_bitset > 0 { + result_count_local += 1; + + if !block_skip + && (search_result.topk_candidates.current_heap_size < top_k + || query_terms_max_score_sum_table[*query_terms_bitset as usize] + > search_result.topk_candidates._elements[0].score) + { + for (j, query_term) in query_list.iter_mut().take(query_list_len).enumerate() { + query_term.bm25_flag = (query_terms_bitset & (1 << j)) > 0; + + query_term.p_docid = p_docid_array[j] as usize; + } + + add_result_multiterm_multifield( + shard, + block_id_msb | i, + &mut _result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + false, + f32::MAX, + false, + ); + } + + if !block_skip { + for (j, item) in p_docid_array.iter_mut().take(query_list_len).enumerate() { + *item += ((query_terms_bitset >> j) & 1) as u16 + } + } + } + } + + *result_count += result_count_local; +} + +#[allow(clippy::too_many_arguments)] +pub(crate) async fn union_scan_32<'a>( + shard: &'a Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], + query_list: &mut [PostingListObjectQuery<'a>], + not_query_list: &mut [PostingListObjectQuery<'a>], + block_id: usize, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], +) { + let union_max = 32usize; + + let mut query_terms_bitset_table: [u32; ROARING_BLOCK_SIZE] = [0u32; ROARING_BLOCK_SIZE]; + let mut result_count_local = 0; + + query_list.sort_by(|a, b| { + b.blocks[b.p_block as usize] + .max_block_score + .partial_cmp(&a.blocks[a.p_block as usize].max_block_score) + .unwrap() + }); + + let mut max_score = 0.0; + let mut mask = u32::MAX >> (32 - query_list.len()); + for plo in query_list.iter_mut().take(union_max).rev() { + if plo.end_flag { + continue; + } + max_score += plo.blocks[plo.p_block as usize].max_block_score; + + if max_score > search_result.topk_candidates._elements[0].score { + break; + } + + mask >>= 1; + } + + let mut max_score = 0.0; + + for (i, plo) in query_list.iter_mut().take(union_max).enumerate() { + if plo.end_flag { + continue; + } + + plo.p_docid = 0; + let mask = 1 << i; + max_score += plo.blocks[plo.p_block as usize].max_block_score; + + if plo.compression_type == CompressionType::Bitmap { + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &plo.byte_array[plo.compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = ((ulong_pos << 6) + bit_pos) as usize; + query_terms_bitset_table[docid] |= mask; + } + } + } else if plo.compression_type == CompressionType::Array { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + + query_terms_bitset_table[docid] |= mask; + } + } else { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + + query_terms_bitset_table[docid] |= mask; + } + } + } + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + if plo.compression_type == CompressionType::Bitmap { + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &plo.byte_array[plo.compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = ((ulong_pos << 6) + bit_pos) as usize; + query_terms_bitset_table[docid] = 0; + } + } + } else if plo.compression_type == CompressionType::Array { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + + query_terms_bitset_table[docid] = 0; + } + } else { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + + query_terms_bitset_table[docid] = 0; + } + } + } + } + + let block_skip = search_result.topk_candidates.current_heap_size >= top_k + && max_score <= search_result.topk_candidates._elements[0].score + && search_result.topk_candidates.result_sort.is_empty(); + + let query_list_len = cmp::min(query_list.len(), union_max); + + let mut p_docid_array = vec![0u16; union_max]; + + let mut _result_count = 0; + let block_id_msb = block_id << 16; + + for (i, query_terms_bitset) in query_terms_bitset_table.iter().enumerate() { + if *query_terms_bitset > 0 { + result_count_local += 1; + + if !block_skip + && (search_result.topk_candidates.current_heap_size < top_k + || query_terms_bitset & mask > 0) + { + let mut query_terms_max_score_sum = 0f32; + for (j, plo) in query_list.iter().enumerate() { + if (query_terms_bitset & (1 << j)) > 0 { + query_terms_max_score_sum += + plo.blocks[plo.p_block as usize].max_block_score; + } + } + if query_terms_max_score_sum > search_result.topk_candidates._elements[0].score { + for (j, query_term) in query_list.iter_mut().take(query_list_len).enumerate() { + query_term.bm25_flag = (query_terms_bitset & (1 << j)) > 0; + + query_term.p_docid = p_docid_array[j] as usize; + } + + add_result_multiterm_multifield( + shard, + block_id_msb | i, + &mut _result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + false, + f32::MAX, + false, + ); + } + } + + if !block_skip { + for (j, item) in p_docid_array.iter_mut().take(query_list_len).enumerate() { + *item += ((query_terms_bitset >> j) & 1) as u16 + } + } + + continue; + } + } + + *result_count += result_count_local; +} + +pub(crate) async fn union_count<'a>( + shard: &'a Shard, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + + query_list: &mut [PostingListObjectQuery<'a>], + not_query_list: &mut [PostingListObjectQuery<'a>], + facet_filter: &[FilterSparse], + block_id: usize, +) { + query_list.sort_unstable_by(|a, b| b.p_docid_count.partial_cmp(&a.p_docid_count).unwrap()); + + let mut result_count_local = + query_list[0].blocks[query_list[0].p_block as usize].posting_count as u32 + 1; + + let mut bitmap_0: [u8; 8192] = [0u8; 8192]; + + for (i, plo) in query_list.iter_mut().enumerate() { + if plo.end_flag { + continue; + } + + if plo.compression_type == CompressionType::Bitmap { + if i == 0 { + block_copy( + plo.byte_array, + plo.compressed_doc_id_range, + &mut bitmap_0, + 0, + 8192, + ); + } else { + for i in (0..8192).step_by(8) { + let x1 = read_u64(&bitmap_0, i); + let x2 = read_u64(&plo.byte_array[plo.compressed_doc_id_range..], i); + result_count_local += u64::count_ones(!x1 & x2); + write_u64(x1 | x2, &mut bitmap_0, i); + } + } + } else if plo.compression_type == CompressionType::Array { + if i == 0 { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + bitmap_0[byte_index] |= 1 << bit_index; + } + } else { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + if bitmap_0[byte_index] & (1 << bit_index) == 0 { + bitmap_0[byte_index] |= 1 << bit_index; + result_count_local += 1; + } + } + } + } else { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + if i == 0 { + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + bitmap_0[byte_index] |= 1 << bit_index; + } + } + } else { + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + if bitmap_0[byte_index] & (1 << bit_index) == 0 { + bitmap_0[byte_index] |= 1 << bit_index; + result_count_local += 1; + } + } + } + } + } + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + match plo.compression_type { + CompressionType::Array => { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + let byte_index = docid >> 3; + let bit_index = docid & 7; + if bitmap_0[byte_index] & (1 << bit_index) != 0 { + bitmap_0[byte_index] &= !(1 << bit_index); + result_count_local -= 1; + } + } + } + + CompressionType::Rle => { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + for i in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + i as usize * 2, + ); + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (i + 1) as usize * 2, + ); + + for j in 0..=runlength { + let docid = (startdocid + j) as usize; + + let byte_index = docid >> 3; + let bit_index = docid & 7; + if bitmap_0[byte_index] & (1 << bit_index) != 0 { + bitmap_0[byte_index] &= !(1 << bit_index); + result_count_local -= 1; + } + } + } + } + + CompressionType::Bitmap => { + for i in (0..8192).step_by(8) { + let x1 = read_u64(&bitmap_0, i); + let x2 = read_u64(&plo.byte_array[plo.compressed_doc_id_range..], i); + result_count_local -= u64::count_ones(x1 & x2); + write_u64(x1 & !x2, &mut bitmap_0, i); + } + } + + _ => {} + } + } + + if !shard.delete_hashset.is_empty() { + for docid in shard.delete_hashset.iter() { + if block_id == docid >> 16 { + let byte_index = (docid >> 3) & 8191; + let bit_mask = 1 << (docid & 7); + if bitmap_0[byte_index] & bit_mask > 0 { + bitmap_0[byte_index] &= !bit_mask; + result_count_local -= 1; + } + } + } + } + + if !search_result.query_facets.is_empty() || !facet_filter.is_empty() { + let block_id_msb = block_id << 16; + for ulong_pos in 0usize..1024 { + let ulong_pos_msb = block_id_msb | ulong_pos << 6; + let mut intersect = read_u64(&bitmap_0, ulong_pos * 8); + 'next: while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as usize; + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = ulong_pos_msb | bit_pos; + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + result_count_local -= 1; + continue 'next; + } + + for (i, facet) in shard.facets.iter().enumerate() { + if search_result.query_facets[i].length == 0 { + continue; + } + + let facet_value_id = match &search_result.query_facets[i].ranges { + Ranges::U8(_range_type, ranges) => { + let facet_value = shard.facets_file_mmap + [(shard.facets_size_sum * docid) + facet.offset]; + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U16(_range_type, ranges) => { + let facet_value = read_u16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U32(_range_type, ranges) => { + let facet_value = read_u32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U64(_range_type, ranges) => { + let facet_value = read_u64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I8(_range_type, ranges) => { + let facet_value = read_i8( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I16(_range_type, ranges) => { + let facet_value = read_i16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I32(_range_type, ranges) => { + let facet_value = read_i32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I64(_range_type, ranges) => { + let facet_value = read_i64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::Timestamp(_range_type, ranges) => { + let facet_value = read_i64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::F32(_range_type, ranges) => { + let facet_value = read_f32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by(|range| { + range.1.partial_cmp(&facet_value).unwrap() + }) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::F64(_range_type, ranges) => { + let facet_value = read_f64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by(|range| { + range.1.partial_cmp(&facet_value).unwrap() + }) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::Point(_range_type, ranges, base, unit) => { + let facet_value = read_u64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + let facet_value_distance = + euclidian_distance(base, &decode_morton_2_d(facet_value), unit); + ranges + .binary_search_by(|range| { + range.1.partial_cmp(&facet_value_distance).unwrap() + }) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + + _ => { + if facet.field_type == FieldType::String16 + || facet.field_type == FieldType::StringSet16 + { + read_u16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ) as u32 + } else { + read_u32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ) + } + } + }; + + *search_result.query_facets[i] + .values + .entry(facet_value_id) + .or_insert(0) += 1; + } + } + } + } + + *result_count += result_count_local as i32; +} + +#[allow(clippy::too_many_arguments)] +#[allow(clippy::ptr_arg)] +pub(crate) async fn union_docid_2<'a>( + shard: &'a Shard, + non_unique_query_list: &mut Vec>, + query_list: &mut Vec>, + not_query_list: &mut Vec>, + result_count_arc: &Arc, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + matching_blocks: &mut i32, + query_term_count: usize, +) { + let filtered = !not_query_list.is_empty() || !field_filter_set.is_empty(); + let mut count = 0; + if filtered { + single_blockid( + shard, + non_unique_query_list, + &mut query_list[0..1].to_vec(), + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Count, + field_filter_set, + facet_filter, + matching_blocks, + ) + .await; + + single_blockid( + shard, + non_unique_query_list, + &mut query_list[1..2].to_vec(), + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Count, + field_filter_set, + facet_filter, + matching_blocks, + ) + .await; + + count = result_count_arc.load(Ordering::Relaxed); + result_count_arc.store(0, Ordering::Relaxed); + } + + intersection_blockid( + shard, + non_unique_query_list, + query_list, + not_query_list, + result_count_arc, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + matching_blocks, + false, + query_term_count, + ) + .await; + + let mut result_count_local = if filtered { + count + } else { + (query_list[0].posting_count + query_list[1].posting_count) as usize + }; + let result_count_global = result_count_arc.load(Ordering::Relaxed); + if result_count_local > result_count_global { + result_count_local -= result_count_global + } + + if result_type == &ResultType::Count { + result_count_arc.store(result_count_local, Ordering::Relaxed); + return; + } + + if (search_result.topk_candidates.current_heap_size < top_k) + || (query_list[0].max_list_score > search_result.topk_candidates._elements[0].score) + { + for i in 0..search_result.topk_candidates.current_heap_size { + search_result.topk_candidates.docid_hashset.insert( + search_result.topk_candidates._elements[i].doc_id, + search_result.topk_candidates._elements[i].score, + ); + } + + single_blockid( + shard, + non_unique_query_list, + &mut query_list[0..1].to_vec(), + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Topk, + field_filter_set, + facet_filter, + matching_blocks, + ) + .await; + } + + if (search_result.topk_candidates.current_heap_size < top_k) + || (query_list[1].max_list_score > search_result.topk_candidates._elements[0].score) + { + for i in 0..search_result.topk_candidates.current_heap_size { + search_result.topk_candidates.docid_hashset.insert( + search_result.topk_candidates._elements[i].doc_id, + search_result.topk_candidates._elements[i].score, + ); + } + + single_blockid( + shard, + non_unique_query_list, + &mut query_list[1..2].to_vec(), + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Topk, + field_filter_set, + facet_filter, + matching_blocks, + ) + .await; + } + + result_count_arc.store(result_count_local, Ordering::Relaxed); +} + +#[allow(clippy::too_many_arguments)] +#[async_recursion] +pub(crate) async fn union_docid_3<'a>( + shard: &'a Shard, + non_unique_query_list: &mut Vec>, + query_queue: &'a mut Vec>, + not_query_list: &mut Vec>, + + result_count_arc: &Arc, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + matching_blocks: &mut i32, + recursion_count: usize, + query_term_count: usize, +) { + let queue_object = query_queue.remove(0); + + let mut query_list = queue_object.query_list; + + if result_type == &ResultType::Topk || result_type == &ResultType::TopkCount { + if query_list.len() >= 3 { + intersection_blockid( + shard, + non_unique_query_list, + &mut query_list, + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Topk, + field_filter_set, + facet_filter, + matching_blocks, + false, + query_term_count, + ) + .await; + + for j in 0..search_result.topk_candidates.current_heap_size { + search_result.topk_candidates.docid_hashset.insert( + search_result.topk_candidates._elements[j].doc_id, + search_result.topk_candidates._elements[j].score, + ); + } + + { + for i in queue_object.query_index..query_list.len() { + let ii = query_list.len() - 1 - i; + + for plo in query_list.iter_mut() { + plo.p_block = 0; + } + + let list = if ii == 0 { + query_list[1..query_list.len()].to_vec() + } else if ii == query_list.len() - 1 { + query_list[0..query_list.len() - 1].to_vec() + } else { + [&query_list[0..ii], &query_list[ii + 1..query_list.len()]].concat() + }; + + let mut max_score = 0.0; + for term in list.iter() { + max_score += term.max_list_score; + } + + if search_result.topk_candidates.current_heap_size < top_k + || max_score > search_result.topk_candidates._elements[0].score + { + if !query_queue.is_empty() + && max_score > query_queue[query_queue.len() - 1].max_score + { + let pos = query_queue + .binary_search_by(|e| { + e.max_score + .partial_cmp(&max_score) + .expect("Couldn't compare values") + .reverse() + }) + .unwrap_or_else(|e| e); + query_queue.insert( + pos, + QueueObject { + query_list: list, + query_index: i, + max_score, + }, + ); + } else { + query_queue.push(QueueObject { + query_list: list, + query_index: i, + max_score, + }); + } + }; + } + } + } else { + union_docid_2( + shard, + non_unique_query_list, + &mut query_list, + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Topk, + field_filter_set, + facet_filter, + matching_blocks, + query_term_count, + ) + .await; + } + + if !query_queue.is_empty() + && (search_result.topk_candidates.current_heap_size < top_k + || query_queue.first().unwrap().max_score + > search_result.topk_candidates._elements[0].score) + { + for i in 0..search_result.topk_candidates.current_heap_size { + search_result.topk_candidates.docid_hashset.insert( + search_result.topk_candidates._elements[i].doc_id, + search_result.topk_candidates._elements[i].score, + ); + } + + if recursion_count < 200 { + union_docid_3( + shard, + non_unique_query_list, + query_queue, + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Topk, + field_filter_set, + facet_filter, + matching_blocks, + recursion_count + 1, + query_term_count, + ) + .await; + } + } + } + + if result_type == &ResultType::Count || result_type == &ResultType::TopkCount { + for plo in query_list.iter_mut() { + plo.p_block = 0; + } + + result_count_arc.store(0, Ordering::Relaxed); + + union_blockid( + shard, + non_unique_query_list, + &mut query_list, + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Count, + field_filter_set, + facet_filter, + ) + .await; + } +} diff --git a/mobile_app/rust/src/seekstorm/utils.rs b/mobile_app/rust/src/seekstorm/utils.rs new file mode 100644 index 0000000..0104864 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/utils.rs @@ -0,0 +1,167 @@ +pub(crate) fn write_u8_ref(value: u8, vec8: &mut [u8], pos: &mut usize) { + vec8[*pos] = value; + *pos += 1; +} + +pub(crate) fn write_u16_ref(value: u16, vec8: &mut [u8], pos: &mut usize) { + vec8[*pos..(*pos + 2)].copy_from_slice(&value.to_le_bytes()); + *pos += 2; +} + +pub(crate) fn write_u32_ref(value: u32, vec8: &mut [u8], pos: &mut usize) { + vec8[*pos..(*pos + 4)].copy_from_slice(&value.to_le_bytes()); + *pos += 4; +} + +pub(crate) fn write_u64_ref(value: u64, vec8: &mut [u8], pos: &mut usize) { + vec8[*pos..(*pos + 8)].copy_from_slice(&value.to_le_bytes()); + *pos += 8; +} + +pub(crate) fn write_u16(value: u16, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 2)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_u32(value: u32, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 4)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_u64(value: u64, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 8)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_i8(value: i8, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 1)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_i16(value: i16, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 2)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_i32(value: i32, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 4)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_i64(value: i64, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 8)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_f32(value: f32, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 4)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_f64(value: f64, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 8)].copy_from_slice(&value.to_le_bytes()); +} + +#[inline] +pub(crate) fn read_u8_ref(vec8: &[u8], pos: &mut usize) -> u8 { + *pos += 1; + vec8[*pos - 1] +} + +#[inline] +pub(crate) fn read_u16_ref(vec8: &[u8], pos: &mut usize) -> u16 { + *pos += 2; + u16::from_le_bytes(vec8[*pos - 2..*pos].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u32_ref(vec8: &[u8], pos: &mut usize) -> u32 { + *pos += 4; + u32::from_le_bytes(vec8[*pos - 4..*pos].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u64_ref(vec8: &[u8], pos: &mut usize) -> u64 { + *pos += 8; + u64::from_le_bytes(vec8[*pos - 8..*pos].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u8(vec8: &[u8], pos: usize) -> u8 { + vec8[pos] +} + +#[inline] +pub(crate) fn read_i8(vec8: &[u8], pos: usize) -> i8 { + i8::from_le_bytes(vec8[pos..pos + 1].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u16(vec8: &[u8], pos: usize) -> u16 { + u16::from_le_bytes(vec8[pos..pos + 2].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_i16(vec8: &[u8], pos: usize) -> i16 { + i16::from_le_bytes(vec8[pos..pos + 2].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u32(vec8: &[u8], pos: usize) -> u32 { + u32::from_le_bytes(vec8[pos..pos + 4].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_i32(vec8: &[u8], pos: usize) -> i32 { + i32::from_le_bytes(vec8[pos..pos + 4].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u64(vec8: &[u8], pos: usize) -> u64 { + u64::from_le_bytes(vec8[pos..pos + 8].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_i64(vec8: &[u8], pos: usize) -> i64 { + i64::from_le_bytes(vec8[pos..pos + 8].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_f32(vec8: &[u8], pos: usize) -> f32 { + f32::from_le_bytes(vec8[pos..pos + 4].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_f64(vec8: &[u8], pos: usize) -> f64 { + f64::from_le_bytes(vec8[pos..pos + 8].try_into().unwrap()) +} + +pub(crate) fn block_copy_mut( + source: &mut [u8], + source_offset: usize, + destination: &mut [u8], + destination_offset: usize, + len: usize, +) { + destination[destination_offset..(destination_offset + len)] + .copy_from_slice(&source[source_offset..(source_offset + len)]); +} + +pub(crate) fn block_copy( + source: &[u8], + source_offset: usize, + destination: &mut [u8], + destination_offset: usize, + len: usize, +) { + destination[destination_offset..(destination_offset + len)] + .copy_from_slice(&source[source_offset..(source_offset + len)]); +} + +/// Truncates a string to a maximum number of characters. +pub fn truncate(source: &str, max_chars: usize) -> &str { + match source.char_indices().nth(max_chars) { + None => source, + Some((idx, _)) => &source[..idx], + } +} + +/// Returns a substring of the given string, starting at the specified index and with the specified length. +pub fn substring(source: &str, start: usize, length: usize) -> String { + if source.len() <= start + length { + return source.to_string(); + } + source.chars().skip(start).take(length).collect() +} diff --git a/mobile_app/rust/src/seekstorm/word_segmentation.rs b/mobile_app/rust/src/seekstorm/word_segmentation.rs new file mode 100644 index 0000000..0400eea --- /dev/null +++ b/mobile_app/rust/src/seekstorm/word_segmentation.rs @@ -0,0 +1,185 @@ +use std::{ + cmp, + io::{BufRead, BufReader}, +}; + +use ahash::AHashMap; + +#[cfg(feature = "zh")] +static DICTIONARY_TXT: &str = + include_str!("../../assets/dictionaries/frequency_dictionary_zh_cn_349_045.txt"); + +/// word_segmentation_tm: Fast Word Segmentation with Triangular Matrix +/// Rust port of the original C# implementation: https://github.com/wolfgarbe/WordSegmentationTM +/// Copyright (C) 2024 Wolf Garbe +/// Author: Wolf Garbe wolf.garbe@seekstorm.com +/// URL: //https://github.com/wolfgarbe/word_segmentation_tm +/// Description: https://seekstorm.com/blog/fast-word-segmentation-noisy-text/ +/// Find best word segmentation for input string. +/// input_str: The string being word segmented. +/// maximum_dictionary_word_length=max_segmentation_word_length: The maximum word length that should be considered. +/// result: A tuple representing the suggested word segmented text and the sum of logarithmic word occurence probabilities. +#[cfg(feature = "zh")] +pub struct WordSegmentationTM { + pub n: f64, + pub dictionary: AHashMap, f64>, + pub maximum_dictionary_word_length: usize, + pub probability_log_estimation: Vec, +} + +#[cfg(feature = "zh")] +impl WordSegmentationTM { + /// Create a new instanc of WordSegmentationTM + pub(crate) fn new() -> Self { + WordSegmentationTM { + n: 0.0, + dictionary: AHashMap::new(), + maximum_dictionary_word_length: 0usize, + probability_log_estimation: Vec::new(), + } + } + + /// Load multiple dictionary entries from a file of word/frequency count pairs + /// Merges with any dictionary data already loaded. + /// corpus: The path+filename of the file. + /// term_index: The column position of the word. + /// count_index: The column position of the frequency count. + /// result: True if file loaded, or false if file not found. + pub fn load_dictionary( + &mut self, + term_index: usize, + count_index: usize, + skip_ascii: bool, + ) -> bool { + let reader = BufReader::new(DICTIONARY_TXT.as_bytes()); + + let mut count_sum = 0; + + for line in reader.lines() { + let line_string = line.unwrap(); + + let line_parts: Vec<&str> = line_string.split_ascii_whitespace().collect(); + if line_parts.len() >= 2 { + let key = line_parts[term_index]; + if skip_ascii && key.is_ascii() { + continue; + } + + if let Ok(count) = line_parts[count_index].parse::() { + let key_len = key.chars().count(); + + if key_len > self.maximum_dictionary_word_length { + self.maximum_dictionary_word_length = key_len; + } + + self.dictionary.insert(key.chars().collect(), count as f64); + count_sum += count; + } + } + } + + self.n = (count_sum * 3) as f64; + + for item in self.dictionary.iter_mut() { + *item.1 = (*item.1 / self.n).log10(); + } + + for i in 0..self.maximum_dictionary_word_length { + self.probability_log_estimation + .push((10.0f64 / self.n / (i + 1).pow(10) as f64).log10() * 10.0f64); + } + + true + } + + pub fn segment(&self, input: &str, skip_ascii: bool) -> (Vec, f64) { + let mut result_array: Vec = Vec::new(); + let mut probability_log_sum_best = 0.0; + + if !input.is_empty() { + if skip_ascii && input.is_ascii() { + return (vec![input.to_string()], 0.0); + } + + let input_chars: Vec = input.chars().collect(); + + let array_size = cmp::min(self.maximum_dictionary_word_length, input_chars.len()); + let array_width = ((input_chars.len() - 1) >> 6) + 1; + let array_width_byte = array_width << 3; + let mut segmented_space_bits = vec![vec![0usize; array_width]; array_size]; + let mut probability_log_sum = vec![0.0; array_size]; + let mut circular_index = 0usize; + + for j in 0..input_chars.len() { + let space_ulong_index = if j == 0 { 0 } else { (j - 1) >> 6 }; + let array_copy_byte = cmp::min((space_ulong_index + 1) << 3, array_width_byte); + + let array_copy_usize = array_copy_byte >> 3; + + if j > 0 { + segmented_space_bits[circular_index][space_ulong_index] |= + 1usize << ((j - 1) & 0x3f); + } + + let imax = cmp::min(input_chars.len() - j, self.maximum_dictionary_word_length); + + for i in 1..=imax { + let destination_index = (i + circular_index) % array_size; + + let part1_chars = &input_chars[j..(j + i)]; + + let probability_log_part1 = + if let Some(probability_log) = self.dictionary.get(part1_chars) { + *probability_log + } else { + self.probability_log_estimation[part1_chars.len() - 1] + }; + + if j == 0 { + probability_log_sum[destination_index] = probability_log_part1; + } else if (i == self.maximum_dictionary_word_length) + || (probability_log_sum[destination_index] + < probability_log_sum[circular_index] + probability_log_part1) + { + #[allow(clippy::needless_range_loop)] + for i in 0..array_copy_usize { + segmented_space_bits[destination_index][i] = + segmented_space_bits[circular_index][i]; + } + + probability_log_sum[destination_index] = + probability_log_sum[circular_index] + probability_log_part1; + } + } + + circular_index += 1; + if circular_index == array_size { + circular_index = 0; + } + } + + let mut last = 0; + for i in 0..(input_chars.len() - 1) { + if (segmented_space_bits[circular_index][i >> 6] & (1usize << (i & 0x3f))) > 0 { + if !result_array.is_empty() && ['+', '-'].contains(&input_chars[last]) { + result_array.push(input_chars[last..(i + 1)].iter().skip(1).collect()); + } else { + result_array.push(input_chars[last..(i + 1)].iter().collect()); + } + + last = i + 1; + } + } + + if !result_array.is_empty() && ['+', '-'].contains(&input_chars[last]) { + result_array.push(input_chars[last..].iter().skip(1).collect()); + } else { + result_array.push(input_chars[last..].iter().collect()); + } + + probability_log_sum_best += probability_log_sum[circular_index]; + } + + (result_array, probability_log_sum_best) + } +} diff --git a/mobile_app/windows/flutter/generated_plugins.cmake b/mobile_app/windows/flutter/generated_plugins.cmake index 24083dc..97aa218 100644 --- a/mobile_app/windows/flutter/generated_plugins.cmake +++ b/mobile_app/windows/flutter/generated_plugins.cmake @@ -7,6 +7,7 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST + flutter_tantivy rust_lib_mobile_app ) From a87acff3b28dc8fe1fdff70213380b860982efac Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 27 Jan 2026 11:28:58 +0000 Subject: [PATCH 14/20] Remove flutter tantivy --- mobile_app/flutter_rust_bridge.yaml | 5 - .../lib/src/rust/api/keyword_search.dart | 26 - mobile_app/lib/src/rust/api/simple.dart | 10 - mobile_app/lib/src/rust/frb_generated.dart | 240 - mobile_app/lib/src/rust/frb_generated.io.dart | 84 - .../lib/src/rust/frb_generated.web.dart | 84 - mobile_app/lib/src/rust/lib.dart | 25 - .../rust/third_party/seekstorm/commit.dart | 31 - .../third_party/seekstorm/geo_search.dart | 52 - .../third_party/seekstorm/highlighter.dart | 89 - .../src/rust/third_party/seekstorm/index.dart | 857 --- .../rust/third_party/seekstorm/ingest.dart | 83 - .../rust/third_party/seekstorm/search.dart | 291 - .../src/rust/third_party/seekstorm/utils.dart | 20 - .../lib/src/rust/third_party/tokio/io.dart | 2712 ---------- .../third_party/tokio/macros/support.dart | 15 - .../lib/src/rust/third_party/tokio/net.dart | 4504 ---------------- .../src/rust/third_party/tokio/net/tcp.dart | 297 -- .../third_party/tokio/net/tcp/listener.dart | 13 - .../tokio/net/tcp/split_owned.dart | 20 - .../src/rust/third_party/tokio/net/udp.dart | 13 - .../src/rust/third_party/tokio/net/unix.dart | 41 - .../tokio/net/unix/datagram/socket.dart | 13 - .../third_party/tokio/net/unix/listener.dart | 13 - .../rust/third_party/tokio/net/unix/pipe.dart | 2871 ---------- .../src/rust/third_party/tokio/process.dart | 426 -- .../rust/third_party/tokio/process/sys.dart | 12 - .../src/rust/third_party/tokio/runtime.dart | 531 -- .../src/rust/third_party/tokio/signal.dart | 63 - .../rust/third_party/tokio/signal/unix.dart | 231 - .../lib/src/rust/third_party/tokio/sync.dart | 695 --- .../third_party/tokio/sync/broadcast.dart | 15 - .../tokio/sync/broadcast/error.dart | 18 - .../third_party/tokio/sync/mpsc/bounded.dart | 19 - .../third_party/tokio/sync/mpsc/error.dart | 25 - .../rust/third_party/tokio/sync/oneshot.dart | 14 - .../rust/third_party/tokio/sync/watch.dart | 15 - .../lib/src/rust/third_party/tokio/task.dart | 83 - .../src/rust/third_party/tokio/task/coop.dart | 157 - .../lib/src/rust/third_party/tokio/time.dart | 734 --- .../rust/third_party/tokio/time/error.dart | 34 - .../rust/third_party/tokio/time/interval.dart | 12 - mobile_app/pubspec.lock | 16 - mobile_app/pubspec.yaml | 1 - mobile_app/rust/.gitignore | 1 - mobile_app/rust/Cargo.lock | 1748 ------ mobile_app/rust/Cargo.toml | 15 - mobile_app/rust/src/api/keyword_search.rs | 0 mobile_app/rust/src/api/mod.rs | 2 - mobile_app/rust/src/api/simple.rs | 10 - mobile_app/rust/src/frb_generated.rs | 276 - mobile_app/rust/src/lib.rs | 2 - mobile_app/rust/src/seekstorm/add_result.rs | 3682 ------------- mobile_app/rust/src/seekstorm/commit.rs | 1142 ---- mobile_app/rust/src/seekstorm/compatible.rs | 21 - .../src/seekstorm/compress_postinglist.rs | 978 ---- mobile_app/rust/src/seekstorm/doc_store.rs | 353 -- mobile_app/rust/src/seekstorm/geo_search.rs | 144 - mobile_app/rust/src/seekstorm/highlighter.rs | 367 -- mobile_app/rust/src/seekstorm/index.rs | 4740 ----------------- .../rust/src/seekstorm/index_posting.rs | 941 ---- mobile_app/rust/src/seekstorm/ingest.rs | 756 --- mobile_app/rust/src/seekstorm/intersection.rs | 2300 -------- .../rust/src/seekstorm/intersection_simd.rs | 178 - mobile_app/rust/src/seekstorm/lib.rs | 517 -- mobile_app/rust/src/seekstorm/min_heap.rs | 1167 ---- .../rust/src/seekstorm/realtime_search.rs | 2077 -------- mobile_app/rust/src/seekstorm/search.rs | 3243 ----------- mobile_app/rust/src/seekstorm/single.rs | 419 -- mobile_app/rust/src/seekstorm/tokenizer.rs | 1680 ------ mobile_app/rust/src/seekstorm/union.rs | 1478 ----- mobile_app/rust/src/seekstorm/utils.rs | 167 - .../rust/src/seekstorm/word_segmentation.rs | 185 - 73 files changed, 44099 deletions(-) delete mode 100644 mobile_app/flutter_rust_bridge.yaml delete mode 100644 mobile_app/lib/src/rust/api/keyword_search.dart delete mode 100644 mobile_app/lib/src/rust/api/simple.dart delete mode 100644 mobile_app/lib/src/rust/frb_generated.dart delete mode 100644 mobile_app/lib/src/rust/frb_generated.io.dart delete mode 100644 mobile_app/lib/src/rust/frb_generated.web.dart delete mode 100644 mobile_app/lib/src/rust/lib.dart delete mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/commit.dart delete mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart delete mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart delete mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/index.dart delete mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart delete mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/search.dart delete mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/utils.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/io.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/macros/support.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/net.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/udp.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/process.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/process/sys.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/runtime.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/signal.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/task.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/task/coop.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/time.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/time/error.dart delete mode 100644 mobile_app/lib/src/rust/third_party/tokio/time/interval.dart delete mode 100644 mobile_app/rust/.gitignore delete mode 100644 mobile_app/rust/Cargo.lock delete mode 100644 mobile_app/rust/Cargo.toml delete mode 100644 mobile_app/rust/src/api/keyword_search.rs delete mode 100644 mobile_app/rust/src/api/mod.rs delete mode 100644 mobile_app/rust/src/api/simple.rs delete mode 100644 mobile_app/rust/src/frb_generated.rs delete mode 100644 mobile_app/rust/src/lib.rs delete mode 100644 mobile_app/rust/src/seekstorm/add_result.rs delete mode 100644 mobile_app/rust/src/seekstorm/commit.rs delete mode 100644 mobile_app/rust/src/seekstorm/compatible.rs delete mode 100644 mobile_app/rust/src/seekstorm/compress_postinglist.rs delete mode 100644 mobile_app/rust/src/seekstorm/doc_store.rs delete mode 100644 mobile_app/rust/src/seekstorm/geo_search.rs delete mode 100644 mobile_app/rust/src/seekstorm/highlighter.rs delete mode 100644 mobile_app/rust/src/seekstorm/index.rs delete mode 100644 mobile_app/rust/src/seekstorm/index_posting.rs delete mode 100644 mobile_app/rust/src/seekstorm/ingest.rs delete mode 100644 mobile_app/rust/src/seekstorm/intersection.rs delete mode 100644 mobile_app/rust/src/seekstorm/intersection_simd.rs delete mode 100644 mobile_app/rust/src/seekstorm/lib.rs delete mode 100644 mobile_app/rust/src/seekstorm/min_heap.rs delete mode 100644 mobile_app/rust/src/seekstorm/realtime_search.rs delete mode 100644 mobile_app/rust/src/seekstorm/search.rs delete mode 100644 mobile_app/rust/src/seekstorm/single.rs delete mode 100644 mobile_app/rust/src/seekstorm/tokenizer.rs delete mode 100644 mobile_app/rust/src/seekstorm/union.rs delete mode 100644 mobile_app/rust/src/seekstorm/utils.rs delete mode 100644 mobile_app/rust/src/seekstorm/word_segmentation.rs diff --git a/mobile_app/flutter_rust_bridge.yaml b/mobile_app/flutter_rust_bridge.yaml deleted file mode 100644 index 1b8ad67..0000000 --- a/mobile_app/flutter_rust_bridge.yaml +++ /dev/null @@ -1,5 +0,0 @@ -rust_input: crate::api,crate::tantivy -rust_root: rust/ -dart_output: lib/src/rust -#rust_preamble: -# use std::path::PathBuf; \ No newline at end of file diff --git a/mobile_app/lib/src/rust/api/keyword_search.dart b/mobile_app/lib/src/rust/api/keyword_search.dart deleted file mode 100644 index 441be26..0000000 --- a/mobile_app/lib/src/rust/api/keyword_search.dart +++ /dev/null @@ -1,26 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// Rust type: RustOpaqueMoi> -abstract class PathBuf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class SearchFn implements RustOpaqueInterface { - PathBuf get pathToIndex; - - set pathToIndex(PathBuf pathToIndex); - - Future deleteIndex(); - - Future ingestPdfDir({required PathBuf filePath}); - - // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - /// Creates a new SearchFn instance and initializes the index on disk - static Future newInstance({required PathBuf path}) => - RustLib.instance.api.crateApiKeywordSearchSearchFnNew(path: path); -} diff --git a/mobile_app/lib/src/rust/api/simple.dart b/mobile_app/lib/src/rust/api/simple.dart deleted file mode 100644 index b632d8b..0000000 --- a/mobile_app/lib/src/rust/api/simple.dart +++ /dev/null @@ -1,10 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -String greet({required String name}) => - RustLib.instance.api.crateApiSimpleGreet(name: name); diff --git a/mobile_app/lib/src/rust/frb_generated.dart b/mobile_app/lib/src/rust/frb_generated.dart deleted file mode 100644 index 50fd264..0000000 --- a/mobile_app/lib/src/rust/frb_generated.dart +++ /dev/null @@ -1,240 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field - -import 'api/simple.dart'; -import 'dart:async'; -import 'dart:convert'; -import 'frb_generated.dart'; -import 'frb_generated.io.dart' - if (dart.library.js_interop) 'frb_generated.web.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -/// Main entrypoint of the Rust API -class RustLib extends BaseEntrypoint { - @internal - static final instance = RustLib._(); - - RustLib._(); - - /// Initialize flutter_rust_bridge - static Future init({ - RustLibApi? api, - BaseHandler? handler, - ExternalLibrary? externalLibrary, - bool forceSameCodegenVersion = true, - }) async { - await instance.initImpl( - api: api, - handler: handler, - externalLibrary: externalLibrary, - forceSameCodegenVersion: forceSameCodegenVersion, - ); - } - - /// Initialize flutter_rust_bridge in mock mode. - /// No libraries for FFI are loaded. - static void initMock({ - required RustLibApi api, - }) { - instance.initMockImpl( - api: api, - ); - } - - /// Dispose flutter_rust_bridge - /// - /// The call to this function is optional, since flutter_rust_bridge (and everything else) - /// is automatically disposed when the app stops. - static void dispose() => instance.disposeImpl(); - - @override - ApiImplConstructor get apiImplConstructor => - RustLibApiImpl.new; - - @override - WireConstructor get wireConstructor => - RustLibWire.fromExternalLibrary; - - @override - Future executeRustInitializers() async { - await api.crateApiSimpleInitApp(); - } - - @override - ExternalLibraryLoaderConfig get defaultExternalLibraryLoaderConfig => - kDefaultExternalLibraryLoaderConfig; - - @override - String get codegenVersion => '2.11.1'; - - @override - int get rustContentHash => -1918914929; - - static const kDefaultExternalLibraryLoaderConfig = - ExternalLibraryLoaderConfig( - stem: 'rust_lib_mobile_app', - ioDirectory: 'rust/target/release/', - webPrefix: 'pkg/', - ); -} - -abstract class RustLibApi extends BaseApi { - String crateApiSimpleGreet({required String name}); - - Future crateApiSimpleInitApp(); -} - -class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { - RustLibApiImpl({ - required super.handler, - required super.wire, - required super.generalizedFrbRustBinding, - required super.portManager, - }); - - @override - String crateApiSimpleGreet({required String name}) { - return handler.executeSync(SyncTask( - callFfi: () { - final serializer = SseSerializer(generalizedFrbRustBinding); - sse_encode_String(name, serializer); - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 1)!; - }, - codec: SseCodec( - decodeSuccessData: sse_decode_String, - decodeErrorData: null, - ), - constMeta: kCrateApiSimpleGreetConstMeta, - argValues: [name], - apiImpl: this, - )); - } - - TaskConstMeta get kCrateApiSimpleGreetConstMeta => const TaskConstMeta( - debugName: "greet", - argNames: ["name"], - ); - - @override - Future crateApiSimpleInitApp() { - return handler.executeNormal(NormalTask( - callFfi: (port_) { - final serializer = SseSerializer(generalizedFrbRustBinding); - pdeCallFfi(generalizedFrbRustBinding, serializer, - funcId: 2, port: port_); - }, - codec: SseCodec( - decodeSuccessData: sse_decode_unit, - decodeErrorData: null, - ), - constMeta: kCrateApiSimpleInitAppConstMeta, - argValues: [], - apiImpl: this, - )); - } - - TaskConstMeta get kCrateApiSimpleInitAppConstMeta => const TaskConstMeta( - debugName: "init_app", - argNames: [], - ); - - @protected - String dco_decode_String(dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return raw as String; - } - - @protected - Uint8List dco_decode_list_prim_u_8_strict(dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return raw as Uint8List; - } - - @protected - int dco_decode_u_8(dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return raw as int; - } - - @protected - void dco_decode_unit(dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return; - } - - @protected - String sse_decode_String(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - var inner = sse_decode_list_prim_u_8_strict(deserializer); - return utf8.decoder.convert(inner); - } - - @protected - Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - var len_ = sse_decode_i_32(deserializer); - return deserializer.buffer.getUint8List(len_); - } - - @protected - int sse_decode_u_8(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - return deserializer.buffer.getUint8(); - } - - @protected - void sse_decode_unit(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - } - - @protected - int sse_decode_i_32(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - return deserializer.buffer.getInt32(); - } - - @protected - bool sse_decode_bool(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - return deserializer.buffer.getUint8() != 0; - } - - @protected - void sse_encode_String(String self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_list_prim_u_8_strict(utf8.encoder.convert(self), serializer); - } - - @protected - void sse_encode_list_prim_u_8_strict( - Uint8List self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_i_32(self.length, serializer); - serializer.buffer.putUint8List(self); - } - - @protected - void sse_encode_u_8(int self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - serializer.buffer.putUint8(self); - } - - @protected - void sse_encode_unit(void self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - } - - @protected - void sse_encode_i_32(int self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - serializer.buffer.putInt32(self); - } - - @protected - void sse_encode_bool(bool self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - serializer.buffer.putUint8(self ? 1 : 0); - } -} diff --git a/mobile_app/lib/src/rust/frb_generated.io.dart b/mobile_app/lib/src/rust/frb_generated.io.dart deleted file mode 100644 index 2af216f..0000000 --- a/mobile_app/lib/src/rust/frb_generated.io.dart +++ /dev/null @@ -1,84 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field - -import 'api/simple.dart'; -import 'dart:async'; -import 'dart:convert'; -import 'dart:ffi' as ffi; -import 'frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_io.dart'; - -abstract class RustLibApiImplPlatform extends BaseApiImpl { - RustLibApiImplPlatform({ - required super.handler, - required super.wire, - required super.generalizedFrbRustBinding, - required super.portManager, - }); - - @protected - String dco_decode_String(dynamic raw); - - @protected - Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); - - @protected - int dco_decode_u_8(dynamic raw); - - @protected - void dco_decode_unit(dynamic raw); - - @protected - String sse_decode_String(SseDeserializer deserializer); - - @protected - Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); - - @protected - int sse_decode_u_8(SseDeserializer deserializer); - - @protected - void sse_decode_unit(SseDeserializer deserializer); - - @protected - int sse_decode_i_32(SseDeserializer deserializer); - - @protected - bool sse_decode_bool(SseDeserializer deserializer); - - @protected - void sse_encode_String(String self, SseSerializer serializer); - - @protected - void sse_encode_list_prim_u_8_strict( - Uint8List self, SseSerializer serializer); - - @protected - void sse_encode_u_8(int self, SseSerializer serializer); - - @protected - void sse_encode_unit(void self, SseSerializer serializer); - - @protected - void sse_encode_i_32(int self, SseSerializer serializer); - - @protected - void sse_encode_bool(bool self, SseSerializer serializer); -} - -// Section: wire_class - -class RustLibWire implements BaseWire { - factory RustLibWire.fromExternalLibrary(ExternalLibrary lib) => - RustLibWire(lib.ffiDynamicLibrary); - - /// Holds the symbol lookup function. - final ffi.Pointer Function(String symbolName) - _lookup; - - /// The symbols are looked up in [dynamicLibrary]. - RustLibWire(ffi.DynamicLibrary dynamicLibrary) - : _lookup = dynamicLibrary.lookup; -} diff --git a/mobile_app/lib/src/rust/frb_generated.web.dart b/mobile_app/lib/src/rust/frb_generated.web.dart deleted file mode 100644 index 981737f..0000000 --- a/mobile_app/lib/src/rust/frb_generated.web.dart +++ /dev/null @@ -1,84 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field - -// Static analysis wrongly picks the IO variant, thus ignore this -// ignore_for_file: argument_type_not_assignable - -import 'api/simple.dart'; -import 'dart:async'; -import 'dart:convert'; -import 'frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_web.dart'; - -abstract class RustLibApiImplPlatform extends BaseApiImpl { - RustLibApiImplPlatform({ - required super.handler, - required super.wire, - required super.generalizedFrbRustBinding, - required super.portManager, - }); - - @protected - String dco_decode_String(dynamic raw); - - @protected - Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); - - @protected - int dco_decode_u_8(dynamic raw); - - @protected - void dco_decode_unit(dynamic raw); - - @protected - String sse_decode_String(SseDeserializer deserializer); - - @protected - Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); - - @protected - int sse_decode_u_8(SseDeserializer deserializer); - - @protected - void sse_decode_unit(SseDeserializer deserializer); - - @protected - int sse_decode_i_32(SseDeserializer deserializer); - - @protected - bool sse_decode_bool(SseDeserializer deserializer); - - @protected - void sse_encode_String(String self, SseSerializer serializer); - - @protected - void sse_encode_list_prim_u_8_strict( - Uint8List self, SseSerializer serializer); - - @protected - void sse_encode_u_8(int self, SseSerializer serializer); - - @protected - void sse_encode_unit(void self, SseSerializer serializer); - - @protected - void sse_encode_i_32(int self, SseSerializer serializer); - - @protected - void sse_encode_bool(bool self, SseSerializer serializer); -} - -// Section: wire_class - -class RustLibWire implements BaseWire { - RustLibWire.fromExternalLibrary(ExternalLibrary lib); -} - -@JS('wasm_bindgen') -external RustLibWasmModule get wasmModule; - -@JS() -@anonymous -extension type RustLibWasmModule._(JSObject _) implements JSObject {} diff --git a/mobile_app/lib/src/rust/lib.dart b/mobile_app/lib/src/rust/lib.dart deleted file mode 100644 index 5890449..0000000 --- a/mobile_app/lib/src/rust/lib.dart +++ /dev/null @@ -1,25 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import 'frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// Rust type: RustOpaqueMoi>> -abstract class AHashMapStringFacet implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi >>> -abstract class ArcIndex implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi , usize) >>> -abstract class IndexMapStringVecStringUsize implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Path implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Result implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Value implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/commit.dart b/mobile_app/lib/src/rust/third_party/seekstorm/commit.dart deleted file mode 100644 index 59093da..0000000 --- a/mobile_app/lib/src/rust/third_party/seekstorm/commit.dart +++ /dev/null @@ -1,31 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `commit` - -abstract class Commit { - /// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM - /// to the final compressed data structure (roaring bitmap) on Mmap or disk - - /// which is persistent, more compact, with lower query latency and allows search with realtime=false. - /// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). - /// There is no way to prevent this automatic commit by not manually invoking it. - /// But commit can also be invoked manually at any time at any number of newly indexed documents. - /// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability - /// is invoked implicitly with every index_doc, - /// i.e. the document can immediately searched and included in the search results - /// if it matches the query AND the query paramter realtime=true is enabled. - /// **Use commit with caution, as it is an expensive operation**. - /// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. - /// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. - /// There are only 2 reasons that justify a manual commit: - /// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or - /// 2. if after indexing new documents there won't be more documents indexed (for some time), - /// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, - /// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. - Future commit(); -} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart b/mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart deleted file mode 100644 index 9447d2b..0000000 --- a/mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart +++ /dev/null @@ -1,52 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import 'index.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'search.dart'; - -/// encode 2D-coordinate (lat/lon) into 64-bit Morton code -/// This method is lossy/quantized as two f64 coordinate values are mapped to a single u64 Morton code! -/// The z-value of a point in multidimensions is simply calculated by interleaving the binary representations of its coordinate values. -Future encodeMorton2D({required List point}) => - RustLib.instance.api.seekstormGeoSearchEncodeMorton2D(point: point); - -/// decode 64-bit Morton code into 2D-coordinate (lat/lon) -/// This method is lossy/quantized as a single u64 Morton code is converted to two f64 coordinate values! -Future decodeMorton2D({required BigInt code}) => - RustLib.instance.api.seekstormGeoSearchDecodeMorton2D(code: code); - -/// Comparison of the distances between two morton encoded positions and a base position -Future mortonOrdering( - {required BigInt morton1, - required BigInt morton2, - required List basePoint, - required SortOrder order}) => - RustLib.instance.api.seekstormGeoSearchMortonOrdering( - morton1: morton1, morton2: morton2, basePoint: basePoint, order: order); - -/// calculates distance in kilometers or miles between two 2D-coordinates using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. -Future euclidianDistance( - {required List point1, - required List point2, - required DistanceUnit unit}) => - RustLib.instance.api.seekstormGeoSearchEuclidianDistance( - point1: point1, point2: point2, unit: unit); - -/// Converts a Point and a distance radius into a range of morton_codes for geo search range filtering. -/// The conversion is lossy due to coordinate to Morton code rounding errors and Equirectangular approximation of Euclidian distance. -Future pointDistanceToMortonRange( - {required List point, - required double distance, - required DistanceUnit unit}) => - RustLib.instance.api.seekstormGeoSearchPointDistanceToMortonRange( - point: point, distance: distance, unit: unit); - -// Rust type: RustOpaqueMoi> -abstract class Ordering implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class RangeU64 implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart b/mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart deleted file mode 100644 index cb10c4a..0000000 --- a/mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart +++ /dev/null @@ -1,89 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import '../../lib.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Fragment` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `compose`, `fmt`, `fmt`, `name`, `schemas` - -/// Returns the Highlighter object used as get_document parameter for highlighting fields in documents -Future highlighter( - {required ArcIndex indexArc, - required List highlights, - required List queryTermsVec}) => - RustLib.instance.api.seekstormHighlighterHighlighter( - indexArc: indexArc, - highlights: highlights, - queryTermsVec: queryTermsVec); - -// Rust type: RustOpaqueMoi> -abstract class Highlighter implements RustOpaqueInterface {} - -/// Specifies the number and size of fragments (snippets, summaries) to generate from each specified field to provide a "keyword in context" (KWIC) functionality. -/// With highlight_markup the matching query terms within the fragments can be highlighted with HTML markup. -class Highlight { - /// Specifies the field from which the fragments (snippets, summaries) are created. - final String field; - - /// Allows to specifiy multiple highlight result fields from the same source field, leaving the original field intact, - /// Default: if name is empty then field is used instead, i.e the original field is overwritten with the highlight. - final String name; - - /// If 0/default then return the full original text without fragmenting. - final BigInt fragmentNumber; - - /// Specifies the length of a highlight fragment. - /// The default 0 returns the full original text without truncating, but still with highlighting if highlight_markup is enabled. - final BigInt fragmentSize; - - /// if true, the matching query terms within the fragments are highlighted with HTML markup **\term\<\/b\>**. - final bool highlightMarkup; - - /// Specifies the markup tags to insert **before** each highlighted term (e.g. \"\\" or \"\\"). This can be any string, but is most often an HTML or XML tag. - /// Only used when **highlight_markup** is set to true. - final String preTags; - - /// Specifies the markup tags to insert **after** each highlighted term. (e.g. \"\<\/b\>\" or \"\<\/em\>\"). This can be any string, but is most often an HTML or XML tag. - /// Only used when **highlight_markup** is set to true. - final String postTags; - - const Highlight({ - required this.field, - required this.name, - required this.fragmentNumber, - required this.fragmentSize, - required this.highlightMarkup, - required this.preTags, - required this.postTags, - }); - - static Future default_() => - RustLib.instance.api.seekstormHighlighterHighlightDefault(); - - @override - int get hashCode => - field.hashCode ^ - name.hashCode ^ - fragmentNumber.hashCode ^ - fragmentSize.hashCode ^ - highlightMarkup.hashCode ^ - preTags.hashCode ^ - postTags.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is Highlight && - runtimeType == other.runtimeType && - field == other.field && - name == other.name && - fragmentNumber == other.fragmentNumber && - fragmentSize == other.fragmentSize && - highlightMarkup == other.highlightMarkup && - preTags == other.preTags && - postTags == other.postTags; -} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/index.dart b/mobile_app/lib/src/rust/third_party/seekstorm/index.dart deleted file mode 100644 index 91550b6..0000000 --- a/mobile_app/lib/src/rust/third_party/seekstorm/index.dart +++ /dev/null @@ -1,857 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import '../../lib.dart'; -import 'highlighter.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'search.dart'; - -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `BlockObjectIndex`, `IndexedField`, `LevelIndex`, `NgramSet`, `NonUniquePostingListObjectQuery`, `NonUniqueTermObject`, `PostingListObject0`, `PostingListObjectIndex`, `PostingListObjectQuery`, `QueueObject`, `ResultFacet`, `SegmentIndex`, `SegmentLevel0`, `Shard`, `TermObject` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas` -// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `close`, `delete_document`, `delete_documents_by_query`, `delete_documents`, `index_document_2`, `index_document_shard`, `index_document`, `index_documents`, `update_document`, `update_documents` -// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `default`, `default`, `default`, `default`, `default`, `default`, `default`, `default` - -/// Get the version of the SeekStorm search library -Future version() => RustLib.instance.api.seekstormIndexVersion(); - -/// Create index in RAM. -/// Inner data structures for create index and open_index -/// * `index_path` - index path. -/// * `meta` - index meta object. -/// * `schema` - schema. -/// * `synonyms` - vector of synonyms. -/// * `segment_number_bits1` - number of index segments: e.g. 11 bits for 2048 segments. -/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). -/// * `force_shard_number` - set number of shards manually or automatically. -/// - none: number of shards is set automatically = number of physical processor cores (default) -/// - small: slower indexing, higher latency, slightly higher throughput, faster realtime search, lower RAM consumption -/// - large: faster indexing, lower latency, slightly lower throughput, slower realtime search, higher RAM consumption -Future createIndex( - {required Path indexPath, - required IndexMetaObject meta, - required List schema, - required List synonyms, - required BigInt segmentNumberBits1, - required bool mute, - BigInt? forceShardNumber}) => - RustLib.instance.api.seekstormIndexCreateIndex( - indexPath: indexPath, - meta: meta, - schema: schema, - synonyms: synonyms, - segmentNumberBits1: segmentNumberBits1, - mute: mute, - forceShardNumber: forceShardNumber); - -/// Loads the index from disk into RAM or MMAP. -/// * `index_path` - index path. -/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). -Future openIndex({required Path indexPath, required bool mute}) => - RustLib.instance.api - .seekstormIndexOpenIndex(indexPath: indexPath, mute: mute); - -// Rust type: RustOpaqueMoi> -abstract class DocumentItem implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class FacetField implements RustOpaqueInterface { - ValueType get max; - - ValueType get min; - - String get name; - - IndexMapStringVecStringUsize get values; - - set max(ValueType max); - - set min(ValueType min); - - set name(String name); - - set values(IndexMapStringVecStringUsize values); - - static Future default_() => - RustLib.instance.api.seekstormIndexFacetFieldDefault(); -} - -// Rust type: RustOpaqueMoi> -abstract class FileType implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class FrequentwordType implements RustOpaqueInterface { - static Future default_() => - RustLib.instance.api.seekstormIndexFrequentwordTypeDefault(); -} - -// Rust type: RustOpaqueMoi> -abstract class Index implements RustOpaqueInterface { - /// Add/append/update/merge synonyms in index - /// Affects only subsequently indexed documents - Future addSynonyms({required List synonyms}); - - int get indexFormatVersionMajor; - - int get indexFormatVersionMinor; - - IndexMetaObject get meta; - - Map get schemaMap; - - List get storedFieldNames; - - set indexFormatVersionMajor(int indexFormatVersionMajor); - - set indexFormatVersionMinor(int indexFormatVersionMinor); - - set meta(IndexMetaObject meta); - - set schemaMap(Map schemaMap); - - set storedFieldNames(List storedFieldNames); - - /// Reset index to empty, while maintaining schema - Future clearIndex(); - - /// Get number of indexed documents. - Future committedDocCount(); - - /// Current document count: indexed document count - deleted document count - Future currentDocCount(); - - /// Delete index from disc and ram - Future deleteIndex(); - - /// Get number of facets defined in the index schema. - Future facetsCount(); - - /// Get document for document id - /// Arguments: - /// * `doc_id`: Specifies which document to load from the document store of the index. - /// * `include_uncommited`: Return also documents which have not yet been committed. - /// * `highlighter_option`: Specifies the extraction of keyword-in-context (KWIC) fragments from fields in documents, and the highlighting of the query terms within. - /// * `fields`: Specifies which of the stored fields to return with each document. Default: If empty return all stored fields - /// * `distance_fields`: insert distance fields into result documents, calculating the distance between a specified facet field of type Point and a base Point, in kilometers or miles. - /// using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. - Future> getDocument( - {required BigInt docId, - required bool includeUncommited, - Highlighter? highlighterOption, - required Set fields, - required List distanceFields}); - - /// get_facet_value: Returns value from facet field for a doc_id even if schema stored=false (field not stored in document JSON). - /// Facet fields are more compact than fields stored in document JSON. - /// Strings are stored more compact as indices to a unique term dictionary. Numbers are stored binary, not as strings. - /// Facet fields are faster because no document loading, decompression and JSON decoding is required. - /// Facet fields are always memory mapped, internally always stored with fixed byte length layout, regardless of string size. - Future getFacetValue( - {required String field, required BigInt docId}); - - /// Get file for document id - /// Arguments: - /// * `doc_id`: Specifies which document to load from the document store of the index. - /// - /// Returns: - /// * `Vec`: The file content as a byte vector. - /// - Future getFile({required BigInt docId}); - - /// get_index_string_facets: list of string facet fields, each with field name and a map of unique values and their count (number of times the specific value appears in the whole index). - /// values are sorted by their occurrence count within all indexed documents in descending order - /// * `query_facets`: Must be set if facet fields should be returned in get_index_facets. If set to Vec::new() then no facet fields are returned. - /// The prefix property of a QueryFacet allows to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. - /// The length property of a QueryFacet allows limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. - /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are returned. - /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. - /// Example: query_facets = vec![QueryFacet::String16 {field: "language".to_string(),prefix: "ger".to_string(),length: 5},QueryFacet::String16 {field: "brand".to_string(),prefix: "a".to_string(),length: 5}]; - Future getIndexStringFacets( - {required List queryFacets}); - - /// Get synonyms from index - Future> getSynonyms(); - - /// get_index_facets_minmax: return map of numeric facet fields, each with field name and min/max values. - Future> indexFacetsMinmax(); - - /// Get number of indexed documents. - Future indexedDocCount(); - - /// Get number of index levels. One index level comprises 64K documents. - Future levelCount(); - - /// Set/replace/overwrite synonyms in index - /// Affects only subsequently indexed documents - Future setSynonyms({required List synonyms}); - - /// Get number of index shards. - Future shardCount(); - - /// are there uncommited documents? - Future uncommittedDocCount(); -} - -// Rust type: RustOpaqueMoi> -abstract class IndexMetaObject implements RustOpaqueInterface { - AccessType get accessType; - - FrequentwordType get frequentWords; - - BigInt get id; - - String get name; - - int get ngramIndexing; - - QueryCompletion? get queryCompletion; - - SimilarityType get similarity; - - SpellingCorrection? get spellingCorrection; - - StemmerType get stemmer; - - StopwordType get stopWords; - - TokenizerType get tokenizer; - - set accessType(AccessType accessType); - - set frequentWords(FrequentwordType frequentWords); - - set id(BigInt id); - - set name(String name); - - set ngramIndexing(int ngramIndexing); - - set queryCompletion(QueryCompletion? queryCompletion); - - set similarity(SimilarityType similarity); - - set spellingCorrection(SpellingCorrection? spellingCorrection); - - set stemmer(StemmerType stemmer); - - set stopWords(StopwordType stopWords); - - set tokenizer(TokenizerType tokenizer); -} - -// Rust type: RustOpaqueMoi> -abstract class MinMaxField implements RustOpaqueInterface { - ValueType get max; - - ValueType get min; - - set max(ValueType max); - - set min(ValueType min); - - static Future default_() => - RustLib.instance.api.seekstormIndexMinMaxFieldDefault(); -} - -// Rust type: RustOpaqueMoi> -abstract class MinMaxFieldJson implements RustOpaqueInterface { - Value get max; - - Value get min; - - set max(Value max); - - set min(Value min); - - static Future default_() => - RustLib.instance.api.seekstormIndexMinMaxFieldJsonDefault(); -} - -// Rust type: RustOpaqueMoi> -abstract class SchemaField implements RustOpaqueInterface { - double get boost; - - bool get completionSource; - - bool get dictionarySource; - - bool get facet; - - String get field; - - FieldType get fieldType; - - bool get indexed; - - bool get longest; - - bool get stored; - - set boost(double boost); - - set completionSource(bool completionSource); - - set dictionarySource(bool dictionarySource); - - set facet(bool facet); - - set field(String field); - - set fieldType(FieldType fieldType); - - set indexed(bool indexed); - - set longest(bool longest); - - set stored(bool stored); - - // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - /// Creates a new SchemaField. - /// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. - /// # Parameters - /// - field: unique name of a field - /// - stored: only stored fields are returned in the search results - /// - indexed: only indexed fields can be searched - /// - field_type: type of a field: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point - /// - facet: enable faceting for a field: for sorting results by field values, for range filtering, for result count per field value or range - /// - `longest`: This allows to annotate (manually set) the longest field in schema. - /// Otherwise the longest field will be automatically detected in first index_document. - /// Setting/detecting the longest field ensures efficient index encoding. - /// - boost: optional custom weight factor for Bm25 ranking - /// # Returns - /// - SchemaField - /// # Example - /// ```rust - /// use seekstorm::index::{SchemaField, FieldType}; - /// let schema_field = SchemaField::new("title".to_string(), true, true, FieldType::String16, false, false, 1.0, false, false); - /// ``` - static Future newInstance( - {required String field, - required bool stored, - required bool indexed, - required FieldType fieldType, - required bool facet, - required bool longest, - required double boost, - required bool dictionarySource, - required bool completionSource}) => - RustLib.instance.api.seekstormIndexSchemaFieldNew( - field: field, - stored: stored, - indexed: indexed, - fieldType: fieldType, - facet: facet, - longest: longest, - boost: boost, - dictionarySource: dictionarySource, - completionSource: completionSource); -} - -// Rust type: RustOpaqueMoi> -abstract class StopwordType implements RustOpaqueInterface { - static Future default_() => - RustLib.instance.api.seekstormIndexStopwordTypeDefault(); -} - -// Rust type: RustOpaqueMoi> -abstract class ValueType implements RustOpaqueInterface { - static Future default_() => - RustLib.instance.api.seekstormIndexValueTypeDefault(); -} - -abstract class Close { - /// Remove index from RAM (Reverse of open_index) - Future close(); -} - -abstract class DeleteDocument { - /// Delete document from index by document id - Future deleteDocument({required BigInt docid}); -} - -abstract class DeleteDocuments { - /// Delete documents from index by document id - Future deleteDocuments({required Uint64List docidVec}); -} - -abstract class DeleteDocumentsByQuery { - /// Delete documents from index by query - /// Delete and search have identical parameters. - /// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. - Future deleteDocumentsByQuery( - {required String queryString, - required QueryType queryTypeDefault, - required BigInt offset, - required BigInt length, - required bool includeUncommited, - required List fieldFilter, - required List facetFilter, - required List resultSort}); -} - -abstract class IndexDocument { - /// Indexes a single document - /// May block, if the threshold of documents indexed in parallel is exceeded. - Future indexDocument( - {required Map document, required FileType file}); -} - -abstract class IndexDocument2 { - Future indexDocument2( - {required DocumentItem documentItem, required FileType file}); -} - -abstract class IndexDocumentShard { - /// Indexes a single document - /// May block, if the threshold of documents indexed in parallel is exceeded. - Future indexDocumentShard( - {required Map document, required FileType file}); -} - -abstract class IndexDocuments { - /// Indexes a list of documents - /// May block, if the threshold of documents indexed in parallel is exceeded. - Future indexDocuments({required List> documentVec}); -} - -abstract class UpdateDocument { - /// Update document in index - /// Update_document is a combination of delete_document and index_document. - /// All current limitations of delete_document apply. - Future updateDocument( - {required (BigInt, Map) idDocument}); -} - -abstract class UpdateDocuments { - /// Update documents in index - /// Update_document is a combination of delete_document and index_document. - /// All current limitations of delete_document apply. - Future updateDocuments( - {required List<(BigInt, Map)> idDocumentVec}); -} - -/// Defines where the index resides during search: -/// - Ram (the complete index is preloaded to Ram when opening the index) -/// - Mmap (the index is accessed via memory-mapped files). See architecture.md for details. -/// - At commit the data is serialized to disk for persistence both in Ram and Mmap mode. -/// - The serialization format is identical for Ram and Mmap mode, allowing to change it retrospectively. -enum AccessType { - /// Ram (the complete index is preloaded to Ram when opening the index). - /// - Index size is limited by available RAM size. - /// - Slightly fastesr search speed. - /// - Higher index loading time. - /// - Higher RAM usage. - ram, - - /// Mmap (the index is accessed via memory-mapped files). See architecture.md for details. - /// - Enables index size scaling beyond RAM size. - /// - Slightly slower search speed compared to Ram. - /// - Faster index loading time compared to Ram. - /// - Lower RAM usage. - mmap, - ; -} - -/// Type of posting list compression. -enum CompressionType { - delta, - array, - bitmap, - rle, - error, - ; - - static Future default_() => - RustLib.instance.api.seekstormIndexCompressionTypeDefault(); -} - -/// DistanceField defines a field for proximity search. -class DistanceField { - /// field name of a numeric facet field (currently onyl Point field type supported) - final String field; - - /// field name of the distance field we are deriving from the numeric facet field (Point type) and the base (Point type) - final String distance; - - /// base point (lat,lon) for distance calculation - final Float64List base; - - /// distance unit for the distance field: kilometers or miles - final DistanceUnit unit; - - const DistanceField({ - required this.field, - required this.distance, - required this.base, - required this.unit, - }); - - static Future default_() => - RustLib.instance.api.seekstormIndexDistanceFieldDefault(); - - @override - int get hashCode => - field.hashCode ^ distance.hashCode ^ base.hashCode ^ unit.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is DistanceField && - runtimeType == other.runtimeType && - field == other.field && - distance == other.distance && - base == other.base && - unit == other.unit; -} - -/// DistanceUnit defines the unit for distance calculation: kilometers or miles. -enum DistanceUnit { - /// Kilometers - kilometers, - - /// Miles - miles, - ; -} - -/// FieldType defines the type of a field in the document: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point, string, stringset, text. -enum FieldType { - /// Unsigned 8-bit integer - u8, - - /// Unsigned 16-bit integer - u16, - - /// Unsigned 32-bit integer - u32, - - /// Unsigned 64-bit integer - u64, - - /// Signed 8-bit integer - i8, - - /// Signed 16-bit integer - i16, - - /// Signed 32-bit integer - i32, - - /// Signed 64-bit integer - i64, - - /// Timestamp is identical to I64, but to be used for Unix timestamps . - /// The reason for a separate FieldType is to enable the UI to interpret I64 as timestamp without using the field name as indicator. - /// For date facets and filtering. - timestamp, - - /// Floating point 32-bit - f32, - - /// Floating point 64-bit - f64, - - /// Boolean - bool, - - /// String16 - /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. - string16, - - /// String32 - /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values - string32, - - /// StringSet16 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. - /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. - stringSet16, - - /// StringSet32 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. - /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values - stringSet32, - - /// Point is a geographic field type: A `Vec` with two coordinate values (latitude and longitude) are internally encoded into a single u64 value (Morton code). - /// Morton codes enable efficient range queries. - /// Latitude and longitude are a pair of numbers (coordinates) used to describe a position on the plane of a geographic coordinate system. - /// The numbers are in decimal degrees format and range from -90 to 90 for latitude and -180 to 180 for longitude. - /// Coordinates are internally stored as u64 morton code: both f64 values are multiplied by 10_000_000, converted to i32 and bitwise interleaved into a single u64 morton code - /// The conversion between longitude/latitude coordinates and Morton code is lossy due to rounding errors. - point, - - /// Text is a text field, that will be tokenized by the selected Tokenizer into string tokens. - text, - ; - - static Future default_() => - RustLib.instance.api.seekstormIndexFieldTypeDefault(); -} - -enum NgramType { - /// no n-grams, only single terms are indexed - singleTerm, - - /// Ngram frequent frequent - ngramFf, - - /// Ngram frequent rare - ngramFr, - - /// Ngram rare frequent - ngramRf, - - /// Ngram frequent frequent frequent - ngramFff, - - /// Ngram rare frequent frequent - ngramRff, - - /// Ngram frequent frequent rare - ngramFfr, - - /// Ngram frequent rare frequent - ngramFrf, - ; - - static Future default_() => - RustLib.instance.api.seekstormIndexNgramTypeDefault(); -} - -/// Defines spelling correction (fuzzy search) settings for an index. -class QueryCompletion { - /// Maximum number of completions to generate during indexing - /// disabled if == 0 - final BigInt maxCompletionEntries; - - const QueryCompletion({ - required this.maxCompletionEntries, - }); - - @override - int get hashCode => maxCompletionEntries.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is QueryCompletion && - runtimeType == other.runtimeType && - maxCompletionEntries == other.maxCompletionEntries; -} - -/// Similarity type defines the scoring and ranking of the search results: -/// - Bm25f: considers documents composed from several fields, with different field lengths and importance -/// - Bm25fProximity: considers term proximity, e.g. for implicit phrase search with improved relevancy -enum SimilarityType { - /// Bm25f considers documents composed from several fields, with different field lengths and importance - bm25F, - - /// Bm25fProximity considers term proximity, e.g. for implicit phrase search with improved relevancy - bm25FProximity, - ; - - static Future default_() => - RustLib.instance.api.seekstormIndexSimilarityTypeDefault(); -} - -/// Defines spelling correction (fuzzy search) settings for an index. -class SpellingCorrection { - /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. - final BigInt maxDictionaryEditDistance; - - /// Term length thresholds for each edit distance. - /// None: max_dictionary_edit_distance for all terms lengths - /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, - /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 - final Uint64List? termLengthThreshold; - - /// The minimum frequency count for dictionary words to be considered eligible for spelling correction. - /// Depends on the corpus size, 1..20 recommended. - /// If count_threshold is too high, some correct words might be missed from the dictionary and deemed misspelled, - /// if count_threshold is too low, some misspelled words from the corpus might be considered correct and added to the dictionary. - /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold), - /// but the terms below count_threshold will be included in dictionary.csv too. - final BigInt countThreshold; - - /// Limits the maximum number of dictionary entries (terms >= count_threshold) to generate during indexing, preventing excessive RAM consumption. - /// The number of terms in dictionary.csv will be higher, because it contains also the terms < count_threshold, to become eligible in the future during incremental dictionary updates. - /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold). - /// ⚠️ Above this threshold no new terms are added to the dictionary, causing them to be deemed incorrect during spelling correction and possibly changed to similar terms that are in the dictionary. - final BigInt maxDictionaryEntries; - - const SpellingCorrection({ - required this.maxDictionaryEditDistance, - this.termLengthThreshold, - required this.countThreshold, - required this.maxDictionaryEntries, - }); - - @override - int get hashCode => - maxDictionaryEditDistance.hashCode ^ - termLengthThreshold.hashCode ^ - countThreshold.hashCode ^ - maxDictionaryEntries.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is SpellingCorrection && - runtimeType == other.runtimeType && - maxDictionaryEditDistance == other.maxDictionaryEditDistance && - termLengthThreshold == other.termLengthThreshold && - countThreshold == other.countThreshold && - maxDictionaryEntries == other.maxDictionaryEntries; -} - -/// Defines stemming behavior, reducing inflected words to their word stem, base or root form. -/// Stemming increases recall, but decreases precision. It can introduce false positive results. -enum StemmerType { - /// No stemming - none, - - /// Arabic stemmer - arabic, - - /// Danish stemmer - danish, - - /// Dutch stemmer - dutch, - - /// English stemmer - english, - - /// Finnish stemmer - finnish, - - /// French stemmer - french, - - /// German stemmer - german, - - /// Hungarian stemmer - greek, - - /// Hungarian stemmer - hungarian, - - /// Italian stemmer - italian, - - /// Norwegian stemmer - norwegian, - - /// Portuguese stemmer - portuguese, - - /// Romanian stemmer - romanian, - - /// Russian stemmer - russian, - - /// Spanish stemmer - spanish, - - /// Swedish stemmer - swedish, - - /// Tamil stemmer - tamil, - - /// Turkish stemmer - turkish, - ; - - static Future default_() => - RustLib.instance.api.seekstormIndexStemmerTypeDefault(); -} - -/// Defines synonyms for terms per index. -class Synonym { - /// List of terms that are synonyms. - final List terms; - - /// Creates alternative versions of documents where in each copy a term is replaced with one of its synonyms. - /// Doesn't impact the query latency, but does increase the index size. - /// Multi-way synonyms (default): all terms are synonyms of each other. - /// One-way synonyms: only the first term is a synonym of the following terms, but not vice versa. - /// E.g. [street, avenue, road] will result in searches for street to return documents containing any of the terms street, avenue or road, - /// but searches for avenue will only return documents containing avenue, but not documents containing street or road. - /// Currently only single terms without spaces are supported. - /// Synonyms are supported in result highlighting. - /// The synonyms that were created with the synonyms parameter in create_index are stored in synonyms.json in the index directory contains - /// Can be manually modified, but becomes effective only after restart and only for newly indexed documents. - final bool multiway; - - const Synonym({ - required this.terms, - required this.multiway, - }); - - @override - int get hashCode => terms.hashCode ^ multiway.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is Synonym && - runtimeType == other.runtimeType && - terms == other.terms && - multiway == other.multiway; -} - -/// Defines tokenizer behavior: -/// AsciiAlphabetic -/// - Mainly for for benchmark compatibility -/// - Only ASCII alphabetic chars are recognized as token. -/// -/// UnicodeAlphanumeric -/// - All Unicode alphanumeric chars are recognized as token. -/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. -/// -/// UnicodeAlphanumericFolded -/// - All Unicode alphanumeric chars are recognized as token. -/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. -/// - Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. -/// - Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). -/// - Tokenizing might be slower due to folding and apostroph processing. -/// -/// UnicodeAlphanumericZH -/// - Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. -/// - Supports mixed Latin and Chinese texts -/// - Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. -/// - Requires feature #[cfg(feature = "zh")] -enum TokenizerType { - /// Only ASCII alphabetic chars are recognized as token. Mainly for benchmark compatibility. - asciiAlphabetic, - - /// All Unicode alphanumeric chars are recognized as token. - /// Allow '+' '-' '#' in middle or end of a token: c++, c#, block-max. - unicodeAlphanumeric, - - /// All Unicode alphanumeric chars are recognized as token. - /// Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. - /// Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. - /// Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). - /// Tokenizing might be slower due to folding and apostroph processing. - unicodeAlphanumericFolded, - - /// Tokens are separated by whitespace. Mainly for benchmark compatibility. - whitespace, - - /// Tokens are separated by whitespace. Token are converted to lowercase. Mainly for benchmark compatibility. - whitespaceLowercase, - - /// Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. - /// Supports mixed Latin and Chinese texts - /// Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. - /// Requires feature #[cfg(feature = "zh")] - unicodeAlphanumericZh, - ; - - static Future default_() => - RustLib.instance.api.seekstormIndexTokenizerTypeDefault(); -} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart b/mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart deleted file mode 100644 index ddfead1..0000000 --- a/mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart +++ /dev/null @@ -1,83 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import '../../lib.dart'; -import 'index.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `pdfium_option` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `deref`, `initialize` -// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `index_pdf_bytes`, `index_pdf_file`, `index_pdf`, `ingest_csv`, `ingest_json`, `ingest_pdf` - -// Rust type: RustOpaqueMoi>> -abstract class PdfDocument implements RustOpaqueInterface {} - -abstract class IndexPdf { - Future indexPdf( - {required Path filePath, - required BigInt fileSize, - required PlatformInt64 fileDate, - required FileType file, - required PdfDocument pdf}); -} - -abstract class IndexPdfBytes { - /// Index PDF file from byte array. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - /// # Arguments - /// * `file_path` - Path to the file (fallback, if title and date can't be extracted) - /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) - /// * `file_bytes` - Byte array of the file - Future indexPdfBytes( - {required Path filePath, - required PlatformInt64 fileDate, - required List fileBytes}); -} - -abstract class IndexPdfFile { - /// Index PDF file from local disk. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - /// # Arguments - /// * `file_path` - Path to the file - /// # Returns - /// * `Result<(), String>` - Ok(()) or Err(String) - Future indexPdfFile({required Path filePath}); -} - -abstract class IngestCsv { - /// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). - /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. - Future ingestCsv( - {required Path dataPath, - required bool hasHeader, - required bool quoting, - required int delimiter, - BigInt? skipDocs, - BigInt? numDocs}); -} - -abstract class IngestJson { - /// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. - /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. - Future ingestJson({required Path dataPath}); -} - -abstract class IngestPdf { - /// Index PDF files from local disk directory and sub-directories or from file. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - /// # Arguments - /// * `file_path` - Path to the file - Future ingestPdf({required Path filePath}); -} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/search.dart b/mobile_app/lib/src/rust/third_party/seekstorm/search.dart deleted file mode 100644 index 5374173..0000000 --- a/mobile_app/lib/src/rust/third_party/seekstorm/search.dart +++ /dev/null @@ -1,291 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import '../../lib.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `FilterSparse`, `RangeF32`, `RangeF64`, `RangeI16`, `RangeI32`, `RangeI64`, `RangeI8`, `RangeU16`, `RangeU32`, `RangeU64`, `RangeU8`, `ResultSortIndex`, `SearchResult` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas` -// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `search_shard`, `search` -// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `default` - -// Rust type: RustOpaqueMoi> -abstract class FacetFilter implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class FacetValue implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class QueryFacet implements RustOpaqueInterface { - static Future default_() => - RustLib.instance.api.seekstormSearchQueryFacetDefault(); -} - -// Rust type: RustOpaqueMoi> -abstract class QueryRewriting implements RustOpaqueInterface { - static Future default_() => - RustLib.instance.api.seekstormSearchQueryRewritingDefault(); -} - -// Rust type: RustOpaqueMoi> -abstract class Ranges implements RustOpaqueInterface { - static Future default_() => - RustLib.instance.api.seekstormSearchRangesDefault(); -} - -// Rust type: RustOpaqueMoi> -abstract class ResultObject implements RustOpaqueInterface { - AHashMapStringFacet get facets; - - String get originalQuery; - - String get query; - - List get queryTerms; - - BigInt get resultCount; - - BigInt get resultCountTotal; - - List get results; - - set facets(AHashMapStringFacet facets); - - set originalQuery(String originalQuery); - - set query(String query); - - set queryTerms(List queryTerms); - - set resultCount(BigInt resultCount); - - set resultCountTotal(BigInt resultCountTotal); - - set results(List results); - - static Future default_() => - RustLib.instance.api.seekstormSearchResultObjectDefault(); -} - -// Rust type: RustOpaqueMoi> -abstract class ResultSort implements RustOpaqueInterface { - FacetValue get base; - - String get field; - - SortOrder get order; - - set base(FacetValue base); - - set field(String field); - - set order(SortOrder order); -} - -abstract class Search { - /// Search the index for all indexed documents, both for committed and uncommitted documents. - /// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. - /// Arguments: - /// * `query_string`: query string `+` `-` `""` search operators are recognized. - /// * `query_type_default`: Specifiy default QueryType: - /// * **Union**, disjunction, OR, - /// * **Intersection**, conjunction, AND, `+`, - /// * **Phrase** `""`, - /// * **Not**, except, minus `-`. - /// - /// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (`+` `-` `""`). - /// - /// Boolean queries are specified in the search method either via the query_type parameter or via operator chars within the query parameter. - /// The interpretation of operator chars within the query string (set `query_type=QueryType::Union`) allows to specify advanced search operations via a simple search box. - /// - /// Intersection, AND `+` - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Union; - /// let query_string="+red +apple".to_string(); - /// ``` - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Intersection; - /// let query_string="red apple".to_string(); - /// ``` - /// Union, OR - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Union; - /// let query_string="red apple".to_string(); - /// ``` - /// Phrase `""` - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Union; - /// let query_string="\"red apple\"".to_string(); - /// ``` - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Phrase; - /// let query_string="red apple".to_string(); - /// ``` - /// Except, minus, NOT `-` - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Union; - /// let query_string="apple -red".to_string(); - /// ``` - /// Mixed phrase and intersection - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Union; - /// let query_string="+\"the who\" +uk".to_string(); - /// ``` - /// * `offset`: offset of search results to return. - /// * `length`: number of search results to return. - /// With length=0, resultType::TopkCount will be automatically downgraded to resultType::Count, returning the number of results only, without returning the results itself. - /// * `result_type`: type of search results to return: Count, Topk, TopkCount. - /// * `include_uncommited`: true realtime search: include indexed documents which where not yet committed into search results. - /// * `field_filter`: Specify field names where to search at querytime, whereas SchemaField.indexed is set at indextime. If set to Vec::new() then all indexed fields are searched. - /// * `query_facets`: Must be set if facets should be returned in ResultObject. If set to Vec::new() then no facet fields are returned. - /// Facet fields are only collected, counted and returned for ResultType::Count and ResultType::TopkCount, but not for ResultType::Topk. - /// The prefix property of a QueryFacet allows at query time to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. - /// The length property of a QueryFacet allows at query time limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. - /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are collected, counted and returned at query time. That decreases the query latency significantly. - /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. - /// Examples: - /// query_facets = vec![QueryFacet::String16 {field: "language".into(),prefix: "ger".into(),length: 5},QueryFacet::String16 {field: "brand".into(),prefix: "a".into(),length: 5}]; - /// query_facets = vec![QueryFacet::U8 {field: "age".into(), range_type: RangeType::CountWithinRange, ranges: vec![("0-20".into(), 0),("20-40".into(), 20), ("40-60".into(), 40),("60-80".into(), 60), ("80-100".into(), 80)]}]; - /// query_facets = vec![QueryFacet::Point {field: "location".into(),base:vec![38.8951, -77.0364],unit:DistanceUnit::Kilometers,range_type: RangeType::CountWithinRange,ranges: vec![ ("0-200".into(), 0.0),("200-400".into(), 200.0), ("400-600".into(), 400.0), ("600-800".into(), 600.0), ("800-1000".into(), 800.0)]}]; - /// * `facet_filter`: Search results are filtered to documents matching specific string values or numerical ranges in the facet fields. If set to Vec::new() then result are not facet filtered. - /// The filter parameter filters the returned results to those documents both matching the query AND matching for all (boolean AND) stated facet filter fields at least one (boolean OR) of the stated values. - /// If the query is changed then both facet counts and search results are changed. If the facet filter is changed then only the search results are changed, while facet counts remain unchanged. - /// The facet counts depend only from the query and not which facet filters are selected. - /// Examples: - /// facet_filter=vec![FacetFilter::String{field:"language".into(),filter:vec!["german".into()]},FacetFilter::String{field:"brand".into(),filter:vec!["apple".into(),"google".into()]}]; - /// facet_filter=vec![FacetFilter::U8{field:"age".into(),filter: 21..65}]; - /// facet_filter = vec![FacetFilter::Point {field: "location".into(),filter: (vec![38.8951, -77.0364], 0.0..1000.0, DistanceUnit::Kilometers)}]; - /// * `result_sort`: Sort field and order: Search results are sorted by the specified facet field, either in ascending or descending order. - /// If no sort field is specified, then the search results are sorted by rank in descending order per default. - /// Multiple sort fields are combined by a "sort by, then sort by"-method ("tie-breaking"-algorithm). - /// The results are sorted by the first field, and only for those results where the first field value is identical (tie) the results are sub-sorted by the second field, - /// until the n-th field value is either not equal or the last field is reached. - /// A special _score field (BM25x), reflecting how relevant the result is for a given search query (phrase match, match in title etc.) can be combined with any of the other sort fields as primary, secondary or n-th search criterium. - /// Sort is only enabled on facet fields that are defined in schema at create_index! - /// Examples: - /// result_sort = vec![ResultSort {field: "price".into(), order: SortOrder::Descending, base: FacetValue::None},ResultSort {field: "language".into(), order: SortOrder::Ascending, base: FacetValue::None}]; - /// result_sort = vec![ResultSort {field: "location".into(),order: SortOrder::Ascending, base: FacetValue::Point(vec![38.8951, -77.0364])}]; - /// * `query_rewriting`: Enables query rewriting features such as spelling correction and query auto-completion (QAC). - /// The spelling correction of multi-term query strings handles three cases: - /// 1. mistakenly inserted space into a correct term led to two incorrect terms: `hels inki` -> `helsinki` - /// 2. mistakenly omitted space between two correct terms led to one incorrect combined term: `modernart` -> `modern art` - /// 3. multiple independent input terms with/without spelling errors: `cinese indastrialication` -> `chinese industrialization` - /// - /// Query correction/completion supports phrases "", but is disabled, if +- operators are used, or if a opening quote is used after the first term, or if a closing quote is used before the last term. - /// See QueryRewriting enum for details. - /// ⚠️ In addition to setting the query_rewriting parameter per query, the incremental creation of the Symspell dictionary during the indexing of documents has to be enabled via the create_index parameter `meta.spelling_correction`. - /// - /// Facets: - /// If query_string is empty, then index facets (collected at index time) are returned, otherwise query facets (collected at query time) are returned. - /// Facets are defined in 3 different places: - /// the facet fields are defined in schema at create_index, - /// the facet field values are set in index_document at index time, - /// the query_facets/facet_filter search parameters are specified at query time. - /// Facets are then returned in the search result object. - Future search( - {required String queryString, - required QueryType queryTypeDefault, - required BigInt offset, - required BigInt length, - required ResultType resultType, - required bool includeUncommited, - required List fieldFilter, - required List queryFacets, - required List facetFilter, - required List resultSort, - required QueryRewriting queryRewriting}); -} - -abstract class SearchShard { - Future searchShard( - {required String queryString, - required QueryType queryTypeDefault, - required BigInt offset, - required BigInt length, - required ResultType resultType, - required bool includeUncommited, - required List fieldFilter, - required List queryFacets, - required List facetFilter, - required List resultSort}); -} - -/// Specifies the default QueryType: The following query types are supported: -/// - **Union** (OR, disjunction), -/// - **Intersection** (AND, conjunction), -/// - **Phrase** (""), -/// - **Not** (-). -/// -/// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (+ - ""). -enum QueryType { - /// Union (OR, disjunction) - union, - - /// Intersection (AND, conjunction) - intersection, - - /// Phrase ("") - phrase, - - /// Not (-) - not, - ; - - static Future default_() => - RustLib.instance.api.seekstormSearchQueryTypeDefault(); -} - -/// specifies how to count the frequency of numerical facet field values -enum RangeType { - /// within the specified range - countWithinRange, - - /// within the range and all ranges above - countAboveRange, - - /// within the range and all ranges below - countBelowRange, - ; - - static Future default_() => - RustLib.instance.api.seekstormSearchRangeTypeDefault(); -} - -/// The following result types are supported: -/// - **Count** (count all results that match the query, but returning top-k results is not required) -/// - **Topk** (returns the top-k results per query, but counting all results that match the query is not required) -/// - **TopkCount** (returns the top-k results per query + count all results that match the query) -enum ResultType { - /// Count all results that match the query, without returning top-k results - count, - - /// Return the top-k results per query, without counting all results that match the query - topk, - - /// Return the top-k results per query and count all results that match the query - topkCount, - ; - - static Future default_() => - RustLib.instance.api.seekstormSearchResultTypeDefault(); -} - -/// Specifies the sort order for the search results. -enum SortOrder { - /// Ascending sort order - ascending, - - /// Descending sort order - descending, - ; -} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/utils.dart b/mobile_app/lib/src/rust/third_party/seekstorm/utils.dart deleted file mode 100644 index 91066ad..0000000 --- a/mobile_app/lib/src/rust/third_party/seekstorm/utils.dart +++ /dev/null @@ -1,20 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -/// Truncates a string to a maximum number of characters. -Future truncate({required String source, required BigInt maxChars}) => - RustLib.instance.api - .seekstormUtilsTruncate(source: source, maxChars: maxChars); - -/// Returns a substring of the given string, starting at the specified index and with the specified length. -Future substring( - {required String source, - required BigInt start, - required BigInt length}) => - RustLib.instance.api - .seekstormUtilsSubstring(source: source, start: start, length: length); diff --git a/mobile_app/lib/src/rust/third_party/tokio/io.dart b/mobile_app/lib/src/rust/third_party/tokio/io.dart deleted file mode 100644 index 7328f7f..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/io.dart +++ /dev/null @@ -1,2712 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `chain`, `chain`, `copy_bidirectional_with_sizes`, `copy_bidirectional`, `copy_buf`, `copy`, `join`, `read_buf`, `read_buf`, `read_exact`, `read_exact`, `read_line`, `read_line`, `read_to_end`, `read_to_end`, `read_to_string`, `read_to_string`, `read_until`, `read_until`, `read`, `read`, `split`, `write_all_buf`, `write_all_buf`, `write_all`, `write_all`, `write_buf`, `write_buf`, `write_vectored`, `write_vectored`, `write`, `write` -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `BufReader`, `BufStream`, `BufWriter`, `Chain`, `Join` -// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `consume`, `fill_buf`, `flush`, `lines`, `read_f32_le`, `read_f32`, `read_f64_le`, `read_f64`, `read_i128_le`, `read_i128`, `read_i16_le`, `read_i16`, `read_i32_le`, `read_i32`, `read_i64_le`, `read_i64`, `read_i8`, `read_u128_le`, `read_u128`, `read_u16_le`, `read_u16`, `read_u32_le`, `read_u32`, `read_u64_le`, `read_u64`, `read_u8`, `rewind`, `seek`, `shutdown`, `split`, `stream_position`, `take`, `write_f32_le`, `write_f32`, `write_f64_le`, `write_f64`, `write_i128_le`, `write_i128`, `write_i16_le`, `write_i16`, `write_i32_le`, `write_i32`, `write_i64_le`, `write_i64`, `write_i8`, `write_u128_le`, `write_u128`, `write_u16_le`, `write_u16`, `write_u32_le`, `write_u32`, `write_u64_le`, `write_u64`, `write_u8` - -/// Constructs a new handle to the standard error of the current process. -/// -/// The returned handle allows writing to standard error from the within the -/// Tokio runtime. -/// -/// Concurrent writes to stderr must be executed with care: Only individual -/// writes to this [`AsyncWrite`] are guaranteed to be intact. In particular -/// you should be aware that writes using [`write_all`] are not guaranteed -/// to occur as a single write, so multiple threads writing data with -/// [`write_all`] may result in interleaved output. -/// -/// [`AsyncWrite`]: AsyncWrite -/// [`write_all`]: crate::io::AsyncWriteExt::write_all() -/// -/// # Examples -/// -/// ``` -/// use tokio::io::{self, AsyncWriteExt}; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let mut stderr = io::stderr(); -/// stderr.write_all(b"Print some error here.").await?; -/// Ok(()) -/// } -/// ``` -Future stderr() => RustLib.instance.api.tokioIoStderr(); - -/// Constructs a new handle to the standard input of the current process. -/// -/// This handle is best used for non-interactive uses, such as when a file -/// is piped into the application. For technical reasons, `stdin` is -/// implemented by using an ordinary blocking read on a separate thread, and -/// it is impossible to cancel that read. This can make shutdown of the -/// runtime hang until the user presses enter. -/// -/// For interactive uses, it is recommended to spawn a thread dedicated to -/// user input and use blocking IO directly in that thread. -Future stdin() => RustLib.instance.api.tokioIoStdin(); - -/// Constructs a new handle to the standard output of the current process. -/// -/// The returned handle allows writing to standard out from the within the -/// Tokio runtime. -/// -/// Concurrent writes to stdout must be executed with care: Only individual -/// writes to this [`AsyncWrite`] are guaranteed to be intact. In particular -/// you should be aware that writes using [`write_all`] are not guaranteed -/// to occur as a single write, so multiple threads writing data with -/// [`write_all`] may result in interleaved output. -/// -/// [`AsyncWrite`]: AsyncWrite -/// [`write_all`]: crate::io::AsyncWriteExt::write_all() -/// -/// # Examples -/// -/// ``` -/// use tokio::io::{self, AsyncWriteExt}; -/// -/// #[tokio::main] -/// async fn main() -> io::Result<()> { -/// let mut stdout = io::stdout(); -/// stdout.write_all(b"Hello world!").await?; -/// Ok(()) -/// } -/// ``` -/// -/// The following is an example of using `stdio` with loop. -/// -/// ``` -/// use tokio::io::{self, AsyncWriteExt}; -/// -/// #[tokio::main] -/// async fn main() { -/// let messages = vec!["hello", " world\n"]; -/// -/// // When you use `stdio` in a loop, it is recommended to create -/// // a single `stdio` instance outside the loop and call a write -/// // operation against that instance on each loop. -/// // -/// // Repeatedly creating `stdout` instances inside the loop and -/// // writing to that handle could result in mangled output since -/// // each write operation is handled by a different blocking thread. -/// let mut stdout = io::stdout(); -/// -/// for message in &messages { -/// stdout.write_all(message.as_bytes()).await.unwrap(); -/// stdout.flush().await.unwrap(); -/// } -/// } -/// ``` -Future stdout() => RustLib.instance.api.tokioIoStdout(); - -/// Creates a value that is always at EOF for reads, and ignores all data written. -/// -/// All writes on the returned instance will return `Poll::Ready(Ok(buf.len()))` -/// and the contents of the buffer will not be inspected. -/// -/// All reads from the returned instance will return `Poll::Ready(Ok(0))`. -/// -/// This is an asynchronous version of [`std::io::empty`][std]. -/// -/// [std]: std::io::empty -/// -/// # Examples -/// -/// A slightly sad example of not reading anything into a buffer: -/// -/// ``` -/// use tokio::io::{self, AsyncReadExt}; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let mut buffer = String::new(); -/// io::empty().read_to_string(&mut buffer).await.unwrap(); -/// assert!(buffer.is_empty()); -/// # } -/// ``` -/// -/// A convoluted way of getting the length of a buffer: -/// -/// ``` -/// use tokio::io::{self, AsyncWriteExt}; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let buffer = vec![1, 2, 3, 5, 8]; -/// let num_bytes = io::empty().write(&buffer).await.unwrap(); -/// assert_eq!(num_bytes, 5); -/// # } -/// ``` -Future empty() => RustLib.instance.api.tokioIoEmpty(); - -/// Create a new pair of `DuplexStream`s that act like a pair of connected sockets. -/// -/// The `max_buf_size` argument is the maximum amount of bytes that can be -/// written to a side before the write returns `Poll::Pending`. -Future<(DuplexStream, DuplexStream)> duplex({required BigInt maxBufSize}) => - RustLib.instance.api.tokioIoDuplex(maxBufSize: maxBufSize); - -/// Creates unidirectional buffer that acts like in memory pipe. -/// -/// The `max_buf_size` argument is the maximum amount of bytes that can be -/// written to a buffer before the it returns `Poll::Pending`. -/// -/// # Unify reader and writer -/// -/// The reader and writer half can be unified into a single structure -/// of `SimplexStream` that supports both reading and writing or -/// the `SimplexStream` can be already created as unified structure -/// using [`SimplexStream::new_unsplit()`]. -/// -/// ``` -/// # async fn ex() -> std::io::Result<()> { -/// # use tokio::io::{AsyncReadExt, AsyncWriteExt}; -/// let (reader, writer) = tokio::io::simplex(64); -/// let mut simplex_stream = reader.unsplit(writer); -/// simplex_stream.write_all(b"hello").await?; -/// -/// let mut buf = [0u8; 5]; -/// simplex_stream.read_exact(&mut buf).await?; -/// assert_eq!(&buf, b"hello"); -/// # Ok(()) -/// # } -/// ``` -Future<(ReadHalfSimplexStream, WriteHalfSimplexStream)> simplex( - {required BigInt maxBufSize}) => - RustLib.instance.api.tokioIoSimplex(maxBufSize: maxBufSize); - -/// Creates an instance of an async reader that infinitely repeats one byte. -/// -/// All reads from this reader will succeed by filling the specified buffer with -/// the given byte. -/// -/// This is an asynchronous version of [`std::io::repeat`][std]. -/// -/// [std]: std::io::repeat -/// -/// # Examples -/// -/// ``` -/// use tokio::io::{self, AsyncReadExt}; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let mut buffer = [0; 3]; -/// io::repeat(0b101).read_exact(&mut buffer).await.unwrap(); -/// assert_eq!(buffer, [0b101, 0b101, 0b101]); -/// # } -/// ``` -Future repeat({required int byte}) => - RustLib.instance.api.tokioIoRepeat(byte: byte); - -/// Creates an instance of an async writer which will successfully consume all -/// data. -/// -/// All calls to [`poll_write`] on the returned instance will return -/// `Poll::Ready(Ok(buf.len()))` and the contents of the buffer will not be -/// inspected. -/// -/// This is an asynchronous version of [`std::io::sink`][std]. -/// -/// [`poll_write`]: crate::io::AsyncWrite::poll_write() -/// [std]: std::io::sink -/// -/// # Examples -/// -/// ``` -/// use tokio::io::{self, AsyncWriteExt}; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() -> io::Result<()> { -/// let buffer = vec![1, 2, 3, 5, 8]; -/// let num_bytes = io::sink().write(&buffer).await?; -/// assert_eq!(num_bytes, 5); -/// Ok(()) -/// # } -/// ``` -Future sink() => RustLib.instance.api.tokioIoSink(); - -// Rust type: RustOpaqueMoi> -abstract class DuplexStream implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Empty implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class FillBufSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class FlushSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Interest implements RustOpaqueInterface { - /// Add together two `Interest` values. - /// - /// This function works from a `const` context. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Interest; - /// - /// const BOTH: Interest = Interest::READABLE.add(Interest::WRITABLE); - /// - /// assert!(BOTH.is_readable()); - /// assert!(BOTH.is_writable()); - Future add({required Interest other}); - - /// Returns true if the value includes error interest. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Interest; - /// - /// assert!(Interest::ERROR.is_error()); - /// assert!(!Interest::WRITABLE.is_error()); - /// - /// let combined = Interest::READABLE | Interest::ERROR; - /// assert!(combined.is_error()); - /// ``` - Future isError(); - - /// Returns true if the value includes readable interest. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Interest; - /// - /// assert!(Interest::READABLE.is_readable()); - /// assert!(!Interest::WRITABLE.is_readable()); - /// - /// let both = Interest::READABLE | Interest::WRITABLE; - /// assert!(both.is_readable()); - /// ``` - Future isReadable(); - - /// Returns true if the value includes writable interest. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Interest; - /// - /// assert!(!Interest::READABLE.is_writable()); - /// assert!(Interest::WRITABLE.is_writable()); - /// - /// let both = Interest::READABLE | Interest::WRITABLE; - /// assert!(both.is_writable()); - /// ``` - Future isWritable(); - - /// Remove `Interest` from `self`. - /// - /// Interests present in `other` but *not* in `self` are ignored. - /// - /// Returns `None` if the set would be empty after removing `Interest`. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Interest; - /// - /// const RW_INTEREST: Interest = Interest::READABLE.add(Interest::WRITABLE); - /// - /// let w_interest = RW_INTEREST.remove(Interest::READABLE).unwrap(); - /// assert!(!w_interest.is_readable()); - /// assert!(w_interest.is_writable()); - /// - /// // Removing all interests from the set returns `None`. - /// assert_eq!(w_interest.remove(Interest::WRITABLE), None); - /// - /// // Remove all interests at once. - /// assert_eq!(RW_INTEREST.remove(RW_INTEREST), None); - /// ``` - Future remove({required Interest other}); -} - -// Rust type: RustOpaqueMoi>> -abstract class LinesSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadF32LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadF32MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadF64LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadF64MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadHalfSimplexStream implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadI128LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadI128MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadI16LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadI16MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadI32LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadI32MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadI64LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadI64MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadI8MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadU128LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadU128MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadU16LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadU16MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadU32LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadU32MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadU64LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadU64MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ReadU8MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Ready implements RustOpaqueInterface { - /// Returns true if `Ready` is the empty set. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Ready; - /// - /// assert!(Ready::EMPTY.is_empty()); - /// assert!(!Ready::READABLE.is_empty()); - /// ``` - Future isEmpty(); - - /// Returns `true` if the value includes error `readiness`. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Ready; - /// - /// assert!(!Ready::EMPTY.is_error()); - /// assert!(!Ready::WRITABLE.is_error()); - /// assert!(Ready::ERROR.is_error()); - /// ``` - Future isError(); - - /// Returns `true` if the value includes read-closed `readiness`. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Ready; - /// - /// assert!(!Ready::EMPTY.is_read_closed()); - /// assert!(!Ready::READABLE.is_read_closed()); - /// assert!(Ready::READ_CLOSED.is_read_closed()); - /// ``` - Future isReadClosed(); - - /// Returns `true` if the value includes `readable`. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Ready; - /// - /// assert!(!Ready::EMPTY.is_readable()); - /// assert!(Ready::READABLE.is_readable()); - /// assert!(Ready::READ_CLOSED.is_readable()); - /// assert!(!Ready::WRITABLE.is_readable()); - /// ``` - Future isReadable(); - - /// Returns `true` if the value includes writable `readiness`. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Ready; - /// - /// assert!(!Ready::EMPTY.is_writable()); - /// assert!(!Ready::READABLE.is_writable()); - /// assert!(Ready::WRITABLE.is_writable()); - /// assert!(Ready::WRITE_CLOSED.is_writable()); - /// ``` - Future isWritable(); - - /// Returns `true` if the value includes write-closed `readiness`. - /// - /// # Examples - /// - /// ``` - /// use tokio::io::Ready; - /// - /// assert!(!Ready::EMPTY.is_write_closed()); - /// assert!(!Ready::WRITABLE.is_write_closed()); - /// assert!(Ready::WRITE_CLOSED.is_write_closed()); - /// ``` - Future isWriteClosed(); -} - -// Rust type: RustOpaqueMoi> -abstract class Repeat implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class SeekFrom implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class SeekSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class ShutdownSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class SimplexStream implements RustOpaqueInterface { - /// Creates unidirectional buffer that acts like in memory pipe. To create split - /// version with separate reader and writer you can use [`simplex`] function. - /// - /// The `max_buf_size` argument is the maximum amount of bytes that can be - /// written to a buffer before the it returns `Poll::Pending`. - static Future newUnsplit({required BigInt maxBufSize}) => - RustLib.instance.api - .tokioIoSimplexStreamNewUnsplit(maxBufSize: maxBufSize); -} - -// Rust type: RustOpaqueMoi> -abstract class Sink implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class SplitSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Stderr implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Stdin implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Stdout implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class TakeSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteF32LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteF32MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteF64LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteF64MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteHalfSimplexStream implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteI128LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteI128MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteI16LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteI16MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteI32LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteI32MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteI64LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteI64MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteI8MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteU128LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteU128MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteU16LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteU16MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteU32LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteU32MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteU64LeMutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteU64MutSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class WriteU8MutSelf implements RustOpaqueInterface {} - -abstract class AsyncBufReadExt { - /// Tells this buffer that `amt` bytes have been consumed from the - /// buffer, so they should no longer be returned in calls to [`read`]. - /// - /// This function is a lower-level call. It needs to be paired with the - /// [`fill_buf`] method to function properly. This function does not - /// perform any I/O, it simply informs this object that some amount of - /// its buffer, returned from [`fill_buf`], has been consumed and should - /// no longer be returned. As such, this function may do odd things if - /// [`fill_buf`] isn't called before calling it. - /// - /// The `amt` must be less than the number of bytes in the buffer - /// returned by [`fill_buf`]. - /// - /// [`read`]: crate::io::AsyncReadExt::read - /// [`fill_buf`]: crate::io::AsyncBufReadExt::fill_buf - Future consume({required BigInt amt}); - - /// Returns the contents of the internal buffer, filling it with more - /// data from the inner reader if it is empty. - /// - /// This function is a lower-level call. It needs to be paired with the - /// [`consume`] method to function properly. When calling this method, - /// none of the contents will be "read" in the sense that later calling - /// `read` may return the same contents. As such, [`consume`] must be - /// called with the number of bytes that are consumed from this buffer - /// to ensure that the bytes are never returned twice. - /// - /// An empty buffer returned indicates that the stream has reached EOF. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn fill_buf(&mut self) -> io::Result<&[u8]>; - /// ``` - /// - /// # Errors - /// - /// This function will return an I/O error if the underlying reader was - /// read, but returned an error. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If you use it as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, then it is guaranteed that no data was read. - /// - /// [`consume`]: crate::io::AsyncBufReadExt::consume - Future fillBuf(); - - /// Returns a stream over the lines of this reader. - /// This method is the async equivalent to [`BufRead::lines`](std::io::BufRead::lines). - /// - /// The stream returned from this function will yield instances of - /// [`io::Result`]`<`[`Option`]`<`[`String`]`>>`. Each string returned will *not* have a newline - /// byte (the 0xA byte) or `CRLF` (0xD, 0xA bytes) at the end. - /// - /// [`io::Result`]: std::io::Result - /// [`Option`]: core::option::Option - /// [`String`]: String - /// - /// # Errors - /// - /// Each line of the stream has the same error semantics as [`AsyncBufReadExt::read_line`]. - /// - /// # Examples - /// - /// [`std::io::Cursor`][`Cursor`] is a type that implements `BufRead`. In - /// this example, we use [`Cursor`] to iterate over all the lines in a byte - /// slice. - /// - /// [`Cursor`]: std::io::Cursor - /// - /// ``` - /// use tokio::io::AsyncBufReadExt; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let cursor = Cursor::new(b"lorem\nipsum\r\ndolor"); - /// - /// let mut lines = cursor.lines(); - /// - /// assert_eq!(lines.next_line().await.unwrap(), Some(String::from("lorem"))); - /// assert_eq!(lines.next_line().await.unwrap(), Some(String::from("ipsum"))); - /// assert_eq!(lines.next_line().await.unwrap(), Some(String::from("dolor"))); - /// assert_eq!(lines.next_line().await.unwrap(), None); - /// # } - /// ``` - /// - /// [`AsyncBufReadExt::read_line`]: AsyncBufReadExt::read_line - Future lines(); - - /// Returns a stream of the contents of this reader split on the byte - /// `byte`. - /// - /// This method is the asynchronous equivalent to - /// [`BufRead::split`](std::io::BufRead::split). - /// - /// The stream returned from this function will yield instances of - /// [`io::Result`]`<`[`Option`]`<`[`Vec`]`>>`. Each vector returned will *not* have - /// the delimiter byte at the end. - /// - /// [`io::Result`]: std::io::Result - /// [`Option`]: core::option::Option - /// [`Vec`]: std::vec::Vec - /// - /// # Errors - /// - /// Each item of the stream has the same error semantics as - /// [`AsyncBufReadExt::read_until`](AsyncBufReadExt::read_until). - /// - /// # Examples - /// - /// ``` - /// # use tokio::io::AsyncBufRead; - /// use tokio::io::AsyncBufReadExt; - /// - /// # async fn dox(my_buf_read: impl AsyncBufRead + Unpin) -> std::io::Result<()> { - /// let mut segments = my_buf_read.split(b'f'); - /// - /// while let Some(segment) = segments.next_segment().await? { - /// println!("length = {}", segment.len()) - /// } - /// # Ok(()) - /// # } - /// ``` - Future split({required int byte}); -} - -abstract class AsyncReadExt { - /// Reads an 32-bit floating point type in big-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_f32(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read 32-bit floating point type from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0xff, 0x7f, 0xff, 0xff]); - /// - /// assert_eq!(f32::MIN, reader.read_f32().await?); - /// Ok(()) - /// # } - /// ``` - Future readF32(); - - /// Reads an 32-bit floating point type in little-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_f32_le(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read 32-bit floating point type from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0xff, 0xff, 0x7f, 0xff]); - /// - /// assert_eq!(f32::MIN, reader.read_f32_le().await?); - /// Ok(()) - /// # } - /// ``` - Future readF32Le(); - - /// Reads an 64-bit floating point type in big-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_f64(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read 64-bit floating point type from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![ - /// 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - /// ]); - /// - /// assert_eq!(f64::MIN, reader.read_f64().await?); - /// Ok(()) - /// # } - /// ``` - Future readF64(); - - /// Reads an 64-bit floating point type in little-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_f64_le(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read 64-bit floating point type from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![ - /// 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff - /// ]); - /// - /// assert_eq!(f64::MIN, reader.read_f64_le().await?); - /// Ok(()) - /// # } - /// ``` - Future readF64Le(); - - /// Reads an signed 128-bit integer in big-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_i128(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read signed 128-bit big-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![ - /// 0x80, 0, 0, 0, 0, 0, 0, 0, - /// 0, 0, 0, 0, 0, 0, 0, 0 - /// ]); - /// - /// assert_eq!(i128::MIN, reader.read_i128().await?); - /// Ok(()) - /// # } - /// ``` - Future readI128(); - - /// Reads an signed 128-bit integer in little-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_i128_le(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read signed 128-bit little-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![ - /// 0x80, 0, 0, 0, 0, 0, 0, 0, - /// 0, 0, 0, 0, 0, 0, 0, 0 - /// ]); - /// - /// assert_eq!(128, reader.read_i128_le().await?); - /// Ok(()) - /// # } - /// ``` - Future readI128Le(); - - /// Reads a signed 16-bit integer in big-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_i16(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read signed 16 bit big-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0x00, 0xc1, 0xff, 0x7c]); - /// - /// assert_eq!(193, reader.read_i16().await?); - /// assert_eq!(-132, reader.read_i16().await?); - /// Ok(()) - /// # } - /// ``` - Future readI16(); - - /// Reads a signed 16-bit integer in little-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_i16_le(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read signed 16 bit little-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0x00, 0xc1, 0xff, 0x7c]); - /// - /// assert_eq!(-16128, reader.read_i16_le().await?); - /// assert_eq!(31999, reader.read_i16_le().await?); - /// Ok(()) - /// # } - /// ``` - Future readI16Le(); - - /// Reads a signed 32-bit integer in big-endian order from the - /// underlying reader. - /// - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_i32(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read signed 32-bit big-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0xff, 0xff, 0x7a, 0x33]); - /// - /// assert_eq!(-34253, reader.read_i32().await?); - /// Ok(()) - /// # } - /// ``` - Future readI32(); - - /// Reads a signed 32-bit integer in little-endian order from the - /// underlying reader. - /// - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_i32_le(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read signed 32-bit little-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0xff, 0xff, 0x7a, 0x33]); - /// - /// assert_eq!(863698943, reader.read_i32_le().await?); - /// Ok(()) - /// # } - /// ``` - Future readI32Le(); - - /// Reads an signed 64-bit integer in big-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_i64(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read signed 64-bit big-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0]); - /// - /// assert_eq!(i64::MIN, reader.read_i64().await?); - /// Ok(()) - /// # } - /// ``` - Future readI64(); - - /// Reads an signed 64-bit integer in little-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_i64_le(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read signed 64-bit little-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0]); - /// - /// assert_eq!(128, reader.read_i64_le().await?); - /// Ok(()) - /// # } - /// ``` - Future readI64Le(); - - /// Reads a signed 8 bit integer from the underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_i8(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is cancel safe. If this method is used as an event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, it is guaranteed that no data were read. - /// - /// # Examples - /// - /// Read unsigned 8 bit integers from an `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0x02, 0xfb]); - /// - /// assert_eq!(2, reader.read_i8().await?); - /// assert_eq!(-5, reader.read_i8().await?); - /// - /// Ok(()) - /// # } - /// ``` - Future readI8(); - - /// Reads an unsigned 128-bit integer in big-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_u128(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read unsigned 128-bit big-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![ - /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83, - /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 - /// ]); - /// - /// assert_eq!(16947640962301618749969007319746179, reader.read_u128().await?); - /// Ok(()) - /// # } - /// ``` - Future readU128(); - - /// Reads an unsigned 128-bit integer in little-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_u128_le(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read unsigned 128-bit little-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![ - /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83, - /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 - /// ]); - /// - /// assert_eq!(174826588484952389081207917399662330624, reader.read_u128_le().await?); - /// Ok(()) - /// # } - /// ``` - Future readU128Le(); - - /// Reads an unsigned 16-bit integer in big-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_u16(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read unsigned 16 bit big-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![2, 5, 3, 0]); - /// - /// assert_eq!(517, reader.read_u16().await?); - /// assert_eq!(768, reader.read_u16().await?); - /// Ok(()) - /// # } - /// ``` - Future readU16(); - - /// Reads an unsigned 16-bit integer in little-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_u16_le(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read unsigned 16 bit little-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![2, 5, 3, 0]); - /// - /// assert_eq!(1282, reader.read_u16_le().await?); - /// assert_eq!(3, reader.read_u16_le().await?); - /// Ok(()) - /// # } - /// ``` - Future readU16Le(); - - /// Reads an unsigned 32-bit integer in big-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_u32(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read unsigned 32-bit big-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0x00, 0x00, 0x01, 0x0b]); - /// - /// assert_eq!(267, reader.read_u32().await?); - /// Ok(()) - /// # } - /// ``` - Future readU32(); - - /// Reads an unsigned 32-bit integer in little-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_u32_le(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read unsigned 32-bit little-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![0x00, 0x00, 0x01, 0x0b]); - /// - /// assert_eq!(184614912, reader.read_u32_le().await?); - /// Ok(()) - /// # } - /// ``` - Future readU32Le(); - - /// Reads an unsigned 64-bit integer in big-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_u64(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read unsigned 64-bit big-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![ - /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 - /// ]); - /// - /// assert_eq!(918733457491587, reader.read_u64().await?); - /// Ok(()) - /// # } - /// ``` - Future readU64(); - - /// Reads an unsigned 64-bit integer in little-endian order from the - /// underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_u64_le(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is not cancellation safe. If the method is used as the - /// event in a [`tokio::select!`](crate::select) statement and some - /// other branch completes first, then some data may be lost. - /// - /// # Examples - /// - /// Read unsigned 64-bit little-endian integers from a `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![ - /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 - /// ]); - /// - /// assert_eq!(9477368352180732672, reader.read_u64_le().await?); - /// Ok(()) - /// # } - /// ``` - Future readU64Le(); - - /// Reads an unsigned 8 bit integer from the underlying reader. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn read_u8(&mut self) -> io::Result; - /// ``` - /// - /// It is recommended to use a buffered reader to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncReadExt::read_exact`]. - /// - /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact - /// - /// # Cancel safety - /// - /// This method is cancel safe. If this method is used as an event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, it is guaranteed that no data were read. - /// - /// # Examples - /// - /// Read unsigned 8 bit integers from an `AsyncRead`: - /// - /// ```rust - /// use tokio::io::{self, AsyncReadExt}; - /// - /// use std::io::Cursor; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut reader = Cursor::new(vec![2, 5]); - /// - /// assert_eq!(2, reader.read_u8().await?); - /// assert_eq!(5, reader.read_u8().await?); - /// - /// Ok(()) - /// # } - /// ``` - Future readU8(); - - /// Creates an adaptor which reads at most `limit` bytes from it. - /// - /// This function returns a new instance of `AsyncRead` which will read - /// at most `limit` bytes, after which it will always return EOF - /// (`Ok(0)`). Any read errors will not count towards the number of - /// bytes read and future calls to [`read()`] may succeed. - /// - /// [`read()`]: fn@crate::io::AsyncReadExt::read - /// - /// [read]: AsyncReadExt::read - /// - /// # Examples - /// - /// [`File`][crate::fs::File]s implement `Read`: - /// - /// ```no_run - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use tokio::io::{self, AsyncReadExt}; - /// use tokio::fs::File; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let f = File::open("foo.txt").await?; - /// let mut buffer = [0; 5]; - /// - /// // read at most five bytes - /// let mut handle = f.take(5); - /// - /// handle.read(&mut buffer).await?; - /// Ok(()) - /// } - /// # } - /// ``` - Future take({required BigInt limit}); -} - -abstract class AsyncSeekExt { - /// Creates a future which will rewind to the beginning of the stream. - /// - /// This is convenience method, equivalent to `self.seek(SeekFrom::Start(0))`. - Future rewind(); - - /// Creates a future which will seek an IO object, and then yield the - /// new position in the object and the object itself. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn seek(&mut self, pos: SeekFrom) -> io::Result; - /// ``` - /// - /// In the case of an error the buffer and the object will be discarded, with - /// the error yielded. - /// - /// # Examples - /// - /// ```no_run - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use tokio::fs::File; - /// use tokio::io::{AsyncSeekExt, AsyncReadExt}; - /// - /// use std::io::SeekFrom; - /// - /// # async fn dox() -> std::io::Result<()> { - /// let mut file = File::open("foo.txt").await?; - /// file.seek(SeekFrom::Start(6)).await?; - /// - /// let mut contents = vec![0u8; 10]; - /// file.read_exact(&mut contents).await?; - /// # Ok(()) - /// # } - /// # } - /// ``` - Future seek({required SeekFrom pos}); - - /// Creates a future which will return the current seek position from the - /// start of the stream. - /// - /// This is equivalent to `self.seek(SeekFrom::Current(0))`. - Future streamPosition(); -} - -abstract class AsyncWriteExt { - /// Flushes this output stream, ensuring that all intermediately buffered - /// contents reach their destination. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn flush(&mut self) -> io::Result<()>; - /// ``` - /// - /// # Errors - /// - /// It is considered an error if not all bytes could be written due to - /// I/O errors or EOF being reached. - /// - /// # Cancel safety - /// - /// This method is cancel safe. - /// - /// If `flush` is used as the event in a [`tokio::select!`](crate::select) - /// statement and some other branch completes first, then the data in the - /// buffered data in this `AsyncWrite` may have been partially flushed. - /// However, it is guaranteed that the buffer is advanced by the amount of - /// bytes that have been partially flushed. - /// - /// # Examples - /// - /// ```no_run - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use tokio::io::{self, BufWriter, AsyncWriteExt}; - /// use tokio::fs::File; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let f = File::create("foo.txt").await?; - /// let mut buffer = BufWriter::new(f); - /// - /// buffer.write_all(b"some bytes").await?; - /// buffer.flush().await?; - /// Ok(()) - /// } - /// # } - /// ``` - Future flush(); - - /// Shuts down the output stream, ensuring that the value can be dropped - /// cleanly. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn shutdown(&mut self) -> io::Result<()>; - /// ``` - /// - /// Similar to [`flush`], all intermediately buffered is written to the - /// underlying stream. Once the operation completes, the caller should - /// no longer attempt to write to the stream. For example, the - /// `TcpStream` implementation will issue a `shutdown(Write)` sys call. - /// - /// [`flush`]: fn@crate::io::AsyncWriteExt::flush - /// - /// # Examples - /// - /// ```no_run - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use tokio::io::{self, BufWriter, AsyncWriteExt}; - /// use tokio::fs::File; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let f = File::create("foo.txt").await?; - /// let mut buffer = BufWriter::new(f); - /// - /// buffer.write_all(b"some bytes").await?; - /// buffer.shutdown().await?; - /// Ok(()) - /// } - /// # } - /// ``` - Future shutdown(); - - /// Writes an 32-bit floating point type in big-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_f32(&mut self, n: f32) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write 32-bit floating point type to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_f32(f32::MIN).await?; - /// - /// assert_eq!(writer, vec![0xff, 0x7f, 0xff, 0xff]); - /// Ok(()) - /// # } - /// ``` - Future writeF32({required double n}); - - /// Writes an 32-bit floating point type in little-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_f32_le(&mut self, n: f32) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write 32-bit floating point type to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_f32_le(f32::MIN).await?; - /// - /// assert_eq!(writer, vec![0xff, 0xff, 0x7f, 0xff]); - /// Ok(()) - /// # } - /// ``` - Future writeF32Le({required double n}); - - /// Writes an 64-bit floating point type in big-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_f64(&mut self, n: f64) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write 64-bit floating point type to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_f64(f64::MIN).await?; - /// - /// assert_eq!(writer, vec![ - /// 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - /// ]); - /// Ok(()) - /// # } - /// ``` - Future writeF64({required double n}); - - /// Writes an 64-bit floating point type in little-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_f64_le(&mut self, n: f64) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write 64-bit floating point type to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_f64_le(f64::MIN).await?; - /// - /// assert_eq!(writer, vec![ - /// 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff - /// ]); - /// Ok(()) - /// # } - /// ``` - Future writeF64Le({required double n}); - - /// Writes an signed 128-bit integer in big-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_i128(&mut self, n: i128) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write signed 128-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_i128(i128::MIN).await?; - /// - /// assert_eq!(writer, vec![ - /// 0x80, 0, 0, 0, 0, 0, 0, 0, - /// 0, 0, 0, 0, 0, 0, 0, 0 - /// ]); - /// Ok(()) - /// # } - /// ``` - Future writeI128({required BigInt n}); - - /// Writes an signed 128-bit integer in little-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_i128_le(&mut self, n: i128) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write signed 128-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_i128_le(i128::MIN).await?; - /// - /// assert_eq!(writer, vec![ - /// 0, 0, 0, 0, 0, 0, 0, - /// 0, 0, 0, 0, 0, 0, 0, 0, 0x80 - /// ]); - /// Ok(()) - /// # } - /// ``` - Future writeI128Le({required BigInt n}); - - /// Writes a signed 16-bit integer in big-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_i16(&mut self, n: i16) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write signed 16-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_i16(193).await?; - /// writer.write_i16(-132).await?; - /// - /// assert_eq!(writer, b"\x00\xc1\xff\x7c"); - /// Ok(()) - /// # } - /// ``` - Future writeI16({required int n}); - - /// Writes a signed 16-bit integer in little-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_i16_le(&mut self, n: i16) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write signed 16-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_i16_le(193).await?; - /// writer.write_i16_le(-132).await?; - /// - /// assert_eq!(writer, b"\xc1\x00\x7c\xff"); - /// Ok(()) - /// # } - /// ``` - Future writeI16Le({required int n}); - - /// Writes a signed 32-bit integer in big-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_i32(&mut self, n: i32) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write signed 32-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_i32(267).await?; - /// writer.write_i32(1205419366).await?; - /// - /// assert_eq!(writer, b"\x00\x00\x01\x0b\x47\xd9\x3d\x66"); - /// Ok(()) - /// # } - /// ``` - Future writeI32({required int n}); - - /// Writes a signed 32-bit integer in little-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_i32_le(&mut self, n: i32) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write signed 32-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_i32_le(267).await?; - /// writer.write_i32_le(1205419366).await?; - /// - /// assert_eq!(writer, b"\x0b\x01\x00\x00\x66\x3d\xd9\x47"); - /// Ok(()) - /// # } - /// ``` - Future writeI32Le({required int n}); - - /// Writes an signed 64-bit integer in big-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_i64(&mut self, n: i64) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write signed 64-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_i64(i64::MIN).await?; - /// writer.write_i64(i64::MAX).await?; - /// - /// assert_eq!(writer, b"\x80\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff"); - /// Ok(()) - /// # } - /// ``` - Future writeI64({required PlatformInt64 n}); - - /// Writes an signed 64-bit integer in little-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_i64_le(&mut self, n: i64) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write signed 64-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_i64_le(i64::MIN).await?; - /// writer.write_i64_le(i64::MAX).await?; - /// - /// assert_eq!(writer, b"\x00\x00\x00\x00\x00\x00\x00\x80\xff\xff\xff\xff\xff\xff\xff\x7f"); - /// Ok(()) - /// # } - /// ``` - Future writeI64Le({required PlatformInt64 n}); - - /// Writes a signed 8-bit integer to the underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_i8(&mut self, n: i8) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write signed 8 bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_i8(-2).await?; - /// writer.write_i8(126).await?; - /// - /// assert_eq!(writer, b"\xFE\x7E"); - /// Ok(()) - /// # } - /// ``` - Future writeI8({required int n}); - - /// Writes an unsigned 128-bit integer in big-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_u128(&mut self, n: u128) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write unsigned 128-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_u128(16947640962301618749969007319746179).await?; - /// - /// assert_eq!(writer, vec![ - /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83, - /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 - /// ]); - /// Ok(()) - /// # } - /// ``` - Future writeU128({required BigInt n}); - - /// Writes an unsigned 128-bit integer in little-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_u128_le(&mut self, n: u128) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write unsigned 128-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_u128_le(16947640962301618749969007319746179).await?; - /// - /// assert_eq!(writer, vec![ - /// 0x83, 0x86, 0x60, 0x4d, 0x95, 0x43, 0x03, 0x00, - /// 0x83, 0x86, 0x60, 0x4d, 0x95, 0x43, 0x03, 0x00, - /// ]); - /// Ok(()) - /// # } - /// ``` - Future writeU128Le({required BigInt n}); - - /// Writes an unsigned 16-bit integer in big-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_u16(&mut self, n: u16) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write unsigned 16-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_u16(517).await?; - /// writer.write_u16(768).await?; - /// - /// assert_eq!(writer, b"\x02\x05\x03\x00"); - /// Ok(()) - /// # } - /// ``` - Future writeU16({required int n}); - - /// Writes an unsigned 16-bit integer in little-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_u16_le(&mut self, n: u16) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write unsigned 16-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_u16_le(517).await?; - /// writer.write_u16_le(768).await?; - /// - /// assert_eq!(writer, b"\x05\x02\x00\x03"); - /// Ok(()) - /// # } - /// ``` - Future writeU16Le({required int n}); - - /// Writes an unsigned 32-bit integer in big-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_u32(&mut self, n: u32) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write unsigned 32-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_u32(267).await?; - /// writer.write_u32(1205419366).await?; - /// - /// assert_eq!(writer, b"\x00\x00\x01\x0b\x47\xd9\x3d\x66"); - /// Ok(()) - /// # } - /// ``` - Future writeU32({required int n}); - - /// Writes an unsigned 32-bit integer in little-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_u32_le(&mut self, n: u32) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write unsigned 32-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_u32_le(267).await?; - /// writer.write_u32_le(1205419366).await?; - /// - /// assert_eq!(writer, b"\x0b\x01\x00\x00\x66\x3d\xd9\x47"); - /// Ok(()) - /// # } - /// ``` - Future writeU32Le({required int n}); - - /// Writes an unsigned 64-bit integer in big-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_u64(&mut self, n: u64) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write unsigned 64-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_u64(918733457491587).await?; - /// writer.write_u64(143).await?; - /// - /// assert_eq!(writer, b"\x00\x03\x43\x95\x4d\x60\x86\x83\x00\x00\x00\x00\x00\x00\x00\x8f"); - /// Ok(()) - /// # } - /// ``` - Future writeU64({required BigInt n}); - - /// Writes an unsigned 64-bit integer in little-endian order to the - /// underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_u64_le(&mut self, n: u64) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write unsigned 64-bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_u64_le(918733457491587).await?; - /// writer.write_u64_le(143).await?; - /// - /// assert_eq!(writer, b"\x83\x86\x60\x4d\x95\x43\x03\x00\x8f\x00\x00\x00\x00\x00\x00\x00"); - /// Ok(()) - /// # } - /// ``` - Future writeU64Le({required BigInt n}); - - /// Writes an unsigned 8-bit integer to the underlying writer. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn write_u8(&mut self, n: u8) -> io::Result<()>; - /// ``` - /// - /// It is recommended to use a buffered writer to avoid excessive - /// syscalls. - /// - /// # Errors - /// - /// This method returns the same errors as [`AsyncWriteExt::write_all`]. - /// - /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all - /// - /// # Examples - /// - /// Write unsigned 8 bit integers to a `AsyncWrite`: - /// - /// ```rust - /// use tokio::io::{self, AsyncWriteExt}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() -> io::Result<()> { - /// let mut writer = Vec::new(); - /// - /// writer.write_u8(2).await?; - /// writer.write_u8(5).await?; - /// - /// assert_eq!(writer, b"\x02\x05"); - /// Ok(()) - /// # } - /// ``` - Future writeU8({required int n}); -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/macros/support.dart b/mobile_app/lib/src/rust/third_party/tokio/macros/support.dart deleted file mode 100644 index ccfc3ee..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/macros/support.dart +++ /dev/null @@ -1,15 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import '../signal/unix.dart'; -import '../sync/oneshot.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -Future threadRngN({required int n}) => - RustLib.instance.api.tokioMacrosSupportThreadRngN(n: n); - -Future pollBudgetAvailable({required Context cx}) => - RustLib.instance.api.tokioMacrosSupportPollBudgetAvailable(cx: cx); diff --git a/mobile_app/lib/src/rust/third_party/tokio/net.dart b/mobile_app/lib/src/rust/third_party/tokio/net.dart deleted file mode 100644 index 8e24b87..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/net.dart +++ /dev/null @@ -1,4504 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import '../../lib.dart'; -import 'io.dart'; -import 'net/tcp.dart'; -import 'net/tcp/listener.dart'; -import 'net/tcp/split_owned.dart'; -import 'net/udp.dart'; -import 'net/unix.dart'; -import 'net/unix/datagram/socket.dart'; -import 'net/unix/listener.dart'; -import 'net/unix/pipe.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'signal/unix.dart'; -import 'time/error.dart'; - -// These functions are ignored because they have generic arguments: `lookup_host` - -// Rust type: RustOpaqueMoi> -abstract class TcpListener implements RustOpaqueInterface { - /// Accepts a new incoming connection from this listener. - /// - /// This function will yield once a new TCP connection is established. When - /// established, the corresponding [`TcpStream`] and the remote peer's - /// address will be returned. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If the method is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, then it is guaranteed that no new connections were - /// accepted by this method. - /// - /// [`TcpStream`]: struct@crate::net::TcpStream - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpListener; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let listener = TcpListener::bind("127.0.0.1:8080").await?; - /// - /// match listener.accept().await { - /// Ok((_socket, addr)) => println!("new client: {:?}", addr), - /// Err(e) => println!("couldn't get client: {:?}", e), - /// } - /// - /// Ok(()) - /// } - /// ``` - Future<(TcpStream, SocketAddr)> accept(); - - /// Creates new `TcpListener` from a `std::net::TcpListener`. - /// - /// This function is intended to be used to wrap a TCP listener from the - /// standard library in the Tokio equivalent. - /// - /// This API is typically paired with the `socket2` crate and the `Socket` - /// type to build up and customize a listener before it's shipped off to the - /// backing event loop. This allows configuration of options like - /// `SO_REUSEPORT`, binding to multiple addresses, etc. - /// - /// # Notes - /// - /// The caller is responsible for ensuring that the listener is in - /// non-blocking mode. Otherwise all I/O operations on the listener - /// will block the thread, which will cause unexpected behavior. - /// Non-blocking mode can be set using [`set_nonblocking`]. - /// - /// Passing a listener in blocking mode is always erroneous, - /// and the behavior in that case may change in the future. - /// For example, it could panic. - /// - /// [`set_nonblocking`]: std::net::TcpListener::set_nonblocking - /// - /// # Examples - /// - /// ```rust,no_run - /// use std::error::Error; - /// use tokio::net::TcpListener; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// let std_listener = std::net::TcpListener::bind("127.0.0.1:0")?; - /// std_listener.set_nonblocking(true)?; - /// let listener = TcpListener::from_std(std_listener)?; - /// Ok(()) - /// } - /// ``` - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromStd({required TcpListener listener}) => - RustLib.instance.api.tokioNetTcpListenerFromStd(listener: listener); - - /// Turns a [`tokio::net::TcpListener`] into a [`std::net::TcpListener`]. - /// - /// The returned [`std::net::TcpListener`] will have nonblocking mode set as - /// `true`. Use [`set_nonblocking`] to change the blocking mode if needed. - /// - /// # Examples - /// - /// ```rust,no_run - /// use std::error::Error; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// let tokio_listener = tokio::net::TcpListener::bind("127.0.0.1:0").await?; - /// let std_listener = tokio_listener.into_std()?; - /// std_listener.set_nonblocking(false)?; - /// Ok(()) - /// } - /// ``` - /// - /// [`tokio::net::TcpListener`]: TcpListener - /// [`std::net::TcpListener`]: std::net::TcpListener - /// [`set_nonblocking`]: fn@std::net::TcpListener::set_nonblocking - Future intoStd(); - - /// Returns the local address that this listener is bound to. - /// - /// This can be useful, for example, when binding to port 0 to figure out - /// which port was actually bound. - /// - /// # Examples - /// - /// ```rust,no_run - /// use tokio::net::TcpListener; - /// - /// use std::io; - /// use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4}; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let listener = TcpListener::bind("127.0.0.1:8080").await?; - /// - /// assert_eq!(listener.local_addr()?, - /// SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080))); - /// - /// Ok(()) - /// } - /// ``` - Future localAddr(); - - /// Polls to accept a new incoming connection to this listener. - /// - /// If there is no connection to accept, `Poll::Pending` is returned and the - /// current task will be notified by a waker. Note that on multiple calls - /// to `poll_accept`, only the `Waker` from the `Context` passed to the most - /// recent call is scheduled to receive a wakeup. - Future pollAccept({required Context cx}); - - /// Sets the value for the `IP_TTL` option on this socket. - /// - /// This value sets the time-to-live field that is used in every packet sent - /// from this socket. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpListener; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let listener = TcpListener::bind("127.0.0.1:0").await?; - /// - /// listener.set_ttl(100).expect("could not set TTL"); - /// - /// Ok(()) - /// } - /// ``` - Future setTtl({required int ttl}); - - /// Gets the value of the `IP_TTL` option for this socket. - /// - /// For more information about this option, see [`set_ttl`]. - /// - /// [`set_ttl`]: method@Self::set_ttl - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpListener; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let listener = TcpListener::bind("127.0.0.1:0").await?; - /// - /// listener.set_ttl(100).expect("could not set TTL"); - /// assert_eq!(listener.ttl()?, 100); - /// - /// Ok(()) - /// } - /// ``` - Future ttl(); -} - -// Rust type: RustOpaqueMoi> -abstract class TcpSocket implements RustOpaqueInterface { - /// Binds the socket to the given address. - /// - /// This calls the `bind(2)` operating-system function. Behavior is - /// platform specific. Refer to the target platform's documentation for more - /// details. - /// - /// # Examples - /// - /// Bind a socket before listening. - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let addr = "127.0.0.1:8080".parse().unwrap(); - /// - /// let socket = TcpSocket::new_v4()?; - /// socket.bind(addr)?; - /// - /// let listener = socket.listen(1024)?; - /// # drop(listener); - /// - /// Ok(()) - /// } - /// ``` - Future bind({required SocketAddr addr}); - - /// Establishes a TCP connection with a peer at the specified socket address. - /// - /// The `TcpSocket` is consumed. Once the connection is established, a - /// connected [`TcpStream`] is returned. If the connection fails, the - /// encountered error is returned. - /// - /// [`TcpStream`]: TcpStream - /// - /// This calls the `connect(2)` operating-system function. Behavior is - /// platform specific. Refer to the target platform's documentation for more - /// details. - /// - /// # Examples - /// - /// Connecting to a peer. - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let addr = "127.0.0.1:8080".parse().unwrap(); - /// - /// let socket = TcpSocket::new_v4()?; - /// let stream = socket.connect(addr).await?; - /// # drop(stream); - /// - /// Ok(()) - /// } - /// ``` - Future connect({required SocketAddr addr}); - - /// Converts a [`std::net::TcpStream`] into a `TcpSocket`. The provided - /// socket must not have been connected prior to calling this function. This - /// function is typically used together with crates such as [`socket2`] to - /// configure socket options that are not available on `TcpSocket`. - /// - /// [`std::net::TcpStream`]: struct@std::net::TcpStream - /// [`socket2`]: https://docs.rs/socket2/ - /// - /// # Notes - /// - /// The caller is responsible for ensuring that the socket is in - /// non-blocking mode. Otherwise all I/O operations on the socket - /// will block the thread, which will cause unexpected behavior. - /// Non-blocking mode can be set using [`set_nonblocking`]. - /// - /// [`set_nonblocking`]: std::net::TcpStream::set_nonblocking - /// - /// # Examples - /// - /// ``` - /// use tokio::net::TcpSocket; - /// use socket2::{Domain, Socket, Type}; - /// - /// #[tokio::main] - /// async fn main() -> std::io::Result<()> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// let socket2_socket = Socket::new(Domain::IPV4, Type::STREAM, None)?; - /// socket2_socket.set_nonblocking(true)?; - /// - /// let socket = TcpSocket::from_std_stream(socket2_socket.into()); - /// - /// Ok(()) - /// } - /// ``` - static Future fromStdStream({required TcpStream stdStream}) => - RustLib.instance.api.tokioNetTcpSocketFromStdStream(stdStream: stdStream); - - /// Gets the value of the `SO_KEEPALIVE` option on this socket. - Future keepalive(); - - /// Reads the linger duration for this socket by getting the `SO_LINGER` - /// option. - /// - /// For more information about this option, see [`set_linger`]. - /// - /// [`set_linger`]: TcpSocket::set_linger - Future linger(); - - /// Converts the socket into a `TcpListener`. - /// - /// `backlog` defines the maximum number of pending connections are queued - /// by the operating system at any given time. Connection are removed from - /// the queue with [`TcpListener::accept`]. When the queue is full, the - /// operating-system will start rejecting connections. - /// - /// [`TcpListener::accept`]: TcpListener::accept - /// - /// This calls the `listen(2)` operating-system function, marking the socket - /// as a passive socket. Behavior is platform specific. Refer to the target - /// platform's documentation for more details. - /// - /// # Examples - /// - /// Create a `TcpListener`. - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let addr = "127.0.0.1:8080".parse().unwrap(); - /// - /// let socket = TcpSocket::new_v4()?; - /// socket.bind(addr)?; - /// - /// let listener = socket.listen(1024)?; - /// # drop(listener); - /// - /// Ok(()) - /// } - /// ``` - Future listen({required int backlog}); - - /// Gets the local address of this socket. - /// - /// Will fail on windows if called before `bind`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let addr = "127.0.0.1:8080".parse().unwrap(); - /// - /// let socket = TcpSocket::new_v4()?; - /// socket.bind(addr)?; - /// assert_eq!(socket.local_addr().unwrap().to_string(), "127.0.0.1:8080"); - /// let listener = socket.listen(1024)?; - /// Ok(()) - /// } - /// ``` - Future localAddr(); - - /// Creates a new socket configured for IPv4. - /// - /// Calls `socket(2)` with `AF_INET` and `SOCK_STREAM`. - /// - /// # Returns - /// - /// On success, the newly created `TcpSocket` is returned. If an error is - /// encountered, it is returned instead. - /// - /// # Examples - /// - /// Create a new IPv4 socket and start listening. - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let addr = "127.0.0.1:8080".parse().unwrap(); - /// let socket = TcpSocket::new_v4()?; - /// socket.bind(addr)?; - /// - /// let listener = socket.listen(128)?; - /// # drop(listener); - /// Ok(()) - /// } - /// ``` - static Future newV4() => - RustLib.instance.api.tokioNetTcpSocketNewV4(); - - /// Creates a new socket configured for IPv6. - /// - /// Calls `socket(2)` with `AF_INET6` and `SOCK_STREAM`. - /// - /// # Returns - /// - /// On success, the newly created `TcpSocket` is returned. If an error is - /// encountered, it is returned instead. - /// - /// # Examples - /// - /// Create a new IPv6 socket and start listening. - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let addr = "[::1]:8080".parse().unwrap(); - /// let socket = TcpSocket::new_v6()?; - /// socket.bind(addr)?; - /// - /// let listener = socket.listen(128)?; - /// # drop(listener); - /// Ok(()) - /// } - /// ``` - static Future newV6() => - RustLib.instance.api.tokioNetTcpSocketNewV6(); - - /// Gets the value of the `TCP_NODELAY` option on this socket. - /// - /// For more information about this option, see [`set_nodelay`]. - /// - /// [`set_nodelay`]: TcpSocket::set_nodelay - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// # async fn dox() -> Result<(), Box> { - /// let socket = TcpSocket::new_v4()?; - /// - /// println!("{:?}", socket.nodelay()?); - /// # Ok(()) - /// # } - /// ``` - Future nodelay(); - - /// Returns the size of the TCP receive buffer for this socket. - /// - /// On most operating systems, this is the value of the `SO_RCVBUF` socket - /// option. - /// - /// Note that if [`set_recv_buffer_size`] has been called on this socket - /// previously, the value returned by this function may not be the same as - /// the argument provided to `set_recv_buffer_size`. This is for the - /// following reasons: - /// - /// * Most operating systems have minimum and maximum allowed sizes for the - /// receive buffer, and will clamp the provided value if it is below the - /// minimum or above the maximum. The minimum and maximum buffer sizes are - /// OS-dependent. - /// * Linux will double the buffer size to account for internal bookkeeping - /// data, and returns the doubled value from `getsockopt(2)`. As per `man - /// 7 socket`: - /// > Sets or gets the maximum socket send buffer in bytes. The - /// > kernel doubles this value (to allow space for bookkeeping - /// > overhead) when it is set using `setsockopt(2)`, and this doubled - /// > value is returned by `getsockopt(2)`. - /// - /// [`set_recv_buffer_size`]: #method.set_recv_buffer_size - Future recvBufferSize(); - - /// Retrieves the value set for `SO_REUSEADDR` on this socket. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let addr = "127.0.0.1:8080".parse().unwrap(); - /// - /// let socket = TcpSocket::new_v4()?; - /// socket.set_reuseaddr(true)?; - /// assert!(socket.reuseaddr().unwrap()); - /// socket.bind(addr)?; - /// - /// let listener = socket.listen(1024)?; - /// Ok(()) - /// } - /// ``` - Future reuseaddr(); - - /// Allows the socket to bind to an in-use port. Only available for unix systems - /// (excluding Solaris, Illumos, and Cygwin). - /// - /// Behavior is platform specific. Refer to the target platform's - /// documentation for more details. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let addr = "127.0.0.1:8080".parse().unwrap(); - /// - /// let socket = TcpSocket::new_v4()?; - /// socket.set_reuseport(true)?; - /// assert!(socket.reuseport().unwrap()); - /// socket.bind(addr)?; - /// - /// let listener = socket.listen(1024)?; - /// Ok(()) - /// } - /// ``` - Future reuseport(); - - /// Returns the size of the TCP send buffer for this socket. - /// - /// On most operating systems, this is the value of the `SO_SNDBUF` socket - /// option. - /// - /// Note that if [`set_send_buffer_size`] has been called on this socket - /// previously, the value returned by this function may not be the same as - /// the argument provided to `set_send_buffer_size`. This is for the - /// following reasons: - /// - /// * Most operating systems have minimum and maximum allowed sizes for the - /// send buffer, and will clamp the provided value if it is below the - /// minimum or above the maximum. The minimum and maximum buffer sizes are - /// OS-dependent. - /// * Linux will double the buffer size to account for internal bookkeeping - /// data, and returns the doubled value from `getsockopt(2)`. As per `man - /// 7 socket`: - /// > Sets or gets the maximum socket send buffer in bytes. The - /// > kernel doubles this value (to allow space for bookkeeping - /// > overhead) when it is set using `setsockopt(2)`, and this doubled - /// > value is returned by `getsockopt(2)`. - /// - /// [`set_send_buffer_size`]: #method.set_send_buffer_size - Future sendBufferSize(); - - /// Sets value for the `SO_KEEPALIVE` option on this socket. - Future setKeepalive({required bool keepalive}); - - /// Sets the linger duration of this socket by setting the `SO_LINGER` option. - /// - /// This option controls the action taken when a stream has unsent messages and the stream is - /// closed. If `SO_LINGER` is set, the system shall block the process until it can transmit the - /// data or until the time expires. - /// - /// If `SO_LINGER` is not specified, and the socket is closed, the system handles the call in a - /// way that allows the process to continue as quickly as possible. - /// - /// This option is deprecated because setting `SO_LINGER` on a socket used with Tokio is always - /// incorrect as it leads to blocking the thread when the socket is closed. For more details, - /// please see: - /// - /// > Volumes of communications have been devoted to the intricacies of `SO_LINGER` versus - /// > non-blocking (`O_NONBLOCK`) sockets. From what I can tell, the final word is: don't do - /// > it. Rely on the `shutdown()`-followed-by-`read()`-eof technique instead. - /// > - /// > From [The ultimate `SO_LINGER` page, or: why is my tcp not reliable](https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable) - Future setLinger({Duration? dur}); - - /// Sets the value of the `TCP_NODELAY` option on this socket. - /// - /// If set, this option disables the Nagle algorithm. This means that segments are always - /// sent as soon as possible, even if there is only a small amount of data. When not set, - /// data is buffered until there is a sufficient amount to send out, thereby avoiding - /// the frequent sending of small packets. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// # async fn dox() -> Result<(), Box> { - /// let socket = TcpSocket::new_v4()?; - /// - /// socket.set_nodelay(true)?; - /// # Ok(()) - /// # } - /// ``` - Future setNodelay({required bool nodelay}); - - /// Sets the size of the TCP receive buffer on this socket. - /// - /// On most operating systems, this sets the `SO_RCVBUF` socket option. - Future setRecvBufferSize({required int size}); - - /// Allows the socket to bind to an in-use address. - /// - /// Behavior is platform specific. Refer to the target platform's - /// documentation for more details. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let addr = "127.0.0.1:8080".parse().unwrap(); - /// - /// let socket = TcpSocket::new_v4()?; - /// socket.set_reuseaddr(true)?; - /// socket.bind(addr)?; - /// - /// let listener = socket.listen(1024)?; - /// # drop(listener); - /// - /// Ok(()) - /// } - /// ``` - Future setReuseaddr({required bool reuseaddr}); - - /// Allows the socket to bind to an in-use port. Only available for unix systems - /// (excluding Solaris, Illumos, and Cygwin). - /// - /// Behavior is platform specific. Refer to the target platform's - /// documentation for more details. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpSocket; - /// - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let addr = "127.0.0.1:8080".parse().unwrap(); - /// - /// let socket = TcpSocket::new_v4()?; - /// socket.set_reuseport(true)?; - /// socket.bind(addr)?; - /// - /// let listener = socket.listen(1024)?; - /// Ok(()) - /// } - /// ``` - Future setReuseport({required bool reuseport}); - - /// Sets the size of the TCP send buffer on this socket. - /// - /// On most operating systems, this sets the `SO_SNDBUF` socket option. - Future setSendBufferSize({required int size}); - - /// Sets the value for the `IPV6_TCLASS` option on this socket. - /// - /// Specifies the traffic class field that is used in every packet - /// sent from this socket. - /// - /// # Note - /// - /// This may not have any effect on IPv4 sockets. - Future setTclassV6({required int tclass}); - - /// Deprecated. Use [`set_tos_v4()`] instead. - /// - /// [`set_tos_v4()`]: Self::set_tos_v4 - Future setTos({required int tos}); - - /// Sets the value for the `IP_TOS` option on this socket. - /// - /// This value sets the type-of-service field that is used in every packet - /// sent from this socket. - /// - /// # Note - /// - /// - This may not have any effect on IPv6 sockets. - /// - On Windows, `IP_TOS` is only supported on [Windows 8+ or - /// Windows Server 2012+.](https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options) - Future setTosV4({required int tos}); - - /// Returns the value of the `SO_ERROR` option. - Future takeError(); - - /// Gets the value of the `IPV6_TCLASS` option for this socket. - /// - /// For more information about this option, see [`set_tclass_v6`]. - /// - /// [`set_tclass_v6`]: Self::set_tclass_v6 - Future tclassV6(); - - /// Deprecated. Use [`tos_v4()`] instead. - /// - /// [`tos_v4()`]: Self::tos_v4 - Future tos(); - - /// Gets the value of the `IP_TOS` option for this socket. - /// - /// For more information about this option, see [`set_tos_v4`]. - /// - /// [`set_tos_v4`]: Self::set_tos_v4 - Future tosV4(); -} - -// Rust type: RustOpaqueMoi> -abstract class TcpStream implements RustOpaqueInterface { - /// Creates new `TcpStream` from a `std::net::TcpStream`. - /// - /// This function is intended to be used to wrap a TCP stream from the - /// standard library in the Tokio equivalent. - /// - /// # Notes - /// - /// The caller is responsible for ensuring that the stream is in - /// non-blocking mode. Otherwise all I/O operations on the stream - /// will block the thread, which will cause unexpected behavior. - /// Non-blocking mode can be set using [`set_nonblocking`]. - /// - /// Passing a listener in blocking mode is always erroneous, - /// and the behavior in that case may change in the future. - /// For example, it could panic. - /// - /// [`set_nonblocking`]: std::net::TcpStream::set_nonblocking - /// - /// # Examples - /// - /// ```rust,no_run - /// use std::error::Error; - /// use tokio::net::TcpStream; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// let std_stream = std::net::TcpStream::connect("127.0.0.1:34254")?; - /// std_stream.set_nonblocking(true)?; - /// let stream = TcpStream::from_std(std_stream)?; - /// Ok(()) - /// } - /// ``` - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromStd({required TcpStream stream}) => - RustLib.instance.api.tokioNetTcpStreamFromStd(stream: stream); - - /// Splits a `TcpStream` into a read half and a write half, which can be used - /// to read and write the stream concurrently. - /// - /// Unlike [`split`], the owned halves can be moved to separate tasks, however - /// this comes at the cost of a heap allocation. - /// - /// **Note:** Dropping the write half will shut down the write half of the TCP - /// stream. This is equivalent to calling [`shutdown()`] on the `TcpStream`. - /// - /// [`split`]: TcpStream::split() - /// [`shutdown()`]: fn@crate::io::AsyncWriteExt::shutdown - Future<(OwnedReadHalf, OwnedWriteHalf)> intoSplit(); - - /// Turns a [`tokio::net::TcpStream`] into a [`std::net::TcpStream`]. - /// - /// The returned [`std::net::TcpStream`] will have nonblocking mode set as `true`. - /// Use [`set_nonblocking`] to change the blocking mode if needed. - /// - /// # Examples - /// - /// ``` - /// use std::error::Error; - /// use std::io::Read; - /// use tokio::net::TcpListener; - /// # use tokio::net::TcpStream; - /// # use tokio::io::AsyncWriteExt; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// let mut data = [0u8; 12]; - /// # if false { - /// let listener = TcpListener::bind("127.0.0.1:34254").await?; - /// # } - /// # let listener = TcpListener::bind("127.0.0.1:0").await?; - /// # let addr = listener.local_addr().unwrap(); - /// # let handle = tokio::spawn(async move { - /// # let mut stream: TcpStream = TcpStream::connect(addr).await.unwrap(); - /// # stream.write_all(b"Hello world!").await.unwrap(); - /// # }); - /// let (tokio_tcp_stream, _) = listener.accept().await?; - /// let mut std_tcp_stream = tokio_tcp_stream.into_std()?; - /// # handle.await.expect("The task being joined has panicked"); - /// std_tcp_stream.set_nonblocking(false)?; - /// std_tcp_stream.read_exact(&mut data)?; - /// # assert_eq!(b"Hello world!", &data); - /// Ok(()) - /// } - /// ``` - /// [`tokio::net::TcpStream`]: TcpStream - /// [`std::net::TcpStream`]: std::net::TcpStream - /// [`set_nonblocking`]: fn@std::net::TcpStream::set_nonblocking - Future intoStd(); - - /// Reads the linger duration for this socket by getting the `SO_LINGER` - /// option. - /// - /// For more information about this option, see [`set_linger`]. - /// - /// [`set_linger`]: TcpStream::set_linger - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// - /// # async fn dox() -> Result<(), Box> { - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// println!("{:?}", stream.linger()?); - /// # Ok(()) - /// # } - /// ``` - Future linger(); - - /// Returns the local address that this stream is bound to. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// - /// # async fn dox() -> Result<(), Box> { - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// println!("{:?}", stream.local_addr()?); - /// # Ok(()) - /// # } - /// ``` - Future localAddr(); - - /// Gets the value of the `TCP_NODELAY` option on this socket. - /// - /// For more information about this option, see [`set_nodelay`]. - /// - /// [`set_nodelay`]: TcpStream::set_nodelay - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// - /// # async fn dox() -> Result<(), Box> { - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// println!("{:?}", stream.nodelay()?); - /// # Ok(()) - /// # } - /// ``` - Future nodelay(); - - /// Receives data on the socket from the remote address to which it is - /// connected, without removing that data from the queue. On success, - /// returns the number of bytes peeked. - /// - /// Successive calls return the same data. This is accomplished by passing - /// `MSG_PEEK` as a flag to the underlying `recv` system call. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If the method is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, then it is guaranteed that no peek was performed, and - /// that `buf` has not been modified. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// use tokio::io::AsyncReadExt; - /// use std::error::Error; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let mut stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// let mut b1 = [0; 10]; - /// let mut b2 = [0; 10]; - /// - /// // Peek at the data - /// let n = stream.peek(&mut b1).await?; - /// - /// // Read the data - /// assert_eq!(n, stream.read(&mut b2[..n]).await?); - /// assert_eq!(&b1[..n], &b2[..n]); - /// - /// Ok(()) - /// } - /// ``` - /// - /// The [`read`] method is defined on the [`AsyncReadExt`] trait. - /// - /// [`read`]: fn@crate::io::AsyncReadExt::read - /// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt - Future peek({required U8 buf}); - - /// Returns the remote address that this stream is connected to. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// - /// # async fn dox() -> Result<(), Box> { - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// println!("{:?}", stream.peer_addr()?); - /// # Ok(()) - /// # } - /// ``` - Future peerAddr(); - - /// Attempts to receive data on the socket, without removing that data from - /// the queue, registering the current task for wakeup if data is not yet - /// available. - /// - /// Note that on multiple calls to `poll_peek`, `poll_read` or - /// `poll_read_ready`, only the `Waker` from the `Context` passed to the - /// most recent call is scheduled to receive a wakeup. (However, - /// `poll_write` retains a second, independent waker.) - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if data is not yet available. - /// * `Poll::Ready(Ok(n))` if data is available. `n` is the number of bytes peeked. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::io::{self, ReadBuf}; - /// use tokio::net::TcpStream; - /// - /// use std::future::poll_fn; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let stream = TcpStream::connect("127.0.0.1:8000").await?; - /// let mut buf = [0; 10]; - /// let mut buf = ReadBuf::new(&mut buf); - /// - /// poll_fn(|cx| { - /// stream.poll_peek(cx, &mut buf) - /// }).await?; - /// - /// Ok(()) - /// } - /// ``` - Future pollPeek({required Context cx, required ReadBuf buf}); - - /// Polls for read readiness. - /// - /// If the tcp stream is not currently ready for reading, this method will - /// store a clone of the `Waker` from the provided `Context`. When the tcp - /// stream becomes ready for reading, `Waker::wake` will be called on the - /// waker. - /// - /// Note that on multiple calls to `poll_read_ready`, `poll_read` or - /// `poll_peek`, only the `Waker` from the `Context` passed to the most - /// recent call is scheduled to receive a wakeup. (However, - /// `poll_write_ready` retains a second, independent waker.) - /// - /// This function is intended for cases where creating and pinning a future - /// via [`readable`] is not feasible. Where possible, using [`readable`] is - /// preferred, as this supports polling from multiple tasks at once. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the tcp stream is not ready for reading. - /// * `Poll::Ready(Ok(()))` if the tcp stream is ready for reading. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`readable`]: method@Self::readable - Future pollReadReady({required Context cx}); - - /// Polls for write readiness. - /// - /// If the tcp stream is not currently ready for writing, this method will - /// store a clone of the `Waker` from the provided `Context`. When the tcp - /// stream becomes ready for writing, `Waker::wake` will be called on the - /// waker. - /// - /// Note that on multiple calls to `poll_write_ready` or `poll_write`, only - /// the `Waker` from the `Context` passed to the most recent call is - /// scheduled to receive a wakeup. (However, `poll_read_ready` retains a - /// second, independent waker.) - /// - /// This function is intended for cases where creating and pinning a future - /// via [`writable`] is not feasible. Where possible, using [`writable`] is - /// preferred, as this supports polling from multiple tasks at once. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the tcp stream is not ready for writing. - /// * `Poll::Ready(Ok(()))` if the tcp stream is ready for writing. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`writable`]: method@Self::writable - Future pollWriteReady({required Context cx}); - - /// Waits for the socket to become readable. - /// - /// This function is equivalent to `ready(Interest::READABLE)` and is usually - /// paired with `try_read()`. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// let mut msg = vec![0; 1024]; - /// - /// loop { - /// // Wait for the socket to be readable - /// stream.readable().await?; - /// - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_read(&mut msg) { - /// Ok(n) => { - /// msg.truncate(n); - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// println!("GOT = {:?}", msg); - /// Ok(()) - /// } - /// ``` - Future readable(); - - /// Waits for any of the requested ready states. - /// - /// This function is usually paired with `try_read()` or `try_write()`. It - /// can be used to concurrently read / write to the same socket on a single - /// task without splitting the socket. - /// - /// The function may complete without the socket being ready. This is a - /// false-positive and attempting an operation will return with - /// `io::ErrorKind::WouldBlock`. The function can also return with an empty - /// [`Ready`] set, so you should always check the returned value and possibly - /// wait again if the requested states are not set. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read or write that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// Concurrently read and write to the stream on the same task without - /// splitting. - /// - /// ```no_run - /// use tokio::io::Interest; - /// use tokio::net::TcpStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// loop { - /// let ready = stream.ready(Interest::READABLE | Interest::WRITABLE).await?; - /// - /// if ready.is_readable() { - /// let mut data = vec![0; 1024]; - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_read(&mut data) { - /// Ok(n) => { - /// println!("read {} bytes", n); - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// - /// } - /// - /// if ready.is_writable() { - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_write(b"hello world") { - /// Ok(n) => { - /// println!("write {} bytes", n); - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// } - /// } - /// ``` - Future ready({required Interest interest}); - - /// Sets the linger duration of this socket by setting the `SO_LINGER` option. - /// - /// This option controls the action taken when a stream has unsent messages and the stream is - /// closed. If `SO_LINGER` is set, the system shall block the process until it can transmit the - /// data or until the time expires. - /// - /// If `SO_LINGER` is not specified, and the stream is closed, the system handles the call in a - /// way that allows the process to continue as quickly as possible. - /// - /// This option is deprecated because setting `SO_LINGER` on a socket used with Tokio is - /// always incorrect as it leads to blocking the thread when the socket is closed. For more - /// details, please see: - /// - /// > Volumes of communications have been devoted to the intricacies of `SO_LINGER` versus - /// > non-blocking (`O_NONBLOCK`) sockets. From what I can tell, the final word is: don't - /// > do it. Rely on the `shutdown()`-followed-by-`read()`-eof technique instead. - /// > - /// > From [The ultimate `SO_LINGER` page, or: why is my tcp not reliable](https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable) - /// - /// # Examples - /// - /// ```no_run - /// # #![allow(deprecated)] - /// use tokio::net::TcpStream; - /// - /// # async fn dox() -> Result<(), Box> { - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// stream.set_linger(None)?; - /// # Ok(()) - /// # } - /// ``` - Future setLinger({Duration? dur}); - - /// Sets the value of the `TCP_NODELAY` option on this socket. - /// - /// If set, this option disables the Nagle algorithm. This means that - /// segments are always sent as soon as possible, even if there is only a - /// small amount of data. When not set, data is buffered until there is a - /// sufficient amount to send out, thereby avoiding the frequent sending of - /// small packets. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// - /// # async fn dox() -> Result<(), Box> { - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// stream.set_nodelay(true)?; - /// # Ok(()) - /// # } - /// ``` - Future setNodelay({required bool nodelay}); - - /// Sets the value for the `IP_TTL` option on this socket. - /// - /// This value sets the time-to-live field that is used in every packet sent - /// from this socket. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// - /// # async fn dox() -> Result<(), Box> { - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// stream.set_ttl(123)?; - /// # Ok(()) - /// # } - /// ``` - Future setTtl({required int ttl}); - - /// Returns the value of the `SO_ERROR` option. - Future takeError(); - - /// Tries to read data from the stream into the provided buffer, returning how - /// many bytes were read. - /// - /// Receives any pending data from the socket but does not wait for new data - /// to arrive. On success, returns the number of bytes read. Because - /// `try_read()` is non-blocking, the buffer does not have to be stored by - /// the async task and can exist entirely on the stack. - /// - /// Usually, [`readable()`] or [`ready()`] is used with this function. - /// - /// [`readable()`]: TcpStream::readable() - /// [`ready()`]: TcpStream::ready() - /// - /// # Return - /// - /// If data is successfully read, `Ok(n)` is returned, where `n` is the - /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: - /// - /// 1. The stream's read half is closed and will no longer yield data. - /// 2. The specified buffer was 0 bytes in length. - /// - /// If the stream is not ready to read data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// loop { - /// // Wait for the socket to be readable - /// stream.readable().await?; - /// - /// // Creating the buffer **after** the `await` prevents it from - /// // being stored in the async task. - /// let mut buf = [0; 4096]; - /// - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_read(&mut buf) { - /// Ok(0) => break, - /// Ok(n) => { - /// println!("read {} bytes", n); - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryRead({required U8 buf}); - - /// Tries to read data from the stream into the provided buffers, returning - /// how many bytes were read. - /// - /// Data is copied to fill each buffer in order, with the final buffer - /// written to possibly being only partially filled. This method behaves - /// equivalently to a single call to [`try_read()`] with concatenated - /// buffers. - /// - /// Receives any pending data from the socket but does not wait for new data - /// to arrive. On success, returns the number of bytes read. Because - /// `try_read_vectored()` is non-blocking, the buffer does not have to be - /// stored by the async task and can exist entirely on the stack. - /// - /// Usually, [`readable()`] or [`ready()`] is used with this function. - /// - /// [`try_read()`]: TcpStream::try_read() - /// [`readable()`]: TcpStream::readable() - /// [`ready()`]: TcpStream::ready() - /// - /// # Return - /// - /// If data is successfully read, `Ok(n)` is returned, where `n` is the - /// number of bytes read. `Ok(0)` indicates the stream's read half is closed - /// and will no longer yield data. If the stream is not ready to read data - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// use std::error::Error; - /// use std::io::{self, IoSliceMut}; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// loop { - /// // Wait for the socket to be readable - /// stream.readable().await?; - /// - /// // Creating the buffer **after** the `await` prevents it from - /// // being stored in the async task. - /// let mut buf_a = [0; 512]; - /// let mut buf_b = [0; 1024]; - /// let mut bufs = [ - /// IoSliceMut::new(&mut buf_a), - /// IoSliceMut::new(&mut buf_b), - /// ]; - /// - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_read_vectored(&mut bufs) { - /// Ok(0) => break, - /// Ok(n) => { - /// println!("read {} bytes", n); - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryReadVectored({required IoSliceMut bufs}); - - /// Try to write a buffer to the stream, returning how many bytes were - /// written. - /// - /// The function will attempt to write the entire contents of `buf`, but - /// only part of the buffer may be written. - /// - /// This function is usually paired with `writable()`. - /// - /// # Return - /// - /// If data is successfully written, `Ok(n)` is returned, where `n` is the - /// number of bytes written. If the stream is not ready to write data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// loop { - /// // Wait for the socket to be writable - /// stream.writable().await?; - /// - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_write(b"hello world") { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryWrite({required List buf}); - - /// Tries to write several buffers to the stream, returning how many bytes - /// were written. - /// - /// Data is written from each buffer in order, with the final buffer read - /// from possibly being only partially consumed. This method behaves - /// equivalently to a single call to [`try_write()`] with concatenated - /// buffers. - /// - /// This function is usually paired with `writable()`. - /// - /// [`try_write()`]: TcpStream::try_write() - /// - /// # Return - /// - /// If data is successfully written, `Ok(n)` is returned, where `n` is the - /// number of bytes written. If the stream is not ready to write data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; - /// - /// loop { - /// // Wait for the socket to be writable - /// stream.writable().await?; - /// - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_write_vectored(&bufs) { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryWriteVectored({required List bufs}); - - /// Gets the value of the `IP_TTL` option for this socket. - /// - /// For more information about this option, see [`set_ttl`]. - /// - /// [`set_ttl`]: TcpStream::set_ttl - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// - /// # async fn dox() -> Result<(), Box> { - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// println!("{:?}", stream.ttl()?); - /// # Ok(()) - /// # } - /// ``` - Future ttl(); - - /// Waits for the socket to become writable. - /// - /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually - /// paired with `try_write()`. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to write that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// - /// loop { - /// // Wait for the socket to be writable - /// stream.writable().await?; - /// - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_write(b"hello world") { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future writable(); -} - -// Rust type: RustOpaqueMoi> -abstract class UdpSocket implements RustOpaqueInterface { - /// Gets the value of the `SO_BROADCAST` option for this socket. - /// - /// For more information about this option, see [`set_broadcast`]. - /// - /// [`set_broadcast`]: method@Self::set_broadcast - Future broadcast(); - - /// Creates new `UdpSocket` from a previously bound `std::net::UdpSocket`. - /// - /// This function is intended to be used to wrap a UDP socket from the - /// standard library in the Tokio equivalent. - /// - /// This can be used in conjunction with `socket2`'s `Socket` interface to - /// configure a socket before it's handed off, such as setting options like - /// `reuse_address` or binding to multiple addresses. - /// - /// # Notes - /// - /// The caller is responsible for ensuring that the socket is in - /// non-blocking mode. Otherwise all I/O operations on the socket - /// will block the thread, which will cause unexpected behavior. - /// Non-blocking mode can be set using [`set_nonblocking`]. - /// - /// Passing a listener in blocking mode is always erroneous, - /// and the behavior in that case may change in the future. - /// For example, it could panic. - /// - /// [`set_nonblocking`]: std::net::UdpSocket::set_nonblocking - /// - /// # Panics - /// - /// This function panics if thread-local runtime is not set. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - /// - /// # Example - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// # use std::{io, net::SocketAddr}; - /// - /// # #[tokio::main] - /// # async fn main() -> io::Result<()> { - /// let addr = "0.0.0.0:8080".parse::().unwrap(); - /// let std_sock = std::net::UdpSocket::bind(addr)?; - /// std_sock.set_nonblocking(true)?; - /// let sock = UdpSocket::from_std(std_sock)?; - /// // use `sock` - /// # Ok(()) - /// # } - /// ``` - static Future fromStd({required UdpSocket socket}) => - RustLib.instance.api.tokioNetUdpSocketFromStd(socket: socket); - - /// Turns a [`tokio::net::UdpSocket`] into a [`std::net::UdpSocket`]. - /// - /// The returned [`std::net::UdpSocket`] will have nonblocking mode set as - /// `true`. Use [`set_nonblocking`] to change the blocking mode if needed. - /// - /// # Examples - /// - /// ```rust,no_run - /// use std::error::Error; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// let tokio_socket = tokio::net::UdpSocket::bind("127.0.0.1:0").await?; - /// let std_socket = tokio_socket.into_std()?; - /// std_socket.set_nonblocking(false)?; - /// Ok(()) - /// } - /// ``` - /// - /// [`tokio::net::UdpSocket`]: UdpSocket - /// [`std::net::UdpSocket`]: std::net::UdpSocket - /// [`set_nonblocking`]: fn@std::net::UdpSocket::set_nonblocking - Future intoStd(); - - /// Executes an operation of the `IP_ADD_MEMBERSHIP` type. - /// - /// This function specifies a new multicast group for this socket to join. - /// The address must be a valid multicast address, and `interface` is the - /// address of the local interface with which the system should join the - /// multicast group. If it's equal to `INADDR_ANY` then an appropriate - /// interface is chosen by the system. - Future joinMulticastV4( - {required Ipv4Addr multiaddr, required Ipv4Addr interface_}); - - /// Executes an operation of the `IPV6_ADD_MEMBERSHIP` type. - /// - /// This function specifies a new multicast group for this socket to join. - /// The address must be a valid multicast address, and `interface` is the - /// index of the interface to join/leave (or 0 to indicate any interface). - Future joinMulticastV6( - {required Ipv6Addr multiaddr, required int interface_}); - - /// Executes an operation of the `IP_DROP_MEMBERSHIP` type. - /// - /// For more information about this option, see [`join_multicast_v4`]. - /// - /// [`join_multicast_v4`]: method@Self::join_multicast_v4 - Future leaveMulticastV4( - {required Ipv4Addr multiaddr, required Ipv4Addr interface_}); - - /// Executes an operation of the `IPV6_DROP_MEMBERSHIP` type. - /// - /// For more information about this option, see [`join_multicast_v6`]. - /// - /// [`join_multicast_v6`]: method@Self::join_multicast_v6 - Future leaveMulticastV6( - {required Ipv6Addr multiaddr, required int interface_}); - - /// Returns the local address that this socket is bound to. - /// - /// # Example - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// # use std::{io, net::SocketAddr}; - /// - /// # #[tokio::main] - /// # async fn main() -> io::Result<()> { - /// let addr = "0.0.0.0:8080".parse::().unwrap(); - /// let sock = UdpSocket::bind(addr).await?; - /// // the address the socket is bound to - /// let local_addr = sock.local_addr()?; - /// # Ok(()) - /// # } - /// ``` - Future localAddr(); - - /// Gets the value of the `IP_MULTICAST_LOOP` option for this socket. - /// - /// For more information about this option, see [`set_multicast_loop_v4`]. - /// - /// [`set_multicast_loop_v4`]: method@Self::set_multicast_loop_v4 - Future multicastLoopV4(); - - /// Gets the value of the `IPV6_MULTICAST_LOOP` option for this socket. - /// - /// For more information about this option, see [`set_multicast_loop_v6`]. - /// - /// [`set_multicast_loop_v6`]: method@Self::set_multicast_loop_v6 - Future multicastLoopV6(); - - /// Gets the value of the `IP_MULTICAST_TTL` option for this socket. - /// - /// For more information about this option, see [`set_multicast_ttl_v4`]. - /// - /// [`set_multicast_ttl_v4`]: method@Self::set_multicast_ttl_v4 - Future multicastTtlV4(); - - /// Receives a single datagram from the connected address without removing it from the queue. - /// On success, returns the number of bytes read from whence the data came. - /// - /// # Notes - /// - /// On Windows, if the data is larger than the buffer specified, the buffer - /// is filled with the first part of the data, and peek returns the error - /// `WSAEMSGSIZE(10040)`. The excess data is lost. - /// Make sure to always use a sufficiently large buffer to hold the - /// maximum UDP packet size, which can be up to 65536 bytes in size. - /// - /// MacOS will return an error if you pass a zero-sized buffer. - /// - /// If you're merely interested in learning the sender of the data at the head of the queue, - /// try [`peek_sender`]. - /// - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// - /// let mut buf = vec![0u8; 32]; - /// let len = socket.peek(&mut buf).await?; - /// - /// println!("peeked {:?} bytes", len); - /// - /// Ok(()) - /// } - /// ``` - /// - /// [`peek_sender`]: method@Self::peek_sender - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future peek({required U8 buf}); - - /// Receives data from the socket, without removing it from the input queue. - /// On success, returns the number of bytes read and the address from whence - /// the data came. - /// - /// # Notes - /// - /// On Windows, if the data is larger than the buffer specified, the buffer - /// is filled with the first part of the data, and `peek_from` returns the error - /// `WSAEMSGSIZE(10040)`. The excess data is lost. - /// Make sure to always use a sufficiently large buffer to hold the - /// maximum UDP packet size, which can be up to 65536 bytes in size. - /// - /// MacOS will return an error if you pass a zero-sized buffer. - /// - /// If you're merely interested in learning the sender of the data at the head of the queue, - /// try [`peek_sender`]. - /// - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// - /// let mut buf = vec![0u8; 32]; - /// let (len, addr) = socket.peek_from(&mut buf).await?; - /// - /// println!("peeked {:?} bytes from {:?}", len, addr); - /// - /// Ok(()) - /// } - /// ``` - /// - /// [`peek_sender`]: method@Self::peek_sender - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future<(BigInt, SocketAddr)> peekFrom({required U8 buf}); - - /// Retrieve the sender of the data at the head of the input queue, waiting if empty. - /// - /// This is equivalent to calling [`peek_from`] with a zero-sized buffer, - /// but suppresses the `WSAEMSGSIZE` error on Windows and the "invalid argument" error on macOS. - /// - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// [`peek_from`]: method@Self::peek_from - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future peekSender(); - - /// Returns the socket address of the remote peer this socket was connected to. - /// - /// # Example - /// - /// ``` - /// use tokio::net::UdpSocket; - /// - /// # use std::{io, net::SocketAddr}; - /// # #[tokio::main] - /// # async fn main() -> io::Result<()> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// let addr = "0.0.0.0:8080".parse::().unwrap(); - /// let peer = "127.0.0.1:11100".parse::().unwrap(); - /// let sock = UdpSocket::bind(addr).await?; - /// sock.connect(peer).await?; - /// assert_eq!(peer, sock.peer_addr()?); - /// # Ok(()) - /// # } - /// ``` - Future peerAddr(); - - /// Receives data from the connected address, without removing it from the input queue. - /// - /// # Notes - /// - /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the - /// `Waker` from the `Context` passed to the most recent call will be scheduled to - /// receive a wakeup - /// - /// On Windows, if the data is larger than the buffer specified, the buffer - /// is filled with the first part of the data, and peek returns the error - /// `WSAEMSGSIZE(10040)`. The excess data is lost. - /// Make sure to always use a sufficiently large buffer to hold the - /// maximum UDP packet size, which can be up to 65536 bytes in size. - /// - /// MacOS will return an error if you pass a zero-sized buffer. - /// - /// If you're merely interested in learning the sender of the data at the head of the queue, - /// try [`poll_peek_sender`]. - /// - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not ready to read - /// * `Poll::Ready(Ok(()))` reads data into `ReadBuf` if the socket is ready - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`poll_peek_sender`]: method@Self::poll_peek_sender - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future pollPeek({required Context cx, required ReadBuf buf}); - - /// Receives data from the socket, without removing it from the input queue. - /// On success, returns the sending address of the datagram. - /// - /// # Notes - /// - /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the - /// `Waker` from the `Context` passed to the most recent call will be scheduled to - /// receive a wakeup - /// - /// On Windows, if the data is larger than the buffer specified, the buffer - /// is filled with the first part of the data, and peek returns the error - /// `WSAEMSGSIZE(10040)`. The excess data is lost. - /// Make sure to always use a sufficiently large buffer to hold the - /// maximum UDP packet size, which can be up to 65536 bytes in size. - /// - /// MacOS will return an error if you pass a zero-sized buffer. - /// - /// If you're merely interested in learning the sender of the data at the head of the queue, - /// try [`poll_peek_sender`]. - /// - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not ready to read - /// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`poll_peek_sender`]: method@Self::poll_peek_sender - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future pollPeekFrom( - {required Context cx, required ReadBuf buf}); - - /// Retrieve the sender of the data at the head of the input queue, - /// scheduling a wakeup if empty. - /// - /// This is equivalent to calling [`poll_peek_from`] with a zero-sized buffer, - /// but suppresses the `WSAEMSGSIZE` error on Windows and the "invalid argument" error on macOS. - /// - /// # Notes - /// - /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the - /// `Waker` from the `Context` passed to the most recent call will be scheduled to - /// receive a wakeup. - /// - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// [`poll_peek_from`]: method@Self::poll_peek_from - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future pollPeekSender({required Context cx}); - - /// Attempts to receive a single datagram message on the socket from the remote - /// address to which it is `connect`ed. - /// - /// The [`connect`] method will connect this socket to a remote address. This method - /// resolves to an error if the socket is not connected. - /// - /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the - /// `Waker` from the `Context` passed to the most recent call will be scheduled to - /// receive a wakeup. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not ready to read - /// * `Poll::Ready(Ok(()))` reads data `ReadBuf` if the socket is ready - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`connect`]: method@Self::connect - Future pollRecv({required Context cx, required ReadBuf buf}); - - /// Attempts to receive a single datagram on the socket. - /// - /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the - /// `Waker` from the `Context` passed to the most recent call will be scheduled to - /// receive a wakeup. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not ready to read - /// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// # Notes - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future pollRecvFrom( - {required Context cx, required ReadBuf buf}); - - /// Polls for read/receive readiness. - /// - /// If the udp stream is not currently ready for receiving, this method will - /// store a clone of the `Waker` from the provided `Context`. When the udp - /// socket becomes ready for reading, `Waker::wake` will be called on the - /// waker. - /// - /// Note that on multiple calls to `poll_recv_ready`, `poll_recv` or - /// `poll_peek`, only the `Waker` from the `Context` passed to the most - /// recent call is scheduled to receive a wakeup. (However, - /// `poll_send_ready` retains a second, independent waker.) - /// - /// This function is intended for cases where creating and pinning a future - /// via [`readable`] is not feasible. Where possible, using [`readable`] is - /// preferred, as this supports polling from multiple tasks at once. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the udp stream is not ready for reading. - /// * `Poll::Ready(Ok(()))` if the udp stream is ready for reading. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`readable`]: method@Self::readable - Future pollRecvReady({required Context cx}); - - /// Attempts to send data on the socket to the remote address to which it - /// was previously `connect`ed. - /// - /// The [`connect`] method will connect this socket to a remote address. - /// This method will fail if the socket is not connected. - /// - /// Note that on multiple calls to a `poll_*` method in the send direction, - /// only the `Waker` from the `Context` passed to the most recent call will - /// be scheduled to receive a wakeup. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not available to write - /// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`connect`]: method@Self::connect - Future pollSend( - {required Context cx, required List buf}); - - /// Polls for write/send readiness. - /// - /// If the udp stream is not currently ready for sending, this method will - /// store a clone of the `Waker` from the provided `Context`. When the udp - /// stream becomes ready for sending, `Waker::wake` will be called on the - /// waker. - /// - /// Note that on multiple calls to `poll_send_ready` or `poll_send`, only - /// the `Waker` from the `Context` passed to the most recent call is - /// scheduled to receive a wakeup. (However, `poll_recv_ready` retains a - /// second, independent waker.) - /// - /// This function is intended for cases where creating and pinning a future - /// via [`writable`] is not feasible. Where possible, using [`writable`] is - /// preferred, as this supports polling from multiple tasks at once. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the udp stream is not ready for writing. - /// * `Poll::Ready(Ok(()))` if the udp stream is ready for writing. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`writable`]: method@Self::writable - Future pollSendReady({required Context cx}); - - /// Attempts to send data on the socket to a given address. - /// - /// Note that on multiple calls to a `poll_*` method in the send direction, only the - /// `Waker` from the `Context` passed to the most recent call will be scheduled to - /// receive a wakeup. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not ready to write - /// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - Future pollSendTo( - {required Context cx, - required List buf, - required SocketAddr target}); - - /// Waits for the socket to become readable. - /// - /// This function is equivalent to `ready(Interest::READABLE)` and is usually - /// paired with `try_recv()`. - /// - /// The function may complete without the socket being readable. This is a - /// false-positive and attempting a `try_recv()` will return with - /// `io::ErrorKind::WouldBlock`. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Connect to a peer - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// socket.connect("127.0.0.1:8081").await?; - /// - /// loop { - /// // Wait for the socket to be readable - /// socket.readable().await?; - /// - /// // The buffer is **not** included in the async task and will - /// // only exist on the stack. - /// let mut buf = [0; 1024]; - /// - /// // Try to recv data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match socket.try_recv(&mut buf) { - /// Ok(n) => { - /// println!("GOT {:?}", &buf[..n]); - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future readable(); - - /// Waits for any of the requested ready states. - /// - /// This function is usually paired with `try_recv()` or `try_send()`. It - /// can be used to concurrently `recv` / `send` to the same socket on a single - /// task without splitting the socket. - /// - /// The function may complete without the socket being ready. This is a - /// false-positive and attempting an operation will return with - /// `io::ErrorKind::WouldBlock`. The function can also return with an empty - /// [`Ready`] set, so you should always check the returned value and possibly - /// wait again if the requested states are not set. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read or write that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// Concurrently receive from and send to the socket on the same task - /// without splitting. - /// - /// ```no_run - /// use tokio::io::{self, Interest}; - /// use tokio::net::UdpSocket; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// socket.connect("127.0.0.1:8081").await?; - /// - /// loop { - /// let ready = socket.ready(Interest::READABLE | Interest::WRITABLE).await?; - /// - /// if ready.is_readable() { - /// // The buffer is **not** included in the async task and will only exist - /// // on the stack. - /// let mut data = [0; 1024]; - /// match socket.try_recv(&mut data[..]) { - /// Ok(n) => { - /// println!("received {:?}", &data[..n]); - /// } - /// // False-positive, continue - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// if ready.is_writable() { - /// // Write some data - /// match socket.try_send(b"hello world") { - /// Ok(n) => { - /// println!("sent {} bytes", n); - /// } - /// // False-positive, continue - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// } - /// } - /// ``` - Future ready({required Interest interest}); - - /// Receives a single datagram message on the socket from the remote address - /// to which it is connected. On success, returns the number of bytes read. - /// - /// The function must be called with valid byte array `buf` of sufficient - /// size to hold the message bytes. If a message is too long to fit in the - /// supplied buffer, excess bytes may be discarded. - /// - /// The [`connect`] method will connect this socket to a remote address. - /// This method will fail if the socket is not connected. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If `recv` is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, it is guaranteed that no messages were received on this - /// socket. - /// - /// [`connect`]: method@Self::connect - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Bind socket - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// socket.connect("127.0.0.1:8081").await?; - /// - /// let mut buf = vec![0; 10]; - /// let n = socket.recv(&mut buf).await?; - /// - /// println!("received {} bytes {:?}", n, &buf[..n]); - /// - /// Ok(()) - /// } - /// ``` - Future recv({required U8 buf}); - - /// Receives a single datagram message on the socket. On success, returns - /// the number of bytes read and the origin. - /// - /// The function must be called with valid byte array `buf` of sufficient - /// size to hold the message bytes. If a message is too long to fit in the - /// supplied buffer, excess bytes may be discarded. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If `recv_from` is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, it is guaranteed that no messages were received on this - /// socket. - /// - /// # Example - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// - /// let mut buf = vec![0u8; 32]; - /// let (len, addr) = socket.recv_from(&mut buf).await?; - /// - /// println!("received {:?} bytes from {:?}", len, addr); - /// - /// Ok(()) - /// } - /// ``` - /// - /// # Notes - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future<(BigInt, SocketAddr)> recvFrom({required U8 buf}); - - /// Sends data on the socket to the remote address that the socket is - /// connected to. - /// - /// The [`connect`] method will connect this socket to a remote address. - /// This method will fail if the socket is not connected. - /// - /// [`connect`]: method@Self::connect - /// - /// # Return - /// - /// On success, the number of bytes sent is returned, otherwise, the - /// encountered error is returned. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If `send` is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, then it is guaranteed that the message was not sent. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::io; - /// use tokio::net::UdpSocket; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Bind socket - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// socket.connect("127.0.0.1:8081").await?; - /// - /// // Send a message - /// socket.send(b"hello world").await?; - /// - /// Ok(()) - /// } - /// ``` - Future send({required List buf}); - - /// Sets the value of the `SO_BROADCAST` option for this socket. - /// - /// When enabled, this socket is allowed to send packets to a broadcast - /// address. - Future setBroadcast({required bool on_}); - - /// Sets the value of the `IP_MULTICAST_LOOP` option for this socket. - /// - /// If enabled, multicast packets will be looped back to the local socket. - /// - /// # Note - /// - /// This may not have any effect on IPv6 sockets. - Future setMulticastLoopV4({required bool on_}); - - /// Sets the value of the `IPV6_MULTICAST_LOOP` option for this socket. - /// - /// Controls whether this socket sees the multicast packets it sends itself. - /// - /// # Note - /// - /// This may not have any effect on IPv4 sockets. - Future setMulticastLoopV6({required bool on_}); - - /// Sets the value of the `IP_MULTICAST_TTL` option for this socket. - /// - /// Indicates the time-to-live value of outgoing multicast packets for - /// this socket. The default value is 1 which means that multicast packets - /// don't leave the local network unless explicitly requested. - /// - /// # Note - /// - /// This may not have any effect on IPv6 sockets. - Future setMulticastTtlV4({required int ttl}); - - /// Sets the value for the `IPV6_TCLASS` option on this socket. - /// - /// Specifies the traffic class field that is used in every packet - /// sent from this socket. - /// - /// # Note - /// - /// This may not have any effect on IPv4 sockets. - Future setTclassV6({required int tclass}); - - /// Deprecated. Use [`set_tos_v4()`] instead. - /// - /// [`set_tos_v4()`]: Self::set_tos_v4 - Future setTos({required int tos}); - - /// Sets the value for the `IP_TOS` option on this socket. - /// - /// This value sets the type-of-service field that is used in every packet - /// sent from this socket. - /// - /// # Note - /// - /// - This may not have any effect on IPv6 sockets. - /// - On Windows, `IP_TOS` is only supported on [Windows 8+ or - /// Windows Server 2012+.](https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options) - Future setTosV4({required int tos}); - - /// Sets the value for the `IP_TTL` option on this socket. - /// - /// This value sets the time-to-live field that is used in every packet sent - /// from this socket. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// # use std::io; - /// - /// # async fn dox() -> io::Result<()> { - /// let sock = UdpSocket::bind("127.0.0.1:8080").await?; - /// sock.set_ttl(60)?; - /// - /// # Ok(()) - /// # } - /// ``` - Future setTtl({required int ttl}); - - /// Returns the value of the `SO_ERROR` option. - /// - /// # Examples - /// ``` - /// use tokio::net::UdpSocket; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// // Create a socket - /// let socket = UdpSocket::bind("0.0.0.0:8080").await?; - /// - /// if let Ok(Some(err)) = socket.take_error() { - /// println!("Got error: {:?}", err); - /// } - /// - /// Ok(()) - /// } - /// ``` - Future takeError(); - - /// Gets the value of the `IPV6_TCLASS` option for this socket. - /// - /// For more information about this option, see [`set_tclass_v6`]. - /// - /// [`set_tclass_v6`]: Self::set_tclass_v6 - Future tclassV6(); - - /// Deprecated. Use [`tos_v4()`] instead. - /// - /// [`tos_v4()`]: Self::tos_v4 - Future tos(); - - /// Gets the value of the `IP_TOS` option for this socket. - /// - /// For more information about this option, see [`set_tos_v4`]. - /// - /// [`set_tos_v4`]: Self::set_tos_v4 - Future tosV4(); - - /// Tries to receive data on the connected address without removing it from the input queue. - /// On success, returns the number of bytes read. - /// - /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is - /// returned. This function is usually paired with `readable()`. - /// - /// # Notes - /// - /// On Windows, if the data is larger than the buffer specified, the buffer - /// is filled with the first part of the data, and peek returns the error - /// `WSAEMSGSIZE(10040)`. The excess data is lost. - /// Make sure to always use a sufficiently large buffer to hold the - /// maximum UDP packet size, which can be up to 65536 bytes in size. - /// - /// MacOS will return an error if you pass a zero-sized buffer. - /// - /// If you're merely interested in learning the sender of the data at the head of the queue, - /// try [`try_peek_sender`]. - /// - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// [`try_peek_sender`]: method@Self::try_peek_sender - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future tryPeek({required U8 buf}); - - /// Tries to receive data on the socket without removing it from the input queue. - /// On success, returns the number of bytes read and the sending address of the - /// datagram. - /// - /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is - /// returned. This function is usually paired with `readable()`. - /// - /// # Notes - /// - /// On Windows, if the data is larger than the buffer specified, the buffer - /// is filled with the first part of the data, and peek returns the error - /// `WSAEMSGSIZE(10040)`. The excess data is lost. - /// Make sure to always use a sufficiently large buffer to hold the - /// maximum UDP packet size, which can be up to 65536 bytes in size. - /// - /// MacOS will return an error if you pass a zero-sized buffer. - /// - /// If you're merely interested in learning the sender of the data at the head of the queue, - /// try [`try_peek_sender`]. - /// - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// [`try_peek_sender`]: method@Self::try_peek_sender - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future<(BigInt, SocketAddr)> tryPeekFrom({required U8 buf}); - - /// Try to retrieve the sender of the data at the head of the input queue. - /// - /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is - /// returned. This function is usually paired with `readable()`. - /// - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - Future tryPeekSender(); - - /// Tries to receive a single datagram message on the socket from the remote - /// address to which it is connected. On success, returns the number of - /// bytes read. - /// - /// This method must be called with valid byte array `buf` of sufficient size - /// to hold the message bytes. If a message is too long to fit in the - /// supplied buffer, excess bytes may be discarded. - /// - /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is - /// returned. This function is usually paired with `readable()`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Connect to a peer - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// socket.connect("127.0.0.1:8081").await?; - /// - /// loop { - /// // Wait for the socket to be readable - /// socket.readable().await?; - /// - /// // The buffer is **not** included in the async task and will - /// // only exist on the stack. - /// let mut buf = [0; 1024]; - /// - /// // Try to recv data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match socket.try_recv(&mut buf) { - /// Ok(n) => { - /// println!("GOT {:?}", &buf[..n]); - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryRecv({required U8 buf}); - - /// Tries to receive a single datagram message on the socket. On success, - /// returns the number of bytes read and the origin. - /// - /// This method must be called with valid byte array `buf` of sufficient size - /// to hold the message bytes. If a message is too long to fit in the - /// supplied buffer, excess bytes may be discarded. - /// - /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is - /// returned. This function is usually paired with `readable()`. - /// - /// # Notes - /// - /// Note that the socket address **cannot** be implicitly trusted, because it is relatively - /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. - /// Because UDP is stateless and does not validate the origin of a packet, - /// the attacker does not need to be able to intercept traffic in order to interfere. - /// It is important to be aware of this when designing your application-level protocol. - /// - /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Connect to a peer - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// - /// loop { - /// // Wait for the socket to be readable - /// socket.readable().await?; - /// - /// // The buffer is **not** included in the async task and will - /// // only exist on the stack. - /// let mut buf = [0; 1024]; - /// - /// // Try to recv data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match socket.try_recv_from(&mut buf) { - /// Ok((n, _addr)) => { - /// println!("GOT {:?}", &buf[..n]); - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future<(BigInt, SocketAddr)> tryRecvFrom({required U8 buf}); - - /// Tries to send data on the socket to the remote address to which it is - /// connected. - /// - /// When the socket buffer is full, `Err(io::ErrorKind::WouldBlock)` is - /// returned. This function is usually paired with `writable()`. - /// - /// # Returns - /// - /// If successful, `Ok(n)` is returned, where `n` is the number of bytes - /// sent. If the socket is not ready to send data, - /// `Err(ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Bind a UDP socket - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// - /// // Connect to a peer - /// socket.connect("127.0.0.1:8081").await?; - /// - /// loop { - /// // Wait for the socket to be writable - /// socket.writable().await?; - /// - /// // Try to send data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match socket.try_send(b"hello world") { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future trySend({required List buf}); - - /// Tries to send data on the socket to the given address, but if the send is - /// blocked this will return right away. - /// - /// This function is usually paired with `writable()`. - /// - /// # Returns - /// - /// If successful, returns the number of bytes sent - /// - /// Users should ensure that when the remote cannot receive, the - /// [`ErrorKind::WouldBlock`] is properly handled. An error can also occur - /// if the IP version of the socket does not match that of `target`. - /// - /// [`ErrorKind::WouldBlock`]: std::io::ErrorKind::WouldBlock - /// - /// # Example - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// - /// let dst = "127.0.0.1:8081".parse()?; - /// - /// loop { - /// socket.writable().await?; - /// - /// match socket.try_send_to(&b"hello world"[..], dst) { - /// Ok(sent) => { - /// println!("sent {} bytes", sent); - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// // Writable false positive. - /// continue; - /// } - /// Err(e) => return Err(e.into()), - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future trySendTo( - {required List buf, required SocketAddr target}); - - /// Gets the value of the `IP_TTL` option for this socket. - /// - /// For more information about this option, see [`set_ttl`]. - /// - /// [`set_ttl`]: method@Self::set_ttl - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// # use std::io; - /// - /// # async fn dox() -> io::Result<()> { - /// let sock = UdpSocket::bind("127.0.0.1:8080").await?; - /// - /// println!("{:?}", sock.ttl()?); - /// # Ok(()) - /// # } - /// ``` - Future ttl(); - - /// Waits for the socket to become writable. - /// - /// This function is equivalent to `ready(Interest::WRITABLE)` and is - /// usually paired with `try_send()` or `try_send_to()`. - /// - /// The function may complete without the socket being writable. This is a - /// false-positive and attempting a `try_send()` will return with - /// `io::ErrorKind::WouldBlock`. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to write that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UdpSocket; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Bind socket - /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; - /// socket.connect("127.0.0.1:8081").await?; - /// - /// loop { - /// // Wait for the socket to be writable - /// socket.writable().await?; - /// - /// // Try to send data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match socket.try_send(b"hello world") { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future writable(); -} - -// Rust type: RustOpaqueMoi> -abstract class UnixDatagram implements RustOpaqueInterface { - /// Creates new [`UnixDatagram`] from a [`std::os::unix::net::UnixDatagram`]. - /// - /// This function is intended to be used to wrap a `UnixDatagram` from the - /// standard library in the Tokio equivalent. - /// - /// # Notes - /// - /// The caller is responsible for ensuring that the socket is in - /// non-blocking mode. Otherwise all I/O operations on the socket - /// will block the thread, which will cause unexpected behavior. - /// Non-blocking mode can be set using [`set_nonblocking`]. - /// - /// Passing a listener in blocking mode is always erroneous, - /// and the behavior in that case may change in the future. - /// For example, it could panic. - /// - /// [`set_nonblocking`]: std::os::unix::net::UnixDatagram::set_nonblocking - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a Tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - /// # Examples - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// use tokio::net::UnixDatagram; - /// use std::os::unix::net::UnixDatagram as StdUDS; - /// use tempfile::tempdir; - /// - /// // We use a temporary directory so that the socket - /// // files left by the bound sockets will get cleaned up. - /// let tmp = tempdir()?; - /// - /// // Bind the socket to a filesystem path - /// let socket_path = tmp.path().join("socket"); - /// let std_socket = StdUDS::bind(&socket_path)?; - /// std_socket.set_nonblocking(true)?; - /// let tokio_socket = UnixDatagram::from_std(std_socket)?; - /// - /// # Ok(()) - /// # } - /// ``` - static Future fromStd({required UnixDatagram datagram}) => - RustLib.instance.api.tokioNetUnixDatagramFromStd(datagram: datagram); - - /// Turns a [`tokio::net::UnixDatagram`] into a [`std::os::unix::net::UnixDatagram`]. - /// - /// The returned [`std::os::unix::net::UnixDatagram`] will have nonblocking - /// mode set as `true`. Use [`set_nonblocking`] to change the blocking mode - /// if needed. - /// - /// # Examples - /// - /// ```rust,no_run - /// # use std::error::Error; - /// # async fn dox() -> Result<(), Box> { - /// let tokio_socket = tokio::net::UnixDatagram::bind("/path/to/the/socket")?; - /// let std_socket = tokio_socket.into_std()?; - /// std_socket.set_nonblocking(false)?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [`tokio::net::UnixDatagram`]: UnixDatagram - /// [`std::os::unix::net::UnixDatagram`]: std::os::unix::net::UnixDatagram - /// [`set_nonblocking`]: fn@std::os::unix::net::UnixDatagram::set_nonblocking - Future intoStd(); - - /// Returns the local address that this socket is bound to. - /// - /// # Examples - /// For a socket bound to a local path - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// use tokio::net::UnixDatagram; - /// use tempfile::tempdir; - /// - /// // We use a temporary directory so that the socket - /// // files left by the bound sockets will get cleaned up. - /// let tmp = tempdir()?; - /// - /// // Bind socket to a filesystem path - /// let socket_path = tmp.path().join("socket"); - /// let socket = UnixDatagram::bind(&socket_path)?; - /// - /// assert_eq!(socket.local_addr()?.as_pathname().unwrap(), &socket_path); - /// - /// # Ok(()) - /// # } - /// ``` - /// - /// For an unbound socket - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// use tokio::net::UnixDatagram; - /// - /// // Create an unbound socket - /// let socket = UnixDatagram::unbound()?; - /// - /// assert!(socket.local_addr()?.is_unnamed()); - /// - /// # Ok(()) - /// # } - /// ``` - Future localAddr(); - - /// Creates an unnamed pair of connected sockets. - /// - /// This function will create a pair of interconnected Unix sockets for - /// communicating back and forth between one another. - /// - /// # Examples - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. - /// use tokio::net::UnixDatagram; - /// - /// // Create the pair of sockets - /// let (sock1, sock2) = UnixDatagram::pair()?; - /// - /// // Since the sockets are paired, the paired send/recv - /// // functions can be used - /// let bytes = b"hail eris"; - /// sock1.send(bytes).await?; - /// - /// let mut buff = vec![0u8; 24]; - /// let size = sock2.recv(&mut buff).await?; - /// - /// let dgram = &buff[..size]; - /// assert_eq!(dgram, bytes); - /// - /// # Ok(()) - /// # } - /// ``` - static Future<(UnixDatagram, UnixDatagram)> pair() => - RustLib.instance.api.tokioNetUnixDatagramPair(); - - /// Returns the address of this socket's peer. - /// - /// The `connect` method will connect the socket to a peer. - /// - /// # Examples - /// For a peer with a local path - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// use tokio::net::UnixDatagram; - /// use tempfile::tempdir; - /// - /// // Create an unbound socket - /// let tx = UnixDatagram::unbound()?; - /// - /// // Create another, bound socket - /// let tmp = tempdir()?; - /// let rx_path = tmp.path().join("rx"); - /// let rx = UnixDatagram::bind(&rx_path)?; - /// - /// // Connect to the bound socket - /// tx.connect(&rx_path)?; - /// - /// assert_eq!(tx.peer_addr()?.as_pathname().unwrap(), &rx_path); - /// - /// # Ok(()) - /// # } - /// ``` - /// - /// For an unbound peer - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. - /// use tokio::net::UnixDatagram; - /// - /// // Create the pair of sockets - /// let (sock1, sock2) = UnixDatagram::pair()?; - /// - /// assert!(sock1.peer_addr()?.is_unnamed()); - /// - /// # Ok(()) - /// # } - /// ``` - Future peerAddr(); - - /// Attempts to receive a single datagram message on the socket from the remote - /// address to which it is `connect`ed. - /// - /// The [`connect`] method will connect this socket to a remote address. This method - /// resolves to an error if the socket is not connected. - /// - /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the - /// `Waker` from the `Context` passed to the most recent call will be scheduled to - /// receive a wakeup. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not ready to read - /// * `Poll::Ready(Ok(()))` reads data `ReadBuf` if the socket is ready - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`connect`]: method@Self::connect - Future pollRecv({required Context cx, required ReadBuf buf}); - - /// Attempts to receive a single datagram on the specified address. - /// - /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the - /// `Waker` from the `Context` passed to the most recent call will be scheduled to - /// receive a wakeup. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not ready to read - /// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - Future pollRecvFrom( - {required Context cx, required ReadBuf buf}); - - /// Polls for read/receive readiness. - /// - /// If the socket is not currently ready for receiving, this method will - /// store a clone of the `Waker` from the provided `Context`. When the - /// socket becomes ready for reading, `Waker::wake` will be called on the - /// waker. - /// - /// Note that on multiple calls to `poll_recv_ready`, `poll_recv` or - /// `poll_peek`, only the `Waker` from the `Context` passed to the most - /// recent call is scheduled to receive a wakeup. (However, - /// `poll_send_ready` retains a second, independent waker.) - /// - /// This function is intended for cases where creating and pinning a future - /// via [`readable`] is not feasible. Where possible, using [`readable`] is - /// preferred, as this supports polling from multiple tasks at once. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not ready for reading. - /// * `Poll::Ready(Ok(()))` if the socket is ready for reading. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`readable`]: method@Self::readable - Future pollRecvReady({required Context cx}); - - /// Attempts to send data on the socket to the remote address to which it - /// was previously `connect`ed. - /// - /// The [`connect`] method will connect this socket to a remote address. - /// This method will fail if the socket is not connected. - /// - /// Note that on multiple calls to a `poll_*` method in the send direction, - /// only the `Waker` from the `Context` passed to the most recent call will - /// be scheduled to receive a wakeup. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not available to write - /// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`connect`]: method@Self::connect - Future pollSend( - {required Context cx, required List buf}); - - /// Polls for write/send readiness. - /// - /// If the socket is not currently ready for sending, this method will - /// store a clone of the `Waker` from the provided `Context`. When the socket - /// becomes ready for sending, `Waker::wake` will be called on the - /// waker. - /// - /// Note that on multiple calls to `poll_send_ready` or `poll_send`, only - /// the `Waker` from the `Context` passed to the most recent call is - /// scheduled to receive a wakeup. (However, `poll_recv_ready` retains a - /// second, independent waker.) - /// - /// This function is intended for cases where creating and pinning a future - /// via [`writable`] is not feasible. Where possible, using [`writable`] is - /// preferred, as this supports polling from multiple tasks at once. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the socket is not ready for writing. - /// * `Poll::Ready(Ok(()))` if the socket is ready for writing. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`writable`]: method@Self::writable - Future pollSendReady({required Context cx}); - - /// Waits for the socket to become readable. - /// - /// This function is equivalent to `ready(Interest::READABLE)` and is usually - /// paired with `try_recv()`. - /// - /// The function may complete without the socket being readable. This is a - /// false-positive and attempting a `try_recv()` will return with - /// `io::ErrorKind::WouldBlock`. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixDatagram; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Connect to a peer - /// let dir = tempfile::tempdir().unwrap(); - /// let client_path = dir.path().join("client.sock"); - /// let server_path = dir.path().join("server.sock"); - /// let socket = UnixDatagram::bind(&client_path)?; - /// socket.connect(&server_path)?; - /// - /// loop { - /// // Wait for the socket to be readable - /// socket.readable().await?; - /// - /// // The buffer is **not** included in the async task and will - /// // only exist on the stack. - /// let mut buf = [0; 1024]; - /// - /// // Try to recv data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match socket.try_recv(&mut buf) { - /// Ok(n) => { - /// println!("GOT {:?}", &buf[..n]); - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future readable(); - - /// Waits for any of the requested ready states. - /// - /// This function is usually paired with `try_recv()` or `try_send()`. It - /// can be used to concurrently `recv` / `send` to the same socket on a single - /// task without splitting the socket. - /// - /// The function may complete without the socket being ready. This is a - /// false-positive and attempting an operation will return with - /// `io::ErrorKind::WouldBlock`. The function can also return with an empty - /// [`Ready`] set, so you should always check the returned value and possibly - /// wait again if the requested states are not set. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read or write that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// Concurrently receive from and send to the socket on the same task - /// without splitting. - /// - /// ```no_run - /// use tokio::io::Interest; - /// use tokio::net::UnixDatagram; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let dir = tempfile::tempdir().unwrap(); - /// let client_path = dir.path().join("client.sock"); - /// let server_path = dir.path().join("server.sock"); - /// let socket = UnixDatagram::bind(&client_path)?; - /// socket.connect(&server_path)?; - /// - /// loop { - /// let ready = socket.ready(Interest::READABLE | Interest::WRITABLE).await?; - /// - /// if ready.is_readable() { - /// let mut data = [0; 1024]; - /// match socket.try_recv(&mut data[..]) { - /// Ok(n) => { - /// println!("received {:?}", &data[..n]); - /// } - /// // False-positive, continue - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// if ready.is_writable() { - /// // Write some data - /// match socket.try_send(b"hello world") { - /// Ok(n) => { - /// println!("sent {} bytes", n); - /// } - /// // False-positive, continue - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// } - /// } - /// ``` - Future ready({required Interest interest}); - - /// Receives data from the socket. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If `recv` is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, it is guaranteed that no messages were received on this - /// socket. - /// - /// # Examples - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. - /// use tokio::net::UnixDatagram; - /// - /// // Create the pair of sockets - /// let (sock1, sock2) = UnixDatagram::pair()?; - /// - /// // Since the sockets are paired, the paired send/recv - /// // functions can be used - /// let bytes = b"hello world"; - /// sock1.send(bytes).await?; - /// - /// let mut buff = vec![0u8; 24]; - /// let size = sock2.recv(&mut buff).await?; - /// - /// let dgram = &buff[..size]; - /// assert_eq!(dgram, bytes); - /// - /// # Ok(()) - /// # } - /// ``` - Future recv({required U8 buf}); - - /// Receives data from the socket. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If `recv_from` is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, it is guaranteed that no messages were received on this - /// socket. - /// - /// # Examples - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// use tokio::net::UnixDatagram; - /// use tempfile::tempdir; - /// - /// // We use a temporary directory so that the socket - /// // files left by the bound sockets will get cleaned up. - /// let tmp = tempdir()?; - /// - /// // Bind each socket to a filesystem path - /// let tx_path = tmp.path().join("tx"); - /// let tx = UnixDatagram::bind(&tx_path)?; - /// let rx_path = tmp.path().join("rx"); - /// let rx = UnixDatagram::bind(&rx_path)?; - /// - /// let bytes = b"hello world"; - /// tx.send_to(bytes, &rx_path).await?; - /// - /// let mut buf = vec![0u8; 24]; - /// let (size, addr) = rx.recv_from(&mut buf).await?; - /// - /// let dgram = &buf[..size]; - /// assert_eq!(dgram, bytes); - /// assert_eq!(addr.as_pathname().unwrap(), &tx_path); - /// - /// # Ok(()) - /// # } - /// ``` - Future<(BigInt, SocketAddr)> recvFrom({required U8 buf}); - - /// Sends data on the socket to the socket's peer. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If `send` is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, then it is guaranteed that the message was not sent. - /// - /// # Examples - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. - /// use tokio::net::UnixDatagram; - /// - /// // Create the pair of sockets - /// let (sock1, sock2) = UnixDatagram::pair()?; - /// - /// // Since the sockets are paired, the paired send/recv - /// // functions can be used - /// let bytes = b"hello world"; - /// sock1.send(bytes).await?; - /// - /// let mut buff = vec![0u8; 24]; - /// let size = sock2.recv(&mut buff).await?; - /// - /// let dgram = &buff[..size]; - /// assert_eq!(dgram, bytes); - /// - /// # Ok(()) - /// # } - /// ``` - Future send({required List buf}); - - /// Shuts down the read, write, or both halves of this connection. - /// - /// This function will cause all pending and future I/O calls on the - /// specified portions to immediately return with an appropriate value - /// (see the documentation of `Shutdown`). - /// - /// # Examples - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. - /// use tokio::net::UnixDatagram; - /// use std::net::Shutdown; - /// - /// // Create an unbound socket - /// let (socket, other) = UnixDatagram::pair()?; - /// - /// socket.shutdown(Shutdown::Both)?; - /// - /// // NOTE: the following commented out code does NOT work as expected. - /// // Due to an underlying issue, the recv call will block indefinitely. - /// // See: https://github.com/tokio-rs/tokio/issues/1679 - /// //let mut buff = vec![0u8; 24]; - /// //let size = socket.recv(&mut buff).await?; - /// //assert_eq!(size, 0); - /// - /// let send_result = socket.send(b"hello world").await; - /// assert!(send_result.is_err()); - /// - /// # Ok(()) - /// # } - /// ``` - Future shutdown({required Shutdown how}); - - /// Returns the value of the `SO_ERROR` option. - /// - /// # Examples - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// use tokio::net::UnixDatagram; - /// - /// // Create an unbound socket - /// let socket = UnixDatagram::unbound()?; - /// - /// if let Ok(Some(err)) = socket.take_error() { - /// println!("Got error: {:?}", err); - /// } - /// - /// # Ok(()) - /// # } - /// ``` - Future takeError(); - - /// Tries to receive a datagram from the peer without waiting. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixDatagram; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Connect to a peer - /// let dir = tempfile::tempdir().unwrap(); - /// let client_path = dir.path().join("client.sock"); - /// let server_path = dir.path().join("server.sock"); - /// let socket = UnixDatagram::bind(&client_path)?; - /// socket.connect(&server_path)?; - /// - /// loop { - /// // Wait for the socket to be readable - /// socket.readable().await?; - /// - /// // The buffer is **not** included in the async task and will - /// // only exist on the stack. - /// let mut buf = [0; 1024]; - /// - /// // Try to recv data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match socket.try_recv(&mut buf) { - /// Ok(n) => { - /// println!("GOT {:?}", &buf[..n]); - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryRecv({required U8 buf}); - - /// Tries to receive data from the socket without waiting. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixDatagram; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Connect to a peer - /// let dir = tempfile::tempdir().unwrap(); - /// let client_path = dir.path().join("client.sock"); - /// let server_path = dir.path().join("server.sock"); - /// let socket = UnixDatagram::bind(&client_path)?; - /// - /// loop { - /// // Wait for the socket to be readable - /// socket.readable().await?; - /// - /// // The buffer is **not** included in the async task and will - /// // only exist on the stack. - /// let mut buf = [0; 1024]; - /// - /// // Try to recv data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match socket.try_recv_from(&mut buf) { - /// Ok((n, _addr)) => { - /// println!("GOT {:?}", &buf[..n]); - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future<(BigInt, SocketAddr)> tryRecvFrom({required U8 buf}); - - /// Tries to send a datagram to the peer without waiting. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixDatagram; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let dir = tempfile::tempdir().unwrap(); - /// let client_path = dir.path().join("client.sock"); - /// let server_path = dir.path().join("server.sock"); - /// let socket = UnixDatagram::bind(&client_path)?; - /// socket.connect(&server_path)?; - /// - /// loop { - /// // Wait for the socket to be writable - /// socket.writable().await?; - /// - /// // Try to send data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match socket.try_send(b"hello world") { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future trySend({required List buf}); - - /// Creates a new `UnixDatagram` which is not bound to any address. - /// - /// # Examples - /// ``` - /// # use std::error::Error; - /// # #[tokio::main] - /// # async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// use tokio::net::UnixDatagram; - /// use tempfile::tempdir; - /// - /// // Create an unbound socket - /// let tx = UnixDatagram::unbound()?; - /// - /// // Create another, bound socket - /// let tmp = tempdir()?; - /// let rx_path = tmp.path().join("rx"); - /// let rx = UnixDatagram::bind(&rx_path)?; - /// - /// // Send to the bound socket - /// let bytes = b"hello world"; - /// tx.send_to(bytes, &rx_path).await?; - /// - /// let mut buf = vec![0u8; 24]; - /// let (size, addr) = rx.recv_from(&mut buf).await?; - /// - /// let dgram = &buf[..size]; - /// assert_eq!(dgram, bytes); - /// - /// # Ok(()) - /// # } - /// ``` - static Future unbound() => - RustLib.instance.api.tokioNetUnixDatagramUnbound(); - - /// Waits for the socket to become writable. - /// - /// This function is equivalent to `ready(Interest::WRITABLE)` and is - /// usually paired with `try_send()` or `try_send_to()`. - /// - /// The function may complete without the socket being writable. This is a - /// false-positive and attempting a `try_send()` will return with - /// `io::ErrorKind::WouldBlock`. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to write that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixDatagram; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let dir = tempfile::tempdir().unwrap(); - /// let client_path = dir.path().join("client.sock"); - /// let server_path = dir.path().join("server.sock"); - /// let socket = UnixDatagram::bind(&client_path)?; - /// socket.connect(&server_path)?; - /// - /// loop { - /// // Wait for the socket to be writable - /// socket.writable().await?; - /// - /// // Try to send data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match socket.try_send(b"hello world") { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future writable(); -} - -// Rust type: RustOpaqueMoi> -abstract class UnixListener implements RustOpaqueInterface { - /// Accepts a new incoming connection to this listener. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If the method is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, then it is guaranteed that no new connections were - /// accepted by this method. - Future<(UnixStream, SocketAddr)> accept(); - - /// Creates new [`UnixListener`] from a [`std::os::unix::net::UnixListener`]. - /// - /// This function is intended to be used to wrap a `UnixListener` from the - /// standard library in the Tokio equivalent. - /// - /// # Notes - /// - /// The caller is responsible for ensuring that the listener is in - /// non-blocking mode. Otherwise all I/O operations on the listener - /// will block the thread, which will cause unexpected behavior. - /// Non-blocking mode can be set using [`set_nonblocking`]. - /// - /// Passing a listener in blocking mode is always erroneous, - /// and the behavior in that case may change in the future. - /// For example, it could panic. - /// - /// [`set_nonblocking`]: std::os::unix::net::UnixListener::set_nonblocking - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixListener; - /// use std::os::unix::net::UnixListener as StdUnixListener; - /// # use std::error::Error; - /// - /// # async fn dox() -> Result<(), Box> { - /// let std_listener = StdUnixListener::bind("/path/to/the/socket")?; - /// std_listener.set_nonblocking(true)?; - /// let listener = UnixListener::from_std(std_listener)?; - /// # Ok(()) - /// # } - /// ``` - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromStd({required UnixListener listener}) => - RustLib.instance.api.tokioNetUnixListenerFromStd(listener: listener); - - /// Turns a [`tokio::net::UnixListener`] into a [`std::os::unix::net::UnixListener`]. - /// - /// The returned [`std::os::unix::net::UnixListener`] will have nonblocking mode - /// set as `true`. Use [`set_nonblocking`] to change the blocking mode if needed. - /// - /// # Examples - /// - /// ```rust,no_run - /// # use std::error::Error; - /// # async fn dox() -> Result<(), Box> { - /// let tokio_listener = tokio::net::UnixListener::bind("/path/to/the/socket")?; - /// let std_listener = tokio_listener.into_std()?; - /// std_listener.set_nonblocking(false)?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [`tokio::net::UnixListener`]: UnixListener - /// [`std::os::unix::net::UnixListener`]: std::os::unix::net::UnixListener - /// [`set_nonblocking`]: fn@std::os::unix::net::UnixListener::set_nonblocking - Future intoStd(); - - /// Returns the local socket address of this listener. - Future localAddr(); - - /// Polls to accept a new incoming connection to this listener. - /// - /// If there is no connection to accept, `Poll::Pending` is returned and the - /// current task will be notified by a waker. Note that on multiple calls - /// to `poll_accept`, only the `Waker` from the `Context` passed to the most - /// recent call is scheduled to receive a wakeup. - Future pollAccept({required Context cx}); - - /// Returns the value of the `SO_ERROR` option. - Future takeError(); -} - -// Rust type: RustOpaqueMoi> -abstract class UnixSocket implements RustOpaqueInterface { - /// Converts the socket into a [`UnixDatagram`]. - /// - /// Calling this function on a socket created by [`new_stream`] will return an error. - /// - /// [`new_stream`]: `UnixSocket::new_stream` - Future datagram(); - - /// Converts the socket into a `UnixListener`. - /// - /// `backlog` defines the maximum number of pending connections are queued - /// by the operating system at any given time. Connection are removed from - /// the queue with [`UnixListener::accept`]. When the queue is full, the - /// operating-system will start rejecting connections. - /// - /// Calling this function on a socket created by [`new_datagram`] will return an error. - /// - /// This calls the `listen(2)` operating-system function, marking the socket - /// as a passive socket. - /// - /// [`new_datagram`]: `UnixSocket::new_datagram` - Future listen({required int backlog}); - - /// Creates a new Unix datagram socket. - /// - /// Calls `socket(2)` with `AF_UNIX` and `SOCK_DGRAM`. - /// - /// # Returns - /// - /// On success, the newly created [`UnixSocket`] is returned. If an error is - /// encountered, it is returned instead. - static Future newDatagram() => - RustLib.instance.api.tokioNetUnixSocketNewDatagram(); - - /// Creates a new Unix stream socket. - /// - /// Calls `socket(2)` with `AF_UNIX` and `SOCK_STREAM`. - /// - /// # Returns - /// - /// On success, the newly created [`UnixSocket`] is returned. If an error is - /// encountered, it is returned instead. - static Future newStream() => - RustLib.instance.api.tokioNetUnixSocketNewStream(); -} - -// Rust type: RustOpaqueMoi> -abstract class UnixStream implements RustOpaqueInterface { - /// Creates new [`UnixStream`] from a [`std::os::unix::net::UnixStream`]. - /// - /// This function is intended to be used to wrap a `UnixStream` from the - /// standard library in the Tokio equivalent. - /// - /// # Notes - /// - /// The caller is responsible for ensuring that the stream is in - /// non-blocking mode. Otherwise all I/O operations on the stream - /// will block the thread, which will cause unexpected behavior. - /// Non-blocking mode can be set using [`set_nonblocking`]. - /// - /// Passing a listener in blocking mode is always erroneous, - /// and the behavior in that case may change in the future. - /// For example, it could panic. - /// - /// [`set_nonblocking`]: std::os::unix::net::UnixStream::set_nonblocking - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixStream; - /// use std::os::unix::net::UnixStream as StdUnixStream; - /// # use std::error::Error; - /// - /// # async fn dox() -> Result<(), Box> { - /// let std_stream = StdUnixStream::connect("/path/to/the/socket")?; - /// std_stream.set_nonblocking(true)?; - /// let stream = UnixStream::from_std(std_stream)?; - /// # Ok(()) - /// # } - /// ``` - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromStd({required UnixStream stream}) => - RustLib.instance.api.tokioNetUnixStreamFromStd(stream: stream); - - /// Splits a `UnixStream` into a read half and a write half, which can be used - /// to read and write the stream concurrently. - /// - /// Unlike [`split`], the owned halves can be moved to separate tasks, however - /// this comes at the cost of a heap allocation. - /// - /// **Note:** Dropping the write half will only shut down the write half of the - /// stream. This is equivalent to calling [`shutdown()`] on the `UnixStream`. - /// - /// [`split`]: Self::split() - /// [`shutdown()`]: fn@crate::io::AsyncWriteExt::shutdown - Future<(OwnedReadHalf, OwnedWriteHalf)> intoSplit(); - - /// Turns a [`tokio::net::UnixStream`] into a [`std::os::unix::net::UnixStream`]. - /// - /// The returned [`std::os::unix::net::UnixStream`] will have nonblocking - /// mode set as `true`. Use [`set_nonblocking`] to change the blocking - /// mode if needed. - /// - /// # Examples - /// - /// ``` - /// use std::error::Error; - /// use std::io::Read; - /// use tokio::net::UnixListener; - /// # use tokio::net::UnixStream; - /// # use tokio::io::AsyncWriteExt; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. - /// let dir = tempfile::tempdir().unwrap(); - /// let bind_path = dir.path().join("bind_path"); - /// - /// let mut data = [0u8; 12]; - /// let listener = UnixListener::bind(&bind_path)?; - /// # let handle = tokio::spawn(async { - /// # let mut stream = UnixStream::connect(bind_path).await.unwrap(); - /// # stream.write(b"Hello world!").await.unwrap(); - /// # }); - /// let (tokio_unix_stream, _) = listener.accept().await?; - /// let mut std_unix_stream = tokio_unix_stream.into_std()?; - /// # handle.await.expect("The task being joined has panicked"); - /// std_unix_stream.set_nonblocking(false)?; - /// std_unix_stream.read_exact(&mut data)?; - /// # assert_eq!(b"Hello world!", &data); - /// Ok(()) - /// } - /// ``` - /// [`tokio::net::UnixStream`]: UnixStream - /// [`std::os::unix::net::UnixStream`]: std::os::unix::net::UnixStream - /// [`set_nonblocking`]: fn@std::os::unix::net::UnixStream::set_nonblocking - Future intoStd(); - - /// Returns the socket address of the local half of this connection. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixStream; - /// - /// # async fn dox() -> Result<(), Box> { - /// let dir = tempfile::tempdir().unwrap(); - /// let bind_path = dir.path().join("bind_path"); - /// let stream = UnixStream::connect(bind_path).await?; - /// - /// println!("{:?}", stream.local_addr()?); - /// # Ok(()) - /// # } - /// ``` - Future localAddr(); - - /// Creates an unnamed pair of connected sockets. - /// - /// This function will create a pair of interconnected Unix sockets for - /// communicating back and forth between one another. Each socket will - /// be associated with the default event loop's handle. - static Future<(UnixStream, UnixStream)> pair() => - RustLib.instance.api.tokioNetUnixStreamPair(); - - /// Returns the socket address of the remote half of this connection. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixStream; - /// - /// # async fn dox() -> Result<(), Box> { - /// let dir = tempfile::tempdir().unwrap(); - /// let bind_path = dir.path().join("bind_path"); - /// let stream = UnixStream::connect(bind_path).await?; - /// - /// println!("{:?}", stream.peer_addr()?); - /// # Ok(()) - /// # } - /// ``` - Future peerAddr(); - - /// Returns effective credentials of the process which called `connect` or `pair`. - Future peerCred(); - - /// Polls for read readiness. - /// - /// If the unix stream is not currently ready for reading, this method will - /// store a clone of the `Waker` from the provided `Context`. When the unix - /// stream becomes ready for reading, `Waker::wake` will be called on the - /// waker. - /// - /// Note that on multiple calls to `poll_read_ready` or `poll_read`, only - /// the `Waker` from the `Context` passed to the most recent call is - /// scheduled to receive a wakeup. (However, `poll_write_ready` retains a - /// second, independent waker.) - /// - /// This function is intended for cases where creating and pinning a future - /// via [`readable`] is not feasible. Where possible, using [`readable`] is - /// preferred, as this supports polling from multiple tasks at once. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the unix stream is not ready for reading. - /// * `Poll::Ready(Ok(()))` if the unix stream is ready for reading. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`readable`]: method@Self::readable - Future pollReadReady({required Context cx}); - - /// Polls for write readiness. - /// - /// If the unix stream is not currently ready for writing, this method will - /// store a clone of the `Waker` from the provided `Context`. When the unix - /// stream becomes ready for writing, `Waker::wake` will be called on the - /// waker. - /// - /// Note that on multiple calls to `poll_write_ready` or `poll_write`, only - /// the `Waker` from the `Context` passed to the most recent call is - /// scheduled to receive a wakeup. (However, `poll_read_ready` retains a - /// second, independent waker.) - /// - /// This function is intended for cases where creating and pinning a future - /// via [`writable`] is not feasible. Where possible, using [`writable`] is - /// preferred, as this supports polling from multiple tasks at once. - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the unix stream is not ready for writing. - /// * `Poll::Ready(Ok(()))` if the unix stream is ready for writing. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - /// - /// [`writable`]: method@Self::writable - Future pollWriteReady({required Context cx}); - - /// Waits for the socket to become readable. - /// - /// This function is equivalent to `ready(Interest::READABLE)` and is usually - /// paired with `try_read()`. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let dir = tempfile::tempdir().unwrap(); - /// let bind_path = dir.path().join("bind_path"); - /// let stream = UnixStream::connect(bind_path).await?; - /// - /// let mut msg = vec![0; 1024]; - /// - /// loop { - /// // Wait for the socket to be readable - /// stream.readable().await?; - /// - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_read(&mut msg) { - /// Ok(n) => { - /// msg.truncate(n); - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// println!("GOT = {:?}", msg); - /// Ok(()) - /// } - /// ``` - Future readable(); - - /// Waits for any of the requested ready states. - /// - /// This function is usually paired with `try_read()` or `try_write()`. It - /// can be used to concurrently read / write to the same socket on a single - /// task without splitting the socket. - /// - /// The function may complete without the socket being ready. This is a - /// false-positive and attempting an operation will return with - /// `io::ErrorKind::WouldBlock`. The function can also return with an empty - /// [`Ready`] set, so you should always check the returned value and possibly - /// wait again if the requested states are not set. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read or write that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// Concurrently read and write to the stream on the same task without - /// splitting. - /// - /// ```no_run - /// use tokio::io::Interest; - /// use tokio::net::UnixStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// let dir = tempfile::tempdir().unwrap(); - /// let bind_path = dir.path().join("bind_path"); - /// let stream = UnixStream::connect(bind_path).await?; - /// - /// loop { - /// let ready = stream.ready(Interest::READABLE | Interest::WRITABLE).await?; - /// - /// if ready.is_readable() { - /// let mut data = vec![0; 1024]; - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_read(&mut data) { - /// Ok(n) => { - /// println!("read {} bytes", n); - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// - /// } - /// - /// if ready.is_writable() { - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_write(b"hello world") { - /// Ok(n) => { - /// println!("write {} bytes", n); - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// } - /// } - /// ``` - Future ready({required Interest interest}); - - /// Returns the value of the `SO_ERROR` option. - Future takeError(); - - /// Try to read data from the stream into the provided buffer, returning how - /// many bytes were read. - /// - /// Receives any pending data from the socket but does not wait for new data - /// to arrive. On success, returns the number of bytes read. Because - /// `try_read()` is non-blocking, the buffer does not have to be stored by - /// the async task and can exist entirely on the stack. - /// - /// Usually, [`readable()`] or [`ready()`] is used with this function. - /// - /// [`readable()`]: UnixStream::readable() - /// [`ready()`]: UnixStream::ready() - /// - /// # Return - /// - /// If data is successfully read, `Ok(n)` is returned, where `n` is the - /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: - /// - /// 1. The stream's read half is closed and will no longer yield data. - /// 2. The specified buffer was 0 bytes in length. - /// - /// If the stream is not ready to read data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let dir = tempfile::tempdir().unwrap(); - /// let bind_path = dir.path().join("bind_path"); - /// let stream = UnixStream::connect(bind_path).await?; - /// - /// loop { - /// // Wait for the socket to be readable - /// stream.readable().await?; - /// - /// // Creating the buffer **after** the `await` prevents it from - /// // being stored in the async task. - /// let mut buf = [0; 4096]; - /// - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_read(&mut buf) { - /// Ok(0) => break, - /// Ok(n) => { - /// println!("read {} bytes", n); - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryRead({required U8 buf}); - - /// Tries to read data from the stream into the provided buffers, returning - /// how many bytes were read. - /// - /// Data is copied to fill each buffer in order, with the final buffer - /// written to possibly being only partially filled. This method behaves - /// equivalently to a single call to [`try_read()`] with concatenated - /// buffers. - /// - /// Receives any pending data from the socket but does not wait for new data - /// to arrive. On success, returns the number of bytes read. Because - /// `try_read_vectored()` is non-blocking, the buffer does not have to be - /// stored by the async task and can exist entirely on the stack. - /// - /// Usually, [`readable()`] or [`ready()`] is used with this function. - /// - /// [`try_read()`]: UnixStream::try_read() - /// [`readable()`]: UnixStream::readable() - /// [`ready()`]: UnixStream::ready() - /// - /// # Return - /// - /// If data is successfully read, `Ok(n)` is returned, where `n` is the - /// number of bytes read. `Ok(0)` indicates the stream's read half is closed - /// and will no longer yield data. If the stream is not ready to read data - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixStream; - /// use std::error::Error; - /// use std::io::{self, IoSliceMut}; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let dir = tempfile::tempdir().unwrap(); - /// let bind_path = dir.path().join("bind_path"); - /// let stream = UnixStream::connect(bind_path).await?; - /// - /// loop { - /// // Wait for the socket to be readable - /// stream.readable().await?; - /// - /// // Creating the buffer **after** the `await` prevents it from - /// // being stored in the async task. - /// let mut buf_a = [0; 512]; - /// let mut buf_b = [0; 1024]; - /// let mut bufs = [ - /// IoSliceMut::new(&mut buf_a), - /// IoSliceMut::new(&mut buf_b), - /// ]; - /// - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_read_vectored(&mut bufs) { - /// Ok(0) => break, - /// Ok(n) => { - /// println!("read {} bytes", n); - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryReadVectored({required IoSliceMut bufs}); - - /// Tries to write a buffer to the stream, returning how many bytes were - /// written. - /// - /// The function will attempt to write the entire contents of `buf`, but - /// only part of the buffer may be written. - /// - /// This function is usually paired with `writable()`. - /// - /// # Return - /// - /// If data is successfully written, `Ok(n)` is returned, where `n` is the - /// number of bytes written. If the stream is not ready to write data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let dir = tempfile::tempdir().unwrap(); - /// let bind_path = dir.path().join("bind_path"); - /// let stream = UnixStream::connect(bind_path).await?; - /// - /// loop { - /// // Wait for the socket to be writable - /// stream.writable().await?; - /// - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_write(b"hello world") { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryWrite({required List buf}); - - /// Tries to write several buffers to the stream, returning how many bytes - /// were written. - /// - /// Data is written from each buffer in order, with the final buffer read - /// from possible being only partially consumed. This method behaves - /// equivalently to a single call to [`try_write()`] with concatenated - /// buffers. - /// - /// This function is usually paired with `writable()`. - /// - /// [`try_write()`]: UnixStream::try_write() - /// - /// # Return - /// - /// If data is successfully written, `Ok(n)` is returned, where `n` is the - /// number of bytes written. If the stream is not ready to write data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let dir = tempfile::tempdir().unwrap(); - /// let bind_path = dir.path().join("bind_path"); - /// let stream = UnixStream::connect(bind_path).await?; - /// - /// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; - /// - /// loop { - /// // Wait for the socket to be writable - /// stream.writable().await?; - /// - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_write_vectored(&bufs) { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryWriteVectored({required List buf}); - - /// Waits for the socket to become writable. - /// - /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually - /// paired with `try_write()`. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to write that fails with `WouldBlock` or - /// `Poll::Pending`. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::UnixStream; - /// use std::error::Error; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let dir = tempfile::tempdir().unwrap(); - /// let bind_path = dir.path().join("bind_path"); - /// let stream = UnixStream::connect(bind_path).await?; - /// - /// loop { - /// // Wait for the socket to be writable - /// stream.writable().await?; - /// - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match stream.try_write(b"hello world") { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future writable(); -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart b/mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart deleted file mode 100644 index 785aecf..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart +++ /dev/null @@ -1,297 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import '../../../lib.dart'; -import '../io.dart'; -import '../net.dart'; -import '../signal/unix.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'tcp/split_owned.dart'; -import 'unix.dart'; - -// Rust type: RustOpaqueMoi> -abstract class OwnedReadHalf implements RustOpaqueInterface { - /// Returns the local address that this stream is bound to. - Future localAddr(); - - /// Receives data on the socket from the remote address to which it is - /// connected, without removing that data from the queue. On success, - /// returns the number of bytes peeked. - /// - /// See the [`TcpStream::peek`] level documentation for more details. - /// - /// [`TcpStream::peek`]: TcpStream::peek - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::TcpStream; - /// use tokio::io::AsyncReadExt; - /// use std::error::Error; - /// - /// #[tokio::main] - /// async fn main() -> Result<(), Box> { - /// // Connect to a peer - /// let stream = TcpStream::connect("127.0.0.1:8080").await?; - /// let (mut read_half, _) = stream.into_split(); - /// - /// let mut b1 = [0; 10]; - /// let mut b2 = [0; 10]; - /// - /// // Peek at the data - /// let n = read_half.peek(&mut b1).await?; - /// - /// // Read the data - /// assert_eq!(n, read_half.read(&mut b2[..n]).await?); - /// assert_eq!(&b1[..n], &b2[..n]); - /// - /// Ok(()) - /// } - /// ``` - /// - /// The [`read`] method is defined on the [`AsyncReadExt`] trait. - /// - /// [`read`]: fn@crate::io::AsyncReadExt::read - /// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt - Future peek({required U8 buf}); - - /// Returns the remote address that this stream is connected to. - Future peerAddr(); - - /// Attempt to receive data on the socket, without removing that data from - /// the queue, registering the current task for wakeup if data is not yet - /// available. - /// - /// Note that on multiple calls to `poll_peek` or `poll_read`, only the - /// `Waker` from the `Context` passed to the most recent call is scheduled - /// to receive a wakeup. - /// - /// See the [`TcpStream::poll_peek`] level documentation for more details. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::io::{self, ReadBuf}; - /// use tokio::net::TcpStream; - /// - /// use std::future::poll_fn; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let stream = TcpStream::connect("127.0.0.1:8000").await?; - /// let (mut read_half, _) = stream.into_split(); - /// let mut buf = [0; 10]; - /// let mut buf = ReadBuf::new(&mut buf); - /// - /// poll_fn(|cx| { - /// read_half.poll_peek(cx, &mut buf) - /// }).await?; - /// - /// Ok(()) - /// } - /// ``` - /// - /// [`TcpStream::poll_peek`]: TcpStream::poll_peek - Future pollPeek({required Context cx, required ReadBuf buf}); - - /// Waits for the socket to become readable. - /// - /// This function is equivalent to `ready(Interest::READABLE)` and is usually - /// paired with `try_read()`. - /// - /// This function is also equivalent to [`TcpStream::ready`]. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read that fails with `WouldBlock` or - /// `Poll::Pending`. - Future readable(); - - /// Waits for any of the requested ready states. - /// - /// This function is usually paired with [`try_read()`]. It can be used instead - /// of [`readable()`] to check the returned ready set for [`Ready::READABLE`] - /// and [`Ready::READ_CLOSED`] events. - /// - /// The function may complete without the socket being ready. This is a - /// false-positive and attempting an operation will return with - /// `io::ErrorKind::WouldBlock`. The function can also return with an empty - /// [`Ready`] set, so you should always check the returned value and possibly - /// wait again if the requested states are not set. - /// - /// This function is equivalent to [`TcpStream::ready`]. - /// - /// [`try_read()`]: Self::try_read - /// [`readable()`]: Self::readable - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read or write that fails with `WouldBlock` or - /// `Poll::Pending`. - Future ready({required Interest interest}); - - /// Attempts to put the two halves of a `TcpStream` back together and - /// recover the original socket. Succeeds only if the two halves - /// originated from the same call to [`into_split`]. - /// - /// [`into_split`]: TcpStream::into_split() - Future reunite({required OwnedWriteHalf other}); - - /// Tries to read data from the stream into the provided buffer, returning how - /// many bytes were read. - /// - /// Receives any pending data from the socket but does not wait for new data - /// to arrive. On success, returns the number of bytes read. Because - /// `try_read()` is non-blocking, the buffer does not have to be stored by - /// the async task and can exist entirely on the stack. - /// - /// Usually, [`readable()`] or [`ready()`] is used with this function. - /// - /// [`readable()`]: Self::readable() - /// [`ready()`]: Self::ready() - /// - /// # Return - /// - /// If data is successfully read, `Ok(n)` is returned, where `n` is the - /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: - /// - /// 1. The stream's read half is closed and will no longer yield data. - /// 2. The specified buffer was 0 bytes in length. - /// - /// If the stream is not ready to read data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - Future tryRead({required U8 buf}); - - /// Tries to read data from the stream into the provided buffers, returning - /// how many bytes were read. - /// - /// Data is copied to fill each buffer in order, with the final buffer - /// written to possibly being only partially filled. This method behaves - /// equivalently to a single call to [`try_read()`] with concatenated - /// buffers. - /// - /// Receives any pending data from the socket but does not wait for new data - /// to arrive. On success, returns the number of bytes read. Because - /// `try_read_vectored()` is non-blocking, the buffer does not have to be - /// stored by the async task and can exist entirely on the stack. - /// - /// Usually, [`readable()`] or [`ready()`] is used with this function. - /// - /// [`try_read()`]: Self::try_read() - /// [`readable()`]: Self::readable() - /// [`ready()`]: Self::ready() - /// - /// # Return - /// - /// If data is successfully read, `Ok(n)` is returned, where `n` is the - /// number of bytes read. `Ok(0)` indicates the stream's read half is closed - /// and will no longer yield data. If the stream is not ready to read data - /// `Err(io::ErrorKind::WouldBlock)` is returned. - Future tryReadVectored({required IoSliceMut bufs}); -} - -// Rust type: RustOpaqueMoi> -abstract class OwnedWriteHalf implements RustOpaqueInterface { - /// Returns the local address that this stream is bound to. - Future localAddr(); - - /// Returns the remote address that this stream is connected to. - Future peerAddr(); - - /// Waits for any of the requested ready states. - /// - /// This function is usually paired with [`try_write()`]. It can be used instead - /// of [`writable()`] to check the returned ready set for [`Ready::WRITABLE`] - /// and [`Ready::WRITE_CLOSED`] events. - /// - /// The function may complete without the socket being ready. This is a - /// false-positive and attempting an operation will return with - /// `io::ErrorKind::WouldBlock`. The function can also return with an empty - /// [`Ready`] set, so you should always check the returned value and possibly - /// wait again if the requested states are not set. - /// - /// This function is equivalent to [`TcpStream::ready`]. - /// - /// [`try_write()`]: Self::try_write - /// [`writable()`]: Self::writable - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read or write that fails with `WouldBlock` or - /// `Poll::Pending`. - Future ready({required Interest interest}); - - /// Attempts to put the two halves of a `TcpStream` back together and - /// recover the original socket. Succeeds only if the two halves - /// originated from the same call to [`into_split`]. - /// - /// [`into_split`]: TcpStream::into_split() - Future reunite({required OwnedReadHalf other}); - - /// Tries to write a buffer to the stream, returning how many bytes were - /// written. - /// - /// The function will attempt to write the entire contents of `buf`, but - /// only part of the buffer may be written. - /// - /// This function is usually paired with `writable()`. - /// - /// # Return - /// - /// If data is successfully written, `Ok(n)` is returned, where `n` is the - /// number of bytes written. If the stream is not ready to write data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - Future tryWrite({required List buf}); - - /// Tries to write several buffers to the stream, returning how many bytes - /// were written. - /// - /// Data is written from each buffer in order, with the final buffer read - /// from possible being only partially consumed. This method behaves - /// equivalently to a single call to [`try_write()`] with concatenated - /// buffers. - /// - /// This function is usually paired with `writable()`. - /// - /// [`try_write()`]: Self::try_write() - /// - /// # Return - /// - /// If data is successfully written, `Ok(n)` is returned, where `n` is the - /// number of bytes written. If the stream is not ready to write data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - Future tryWriteVectored({required List bufs}); - - /// Waits for the socket to become writable. - /// - /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually - /// paired with `try_write()`. - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to write that fails with `WouldBlock` or - /// `Poll::Pending`. - Future writable(); -} - -// Rust type: RustOpaqueMoi> -abstract class ReuniteError implements RustOpaqueInterface { - OwnedReadHalf get field0; - - OwnedWriteHalf get field1; - - set field0(OwnedReadHalf field0); - - set field1(OwnedWriteHalf field1); -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart b/mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart deleted file mode 100644 index 899f6ce..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart +++ /dev/null @@ -1,13 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `bind` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `fmt`, `try_from` - -// Rust type: RustOpaqueMoi >>> -abstract class PollResultTcpStreamSocketAddr implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart b/mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart deleted file mode 100644 index 931e92b..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart +++ /dev/null @@ -1,20 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `try_read_buf` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_ref`, `as_ref`, `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `is_write_vectored`, `poll_flush`, `poll_read`, `poll_shutdown`, `poll_write_vectored`, `poll_write` -// These functions have error during generation (see debug logs or enable `stop_on_error: true` for more details): `forget` - -// Rust type: RustOpaqueMoi]>> -abstract class IoSliceMut implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class IoSlice implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi >>> -abstract class PollResultUsize implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/udp.dart b/mobile_app/lib/src/rust/third_party/tokio/net/udp.dart deleted file mode 100644 index 32fe7b8..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/net/udp.dart +++ /dev/null @@ -1,13 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `async_io`, `bind`, `connect`, `recv_buf_from`, `recv_buf`, `send_to`, `try_io`, `try_recv_buf_from`, `try_recv_buf` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `fmt`, `try_from` - -// Rust type: RustOpaqueMoi >>> -abstract class PollResultSocketAddr implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix.dart deleted file mode 100644 index dd3efc5..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/net/unix.dart +++ /dev/null @@ -1,41 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import '../../../lib.dart'; -import '../net.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// Rust type: RustOpaqueMoi> -abstract class SocketAddr implements RustOpaqueInterface, ToSocketAddrs { - /// Returns the contents of this address if it is a `pathname` address. - /// - /// Documentation reflected in [`SocketAddr`]. - /// - /// [`SocketAddr`]: std::os::unix::net::SocketAddr - Future asPathname(); - - /// Returns `true` if the address is unnamed. - /// - /// Documentation reflected in [`SocketAddr`]. - /// - /// [`SocketAddr`]: std::os::unix::net::SocketAddr - Future isUnnamed(); -} - -// Rust type: RustOpaqueMoi> -abstract class UCred implements RustOpaqueInterface { - /// Gets GID (group ID) of the process. - Future gid(); - - /// Gets PID (process ID) of the process. - /// - /// This is only implemented under Linux, Android, iOS, macOS, Solaris, - /// Illumos and Cygwin. On other platforms this will always return `None`. - Future pid(); - - /// Gets UID (user ID) of the process. - Future uid(); -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart deleted file mode 100644 index 3a90df1..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart +++ /dev/null @@ -1,13 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `async_io`, `bind`, `connect`, `poll_send_to`, `recv_buf_from`, `recv_buf`, `send_to`, `try_io`, `try_recv_buf_from`, `try_recv_buf`, `try_send_to` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_raw_fd`, `fmt`, `try_from` - -// Rust type: RustOpaqueMoi> -abstract class Shutdown implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart deleted file mode 100644 index 0441883..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart +++ /dev/null @@ -1,13 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `bind` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_raw_fd`, `fmt`, `try_from` - -// Rust type: RustOpaqueMoi >>> -abstract class PollResultUnixStreamSocketAddr implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart deleted file mode 100644 index ac63416..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart +++ /dev/null @@ -1,2871 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../../frb_generated.dart'; -import '../../../../lib.dart'; -import '../../io.dart'; -import '../../process/sys.dart'; -import '../../signal/unix.dart'; -import '../../sync/broadcast.dart'; -import '../../sync/broadcast/error.dart'; -import '../../sync/mpsc/bounded.dart'; -import '../../sync/mpsc/error.dart'; -import '../../sync/oneshot.dart'; -import '../../sync/watch.dart'; -import '../tcp/split_owned.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `open_receiver`, `open_sender`, `try_read_buf` -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `PipeEnd` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_fd`, `as_raw_fd`, `as_raw_fd`, `assert_receiver_is_total_eq`, `clone`, `clone`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `is_write_vectored`, `poll_flush`, `poll_read`, `poll_shutdown`, `poll_write_vectored`, `poll_write` - -/// Creates a new anonymous Unix pipe. -/// -/// This function will open a new pipe and associate both pipe ends with the default -/// event loop. -/// -/// If you need to create a pipe for communication with a spawned process, you can -/// use [`Stdio::piped()`] instead. -/// -/// [`Stdio::piped()`]: std::process::Stdio::piped -/// -/// # Errors -/// -/// If creating a pipe fails, this function will return with the related OS error. -/// -/// # Examples -/// -/// Create a pipe and pass the writing end to a spawned process. -/// -/// ```no_run -/// use tokio::net::unix::pipe; -/// use tokio::process::Command; -/// # use tokio::io::AsyncReadExt; -/// # use std::error::Error; -/// -/// # async fn dox() -> Result<(), Box> { -/// let (tx, mut rx) = pipe::pipe()?; -/// let mut buffer = String::new(); -/// -/// let status = Command::new("echo") -/// .arg("Hello, world!") -/// .stdout(tx.into_blocking_fd()?) -/// .status(); -/// rx.read_to_string(&mut buffer).await?; -/// -/// assert!(status.await?.success()); -/// assert_eq!(buffer, "Hello, world!\n"); -/// # Ok(()) -/// # } -/// ``` -/// -/// # Panics -/// -/// This function panics if it is not called from within a runtime with -/// IO enabled. -/// -/// The runtime is usually set implicitly when this function is called -/// from a future driven by a tokio runtime, otherwise runtime can be set -/// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. -Future<(Sender, Receiver)> pipe() => - RustLib.instance.api.tokioNetUnixPipePipe(); - -// Rust type: RustOpaqueMoi> -abstract class OpenOptions implements RustOpaqueInterface { - /// Sets the option for the append mode. - /// - /// This option, when true, means that writes will append to a file instead - /// of overwriting previous contents. Note that setting - /// `.write(true).append(true)` has the same effect as setting only - /// `.append(true)`. - /// - /// For most filesystems, the operating system guarantees that all writes are - /// atomic: no writes get mangled because another process writes at the same - /// time. - /// - /// One maybe obvious note when using append-mode: make sure that all data - /// that belongs together is written to the file in one operation. This - /// can be done by concatenating strings before passing them to [`write()`], - /// or using a buffered writer (with a buffer of adequate size), - /// and calling [`flush()`] when the message is complete. - /// - /// If a file is opened with both read and append access, beware that after - /// opening, and after every write, the position for reading may be set at the - /// end of the file. So, before writing, save the current position (using - /// [`seek`]`(`[`SeekFrom`]`::`[`Current`]`(0))`), and restore it before the next read. - /// - /// This is an async version of [`std::fs::OpenOptions::append`][std] - /// - /// [std]: std::fs::OpenOptions::append - /// - /// ## Note - /// - /// This function doesn't create the file if it doesn't exist. Use the [`create`] - /// method to do so. - /// - /// [`write()`]: crate::io::AsyncWriteExt::write - /// [`flush()`]: crate::io::AsyncWriteExt::flush - /// [`seek`]: crate::io::AsyncSeekExt::seek - /// [`SeekFrom`]: std::io::SeekFrom - /// [`Current`]: std::io::SeekFrom::Current - /// [`create`]: OpenOptions::create - /// - /// # Examples - /// - /// ```no_run - /// use tokio::fs::OpenOptions; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let file = OpenOptions::new() - /// .append(true) - /// .open("foo.txt") - /// .await?; - /// - /// Ok(()) - /// } - /// ``` - Future append({required bool append}); - - /// Sets the option for creating a new file. - /// - /// This option indicates whether a new file will be created if the file - /// does not yet already exist. - /// - /// In order for the file to be created, [`write`] or [`append`] access must - /// be used. - /// - /// This is an async version of [`std::fs::OpenOptions::create`][std] - /// - /// [std]: std::fs::OpenOptions::create - /// [`write`]: OpenOptions::write - /// [`append`]: OpenOptions::append - /// - /// # Examples - /// - /// ```no_run - /// use tokio::fs::OpenOptions; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let file = OpenOptions::new() - /// .write(true) - /// .create(true) - /// .open("foo.txt") - /// .await?; - /// - /// Ok(()) - /// } - /// ``` - Future create({required bool create}); - - /// Sets the option to always create a new file. - /// - /// This option indicates whether a new file will be created. No file is - /// allowed to exist at the target location, also no (dangling) symlink. - /// - /// This option is useful because it is atomic. Otherwise between checking - /// whether a file exists and creating a new one, the file may have been - /// created by another process (a TOCTOU race condition / attack). - /// - /// If `.create_new(true)` is set, [`.create()`] and [`.truncate()`] are - /// ignored. - /// - /// The file must be opened with write or append access in order to create a - /// new file. - /// - /// This is an async version of [`std::fs::OpenOptions::create_new`][std] - /// - /// [std]: std::fs::OpenOptions::create_new - /// [`.create()`]: OpenOptions::create - /// [`.truncate()`]: OpenOptions::truncate - /// - /// # Examples - /// - /// ```no_run - /// use tokio::fs::OpenOptions; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let file = OpenOptions::new() - /// .write(true) - /// .create_new(true) - /// .open("foo.txt") - /// .await?; - /// - /// Ok(()) - /// } - /// ``` - Future createNew({required bool createNew}); - - /// Passes custom flags to the `flags` argument of `open`. - /// - /// The bits that define the access mode are masked out with `O_ACCMODE`, to - /// ensure they do not interfere with the access mode set by Rusts options. - /// - /// Custom flags can only set flags, not remove flags set by Rusts options. - /// This options overwrites any previously set custom flags. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::fs::OpenOptions; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let mut options = OpenOptions::new(); - /// options.write(true); - /// if cfg!(unix) { - /// options.custom_flags(libc::O_NOFOLLOW); - /// } - /// let file = options.open("foo.txt").await?; - /// - /// Ok(()) - /// } - /// ``` - Future customFlags({required int flags}); - - static Future default_() => - RustLib.instance.api.tokioNetUnixPipeOpenOptionsDefault(); - - /// Sets the mode bits that a new file will be created with. - /// - /// If a new file is created as part of an `OpenOptions::open` call then this - /// specified `mode` will be used as the permission bits for the new file. - /// If no `mode` is set, the default of `0o666` will be used. - /// The operating system masks out bits with the system's `umask`, to produce - /// the final permissions. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::fs::OpenOptions; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let mut options = OpenOptions::new(); - /// options.mode(0o644); // Give read/write for owner and read for others. - /// let file = options.open("foo.txt").await?; - /// - /// Ok(()) - /// } - /// ``` - Future mode({required int mode}); - - // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - /// Creates a blank new set of options ready for configuration. - /// - /// All options are initially set to `false`. - /// - /// This is an async version of [`std::fs::OpenOptions::new`][std] - /// - /// [std]: std::fs::OpenOptions::new - /// - /// # Examples - /// - /// ```no_run - /// use tokio::fs::OpenOptions; - /// - /// let mut options = OpenOptions::new(); - /// let future = options.read(true).open("foo.txt"); - /// ``` - static Future newInstance() => - RustLib.instance.api.tokioNetUnixPipeOpenOptionsNew(); - - /// Sets the option for read access. - /// - /// This option, when true, will indicate that the file should be - /// `read`-able if opened. - /// - /// This is an async version of [`std::fs::OpenOptions::read`][std] - /// - /// [std]: std::fs::OpenOptions::read - /// - /// # Examples - /// - /// ```no_run - /// use tokio::fs::OpenOptions; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let file = OpenOptions::new() - /// .read(true) - /// .open("foo.txt") - /// .await?; - /// - /// Ok(()) - /// } - /// ``` - Future read({required bool read}); - - /// Sets the option for truncating a previous file. - /// - /// If a file is successfully opened with this option set it will truncate - /// the file to 0 length if it already exists. - /// - /// The file must be opened with write access for truncate to work. - /// - /// This is an async version of [`std::fs::OpenOptions::truncate`][std] - /// - /// [std]: std::fs::OpenOptions::truncate - /// - /// # Examples - /// - /// ```no_run - /// use tokio::fs::OpenOptions; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let file = OpenOptions::new() - /// .write(true) - /// .truncate(true) - /// .open("foo.txt") - /// .await?; - /// - /// Ok(()) - /// } - /// ``` - Future truncate({required bool truncate}); - - /// Sets the option to skip the check for FIFO file type. - /// - /// By default, [`open_receiver`] and [`open_sender`] functions will check - /// if the opened file is a FIFO file. Set this option to `true` if you are - /// sure the file is a FIFO file. - /// - /// [`open_receiver`]: OpenOptions::open_receiver - /// [`open_sender`]: OpenOptions::open_sender - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::unix::pipe; - /// use nix::{unistd::mkfifo, sys::stat::Mode}; - /// # use std::error::Error; - /// - /// // Our program has exclusive access to this path. - /// const FIFO_NAME: &str = "path/to/a/new/fifo"; - /// - /// # async fn dox() -> Result<(), Box> { - /// mkfifo(FIFO_NAME, Mode::S_IRWXU)?; - /// let rx = pipe::OpenOptions::new() - /// .unchecked(true) - /// .open_receiver(FIFO_NAME)?; - /// # Ok(()) - /// # } - /// ``` - Future unchecked({required bool value}); - - /// Sets the option for write access. - /// - /// This option, when true, will indicate that the file should be - /// `write`-able if opened. - /// - /// This is an async version of [`std::fs::OpenOptions::write`][std] - /// - /// [std]: std::fs::OpenOptions::write - /// - /// # Examples - /// - /// ```no_run - /// use tokio::fs::OpenOptions; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// let file = OpenOptions::new() - /// .write(true) - /// .open("foo.txt") - /// .await?; - /// - /// Ok(()) - /// } - /// ``` - Future write({required bool write}); -} - -// Rust type: RustOpaqueMoi >>> -abstract class PollResult implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Receiver implements RustOpaqueInterface { - /// Creates a new `Receiver` from a [`File`]. - /// - /// This function is intended to construct a pipe from a [`File`] representing - /// a special FIFO file. It will check if the file is a pipe and has read access, - /// set it in non-blocking mode and perform the conversion. - /// - /// # Errors - /// - /// Fails with `io::ErrorKind::InvalidInput` if the file is not a pipe or it - /// does not have read access. Also fails with any standard OS error if it occurs. - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromFile({required File file}) => - RustLib.instance.api.tokioNetUnixPipeReceiverFromFile(file: file); - - /// Creates a new `Receiver` from a [`File`] without checking pipe properties. - /// - /// This function is intended to construct a pipe from a File representing - /// a special FIFO file. The conversion assumes nothing about the underlying - /// file; it is left up to the user to make sure it is opened with read access, - /// represents a pipe and is set in non-blocking mode. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::unix::pipe; - /// use std::fs::OpenOptions; - /// use std::os::unix::fs::{FileTypeExt, OpenOptionsExt}; - /// # use std::error::Error; - /// - /// const FIFO_NAME: &str = "path/to/a/fifo"; - /// - /// # async fn dox() -> Result<(), Box> { - /// let file = OpenOptions::new() - /// .read(true) - /// .custom_flags(libc::O_NONBLOCK) - /// .open(FIFO_NAME)?; - /// if file.metadata()?.file_type().is_fifo() { - /// let rx = pipe::Receiver::from_file_unchecked(file)?; - /// /* use the Receiver */ - /// } - /// # Ok(()) - /// # } - /// ``` - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromFileUnchecked({required File file}) => - RustLib.instance.api - .tokioNetUnixPipeReceiverFromFileUnchecked(file: file); - - /// Creates a new `Receiver` from an [`OwnedFd`]. - /// - /// This function is intended to construct a pipe from an [`OwnedFd`] representing - /// an anonymous pipe or a special FIFO file. It will check if the file descriptor - /// is a pipe and has read access, set it in non-blocking mode and perform the - /// conversion. - /// - /// # Errors - /// - /// Fails with `io::ErrorKind::InvalidInput` if the file descriptor is not a pipe - /// or it does not have read access. Also fails with any standard OS error if it - /// occurs. - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromOwnedFd({required OwnedFd ownedFd}) => - RustLib.instance.api - .tokioNetUnixPipeReceiverFromOwnedFd(ownedFd: ownedFd); - - /// Creates a new `Receiver` from an [`OwnedFd`] without checking pipe properties. - /// - /// This function is intended to construct a pipe from an [`OwnedFd`] representing - /// an anonymous pipe or a special FIFO file. The conversion assumes nothing about - /// the underlying pipe; it is left up to the user to make sure that the file - /// descriptor represents the reading end of a pipe and the pipe is set in - /// non-blocking mode. - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromOwnedFdUnchecked({required OwnedFd ownedFd}) => - RustLib.instance.api - .tokioNetUnixPipeReceiverFromOwnedFdUnchecked(ownedFd: ownedFd); - - /// Converts the pipe into an [`OwnedFd`] in blocking mode. - /// - /// This function will deregister this pipe end from the event loop, set - /// it in blocking mode and perform the conversion. - Future intoBlockingFd(); - - /// Converts the pipe into an [`OwnedFd`] in nonblocking mode. - /// - /// This function will deregister this pipe end from the event loop and - /// perform the conversion. Returned file descriptor will be in nonblocking - /// mode. - Future intoNonblockingFd(); - - /// Polls for read readiness. - /// - /// If the pipe is not currently ready for reading, this method will - /// store a clone of the `Waker` from the provided `Context`. When the pipe - /// becomes ready for reading, `Waker::wake` will be called on the waker. - /// - /// Note that on multiple calls to `poll_read_ready` or `poll_read`, only - /// the `Waker` from the `Context` passed to the most recent call is - /// scheduled to receive a wakeup. - /// - /// This function is intended for cases where creating and pinning a future - /// via [`readable`] is not feasible. Where possible, using [`readable`] is - /// preferred, as this supports polling from multiple tasks at once. - /// - /// [`readable`]: Self::readable - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the pipe is not ready for reading. - /// * `Poll::Ready(Ok(()))` if the pipe is ready for reading. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - Future pollReadReady({required Context cx}); - - /// Waits for the pipe to become readable. - /// - /// This function is equivalent to `ready(Interest::READABLE)` and is usually - /// paired with [`try_read()`]. - /// - /// [`try_read()`]: Self::try_read() - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::unix::pipe; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Open a reading end of a fifo - /// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; - /// - /// let mut msg = vec![0; 1024]; - /// - /// loop { - /// // Wait for the pipe to be readable - /// rx.readable().await?; - /// - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match rx.try_read(&mut msg) { - /// Ok(n) => { - /// msg.truncate(n); - /// break; - /// } - /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// println!("GOT = {:?}", msg); - /// Ok(()) - /// } - /// ``` - Future readable(); - - /// Waits for any of the requested ready states. - /// - /// This function can be used instead of [`readable()`] to check the returned - /// ready set for [`Ready::READABLE`] and [`Ready::READ_CLOSED`] events. - /// - /// The function may complete without the pipe being ready. This is a - /// false-positive and attempting an operation will return with - /// `io::ErrorKind::WouldBlock`. The function can also return with an empty - /// [`Ready`] set, so you should always check the returned value and possibly - /// wait again if the requested states are not set. - /// - /// [`readable()`]: Self::readable - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to read that fails with `WouldBlock` or - /// `Poll::Pending`. - Future ready({required Interest interest}); - - /// Tries to read data from the pipe into the provided buffer, returning how - /// many bytes were read. - /// - /// Reads any pending data from the pipe but does not wait for new data - /// to arrive. On success, returns the number of bytes read. Because - /// `try_read()` is non-blocking, the buffer does not have to be stored by - /// the async task and can exist entirely on the stack. - /// - /// Usually [`readable()`] is used with this function. - /// - /// [`readable()`]: Self::readable() - /// - /// # Return - /// - /// If data is successfully read, `Ok(n)` is returned, where `n` is the - /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: - /// - /// 1. The pipe's writing end is closed and will no longer write data. - /// 2. The specified buffer was 0 bytes in length. - /// - /// If the pipe is not ready to read data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::unix::pipe; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Open a reading end of a fifo - /// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; - /// - /// let mut msg = vec![0; 1024]; - /// - /// loop { - /// // Wait for the pipe to be readable - /// rx.readable().await?; - /// - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match rx.try_read(&mut msg) { - /// Ok(n) => { - /// msg.truncate(n); - /// break; - /// } - /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// println!("GOT = {:?}", msg); - /// Ok(()) - /// } - /// ``` - Future tryRead({required U8 buf}); - - /// Tries to read data from the pipe into the provided buffers, returning - /// how many bytes were read. - /// - /// Data is copied to fill each buffer in order, with the final buffer - /// written to possibly being only partially filled. This method behaves - /// equivalently to a single call to [`try_read()`] with concatenated - /// buffers. - /// - /// Reads any pending data from the pipe but does not wait for new data - /// to arrive. On success, returns the number of bytes read. Because - /// `try_read_vectored()` is non-blocking, the buffer does not have to be - /// stored by the async task and can exist entirely on the stack. - /// - /// Usually, [`readable()`] is used with this function. - /// - /// [`try_read()`]: Self::try_read() - /// [`readable()`]: Self::readable() - /// - /// # Return - /// - /// If data is successfully read, `Ok(n)` is returned, where `n` is the - /// number of bytes read. `Ok(0)` indicates the pipe's writing end is - /// closed and will no longer write data. If the pipe is not ready to read - /// data `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::unix::pipe; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Open a reading end of a fifo - /// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; - /// - /// loop { - /// // Wait for the pipe to be readable - /// rx.readable().await?; - /// - /// // Creating the buffer **after** the `await` prevents it from - /// // being stored in the async task. - /// let mut buf_a = [0; 512]; - /// let mut buf_b = [0; 1024]; - /// let mut bufs = [ - /// io::IoSliceMut::new(&mut buf_a), - /// io::IoSliceMut::new(&mut buf_b), - /// ]; - /// - /// // Try to read data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match rx.try_read_vectored(&mut bufs) { - /// Ok(0) => break, - /// Ok(n) => { - /// println!("read {} bytes", n); - /// } - /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryReadVectored({required IoSliceMut bufs}); -} - -// Rust type: RustOpaqueMoi>> -abstract class ReceiverT implements RustOpaqueInterface { - /// Blocking receive to call outside of asynchronous contexts. - /// - /// # Panics - /// - /// This function panics if called within an asynchronous execution - /// context. - /// - /// # Examples - /// ``` - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use std::thread; - /// use tokio::sync::broadcast; - /// - /// #[tokio::main] - /// async fn main() { - /// let (tx, mut rx) = broadcast::channel(16); - /// - /// let sync_code = thread::spawn(move || { - /// assert_eq!(rx.blocking_recv(), Ok(10)); - /// }); - /// - /// let _ = tx.send(10); - /// sync_code.join().unwrap(); - /// } - /// # } - /// ``` - Future blockingRecv(); - - /// Variant of [`Self::recv_many`] for blocking contexts. - /// - /// The same conditions as in [`Self::blocking_recv`] apply. - Future blockingRecvMany( - {required VecT buffer, required BigInt limit}); - - /// Returns a reference to the most recently sent value. - /// - /// This method does not mark the returned value as seen, so future calls to - /// [`changed`] may return immediately even if you have already seen the - /// value with a call to `borrow`. - /// - /// Outstanding borrows hold a read lock on the inner value. This means that - /// long-lived borrows could cause the producer half to block. It is recommended - /// to keep the borrow as short-lived as possible. Additionally, if you are - /// running in an environment that allows `!Send` futures, you must ensure that - /// the returned `Ref` type is never held alive across an `.await` point, - /// otherwise, it can lead to a deadlock. - /// - /// The priority policy of the lock is dependent on the underlying lock - /// implementation, and this type does not guarantee that any particular policy - /// will be used. In particular, a producer which is waiting to acquire the lock - /// in `send` might or might not block concurrent calls to `borrow`, e.g.: - /// - ///
Potential deadlock example - /// - /// ```text - /// // Task 1 (on thread A) | // Task 2 (on thread B) - /// let _ref1 = rx.borrow(); | - /// | // will block - /// | let _ = tx.send(()); - /// // may deadlock | - /// let _ref2 = rx.borrow(); | - /// ``` - ///
- /// - /// For more information on when to use this method versus - /// [`borrow_and_update`], see [here](self#borrow_and_update-versus-borrow). - /// - /// [`changed`]: Receiver::changed - /// [`borrow_and_update`]: Receiver::borrow_and_update - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::watch; - /// - /// let (_, rx) = watch::channel("hello"); - /// assert_eq!(*rx.borrow(), "hello"); - /// ``` - Future borrow(); - - /// Returns a reference to the most recently sent value and marks that value - /// as seen. - /// - /// This method marks the current value as seen. Subsequent calls to [`changed`] - /// will not return immediately until the [`Sender`] has modified the shared - /// value again. - /// - /// Outstanding borrows hold a read lock on the inner value. This means that - /// long-lived borrows could cause the producer half to block. It is recommended - /// to keep the borrow as short-lived as possible. Additionally, if you are - /// running in an environment that allows `!Send` futures, you must ensure that - /// the returned `Ref` type is never held alive across an `.await` point, - /// otherwise, it can lead to a deadlock. - /// - /// The priority policy of the lock is dependent on the underlying lock - /// implementation, and this type does not guarantee that any particular policy - /// will be used. In particular, a producer which is waiting to acquire the lock - /// in `send` might or might not block concurrent calls to `borrow`, e.g.: - /// - ///
Potential deadlock example - /// - /// ```text - /// // Task 1 (on thread A) | // Task 2 (on thread B) - /// let _ref1 = rx1.borrow_and_update(); | - /// | // will block - /// | let _ = tx.send(()); - /// // may deadlock | - /// let _ref2 = rx2.borrow_and_update(); | - /// ``` - ///
- /// - /// For more information on when to use this method versus [`borrow`], see - /// [here](self#borrow_and_update-versus-borrow). - /// - /// [`changed`]: Receiver::changed - /// [`borrow`]: Receiver::borrow - Future borrowAndUpdate(); - - /// Returns the current capacity of the channel. - /// - /// The capacity goes down when the sender sends a value by calling [`Sender::send`] or by reserving - /// capacity with [`Sender::reserve`]. The capacity goes up when values are received. - /// This is distinct from [`max_capacity`], which always returns buffer capacity initially - /// specified when calling [`channel`]. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel::<()>(5); - /// - /// assert_eq!(rx.capacity(), 5); - /// - /// // Making a reservation drops the capacity by one. - /// let permit = tx.reserve().await.unwrap(); - /// assert_eq!(rx.capacity(), 4); - /// assert_eq!(rx.len(), 0); - /// - /// // Sending and receiving a value increases the capacity by one. - /// permit.send(()); - /// assert_eq!(rx.len(), 1); - /// rx.recv().await.unwrap(); - /// assert_eq!(rx.capacity(), 5); - /// - /// // Directly sending a message drops the capacity by one. - /// tx.send(()).await.unwrap(); - /// assert_eq!(rx.capacity(), 4); - /// assert_eq!(rx.len(), 1); - /// - /// // Receiving the message increases the capacity by one. - /// rx.recv().await.unwrap(); - /// assert_eq!(rx.capacity(), 5); - /// assert_eq!(rx.len(), 0); - /// # } - /// ``` - /// [`capacity`]: Receiver::capacity - /// [`max_capacity`]: Receiver::max_capacity - Future capacity(); - - /// Waits for a change notification, then marks the current value as seen. - /// - /// If the current value in the channel has not yet been marked seen when - /// this method is called, the method marks that value seen and returns - /// immediately. If the newest value has already been marked seen, then the - /// method sleeps until a new message is sent by a [`Sender`] connected to - /// this `Receiver`, or until all [`Sender`]s are dropped. - /// - /// For more information, see - /// [*Change notifications*](self#change-notifications) in the module-level documentation. - /// - /// # Errors - /// - /// Returns a [`RecvError`](error::RecvError) if the channel has been closed __AND__ - /// the current value is seen. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If you use it as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, then it is guaranteed that no values have been marked - /// seen by this call to `changed`. - /// - /// [`Sender`]: struct@Sender - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::watch; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = watch::channel("hello"); - /// - /// tokio::spawn(async move { - /// tx.send("goodbye").unwrap(); - /// }); - /// - /// assert!(rx.changed().await.is_ok()); - /// assert_eq!(*rx.borrow_and_update(), "goodbye"); - /// - /// // The `tx` handle has been dropped - /// assert!(rx.changed().await.is_err()); - /// # } - /// ``` - Future changed(); - - /// Closes the receiving half of a channel without dropping it. - /// - /// This prevents any further messages from being sent on the channel while - /// still enabling the receiver to drain messages that are buffered. Any - /// outstanding [`Permit`] values will still be able to send messages. - /// - /// To guarantee that no messages are dropped, after calling `close()`, - /// `recv()` must be called until `None` is returned. If there are - /// outstanding [`Permit`] or [`OwnedPermit`] values, the `recv` method will - /// not return `None` until those are released. - /// - /// [`Permit`]: Permit - /// [`OwnedPermit`]: OwnedPermit - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel(20); - /// - /// tokio::spawn(async move { - /// let mut i = 0; - /// while let Ok(permit) = tx.reserve().await { - /// permit.send(i); - /// i += 1; - /// } - /// }); - /// - /// rx.close(); - /// - /// while let Some(msg) = rx.recv().await { - /// println!("got {}", msg); - /// } - /// - /// // Channel closed and no messages are lost. - /// # } - /// ``` - Future close(); - - /// Checks if this channel contains a message that this receiver has not yet - /// seen. The current value will not be marked as seen. - /// - /// Although this method is called `has_changed`, it does not check - /// messages for equality, so this call will return true even if the current - /// message is equal to the previous message. - /// - /// # Errors - /// - /// Returns a [`RecvError`](error::RecvError) if and only if the channel has been closed. - /// - /// # Examples - /// - /// ## Basic usage - /// - /// ``` - /// use tokio::sync::watch; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = watch::channel("hello"); - /// - /// tx.send("goodbye").unwrap(); - /// - /// assert!(rx.has_changed().unwrap()); - /// assert_eq!(*rx.borrow_and_update(), "goodbye"); - /// - /// // The value has been marked as seen - /// assert!(!rx.has_changed().unwrap()); - /// # } - /// ``` - /// - /// ## Closed channel example - /// - /// ``` - /// use tokio::sync::watch; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, rx) = watch::channel("hello"); - /// tx.send("goodbye").unwrap(); - /// - /// drop(tx); - /// - /// // The channel is closed - /// assert!(rx.has_changed().is_err()); - /// # } - /// ``` - Future hasChanged(); - - /// Checks if a channel is closed. - /// - /// This method returns `true` if the channel has been closed. The channel is closed - /// when all [`Sender`] have been dropped. - /// - /// [`Sender`]: crate::sync::broadcast::Sender - /// - /// # Examples - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, rx) = broadcast::channel::<()>(10); - /// assert!(!rx.is_closed()); - /// - /// drop(tx); - /// - /// assert!(rx.is_closed()); - /// # } - /// ``` - Future isClosed(); - - /// Returns true if there aren't any messages in the channel that the [`Receiver`] - /// has yet to receive. - /// - /// [`Receiver`]: crate::sync::broadcast::Receiver - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx1) = broadcast::channel(16); - /// - /// assert!(rx1.is_empty()); - /// - /// tx.send(10).unwrap(); - /// tx.send(20).unwrap(); - /// - /// assert!(!rx1.is_empty()); - /// assert_eq!(rx1.recv().await.unwrap(), 10); - /// assert_eq!(rx1.recv().await.unwrap(), 20); - /// assert!(rx1.is_empty()); - /// # } - /// ``` - Future isEmpty(); - - /// Checks if this receiver is terminated. - /// - /// This function returns true if this receiver has already yielded a [`Poll::Ready`] result. - /// If so, this receiver should no longer be polled. - /// - /// # Examples - /// - /// Sending a value and polling it. - /// - /// ``` - /// use tokio::sync::oneshot; - /// - /// use std::task::Poll; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = oneshot::channel(); - /// - /// // A receiver is not terminated when it is initialized. - /// assert!(!rx.is_terminated()); - /// - /// // A receiver is not terminated it is polled and is still pending. - /// let poll = futures::poll!(&mut rx); - /// assert_eq!(poll, Poll::Pending); - /// assert!(!rx.is_terminated()); - /// - /// // A receiver is not terminated if a value has been sent, but not yet read. - /// tx.send(0).unwrap(); - /// assert!(!rx.is_terminated()); - /// - /// // A receiver *is* terminated after it has been polled and yielded a value. - /// assert_eq!((&mut rx).await, Ok(0)); - /// assert!(rx.is_terminated()); - /// # } - /// ``` - /// - /// Dropping the sender. - /// - /// ``` - /// use tokio::sync::oneshot; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = oneshot::channel::<()>(); - /// - /// // A receiver is not immediately terminated when the sender is dropped. - /// drop(tx); - /// assert!(!rx.is_terminated()); - /// - /// // A receiver *is* terminated after it has been polled and yielded an error. - /// let _ = (&mut rx).await.unwrap_err(); - /// assert!(rx.is_terminated()); - /// # } - /// ``` - Future isTerminated(); - - /// Returns the number of messages that were sent into the channel and that - /// this [`Receiver`] has yet to receive. - /// - /// If the returned value from `len` is larger than the next largest power of 2 - /// of the capacity of the channel any call to [`recv`] will return an - /// `Err(RecvError::Lagged)` and any call to [`try_recv`] will return an - /// `Err(TryRecvError::Lagged)`, e.g. if the capacity of the channel is 10, - /// [`recv`] will start to return `Err(RecvError::Lagged)` once `len` returns - /// values larger than 16. - /// - /// [`Receiver`]: crate::sync::broadcast::Receiver - /// [`recv`]: crate::sync::broadcast::Receiver::recv - /// [`try_recv`]: crate::sync::broadcast::Receiver::try_recv - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx1) = broadcast::channel(16); - /// - /// tx.send(10).unwrap(); - /// tx.send(20).unwrap(); - /// - /// assert_eq!(rx1.len(), 2); - /// assert_eq!(rx1.recv().await.unwrap(), 10); - /// assert_eq!(rx1.len(), 1); - /// assert_eq!(rx1.recv().await.unwrap(), 20); - /// assert_eq!(rx1.len(), 0); - /// # } - /// ``` - Future len(); - - /// Marks the state as changed. - /// - /// After invoking this method [`has_changed()`](Self::has_changed) - /// returns `true` and [`changed()`](Self::changed) returns - /// immediately, regardless of whether a new value has been sent. - /// - /// This is useful for triggering an initial change notification after - /// subscribing to synchronize new receivers. - Future markChanged(); - - /// Marks the state as unchanged. - /// - /// The current value will be considered seen by the receiver. - /// - /// This is useful if you are not interested in the current value - /// visible in the receiver. - Future markUnchanged(); - - /// Returns the maximum buffer capacity of the channel. - /// - /// The maximum capacity is the buffer capacity initially specified when calling - /// [`channel`]. This is distinct from [`capacity`], which returns the *current* - /// available buffer capacity: as messages are sent and received, the value - /// returned by [`capacity`] will go up or down, whereas the value - /// returned by [`max_capacity`] will remain constant. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, rx) = mpsc::channel::<()>(5); - /// - /// // both max capacity and capacity are the same at first - /// assert_eq!(rx.max_capacity(), 5); - /// assert_eq!(rx.capacity(), 5); - /// - /// // Making a reservation doesn't change the max capacity. - /// let permit = tx.reserve().await.unwrap(); - /// assert_eq!(rx.max_capacity(), 5); - /// // but drops the capacity by one - /// assert_eq!(rx.capacity(), 4); - /// # } - /// ``` - /// [`capacity`]: Receiver::capacity - /// [`max_capacity`]: Receiver::max_capacity - Future maxCapacity(); - - /// Polls to receive the next message on this channel. - /// - /// This method returns: - /// - /// * `Poll::Pending` if no messages are available but the channel is not - /// closed, or if a spurious failure happens. - /// * `Poll::Ready(Some(message))` if a message is available. - /// * `Poll::Ready(None)` if the channel has been closed and all messages - /// sent before it was closed have been received. - /// - /// When the method returns `Poll::Pending`, the `Waker` in the provided - /// `Context` is scheduled to receive a wakeup when a message is sent on any - /// receiver, or when the channel is closed. Note that on multiple calls to - /// `poll_recv` or `poll_recv_many`, only the `Waker` from the `Context` - /// passed to the most recent call is scheduled to receive a wakeup. - /// - /// If this method returns `Poll::Pending` due to a spurious failure, then - /// the `Waker` will be notified when the situation causing the spurious - /// failure has been resolved. Note that receiving such a wakeup does not - /// guarantee that the next call will succeed — it could fail with another - /// spurious failure. - Future pollRecv({required Context cx}); - - /// Polls to receive multiple messages on this channel, extending the provided buffer. - /// - /// This method returns: - /// * `Poll::Pending` if no messages are available but the channel is not closed, or if a - /// spurious failure happens. - /// * `Poll::Ready(count)` where `count` is the number of messages successfully received and - /// stored in `buffer`. This can be less than, or equal to, `limit`. - /// * `Poll::Ready(0)` if `limit` is set to zero or when the channel is closed. - /// - /// When the method returns `Poll::Pending`, the `Waker` in the provided - /// `Context` is scheduled to receive a wakeup when a message is sent on any - /// receiver, or when the channel is closed. Note that on multiple calls to - /// `poll_recv` or `poll_recv_many`, only the `Waker` from the `Context` - /// passed to the most recent call is scheduled to receive a wakeup. - /// - /// Note that this method does not guarantee that exactly `limit` messages - /// are received. Rather, if at least one message is available, it returns - /// as many messages as it can up to the given limit. This method returns - /// zero only if the channel is closed (or if `limit` is zero). - /// - /// # Examples - /// - /// ``` - /// use std::task::{Context, Poll}; - /// use std::pin::Pin; - /// use tokio::sync::mpsc; - /// use futures::Future; - /// - /// struct MyReceiverFuture<'a> { - /// receiver: mpsc::Receiver, - /// buffer: &'a mut Vec, - /// limit: usize, - /// } - /// - /// impl<'a> Future for MyReceiverFuture<'a> { - /// type Output = usize; // Number of messages received - /// - /// fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { - /// let MyReceiverFuture { receiver, buffer, limit } = &mut *self; - /// - /// // Now `receiver` and `buffer` are mutable references, and `limit` is copied - /// match receiver.poll_recv_many(cx, *buffer, *limit) { - /// Poll::Pending => Poll::Pending, - /// Poll::Ready(count) => Poll::Ready(count), - /// } - /// } - /// } - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, rx) = mpsc::channel(32); - /// let mut buffer = Vec::new(); - /// - /// let my_receiver_future = MyReceiverFuture { - /// receiver: rx, - /// buffer: &mut buffer, - /// limit: 3, - /// }; - /// - /// for i in 0..10 { - /// tx.send(i).await.unwrap(); - /// } - /// - /// let count = my_receiver_future.await; - /// assert_eq!(count, 3); - /// assert_eq!(buffer, vec![0,1,2]) - /// # } - /// ``` - Future pollRecvMany( - {required Context cx, required VecT buffer, required BigInt limit}); - - /// Receives the next value for this receiver. - /// - /// Each [`Receiver`] handle will receive a clone of all values sent - /// **after** it has subscribed. - /// - /// `Err(RecvError::Closed)` is returned when all `Sender` halves have - /// dropped, indicating that no further values can be sent on the channel. - /// - /// If the [`Receiver`] handle falls behind, once the channel is full, newly - /// sent values will overwrite old values. At this point, a call to [`recv`] - /// will return with `Err(RecvError::Lagged)` and the [`Receiver`]'s - /// internal cursor is updated to point to the oldest value still held by - /// the channel. A subsequent call to [`recv`] will return this value - /// **unless** it has been since overwritten. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If `recv` is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, it is guaranteed that no messages were received on this - /// channel. - /// - /// [`Receiver`]: crate::sync::broadcast::Receiver - /// [`recv`]: crate::sync::broadcast::Receiver::recv - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx1) = broadcast::channel(16); - /// let mut rx2 = tx.subscribe(); - /// - /// tokio::spawn(async move { - /// assert_eq!(rx1.recv().await.unwrap(), 10); - /// assert_eq!(rx1.recv().await.unwrap(), 20); - /// }); - /// - /// tokio::spawn(async move { - /// assert_eq!(rx2.recv().await.unwrap(), 10); - /// assert_eq!(rx2.recv().await.unwrap(), 20); - /// }); - /// - /// tx.send(10).unwrap(); - /// tx.send(20).unwrap(); - /// # } - /// ``` - /// - /// Handling lag - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = broadcast::channel(2); - /// - /// tx.send(10).unwrap(); - /// tx.send(20).unwrap(); - /// tx.send(30).unwrap(); - /// - /// // The receiver lagged behind - /// assert!(rx.recv().await.is_err()); - /// - /// // At this point, we can abort or continue with lost messages - /// - /// assert_eq!(20, rx.recv().await.unwrap()); - /// assert_eq!(30, rx.recv().await.unwrap()); - /// # } - /// ``` - Future recv(); - - /// Receives the next values for this receiver and extends `buffer`. - /// - /// This method extends `buffer` by no more than a fixed number of values - /// as specified by `limit`. If `limit` is zero, the function immediately - /// returns `0`. The return value is the number of values added to `buffer`. - /// - /// For `limit > 0`, if there are no messages in the channel's queue, but - /// the channel has not yet been closed, this method will sleep until a - /// message is sent or the channel is closed. Note that if [`close`] is - /// called, but there are still outstanding [`Permits`] from before it was - /// closed, the channel is not considered closed by `recv_many` until the - /// permits are released. - /// - /// For non-zero values of `limit`, this method will never return `0` unless - /// the channel has been closed and there are no remaining messages in the - /// channel's queue. This indicates that no further values can ever be - /// received from this `Receiver`. The channel is closed when all senders - /// have been dropped, or when [`close`] is called. - /// - /// The capacity of `buffer` is increased as needed. - /// - /// # Cancel safety - /// - /// This method is cancel safe. If `recv_many` is used as the event in a - /// [`tokio::select!`](crate::select) statement and some other branch - /// completes first, it is guaranteed that no messages were received on this - /// channel. - /// - /// [`close`]: Self::close - /// [`Permits`]: struct@crate::sync::mpsc::Permit - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let mut buffer: Vec<&str> = Vec::with_capacity(2); - /// let limit = 2; - /// let (tx, mut rx) = mpsc::channel(100); - /// let tx2 = tx.clone(); - /// tx2.send("first").await.unwrap(); - /// tx2.send("second").await.unwrap(); - /// tx2.send("third").await.unwrap(); - /// - /// // Call `recv_many` to receive up to `limit` (2) values. - /// assert_eq!(2, rx.recv_many(&mut buffer, limit).await); - /// assert_eq!(vec!["first", "second"], buffer); - /// - /// // If the buffer is full, the next call to `recv_many` - /// // reserves additional capacity. - /// assert_eq!(1, rx.recv_many(&mut buffer, 1).await); - /// - /// tokio::spawn(async move { - /// tx.send("fourth").await.unwrap(); - /// }); - /// - /// // 'tx' is dropped, but `recv_many` - /// // is guaranteed not to return 0 as the channel - /// // is not yet closed. - /// assert_eq!(1, rx.recv_many(&mut buffer, 1).await); - /// assert_eq!(vec!["first", "second", "third", "fourth"], buffer); - /// - /// // Once the last sender is dropped, the channel is - /// // closed and `recv_many` returns 0, capacity unchanged. - /// drop(tx2); - /// assert_eq!(0, rx.recv_many(&mut buffer, limit).await); - /// assert_eq!(vec!["first", "second", "third", "fourth"], buffer); - /// # } - /// ``` - Future recvMany({required VecT buffer, required BigInt limit}); - - /// Re-subscribes to the channel starting from the current tail element. - /// - /// This [`Receiver`] handle will receive a clone of all values sent - /// **after** it has resubscribed. This will not include elements that are - /// in the queue of the current receiver. Consider the following example. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = broadcast::channel(2); - /// - /// tx.send(1).unwrap(); - /// let mut rx2 = rx.resubscribe(); - /// tx.send(2).unwrap(); - /// - /// assert_eq!(rx2.recv().await.unwrap(), 2); - /// assert_eq!(rx.recv().await.unwrap(), 1); - /// # } - /// ``` - Future resubscribe(); - - /// Returns `true` if receivers belong to the same channel. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, rx) = broadcast::channel::<()>(16); - /// let rx2 = tx.subscribe(); - /// - /// assert!(rx.same_channel(&rx2)); - /// - /// let (_tx3, rx3) = broadcast::channel::<()>(16); - /// - /// assert!(!rx3.same_channel(&rx2)); - /// # } - /// ``` - Future sameChannel({required ReceiverT other}); - - /// Returns the number of [`Sender`] handles. - Future senderStrongCount(); - - /// Returns the number of [`WeakSender`] handles. - Future senderWeakCount(); - - /// Attempts to return a pending value on this receiver without awaiting. - /// - /// This is useful for a flavor of "optimistic check" before deciding to - /// await on a receiver. - /// - /// Compared with [`recv`], this function has three failure cases instead of two - /// (one for closed, one for an empty buffer, one for a lagging receiver). - /// - /// `Err(TryRecvError::Closed)` is returned when all `Sender` halves have - /// dropped, indicating that no further values can be sent on the channel. - /// - /// If the [`Receiver`] handle falls behind, once the channel is full, newly - /// sent values will overwrite old values. At this point, a call to [`recv`] - /// will return with `Err(TryRecvError::Lagged)` and the [`Receiver`]'s - /// internal cursor is updated to point to the oldest value still held by - /// the channel. A subsequent call to [`try_recv`] will return this value - /// **unless** it has been since overwritten. If there are no values to - /// receive, `Err(TryRecvError::Empty)` is returned. - /// - /// [`recv`]: crate::sync::broadcast::Receiver::recv - /// [`try_recv`]: crate::sync::broadcast::Receiver::try_recv - /// [`Receiver`]: crate::sync::broadcast::Receiver - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = broadcast::channel(16); - /// - /// assert!(rx.try_recv().is_err()); - /// - /// tx.send(10).unwrap(); - /// - /// let value = rx.try_recv().unwrap(); - /// assert_eq!(10, value); - /// # } - /// ``` - Future tryRecv(); -} - -// Rust type: RustOpaqueMoi> -abstract class Sender implements RustOpaqueInterface { - /// Creates a new `Sender` from a [`File`]. - /// - /// This function is intended to construct a pipe from a [`File`] representing - /// a special FIFO file. It will check if the file is a pipe and has write access, - /// set it in non-blocking mode and perform the conversion. - /// - /// # Errors - /// - /// Fails with `io::ErrorKind::InvalidInput` if the file is not a pipe or it - /// does not have write access. Also fails with any standard OS error if it occurs. - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromFile({required File file}) => - RustLib.instance.api.tokioNetUnixPipeSenderFromFile(file: file); - - /// Creates a new `Sender` from a [`File`] without checking pipe properties. - /// - /// This function is intended to construct a pipe from a File representing - /// a special FIFO file. The conversion assumes nothing about the underlying - /// file; it is left up to the user to make sure it is opened with write access, - /// represents a pipe and is set in non-blocking mode. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::unix::pipe; - /// use std::fs::OpenOptions; - /// use std::os::unix::fs::{FileTypeExt, OpenOptionsExt}; - /// # use std::error::Error; - /// - /// const FIFO_NAME: &str = "path/to/a/fifo"; - /// - /// # async fn dox() -> Result<(), Box> { - /// let file = OpenOptions::new() - /// .write(true) - /// .custom_flags(libc::O_NONBLOCK) - /// .open(FIFO_NAME)?; - /// if file.metadata()?.file_type().is_fifo() { - /// let tx = pipe::Sender::from_file_unchecked(file)?; - /// /* use the Sender */ - /// } - /// # Ok(()) - /// # } - /// ``` - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromFileUnchecked({required File file}) => - RustLib.instance.api.tokioNetUnixPipeSenderFromFileUnchecked(file: file); - - /// Creates a new `Sender` from an [`OwnedFd`]. - /// - /// This function is intended to construct a pipe from an [`OwnedFd`] representing - /// an anonymous pipe or a special FIFO file. It will check if the file descriptor - /// is a pipe and has write access, set it in non-blocking mode and perform the - /// conversion. - /// - /// # Errors - /// - /// Fails with `io::ErrorKind::InvalidInput` if the file descriptor is not a pipe - /// or it does not have write access. Also fails with any standard OS error if it - /// occurs. - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromOwnedFd({required OwnedFd ownedFd}) => - RustLib.instance.api.tokioNetUnixPipeSenderFromOwnedFd(ownedFd: ownedFd); - - /// Creates a new `Sender` from an [`OwnedFd`] without checking pipe properties. - /// - /// This function is intended to construct a pipe from an [`OwnedFd`] representing - /// an anonymous pipe or a special FIFO file. The conversion assumes nothing about - /// the underlying pipe; it is left up to the user to make sure that the file - /// descriptor represents the writing end of a pipe and the pipe is set in - /// non-blocking mode. - /// - /// # Panics - /// - /// This function panics if it is not called from within a runtime with - /// IO enabled. - /// - /// The runtime is usually set implicitly when this function is called - /// from a future driven by a tokio runtime, otherwise runtime can be set - /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. - static Future fromOwnedFdUnchecked({required OwnedFd ownedFd}) => - RustLib.instance.api - .tokioNetUnixPipeSenderFromOwnedFdUnchecked(ownedFd: ownedFd); - - /// Converts the pipe into an [`OwnedFd`] in blocking mode. - /// - /// This function will deregister this pipe end from the event loop, set - /// it in blocking mode and perform the conversion. - Future intoBlockingFd(); - - /// Converts the pipe into an [`OwnedFd`] in nonblocking mode. - /// - /// This function will deregister this pipe end from the event loop and - /// perform the conversion. The returned file descriptor will be in nonblocking - /// mode. - Future intoNonblockingFd(); - - /// Polls for write readiness. - /// - /// If the pipe is not currently ready for writing, this method will - /// store a clone of the `Waker` from the provided `Context`. When the pipe - /// becomes ready for writing, `Waker::wake` will be called on the waker. - /// - /// Note that on multiple calls to `poll_write_ready` or `poll_write`, only - /// the `Waker` from the `Context` passed to the most recent call is - /// scheduled to receive a wakeup. - /// - /// This function is intended for cases where creating and pinning a future - /// via [`writable`] is not feasible. Where possible, using [`writable`] is - /// preferred, as this supports polling from multiple tasks at once. - /// - /// [`writable`]: Self::writable - /// - /// # Return value - /// - /// The function returns: - /// - /// * `Poll::Pending` if the pipe is not ready for writing. - /// * `Poll::Ready(Ok(()))` if the pipe is ready for writing. - /// * `Poll::Ready(Err(e))` if an error is encountered. - /// - /// # Errors - /// - /// This function may encounter any standard I/O error except `WouldBlock`. - Future pollWriteReady({required Context cx}); - - /// Waits for any of the requested ready states. - /// - /// This function can be used instead of [`writable()`] to check the returned - /// ready set for [`Ready::WRITABLE`] and [`Ready::WRITE_CLOSED`] events. - /// - /// The function may complete without the pipe being ready. This is a - /// false-positive and attempting an operation will return with - /// `io::ErrorKind::WouldBlock`. The function can also return with an empty - /// [`Ready`] set, so you should always check the returned value and possibly - /// wait again if the requested states are not set. - /// - /// [`writable()`]: Self::writable - /// - /// # Cancel safety - /// - /// This method is cancel safe. Once a readiness event occurs, the method - /// will continue to return immediately until the readiness event is - /// consumed by an attempt to write that fails with `WouldBlock` or - /// `Poll::Pending`. - Future ready({required Interest interest}); - - /// Tries to write a buffer to the pipe, returning how many bytes were - /// written. - /// - /// The function will attempt to write the entire contents of `buf`, but - /// only part of the buffer may be written. If the length of `buf` is not - /// greater than `PIPE_BUF` (an OS constant, 4096 under Linux), then the - /// write is guaranteed to be atomic, i.e. either the entire content of - /// `buf` will be written or this method will fail with `WouldBlock`. There - /// is no such guarantee if `buf` is larger than `PIPE_BUF`. - /// - /// This function is usually paired with [`writable`]. - /// - /// [`writable`]: Self::writable - /// - /// # Return - /// - /// If data is successfully written, `Ok(n)` is returned, where `n` is the - /// number of bytes written. If the pipe is not ready to write data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::unix::pipe; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Open a writing end of a fifo - /// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; - /// - /// loop { - /// // Wait for the pipe to be writable - /// tx.writable().await?; - /// - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match tx.try_write(b"hello world") { - /// Ok(n) => { - /// break; - /// } - /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryWrite({required List buf}); - - /// Tries to write several buffers to the pipe, returning how many bytes - /// were written. - /// - /// Data is written from each buffer in order, with the final buffer read - /// from possible being only partially consumed. This method behaves - /// equivalently to a single call to [`try_write()`] with concatenated - /// buffers. - /// - /// If the total length of buffers is not greater than `PIPE_BUF` (an OS - /// constant, 4096 under Linux), then the write is guaranteed to be atomic, - /// i.e. either the entire contents of buffers will be written or this - /// method will fail with `WouldBlock`. There is no such guarantee if the - /// total length of buffers is greater than `PIPE_BUF`. - /// - /// This function is usually paired with [`writable`]. - /// - /// [`try_write()`]: Self::try_write() - /// [`writable`]: Self::writable - /// - /// # Return - /// - /// If data is successfully written, `Ok(n)` is returned, where `n` is the - /// number of bytes written. If the pipe is not ready to write data, - /// `Err(io::ErrorKind::WouldBlock)` is returned. - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::unix::pipe; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Open a writing end of a fifo - /// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; - /// - /// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; - /// - /// loop { - /// // Wait for the pipe to be writable - /// tx.writable().await?; - /// - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match tx.try_write_vectored(&bufs) { - /// Ok(n) => { - /// break; - /// } - /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future tryWriteVectored({required List buf}); - - /// Waits for the pipe to become writable. - /// - /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually - /// paired with [`try_write()`]. - /// - /// [`try_write()`]: Self::try_write - /// - /// # Examples - /// - /// ```no_run - /// use tokio::net::unix::pipe; - /// use std::io; - /// - /// #[tokio::main] - /// async fn main() -> io::Result<()> { - /// // Open a writing end of a fifo - /// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; - /// - /// loop { - /// // Wait for the pipe to be writable - /// tx.writable().await?; - /// - /// // Try to write data, this may still fail with `WouldBlock` - /// // if the readiness event is a false positive. - /// match tx.try_write(b"hello world") { - /// Ok(n) => { - /// break; - /// } - /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { - /// continue; - /// } - /// Err(e) => { - /// return Err(e.into()); - /// } - /// } - /// } - /// - /// Ok(()) - /// } - /// ``` - Future writable(); -} - -// Rust type: RustOpaqueMoi>> -abstract class SenderT implements RustOpaqueInterface { - /// Blocking send to call outside of asynchronous contexts. - /// - /// This method is intended for use cases where you are sending from - /// synchronous code to asynchronous code, and will work even if the - /// receiver is not using [`blocking_recv`] to receive the message. - /// - /// [`blocking_recv`]: fn@crate::sync::mpsc::Receiver::blocking_recv - /// - /// # Panics - /// - /// This function panics if called within an asynchronous execution - /// context. - /// - /// # Examples - /// - /// ``` - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use std::thread; - /// use tokio::runtime::Runtime; - /// use tokio::sync::mpsc; - /// - /// fn main() { - /// let (tx, mut rx) = mpsc::channel::(1); - /// - /// let sync_code = thread::spawn(move || { - /// tx.blocking_send(10).unwrap(); - /// }); - /// - /// Runtime::new().unwrap().block_on(async move { - /// assert_eq!(Some(10), rx.recv().await); - /// }); - /// sync_code.join().unwrap() - /// } - /// # } - /// ``` - Future blockingSend({required T value}); - - /// Returns a reference to the most recently sent value - /// - /// Outstanding borrows hold a read lock on the inner value. This means that - /// long-lived borrows could cause the producer half to block. It is recommended - /// to keep the borrow as short-lived as possible. Additionally, if you are - /// running in an environment that allows `!Send` futures, you must ensure that - /// the returned `Ref` type is never held alive across an `.await` point, - /// otherwise, it can lead to a deadlock. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::watch; - /// - /// let (tx, _) = watch::channel("hello"); - /// assert_eq!(*tx.borrow(), "hello"); - /// ``` - Future borrow(); - - /// Returns the current capacity of the channel. - /// - /// The capacity goes down when sending a value by calling [`send`] or by reserving capacity - /// with [`reserve`]. The capacity goes up when values are received by the [`Receiver`]. - /// This is distinct from [`max_capacity`], which always returns buffer capacity initially - /// specified when calling [`channel`] - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel::<()>(5); - /// - /// assert_eq!(tx.capacity(), 5); - /// - /// // Making a reservation drops the capacity by one. - /// let permit = tx.reserve().await.unwrap(); - /// assert_eq!(tx.capacity(), 4); - /// - /// // Sending and receiving a value increases the capacity by one. - /// permit.send(()); - /// rx.recv().await.unwrap(); - /// assert_eq!(tx.capacity(), 5); - /// # } - /// ``` - /// - /// [`send`]: Sender::send - /// [`reserve`]: Sender::reserve - /// [`channel`]: channel - /// [`max_capacity`]: Sender::max_capacity - Future capacity(); - - /// A future which completes when the number of [Receiver]s subscribed to this `Sender` reaches - /// zero. - /// - /// # Examples - /// - /// ``` - /// use futures::FutureExt; - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx1) = broadcast::channel::(16); - /// let mut rx2 = tx.subscribe(); - /// - /// let _ = tx.send(10); - /// - /// assert_eq!(rx1.recv().await.unwrap(), 10); - /// drop(rx1); - /// assert!(tx.closed().now_or_never().is_none()); - /// - /// assert_eq!(rx2.recv().await.unwrap(), 10); - /// drop(rx2); - /// assert!(tx.closed().now_or_never().is_some()); - /// # } - /// ``` - Future closed(); - - static Future default_() => - RustLib.instance.api.tokioNetUnixPipeSenderTDefault(); - - /// Converts the `Sender` to a [`WeakSender`] that does not count - /// towards RAII semantics, i.e. if all `Sender` instances of the - /// channel were dropped and only `WeakSender` instances remain, - /// the channel is closed. - Future downgrade(); - - /// Checks if the channel has been closed. This happens when the - /// [`Receiver`] is dropped, or when the [`Receiver::close`] method is - /// called. - /// - /// [`Receiver`]: crate::sync::mpsc::Receiver - /// [`Receiver::close`]: crate::sync::mpsc::Receiver::close - /// - /// ``` - /// let (tx, rx) = tokio::sync::mpsc::channel::<()>(42); - /// assert!(!tx.is_closed()); - /// - /// let tx2 = tx.clone(); - /// assert!(!tx2.is_closed()); - /// - /// drop(rx); - /// assert!(tx.is_closed()); - /// assert!(tx2.is_closed()); - /// ``` - Future isClosed(); - - /// Returns true if there are no queued values. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx1) = broadcast::channel(16); - /// let mut rx2 = tx.subscribe(); - /// - /// assert!(tx.is_empty()); - /// - /// tx.send(10).unwrap(); - /// - /// assert!(!tx.is_empty()); - /// - /// rx1.recv().await.unwrap(); - /// - /// // The queue is still not empty since rx2 hasn't seen the value. - /// assert!(!tx.is_empty()); - /// - /// rx2.recv().await.unwrap(); - /// - /// assert!(tx.is_empty()); - /// # } - /// ``` - Future isEmpty(); - - /// Returns the number of queued values. - /// - /// A value is queued until it has either been seen by all receivers that were alive at the time - /// it was sent, or has been evicted from the queue by subsequent sends that exceeded the - /// queue's capacity. - /// - /// # Note - /// - /// In contrast to [`Receiver::len`], this method only reports queued values and not values that - /// have been evicted from the queue before being seen by all receivers. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx1) = broadcast::channel(16); - /// let mut rx2 = tx.subscribe(); - /// - /// tx.send(10).unwrap(); - /// tx.send(20).unwrap(); - /// tx.send(30).unwrap(); - /// - /// assert_eq!(tx.len(), 3); - /// - /// rx1.recv().await.unwrap(); - /// - /// // The len is still 3 since rx2 hasn't seen the first value yet. - /// assert_eq!(tx.len(), 3); - /// - /// rx2.recv().await.unwrap(); - /// - /// assert_eq!(tx.len(), 2); - /// # } - /// ``` - Future len(); - - /// Returns the maximum buffer capacity of the channel. - /// - /// The maximum capacity is the buffer capacity initially specified when calling - /// [`channel`]. This is distinct from [`capacity`], which returns the *current* - /// available buffer capacity: as messages are sent and received, the - /// value returned by [`capacity`] will go up or down, whereas the value - /// returned by [`max_capacity`] will remain constant. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, _rx) = mpsc::channel::<()>(5); - /// - /// // both max capacity and capacity are the same at first - /// assert_eq!(tx.max_capacity(), 5); - /// assert_eq!(tx.capacity(), 5); - /// - /// // Making a reservation doesn't change the max capacity. - /// let permit = tx.reserve().await.unwrap(); - /// assert_eq!(tx.max_capacity(), 5); - /// // but drops the capacity by one - /// assert_eq!(tx.capacity(), 4); - /// # } - /// ``` - /// - /// [`channel`]: channel - /// [`max_capacity`]: Sender::max_capacity - /// [`capacity`]: Sender::capacity - Future maxCapacity(); - - // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - /// Creates the sending-half of the [`broadcast`] channel. - /// - /// See the documentation of [`broadcast::channel`] for more information on this method. - /// - /// [`broadcast`]: crate::sync::broadcast - /// [`broadcast::channel`]: crate::sync::broadcast::channel - static Future newInstance({required BigInt capacity}) => - RustLib.instance.api.tokioNetUnixPipeSenderTNew(capacity: capacity); - - /// Checks whether the `oneshot` channel has been closed, and if not, schedules the - /// `Waker` in the provided `Context` to receive a notification when the channel is - /// closed. - /// - /// A [`Receiver`] is closed by either calling [`close`] explicitly, or when the - /// [`Receiver`] value is dropped. - /// - /// Note that on multiple calls to poll, only the `Waker` from the `Context` passed - /// to the most recent call will be scheduled to receive a wakeup. - /// - /// [`Receiver`]: struct@crate::sync::oneshot::Receiver - /// [`close`]: fn@crate::sync::oneshot::Receiver::close - /// - /// # Return value - /// - /// This function returns: - /// - /// * `Poll::Pending` if the channel is still open. - /// * `Poll::Ready(())` if the channel is closed. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::oneshot; - /// - /// use std::future::poll_fn; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (mut tx, mut rx) = oneshot::channel::<()>(); - /// - /// tokio::spawn(async move { - /// rx.close(); - /// }); - /// - /// poll_fn(|cx| tx.poll_closed(cx)).await; - /// - /// println!("the receiver dropped"); - /// # } - /// ``` - Future pollClosed({required Context cx}); - - /// Returns the number of active receivers. - /// - /// An active receiver is a [`Receiver`] handle returned from [`channel`] or - /// [`subscribe`]. These are the handles that will receive values sent on - /// this [`Sender`]. - /// - /// # Note - /// - /// It is not guaranteed that a sent message will reach this number of - /// receivers. Active receivers may never call [`recv`] again before - /// dropping. - /// - /// [`recv`]: crate::sync::broadcast::Receiver::recv - /// [`Receiver`]: crate::sync::broadcast::Receiver - /// [`Sender`]: crate::sync::broadcast::Sender - /// [`subscribe`]: crate::sync::broadcast::Sender::subscribe - /// [`channel`]: crate::sync::broadcast::channel - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, _rx1) = broadcast::channel(16); - /// - /// assert_eq!(1, tx.receiver_count()); - /// - /// let mut _rx2 = tx.subscribe(); - /// - /// assert_eq!(2, tx.receiver_count()); - /// - /// tx.send(10).unwrap(); - /// # } - /// ``` - Future receiverCount(); - - /// Waits for channel capacity. Once capacity to send one message is - /// available, it is reserved for the caller. - /// - /// If the channel is full, the function waits for the number of unreceived - /// messages to become less than the channel capacity. Capacity to send one - /// message is reserved for the caller. A [`Permit`] is returned to track - /// the reserved capacity. The [`send`] function on [`Permit`] consumes the - /// reserved capacity. - /// - /// Dropping [`Permit`] without sending a message releases the capacity back - /// to the channel. - /// - /// [`Permit`]: Permit - /// [`send`]: Permit::send - /// - /// # Cancel safety - /// - /// This channel uses a queue to ensure that calls to `send` and `reserve` - /// complete in the order they were requested. Cancelling a call to - /// `reserve` makes you lose your place in the queue. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel(1); - /// - /// // Reserve capacity - /// let permit = tx.reserve().await.unwrap(); - /// - /// // Trying to send directly on the `tx` will fail due to no - /// // available capacity. - /// assert!(tx.try_send(123).is_err()); - /// - /// // Sending on the permit succeeds - /// permit.send(456); - /// - /// // The value sent on the permit is received - /// assert_eq!(rx.recv().await.unwrap(), 456); - /// # } - /// ``` - Future reserve(); - - /// Waits for channel capacity. Once capacity to send `n` messages is - /// available, it is reserved for the caller. - /// - /// If the channel is full or if there are fewer than `n` permits available, the function waits - /// for the number of unreceived messages to become `n` less than the channel capacity. - /// Capacity to send `n` message is then reserved for the caller. - /// - /// A [`PermitIterator`] is returned to track the reserved capacity. - /// You can call this [`Iterator`] until it is exhausted to - /// get a [`Permit`] and then call [`Permit::send`]. This function is similar to - /// [`try_reserve_many`] except it waits for the slots to become available. - /// - /// If the channel is closed, the function returns a [`SendError`]. - /// - /// Dropping [`PermitIterator`] without consuming it entirely releases the remaining - /// permits back to the channel. - /// - /// [`PermitIterator`]: PermitIterator - /// [`Permit`]: Permit - /// [`send`]: Permit::send - /// [`try_reserve_many`]: Sender::try_reserve_many - /// - /// # Cancel safety - /// - /// This channel uses a queue to ensure that calls to `send` and `reserve_many` - /// complete in the order they were requested. Cancelling a call to - /// `reserve_many` makes you lose your place in the queue. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel(2); - /// - /// // Reserve capacity - /// let mut permit = tx.reserve_many(2).await.unwrap(); - /// - /// // Trying to send directly on the `tx` will fail due to no - /// // available capacity. - /// assert!(tx.try_send(123).is_err()); - /// - /// // Sending with the permit iterator succeeds - /// permit.next().unwrap().send(456); - /// permit.next().unwrap().send(457); - /// - /// // The iterator should now be exhausted - /// assert!(permit.next().is_none()); - /// - /// // The value sent on the permit is received - /// assert_eq!(rx.recv().await.unwrap(), 456); - /// assert_eq!(rx.recv().await.unwrap(), 457); - /// # } - /// ``` - Future reserveMany({required BigInt n}); - - /// Waits for channel capacity, moving the `Sender` and returning an owned - /// permit. Once capacity to send one message is available, it is reserved - /// for the caller. - /// - /// This moves the sender _by value_, and returns an owned permit that can - /// be used to send a message into the channel. Unlike [`Sender::reserve`], - /// this method may be used in cases where the permit must be valid for the - /// `'static` lifetime. `Sender`s may be cloned cheaply (`Sender::clone` is - /// essentially a reference count increment, comparable to [`Arc::clone`]), - /// so when multiple [`OwnedPermit`]s are needed or the `Sender` cannot be - /// moved, it can be cloned prior to calling `reserve_owned`. - /// - /// If the channel is full, the function waits for the number of unreceived - /// messages to become less than the channel capacity. Capacity to send one - /// message is reserved for the caller. An [`OwnedPermit`] is returned to - /// track the reserved capacity. The [`send`] function on [`OwnedPermit`] - /// consumes the reserved capacity. - /// - /// Dropping the [`OwnedPermit`] without sending a message releases the - /// capacity back to the channel. - /// - /// # Cancel safety - /// - /// This channel uses a queue to ensure that calls to `send` and `reserve` - /// complete in the order they were requested. Cancelling a call to - /// `reserve_owned` makes you lose your place in the queue. - /// - /// # Examples - /// Sending a message using an [`OwnedPermit`]: - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel(1); - /// - /// // Reserve capacity, moving the sender. - /// let permit = tx.reserve_owned().await.unwrap(); - /// - /// // Send a message, consuming the permit and returning - /// // the moved sender. - /// let tx = permit.send(123); - /// - /// // The value sent on the permit is received. - /// assert_eq!(rx.recv().await.unwrap(), 123); - /// - /// // The sender can now be used again. - /// tx.send(456).await.unwrap(); - /// # } - /// ``` - /// - /// When multiple [`OwnedPermit`]s are needed, or the sender cannot be moved - /// by value, it can be inexpensively cloned before calling `reserve_owned`: - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel(1); - /// - /// // Clone the sender and reserve capacity. - /// let permit = tx.clone().reserve_owned().await.unwrap(); - /// - /// // Trying to send directly on the `tx` will fail due to no - /// // available capacity. - /// assert!(tx.try_send(123).is_err()); - /// - /// // Sending on the permit succeeds. - /// permit.send(456); - /// - /// // The value sent on the permit is received - /// assert_eq!(rx.recv().await.unwrap(), 456); - /// # } - /// ``` - /// - /// [`Sender::reserve`]: Sender::reserve - /// [`OwnedPermit`]: OwnedPermit - /// [`send`]: OwnedPermit::send - /// [`Arc::clone`]: std::sync::Arc::clone - Future reserveOwned(); - - /// Returns `true` if senders belong to the same channel. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, _rx) = broadcast::channel::<()>(16); - /// let tx2 = tx.clone(); - /// - /// assert!(tx.same_channel(&tx2)); - /// - /// let (tx3, _rx3) = broadcast::channel::<()>(16); - /// - /// assert!(!tx3.same_channel(&tx2)); - /// # } - /// ``` - Future sameChannel({required SenderT other}); - - /// Attempts to send a value to all active [`Receiver`] handles, returning - /// it back if it could not be sent. - /// - /// A successful send occurs when there is at least one active [`Receiver`] - /// handle. An unsuccessful send would be one where all associated - /// [`Receiver`] handles have already been dropped. - /// - /// # Return - /// - /// On success, the number of subscribed [`Receiver`] handles is returned. - /// This does not mean that this number of receivers will see the message as - /// a receiver may drop or lag ([see lagging](self#lagging)) before receiving - /// the message. - /// - /// # Note - /// - /// A return value of `Ok` **does not** mean that the sent value will be - /// observed by all or any of the active [`Receiver`] handles. [`Receiver`] - /// handles may be dropped before receiving the sent message. - /// - /// A return value of `Err` **does not** mean that future calls to `send` - /// will fail. New [`Receiver`] handles may be created by calling - /// [`subscribe`]. - /// - /// [`Receiver`]: crate::sync::broadcast::Receiver - /// [`subscribe`]: crate::sync::broadcast::Sender::subscribe - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx1) = broadcast::channel(16); - /// let mut rx2 = tx.subscribe(); - /// - /// tokio::spawn(async move { - /// assert_eq!(rx1.recv().await.unwrap(), 10); - /// assert_eq!(rx1.recv().await.unwrap(), 20); - /// }); - /// - /// tokio::spawn(async move { - /// assert_eq!(rx2.recv().await.unwrap(), 10); - /// assert_eq!(rx2.recv().await.unwrap(), 20); - /// }); - /// - /// tx.send(10).unwrap(); - /// tx.send(20).unwrap(); - /// # } - /// ``` - Future send({required T value}); - - /// Sends a new value via the channel, notifying all receivers and returning - /// the previous value in the channel. - /// - /// This can be useful for reusing the buffers inside a watched value. - /// Additionally, this method permits sending values even when there are no - /// receivers. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::watch; - /// - /// let (tx, _rx) = watch::channel(1); - /// assert_eq!(tx.send_replace(2), 1); - /// assert_eq!(tx.send_replace(3), 2); - /// ``` - Future sendReplace({required T value}); - - /// Sends a value, waiting until there is capacity, but only for a limited time. - /// - /// Shares the same success and error conditions as [`send`], adding one more - /// condition for an unsuccessful send, which is when the provided timeout has - /// elapsed, and there is no capacity available. - /// - /// [`send`]: Sender::send - /// - /// # Errors - /// - /// If the receive half of the channel is closed, either due to [`close`] - /// being called or the [`Receiver`] having been dropped, - /// the function returns an error. The error includes the value passed to `send`. - /// - /// [`close`]: Receiver::close - /// [`Receiver`]: Receiver - /// - /// # Panics - /// - /// This function panics if it is called outside the context of a Tokio - /// runtime [with time enabled](crate::runtime::Builder::enable_time). - /// - /// # Examples - /// - /// In the following example, each call to `send_timeout` will block until the - /// previously sent value was received, unless the timeout has elapsed. - /// - /// ```rust - /// use tokio::sync::mpsc; - /// use tokio::time::{sleep, Duration}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel(1); - /// - /// tokio::spawn(async move { - /// for i in 0..10 { - /// if let Err(e) = tx.send_timeout(i, Duration::from_millis(100)).await { - /// println!("send error: #{:?}", e); - /// return; - /// } - /// } - /// }); - /// - /// while let Some(i) = rx.recv().await { - /// println!("got = {}", i); - /// sleep(Duration::from_millis(200)).await; - /// } - /// # } - /// ``` - Future sendTimeout({required T value, required Duration timeout}); - - /// Returns the number of senders that currently exist. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::watch; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx1, rx) = watch::channel("hello"); - /// - /// assert_eq!(1, tx1.sender_count()); - /// - /// let tx2 = tx1.clone(); - /// - /// assert_eq!(2, tx1.sender_count()); - /// assert_eq!(2, tx2.sender_count()); - /// # } - /// ``` - Future senderCount(); - - /// Returns the number of [`Sender`] handles. - Future strongCount(); - - /// Creates a new [`Receiver`] handle that will receive values sent **after** - /// this call to `subscribe`. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::broadcast; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, _rx) = broadcast::channel(16); - /// - /// // Will not be seen - /// tx.send(10).unwrap(); - /// - /// let mut rx = tx.subscribe(); - /// - /// tx.send(20).unwrap(); - /// - /// let value = rx.recv().await.unwrap(); - /// assert_eq!(20, value); - /// # } - /// ``` - Future subscribe(); - - /// Tries to acquire a slot in the channel without waiting for the slot to become - /// available. - /// - /// If the channel is full this function will return [`TrySendError`], otherwise - /// if there is a slot available it will return a [`Permit`] that will then allow you - /// to [`send`] on the channel with a guaranteed slot. This function is similar to - /// [`reserve`] except it does not await for the slot to become available. - /// - /// Dropping [`Permit`] without sending a message releases the capacity back - /// to the channel. - /// - /// [`Permit`]: Permit - /// [`send`]: Permit::send - /// [`reserve`]: Sender::reserve - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel(1); - /// - /// // Reserve capacity - /// let permit = tx.try_reserve().unwrap(); - /// - /// // Trying to send directly on the `tx` will fail due to no - /// // available capacity. - /// assert!(tx.try_send(123).is_err()); - /// - /// // Trying to reserve an additional slot on the `tx` will - /// // fail because there is no capacity. - /// assert!(tx.try_reserve().is_err()); - /// - /// // Sending on the permit succeeds - /// permit.send(456); - /// - /// // The value sent on the permit is received - /// assert_eq!(rx.recv().await.unwrap(), 456); - /// - /// # } - /// ``` - Future tryReserve(); - - /// Tries to acquire `n` slots in the channel without waiting for the slot to become - /// available. - /// - /// A [`PermitIterator`] is returned to track the reserved capacity. - /// You can call this [`Iterator`] until it is exhausted to - /// get a [`Permit`] and then call [`Permit::send`]. This function is similar to - /// [`reserve_many`] except it does not await for the slots to become available. - /// - /// If there are fewer than `n` permits available on the channel, then - /// this function will return a [`TrySendError::Full`]. If the channel is closed - /// this function will return a [`TrySendError::Closed`]. - /// - /// Dropping [`PermitIterator`] without consuming it entirely releases the remaining - /// permits back to the channel. - /// - /// [`PermitIterator`]: PermitIterator - /// [`send`]: Permit::send - /// [`reserve_many`]: Sender::reserve_many - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel(2); - /// - /// // Reserve capacity - /// let mut permit = tx.try_reserve_many(2).unwrap(); - /// - /// // Trying to send directly on the `tx` will fail due to no - /// // available capacity. - /// assert!(tx.try_send(123).is_err()); - /// - /// // Trying to reserve an additional slot on the `tx` will - /// // fail because there is no capacity. - /// assert!(tx.try_reserve().is_err()); - /// - /// // Sending with the permit iterator succeeds - /// permit.next().unwrap().send(456); - /// permit.next().unwrap().send(457); - /// - /// // The iterator should now be exhausted - /// assert!(permit.next().is_none()); - /// - /// // The value sent on the permit is received - /// assert_eq!(rx.recv().await.unwrap(), 456); - /// assert_eq!(rx.recv().await.unwrap(), 457); - /// - /// // Trying to call try_reserve_many with 0 will return an empty iterator - /// let mut permit = tx.try_reserve_many(0).unwrap(); - /// assert!(permit.next().is_none()); - /// - /// // Trying to call try_reserve_many with a number greater than the channel - /// // capacity will return an error - /// let permit = tx.try_reserve_many(3); - /// assert!(permit.is_err()); - /// - /// // Trying to call try_reserve_many on a closed channel will return an error - /// drop(rx); - /// let permit = tx.try_reserve_many(1); - /// assert!(permit.is_err()); - /// - /// let permit = tx.try_reserve_many(0); - /// assert!(permit.is_err()); - /// # } - /// ``` - Future tryReserveMany({required BigInt n}); - - /// Tries to acquire a slot in the channel without waiting for the slot to become - /// available, returning an owned permit. - /// - /// This moves the sender _by value_, and returns an owned permit that can - /// be used to send a message into the channel. Unlike [`Sender::try_reserve`], - /// this method may be used in cases where the permit must be valid for the - /// `'static` lifetime. `Sender`s may be cloned cheaply (`Sender::clone` is - /// essentially a reference count increment, comparable to [`Arc::clone`]), - /// so when multiple [`OwnedPermit`]s are needed or the `Sender` cannot be - /// moved, it can be cloned prior to calling `try_reserve_owned`. - /// - /// If the channel is full this function will return a [`TrySendError`]. - /// Since the sender is taken by value, the `TrySendError` returned in this - /// case contains the sender, so that it may be used again. Otherwise, if - /// there is a slot available, this method will return an [`OwnedPermit`] - /// that can then be used to [`send`] on the channel with a guaranteed slot. - /// This function is similar to [`reserve_owned`] except it does not await - /// for the slot to become available. - /// - /// Dropping the [`OwnedPermit`] without sending a message releases the capacity back - /// to the channel. - /// - /// [`OwnedPermit`]: OwnedPermit - /// [`send`]: OwnedPermit::send - /// [`reserve_owned`]: Sender::reserve_owned - /// [`Arc::clone`]: std::sync::Arc::clone - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let (tx, mut rx) = mpsc::channel(1); - /// - /// // Reserve capacity - /// let permit = tx.clone().try_reserve_owned().unwrap(); - /// - /// // Trying to send directly on the `tx` will fail due to no - /// // available capacity. - /// assert!(tx.try_send(123).is_err()); - /// - /// // Trying to reserve an additional slot on the `tx` will - /// // fail because there is no capacity. - /// assert!(tx.try_reserve().is_err()); - /// - /// // Sending on the permit succeeds - /// permit.send(456); - /// - /// // The value sent on the permit is received - /// assert_eq!(rx.recv().await.unwrap(), 456); - /// - /// # } - /// ``` - Future tryReserveOwned(); - - /// Attempts to immediately send a message on this `Sender`. - /// - /// This method differs from [`send`] by returning immediately if the channel's - /// buffer is full or no receiver is waiting to acquire some data. Compared - /// with [`send`], this function has two failure cases instead of one (one for - /// disconnection, one for a full buffer). - /// - /// # Errors - /// - /// If the channel capacity has been reached, i.e., the channel has `n` - /// buffered values where `n` is the argument passed to [`channel`], then an - /// error is returned. - /// - /// If the receive half of the channel is closed, either due to [`close`] - /// being called or the [`Receiver`] handle dropping, the function returns - /// an error. The error includes the value passed to `send`. - /// - /// [`send`]: Sender::send - /// [`channel`]: channel - /// [`close`]: Receiver::close - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::mpsc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// // Create a channel with buffer size 1 - /// let (tx1, mut rx) = mpsc::channel(1); - /// let tx2 = tx1.clone(); - /// - /// tokio::spawn(async move { - /// tx1.send(1).await.unwrap(); - /// tx1.send(2).await.unwrap(); - /// // task waits until the receiver receives a value. - /// }); - /// - /// tokio::spawn(async move { - /// // This will return an error and send - /// // no message if the buffer is full - /// let _ = tx2.try_send(3); - /// }); - /// - /// let mut msg; - /// msg = rx.recv().await.unwrap(); - /// println!("message {} received", msg); - /// - /// msg = rx.recv().await.unwrap(); - /// println!("message {} received", msg); - /// - /// // Third message may have never been sent - /// match rx.recv().await { - /// Some(msg) => println!("message {} received", msg), - /// None => println!("the third message was never sent"), - /// } - /// # } - /// ``` - Future trySend({required T message}); - - /// Returns the number of [`WeakSender`] handles. - Future weakCount(); -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/process.dart b/mobile_app/lib/src/rust/third_party/tokio/process.dart deleted file mode 100644 index d861c23..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/process.dart +++ /dev/null @@ -1,426 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import '../../lib.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'process/sys.dart'; - -// These functions are ignored because they have generic arguments: `arg0`, `arg`, `args`, `current_dir`, `env_remove`, `env`, `envs`, `new`, `pre_exec`, `stderr`, `stdin`, `stdout` -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `ChildDropGuard`, `FusedChild`, `SpawnedChild` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from`, `is_write_vectored`, `kill`, `poll_flush`, `poll_read`, `poll_read`, `poll_shutdown`, `poll_write_vectored`, `poll_write`, `poll`, `try_into`, `try_into`, `try_into` -// These functions have error during generation (see debug logs or enable `stop_on_error: true` for more details): `output`, `status`, `wait_with_output` - -// Rust type: RustOpaqueMoi> -abstract class Child implements RustOpaqueInterface { - ChildStderr? get stderr; - - ChildStdin? get stdin; - - ChildStdout? get stdout; - - set stderr(ChildStderr? stderr); - - set stdin(ChildStdin? stdin); - - set stdout(ChildStdout? stdout); - - /// Returns the OS-assigned process identifier associated with this child - /// while it is still running. - /// - /// Once the child has been polled to completion this will return `None`. - /// This is done to avoid confusion on platforms like Unix where the OS - /// identifier could be reused once the process has completed. - Future id(); - - /// Forces the child to exit. - /// - /// This is equivalent to sending a `SIGKILL` on unix platforms - /// followed by [`wait`](Child::wait). - /// - /// Note: std version of [`Child::kill`](std::process::Child::kill) does not `wait`. - /// For an equivalent of `Child::kill` in the standard library, - /// use [`start_kill`](Child::start_kill). - /// - /// # Examples - /// - /// If the child has to be killed remotely, it is possible to do it using - /// a combination of the select! macro and a `oneshot` channel. In the following - /// example, the child will run until completion unless a message is sent on - /// the `oneshot` channel. If that happens, the child is killed immediately - /// using the `.kill()` method. - /// - /// ```no_run - /// use tokio::process::Command; - /// use tokio::sync::oneshot::channel; - /// - /// #[tokio::main] - /// async fn main() { - /// let (send, recv) = channel::<()>(); - /// let mut child = Command::new("sleep").arg("1").spawn().unwrap(); - /// tokio::spawn(async move { send.send(()) }); - /// tokio::select! { - /// _ = child.wait() => {} - /// _ = recv => child.kill().await.expect("kill failed"), - /// } - /// } - /// ``` - /// - /// You can also interact with the child's standard I/O. For example, you can - /// read its stdout while waiting for it to exit. - /// - /// ```no_run - /// # use std::process::Stdio; - /// # - /// # use tokio::io::AsyncReadExt; - /// # use tokio::process::Command; - /// # use tokio::sync::oneshot::channel; - /// - /// #[tokio::main] - /// async fn main() { - /// let (_tx, rx) = channel::<()>(); - /// - /// let mut child = Command::new("echo") - /// .arg("Hello World!") - /// .stdout(Stdio::piped()) - /// .spawn() - /// .unwrap(); - /// - /// let mut stdout = child.stdout.take().expect("stdout is not captured"); - /// - /// let read_stdout = tokio::spawn(async move { - /// let mut buff = Vec::new(); - /// let _ = stdout.read_to_end(&mut buff).await; - /// - /// buff - /// }); - /// - /// tokio::select! { - /// _ = child.wait() => {} - /// _ = rx => { child.kill().await.expect("kill failed") }, - /// } - /// - /// let buff = read_stdout.await.unwrap(); - /// - /// assert_eq!(buff, b"Hello World!\n"); - /// } - /// ``` - Future kill(); - - /// Attempts to force the child to exit, but does not wait for the request - /// to take effect. - /// - /// On Unix platforms, this is the equivalent to sending a `SIGKILL`. Note - /// that on Unix platforms it is possible for a zombie process to remain - /// after a kill is sent; to avoid this, the caller should ensure that either - /// `child.wait().await` or `child.try_wait()` is invoked successfully. - Future startKill(); - - /// Attempts to collect the exit status of the child if it has already - /// exited. - /// - /// This function will not block the calling thread and will only - /// check to see if the child process has exited or not. If the child has - /// exited then on Unix the process ID is reaped. This function is - /// guaranteed to repeatedly return a successful exit status so long as the - /// child has already exited. - /// - /// If the child has exited, then `Ok(Some(status))` is returned. If the - /// exit status is not available at this time then `Ok(None)` is returned. - /// If an error occurs, then that error is returned. - /// - /// Note that unlike `wait`, this function will not attempt to drop stdin, - /// nor will it wake the current task if the child exits. - Future tryWait(); - - /// Waits for the child to exit completely, returning the status that it - /// exited with. This function will continue to have the same return value - /// after it has been called at least once. - /// - /// The stdin handle to the child process, if any, will be closed - /// before waiting. This helps avoid deadlock: it ensures that the - /// child does not block waiting for input from the parent, while - /// the parent waits for the child to exit. - /// - /// If the caller wishes to explicitly control when the child's stdin - /// handle is closed, they may `.take()` it before calling `.wait()`: - /// - /// # Cancel safety - /// - /// This function is cancel safe. - /// - /// ``` - /// # #[cfg(not(unix))]fn main(){} - /// # #[cfg(unix)] - /// use tokio::io::AsyncWriteExt; - /// # #[cfg(unix)] - /// use tokio::process::Command; - /// # #[cfg(unix)] - /// use std::process::Stdio; - /// - /// # #[cfg(unix)] - /// #[tokio::main] - /// async fn main() { - /// # if cfg!(miri) { return; } // No `pidfd_spawnp` in miri. - /// let mut child = Command::new("cat") - /// .stdin(Stdio::piped()) - /// .spawn() - /// .unwrap(); - /// - /// let mut stdin = child.stdin.take().unwrap(); - /// tokio::spawn(async move { - /// // do something with stdin here... - /// stdin.write_all(b"hello world\n").await.unwrap(); - /// - /// // then drop when finished - /// drop(stdin); - /// }); - /// - /// // wait for the process to complete - /// let _ = child.wait().await; - /// } - /// ``` - Future wait(); -} - -// Rust type: RustOpaqueMoi> -abstract class ChildStderr implements RustOpaqueInterface { - /// Creates an asynchronous `ChildStderr` from a synchronous one. - /// - /// # Errors - /// - /// This method may fail if an error is encountered when setting the pipe to - /// non-blocking mode, or when registering the pipe with the runtime's IO - /// driver. - static Future fromStd({required ChildStderr inner}) => - RustLib.instance.api.tokioProcessChildStderrFromStd(inner: inner); - - /// Convert into [`OwnedFd`]. - Future intoOwnedFd(); -} - -// Rust type: RustOpaqueMoi> -abstract class ChildStdin implements RustOpaqueInterface { - /// Creates an asynchronous `ChildStdin` from a synchronous one. - /// - /// # Errors - /// - /// This method may fail if an error is encountered when setting the pipe to - /// non-blocking mode, or when registering the pipe with the runtime's IO - /// driver. - static Future fromStd({required ChildStdin inner}) => - RustLib.instance.api.tokioProcessChildStdinFromStd(inner: inner); - - /// Convert into [`OwnedFd`]. - Future intoOwnedFd(); -} - -// Rust type: RustOpaqueMoi> -abstract class ChildStdout implements RustOpaqueInterface { - /// Creates an asynchronous `ChildStdout` from a synchronous one. - /// - /// # Errors - /// - /// This method may fail if an error is encountered when setting the pipe to - /// non-blocking mode, or when registering the pipe with the runtime's IO - /// driver. - static Future fromStd({required ChildStdout inner}) => - RustLib.instance.api.tokioProcessChildStdoutFromStd(inner: inner); - - /// Convert into [`OwnedFd`]. - Future intoOwnedFd(); -} - -// Rust type: RustOpaqueMoi> -abstract class Command implements RustOpaqueInterface { - /// Cheaply convert to a `&std::process::Command` for places where the type from the standard - /// library is expected. - Future asStd(); - - /// Cheaply convert to a `&mut std::process::Command` for places where the type from the - /// standard library is expected. - Future asStdMut(); - - /// Clears the entire environment map for the child process. - /// - /// # Examples - /// - /// Basic usage: - /// - /// ```no_run - /// # async fn test() { // allow using await - /// use tokio::process::Command; - /// - /// let output = Command::new("ls") - /// .env_clear() - /// .output().await.unwrap(); - /// # } - /// ``` - Future envClear(); - - /// Returns the boolean value that was previously set by [`Command::kill_on_drop`]. - /// - /// Note that if you have not previously called [`Command::kill_on_drop`], the - /// default value of `false` will be returned here. - /// - /// # Examples - /// - /// ``` - /// use tokio::process::Command; - /// - /// let mut cmd = Command::new("echo"); - /// assert!(!cmd.get_kill_on_drop()); - /// - /// cmd.kill_on_drop(true); - /// assert!(cmd.get_kill_on_drop()); - /// ``` - Future getKillOnDrop(); - - /// Similar to `uid` but sets the group ID of the child process. This has - /// the same semantics as the `uid` field. - Future gid({required int id}); - - /// Cheaply convert into a `std::process::Command`. - /// - /// Note that Tokio specific options will be lost. Currently, this only applies to [`kill_on_drop`]. - /// - /// [`kill_on_drop`]: Command::kill_on_drop - Future intoStd(); - - /// Controls whether a `kill` operation should be invoked on a spawned child - /// process when its corresponding `Child` handle is dropped. - /// - /// By default, this value is assumed to be `false`, meaning the next spawned - /// process will not be killed on drop, similar to the behavior of the standard - /// library. - /// - /// # Caveats - /// - /// On Unix platforms processes must be "reaped" by their parent process after - /// they have exited in order to release all OS resources. A child process which - /// has exited, but has not yet been reaped by its parent is considered a "zombie" - /// process. Such processes continue to count against limits imposed by the system, - /// and having too many zombie processes present can prevent additional processes - /// from being spawned. - /// - /// Although issuing a `kill` signal to the child process is a synchronous - /// operation, the resulting zombie process cannot be `.await`ed inside of the - /// destructor to avoid blocking other tasks. The tokio runtime will, on a - /// best-effort basis, attempt to reap and clean up such processes in the - /// background, but no additional guarantees are made with regard to - /// how quickly or how often this procedure will take place. - /// - /// If stronger guarantees are required, it is recommended to avoid dropping - /// a [`Child`] handle where possible, and instead utilize `child.wait().await` - /// or `child.kill().await` where possible. - Future killOnDrop({required bool killOnDrop}); - - /// Sets the process group ID (PGID) of the child process. Equivalent to a - /// `setpgid` call in the child process, but may be more efficient. - /// - /// Process groups determine which processes receive signals. - /// - /// # Examples - /// - /// Pressing Ctrl-C in a terminal will send `SIGINT` to all processes - /// in the current foreground process group. By spawning the `sleep` - /// subprocess in a new process group, it will not receive `SIGINT` - /// from the terminal. - /// - /// The parent process could install a [signal handler] and manage the - /// process on its own terms. - /// - /// A process group ID of 0 will use the process ID as the PGID. - /// - /// ```no_run - /// # async fn test() { // allow using await - /// use tokio::process::Command; - /// - /// let output = Command::new("sleep") - /// .arg("10") - /// .process_group(0) - /// .output() - /// .await - /// .unwrap(); - /// # } - /// ``` - /// - /// [signal handler]: crate::signal - Future processGroup({required int pgroup}); - - /// Executes the command as a child process, returning a handle to it. - /// - /// By default, stdin, stdout and stderr are inherited from the parent. - /// - /// This method will spawn the child process synchronously and return a - /// handle to a future-aware child process. The `Child` returned implements - /// `Future` itself to acquire the `ExitStatus` of the child, and otherwise - /// the `Child` has methods to acquire handles to the stdin, stdout, and - /// stderr streams. - /// - /// All I/O this child does will be associated with the current default - /// event loop. - /// - /// # Examples - /// - /// Basic usage: - /// - /// ```no_run - /// use tokio::process::Command; - /// - /// async fn run_ls() -> std::process::ExitStatus { - /// Command::new("ls") - /// .spawn() - /// .expect("ls command failed to start") - /// .wait() - /// .await - /// .expect("ls command failed to run") - /// } - /// ``` - /// - /// # Caveats - /// - /// ## Dropping/Cancellation - /// - /// Similar to the behavior to the standard library, and unlike the futures - /// paradigm of dropping-implies-cancellation, a spawned process will, by - /// default, continue to execute even after the `Child` handle has been dropped. - /// - /// The [`Command::kill_on_drop`] method can be used to modify this behavior - /// and kill the child process if the `Child` wrapper is dropped before it - /// has exited. - /// - /// ## Unix Processes - /// - /// On Unix platforms processes must be "reaped" by their parent process after - /// they have exited in order to release all OS resources. A child process which - /// has exited, but has not yet been reaped by its parent is considered a "zombie" - /// process. Such processes continue to count against limits imposed by the system, - /// and having too many zombie processes present can prevent additional processes - /// from being spawned. - /// - /// The tokio runtime will, on a best-effort basis, attempt to reap and clean up - /// any process which it has spawned. No additional guarantees are made with regard to - /// how quickly or how often this procedure will take place. - /// - /// It is recommended to avoid dropping a [`Child`] process handle before it has been - /// fully `await`ed if stricter cleanup guarantees are required. - /// - /// [`Command`]: crate::process::Command - /// [`Command::kill_on_drop`]: crate::process::Command::kill_on_drop - /// [`Child`]: crate::process::Child - /// - /// # Errors - /// - /// On Unix platforms this method will fail with `std::io::ErrorKind::WouldBlock` - /// if the system process limit is reached (which includes other applications - /// running on the system). - Future spawn(); - - /// Sets the child process's user ID. This translates to a - /// `setuid` call in the child process. Failure in the `setuid` - /// call will cause the spawn to fail. - Future uid({required int id}); -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/process/sys.dart b/mobile_app/lib/src/rust/third_party/tokio/process/sys.dart deleted file mode 100644 index d35d754..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/process/sys.dart +++ /dev/null @@ -1,12 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_fd`, `as_fd`, `as_raw_fd`, `as_raw_fd`, `as_raw_fd` - -// Rust type: RustOpaqueMoi> -abstract class OwnedFd implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/runtime.dart b/mobile_app/lib/src/rust/third_party/tokio/runtime.dart deleted file mode 100644 index 2cd6b3b..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/runtime.dart +++ /dev/null @@ -1,531 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `TimerFlavor`, `Timer` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `eq`, `fmt`, `fmt` - -// Rust type: RustOpaqueMoi>> -abstract class EnterGuard implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Handle implements RustOpaqueInterface { - /// Returns a `Handle` view over the currently running `Runtime`. - /// - /// # Panics - /// - /// This will panic if called outside the context of a Tokio runtime. That means that you must - /// call this on one of the threads **being run by the runtime**, or from a thread with an active - /// `EnterGuard`. Calling this from within a thread created by `std::thread::spawn` (for example) - /// will cause a panic unless that thread has an active `EnterGuard`. - /// - /// # Examples - /// - /// This can be used to obtain the handle of the surrounding runtime from an async - /// block or function running on that runtime. - /// - /// ``` - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// # use std::thread; - /// # use tokio::runtime::Runtime; - /// # fn dox() { - /// # let rt = Runtime::new().unwrap(); - /// # rt.spawn(async { - /// use tokio::runtime::Handle; - /// - /// // Inside an async block or function. - /// let handle = Handle::current(); - /// handle.spawn(async { - /// println!("now running in the existing Runtime"); - /// }); - /// - /// # let handle = - /// thread::spawn(move || { - /// // Notice that the handle is created outside of this thread and then moved in - /// handle.spawn(async { /* ... */ }); - /// // This next line would cause a panic because we haven't entered the runtime - /// // and created an EnterGuard - /// // let handle2 = Handle::current(); // panic - /// // So we create a guard here with Handle::enter(); - /// let _guard = handle.enter(); - /// // Now we can call Handle::current(); - /// let handle2 = Handle::current(); - /// }); - /// # handle.join().unwrap(); - /// # }); - /// # } - /// # } - /// ``` - static Future current() => - RustLib.instance.api.tokioRuntimeHandleCurrent(); - - static Future default_() => - RustLib.instance.api.tokioRuntimeHandleDefault(); - - /// Enters the runtime context. This allows you to construct types that must - /// have an executor available on creation such as [`Sleep`] or - /// [`TcpStream`]. It will also allow you to call methods such as - /// [`tokio::spawn`] and [`Handle::current`] without panicking. - /// - /// # Panics - /// - /// When calling `Handle::enter` multiple times, the returned guards - /// **must** be dropped in the reverse order that they were acquired. - /// Failure to do so will result in a panic and possible memory leaks. - /// - /// # Examples - /// - /// ``` - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use tokio::runtime::Runtime; - /// - /// let rt = Runtime::new().unwrap(); - /// - /// let _guard = rt.enter(); - /// tokio::spawn(async { - /// println!("Hello world!"); - /// }); - /// # } - /// ``` - /// - /// Do **not** do the following, this shows a scenario that will result in a - /// panic and possible memory leak. - /// - /// ```should_panic,ignore-wasm - /// use tokio::runtime::Runtime; - /// - /// let rt1 = Runtime::new().unwrap(); - /// let rt2 = Runtime::new().unwrap(); - /// - /// let enter1 = rt1.enter(); - /// let enter2 = rt2.enter(); - /// - /// drop(enter1); - /// drop(enter2); - /// ``` - /// - /// [`Sleep`]: struct@crate::time::Sleep - /// [`TcpStream`]: struct@crate::net::TcpStream - /// [`tokio::spawn`]: fn@crate::spawn - Future enter(); - - /// Returns the [`Id`] of the current `Runtime`. - /// - /// # Examples - /// - /// ``` - /// use tokio::runtime::Handle; - /// - /// #[tokio::main(flavor = "current_thread")] - /// async fn main() { - /// println!("Current runtime id: {}", Handle::current().id()); - /// } - /// ``` - /// - /// [`Id`]: struct@crate::runtime::Id - Future id(); - - /// Returns a view that lets you get information about how the runtime - /// is performing. - Future metrics(); - - /// Returns the flavor of the current `Runtime`. - /// - /// # Examples - /// - /// ``` - /// use tokio::runtime::{Handle, RuntimeFlavor}; - /// - /// #[tokio::main(flavor = "current_thread")] - /// async fn main() { - /// assert_eq!(RuntimeFlavor::CurrentThread, Handle::current().runtime_flavor()); - /// } - /// ``` - /// - /// ``` - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use tokio::runtime::{Handle, RuntimeFlavor}; - /// - /// #[tokio::main(flavor = "multi_thread", worker_threads = 4)] - /// async fn main() { - /// assert_eq!(RuntimeFlavor::MultiThread, Handle::current().runtime_flavor()); - /// } - /// # } - /// ``` - Future runtimeFlavor(); - - /// Returns a Handle view over the currently running Runtime - /// - /// Returns an error if no Runtime has been started - /// - /// Contrary to `current`, this never panics - static Future tryCurrent() => - RustLib.instance.api.tokioRuntimeHandleTryCurrent(); -} - -// Rust type: RustOpaqueMoi> -abstract class Id implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Runtime implements RustOpaqueInterface { - /// Enters the runtime context. - /// - /// This allows you to construct types that must have an executor - /// available on creation such as [`Sleep`] or [`TcpStream`]. It will - /// also allow you to call methods such as [`tokio::spawn`]. - /// - /// [`Sleep`]: struct@crate::time::Sleep - /// [`TcpStream`]: struct@crate::net::TcpStream - /// [`tokio::spawn`]: fn@crate::spawn - /// - /// # Example - /// - /// ``` - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use tokio::runtime::Runtime; - /// use tokio::task::JoinHandle; - /// - /// fn function_that_spawns(msg: String) -> JoinHandle<()> { - /// // Had we not used `rt.enter` below, this would panic. - /// tokio::spawn(async move { - /// println!("{}", msg); - /// }) - /// } - /// - /// fn main() { - /// let rt = Runtime::new().unwrap(); - /// - /// let s = "Hello World!".to_string(); - /// - /// // By entering the context, we tie `tokio::spawn` to this executor. - /// let _guard = rt.enter(); - /// let handle = function_that_spawns(s); - /// - /// // Wait for the task before we end the test. - /// rt.block_on(handle).unwrap(); - /// } - /// # } - /// ``` - Future enter(); - - /// Returns a handle to the runtime's spawner. - /// - /// The returned handle can be used to spawn tasks that run on this runtime, and can - /// be cloned to allow moving the `Handle` to other threads. - /// - /// Calling [`Handle::block_on`] on a handle to a `current_thread` runtime is error-prone. - /// Refer to the documentation of [`Handle::block_on`] for more. - /// - /// # Examples - /// - /// ``` - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use tokio::runtime::Runtime; - /// - /// let rt = Runtime::new() - /// .unwrap(); - /// - /// let handle = rt.handle(); - /// - /// // Use the handle... - /// # } - /// ``` - Future handle(); - - /// Returns a view that lets you get information about how the runtime - /// is performing. - Future metrics(); - - // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - /// Creates a new runtime instance with default configuration values. - /// - /// This results in the multi threaded scheduler, I/O driver, and time driver being - /// initialized. - /// - /// Most applications will not need to call this function directly. Instead, - /// they will use the [`#[tokio::main]` attribute][main]. When a more complex - /// configuration is necessary, the [runtime builder] may be used. - /// - /// See [module level][mod] documentation for more details. - /// - /// # Examples - /// - /// Creating a new `Runtime` with default configuration values. - /// - /// ``` - /// use tokio::runtime::Runtime; - /// - /// let rt = Runtime::new() - /// .unwrap(); - /// - /// // Use the runtime... - /// ``` - /// - /// [mod]: index.html - /// [main]: ../attr.main.html - /// [threaded scheduler]: index.html#threaded-scheduler - /// [runtime builder]: crate::runtime::Builder - static Future newInstance() => - RustLib.instance.api.tokioRuntimeRuntimeNew(); - - /// Shuts down the runtime, without waiting for any spawned work to stop. - /// - /// This can be useful if you want to drop a runtime from within another runtime. - /// Normally, dropping a runtime will block indefinitely for spawned blocking tasks - /// to complete, which would normally not be permitted within an asynchronous context. - /// By calling `shutdown_background()`, you can drop the runtime from such a context. - /// - /// Note however, that because we do not wait for any blocking tasks to complete, this - /// may result in a resource leak (in that any blocking tasks are still running until they - /// return. - /// - /// See the [struct level documentation](Runtime#shutdown) for more details. - /// - /// This function is equivalent to calling `shutdown_timeout(Duration::from_nanos(0))`. - /// - /// ``` - /// # #[cfg(not(target_family = "wasm"))] - /// # { - /// use tokio::runtime::Runtime; - /// - /// fn main() { - /// let runtime = Runtime::new().unwrap(); - /// - /// runtime.block_on(async move { - /// let inner_runtime = Runtime::new().unwrap(); - /// // ... - /// inner_runtime.shutdown_background(); - /// }); - /// } - /// # } - /// ``` - Future shutdownBackground(); -} - -// Rust type: RustOpaqueMoi> -abstract class RuntimeMetrics implements RustOpaqueInterface { - /// Returns the number of tasks currently scheduled in the runtime's - /// global queue. - /// - /// Tasks that are spawned or notified from a non-runtime thread are - /// scheduled using the runtime's global queue. This metric returns the - /// **current** number of tasks pending in the global queue. As such, the - /// returned value may increase or decrease as new tasks are scheduled and - /// processed. - /// - /// # Examples - /// - /// ``` - /// use tokio::runtime::Handle; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let metrics = Handle::current().metrics(); - /// - /// let n = metrics.global_queue_depth(); - /// println!("{} tasks currently pending in the runtime's global queue", n); - /// # } - /// ``` - Future globalQueueDepth(); - - /// Returns the current number of alive tasks in the runtime. - /// - /// This counter increases when a task is spawned and decreases when a - /// task exits. - /// - /// Note: When using the multi-threaded runtime this number may not - /// not have strong consistency i.e. no tasks may be running but the metric - /// reports otherwise. - /// - /// # Examples - /// - /// ``` - /// use tokio::runtime::Handle; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let metrics = Handle::current().metrics(); - /// - /// let n = metrics.num_alive_tasks(); - /// println!("Runtime has {} alive tasks", n); - /// # } - /// ``` - Future numAliveTasks(); - - /// Returns the number of worker threads used by the runtime. - /// - /// The number of workers is set by configuring `worker_threads` on - /// `runtime::Builder`. When using the `current_thread` runtime, the return - /// value is always `1`. - /// - /// # Examples - /// - /// ``` - /// use tokio::runtime::Handle; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let metrics = Handle::current().metrics(); - /// - /// let n = metrics.num_workers(); - /// println!("Runtime is using {} workers", n); - /// # } - /// ``` - Future numWorkers(); - - /// Returns the total number of times the given worker thread has parked. - /// - /// The worker park count starts at zero when the runtime is created and - /// increases by one each time the worker parks the thread waiting for new - /// inbound events to process. This usually means the worker has processed - /// all pending work and is currently idle. - /// - /// The counter is monotonically increasing. It is never decremented or - /// reset to zero. - /// - /// # Arguments - /// - /// `worker` is the index of the worker being queried. The given value must - /// be between 0 and `num_workers()`. The index uniquely identifies a single - /// worker and will continue to identify the worker throughout the lifetime - /// of the runtime instance. - /// - /// # Panics - /// - /// The method panics when `worker` represents an invalid worker, i.e. is - /// greater than or equal to `num_workers()`. - /// - /// # Examples - /// - /// ``` - /// use tokio::runtime::Handle; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let metrics = Handle::current().metrics(); - /// - /// let n = metrics.worker_park_count(0); - /// println!("worker 0 parked {} times", n); - /// # } - /// ``` - Future workerParkCount({required BigInt worker}); - - /// Returns the total number of times the given worker thread has parked - /// and unparked. - /// - /// The worker park/unpark count starts at zero when the runtime is created - /// and increases by one each time the worker parks the thread waiting for - /// new inbound events to process. This usually means the worker has processed - /// all pending work and is currently idle. When new work becomes available, - /// the worker is unparked and the park/unpark count is again increased by one. - /// - /// An odd count means that the worker is currently parked. - /// An even count means that the worker is currently active. - /// - /// The counter is monotonically increasing. It is never decremented or - /// reset to zero. - /// - /// # Arguments - /// - /// `worker` is the index of the worker being queried. The given value must - /// be between 0 and `num_workers()`. The index uniquely identifies a single - /// worker and will continue to identify the worker throughout the lifetime - /// of the runtime instance. - /// - /// # Panics - /// - /// The method panics when `worker` represents an invalid worker, i.e. is - /// greater than or equal to `num_workers()`. - /// - /// # Examples - /// - /// ``` - /// use tokio::runtime::Handle; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let metrics = Handle::current().metrics(); - /// let n = metrics.worker_park_unpark_count(0); - /// - /// println!("worker 0 parked and unparked {} times", n); - /// - /// if n % 2 == 0 { - /// println!("worker 0 is active"); - /// } else { - /// println!("worker 0 is parked"); - /// } - /// # } - /// ``` - Future workerParkUnparkCount({required BigInt worker}); - - /// Returns the amount of time the given worker thread has been busy. - /// - /// The worker busy duration starts at zero when the runtime is created and - /// increases whenever the worker is spending time processing work. Using - /// this value can indicate the load of the given worker. If a lot of time - /// is spent busy, then the worker is under load and will check for inbound - /// events less often. - /// - /// The timer is monotonically increasing. It is never decremented or reset - /// to zero. - /// - /// # Arguments - /// - /// `worker` is the index of the worker being queried. The given value must - /// be between 0 and `num_workers()`. The index uniquely identifies a single - /// worker and will continue to identify the worker throughout the lifetime - /// of the runtime instance. - /// - /// # Panics - /// - /// The method panics when `worker` represents an invalid worker, i.e. is - /// greater than or equal to `num_workers()`. - /// - /// # Examples - /// - /// ``` - /// use tokio::runtime::Handle; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let metrics = Handle::current().metrics(); - /// - /// let n = metrics.worker_total_busy_duration(0); - /// println!("worker 0 was busy for a total of {:?}", n); - /// # } - /// ``` - Future workerTotalBusyDuration({required BigInt worker}); -} - -// Rust type: RustOpaqueMoi> -abstract class TryCurrentError implements RustOpaqueInterface { - /// Returns true if the call failed because there is currently no runtime in - /// the Tokio context. - Future isMissingContext(); - - /// Returns true if the call failed because the Tokio context thread-local - /// had been destroyed. This can usually only happen if in the destructor of - /// other thread-locals. - Future isThreadLocalDestroyed(); -} - -/// The flavor of a `Runtime`. -/// -/// This is the return type for [`Handle::runtime_flavor`](crate::runtime::Handle::runtime_flavor()). -enum RuntimeFlavor { - /// The flavor that executes all tasks on the current thread. - currentThread, - - /// The flavor that executes tasks across multiple threads. - multiThread, - ; -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/signal.dart b/mobile_app/lib/src/rust/third_party/tokio/signal.dart deleted file mode 100644 index fb9884b..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/signal.dart +++ /dev/null @@ -1,63 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `RxFuture` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `fmt` - -/// Completes when a "ctrl-c" notification is sent to the process. -/// -/// While signals are handled very differently between Unix and Windows, both -/// platforms support receiving a signal on "ctrl-c". This function provides a -/// portable API for receiving this notification. -/// -/// Once the returned future is polled, a listener is registered. The future -/// will complete on the first received `ctrl-c` **after** the initial call to -/// either `Future::poll` or `.await`. -/// -/// # Caveats -/// -/// On Unix platforms, the first time that a `Signal` instance is registered for a -/// particular signal kind, an OS signal-handler is installed which replaces the -/// default platform behavior when that signal is received, **for the duration of -/// the entire process**. -/// -/// For example, Unix systems will terminate a process by default when it -/// receives a signal generated by `"CTRL+C"` on the terminal. But, when a -/// `ctrl_c` stream is created to listen for this signal, the time it arrives, -/// it will be translated to a stream event, and the process will continue to -/// execute. **Even if this `Signal` instance is dropped, subsequent `SIGINT` -/// deliveries will end up captured by Tokio, and the default platform behavior -/// will NOT be reset**. -/// -/// Thus, applications should take care to ensure the expected signal behavior -/// occurs as expected after listening for specific signals. -/// -/// # Examples -/// -/// ```rust,no_run -/// use tokio::signal; -/// -/// #[tokio::main] -/// async fn main() { -/// println!("waiting for ctrl-c"); -/// -/// signal::ctrl_c().await.expect("failed to listen for event"); -/// -/// println!("received ctrl-c event"); -/// } -/// ``` -/// -/// Listen in the background: -/// -/// ```rust,no_run -/// tokio::spawn(async move { -/// tokio::signal::ctrl_c().await.unwrap(); -/// // Your handler here -/// }); -/// ``` -Future ctrlC() => RustLib.instance.api.tokioSignalCtrlC(); diff --git a/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart b/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart deleted file mode 100644 index b08de60..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart +++ /dev/null @@ -1,231 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import '../../../lib.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - - - // These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `OsExtraData`, `OsStorage`, `SignalInfo` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `clone`, `eq`, `event_info`, `fmt`, `fmt`, `fmt`, `for_each`, `from`, `from`, `hash` -// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `default`, `default`, `default` - - - /// Creates a new listener which will receive notifications when the current -/// process receives the specified signal `kind`. -/// -/// This function will create a new stream which binds to the default reactor. -/// The `Signal` stream is an infinite stream which will receive -/// notifications whenever a signal is received. More documentation can be -/// found on `Signal` itself, but to reiterate: -/// -/// * Signals may be coalesced beyond what the kernel already does. -/// * Once a signal handler is registered with the process the underlying -/// libc signal handler is never unregistered. -/// -/// A `Signal` stream can be created for a particular signal number -/// multiple times. When a signal is received then all the associated -/// channels will receive the signal notification. -/// -/// # Errors -/// -/// * If the lower-level C functions fail for some reason. -/// * If the previous initialization of this specific signal failed. -/// * If the signal is one of -/// [`signal_hook::FORBIDDEN`](fn@signal_hook_registry::register#panics) -/// -/// # Panics -/// -/// This function panics if there is no current reactor set, or if the `rt` -/// feature flag is not enabled. -Future signal({required SignalKind kind }) => RustLib.instance.api.tokioSignalUnixSignal(kind: kind); - - - // Rust type: RustOpaqueMoi>> - abstract class Context implements RustOpaqueInterface { - - - - } - - - - // Rust type: RustOpaqueMoi >>> - abstract class PollOption implements RustOpaqueInterface { - - - - } - - - - // Rust type: RustOpaqueMoi> - abstract class Signal implements RustOpaqueInterface, InternalStream { - @override - Future pollRecv({required Context cx }); - - -/// Receives the next signal notification event. -/// -/// `None` is returned if no more events can be received by this stream. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If you use it as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, then it is guaranteed that no signal is lost. -/// -/// # Examples -/// -/// Wait for `SIGHUP` -/// -/// ```rust,no_run -/// use tokio::signal::unix::{signal, SignalKind}; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // An infinite stream of hangup signals. -/// let mut stream = signal(SignalKind::hangup())?; -/// -/// // Print whenever a HUP signal is received -/// loop { -/// stream.recv().await; -/// println!("got signal HUP"); -/// } -/// } -/// ``` - Future recv(); - - - - - } - - - - // Rust type: RustOpaqueMoi> - abstract class SignalKind implements RustOpaqueInterface { - /// Represents the `SIGALRM` signal. -/// -/// On Unix systems this signal is sent when a real-time timer has expired. -/// By default, the process is terminated by this signal. -static Future alarm()=>RustLib.instance.api.tokioSignalUnixSignalKindAlarm(); - - -/// Get the signal's numeric value. -/// -/// ```rust -/// # use tokio::signal::unix::SignalKind; -/// let kind = SignalKind::interrupt(); -/// assert_eq!(kind.as_raw_value(), libc::SIGINT); -/// ``` - Future asRawValue(); - - -/// Represents the `SIGCHLD` signal. -/// -/// On Unix systems this signal is sent when the status of a child process -/// has changed. By default, this signal is ignored. -static Future child()=>RustLib.instance.api.tokioSignalUnixSignalKindChild(); - - -/// Allows for listening to any valid OS signal. -/// -/// For example, this can be used for listening for platform-specific -/// signals. -/// ```rust,no_run -/// # use tokio::signal::unix::SignalKind; -/// # let signum = -1; -/// // let signum = libc::OS_SPECIFIC_SIGNAL; -/// let kind = SignalKind::from_raw(signum); -/// ``` -static Future fromRaw({required CInt signum })=>RustLib.instance.api.tokioSignalUnixSignalKindFromRaw(signum: signum); - - -/// Represents the `SIGHUP` signal. -/// -/// On Unix systems this signal is sent when the terminal is disconnected. -/// By default, the process is terminated by this signal. -static Future hangup()=>RustLib.instance.api.tokioSignalUnixSignalKindHangup(); - - -/// Represents the `SIGINFO` signal. -/// -/// On Unix systems this signal is sent to request a status update from the -/// process. By default, this signal is ignored. -static Future info()=>RustLib.instance.api.tokioSignalUnixSignalKindInfo(); - - -/// Represents the `SIGINT` signal. -/// -/// On Unix systems this signal is sent to interrupt a program. -/// By default, the process is terminated by this signal. -static Future interrupt()=>RustLib.instance.api.tokioSignalUnixSignalKindInterrupt(); - - -/// Represents the `SIGIO` signal. -/// -/// On Unix systems this signal is sent when I/O operations are possible -/// on some file descriptor. By default, this signal is ignored. -static Future io()=>RustLib.instance.api.tokioSignalUnixSignalKindIo(); - - -/// Represents the `SIGPIPE` signal. -/// -/// On Unix systems this signal is sent when the process attempts to write -/// to a pipe which has no reader. By default, the process is terminated by -/// this signal. -static Future pipe()=>RustLib.instance.api.tokioSignalUnixSignalKindPipe(); - - -/// Represents the `SIGQUIT` signal. -/// -/// On Unix systems this signal is sent to issue a shutdown of the -/// process, after which the OS will dump the process core. -/// By default, the process is terminated by this signal. -static Future quit()=>RustLib.instance.api.tokioSignalUnixSignalKindQuit(); - - -/// Represents the `SIGTERM` signal. -/// -/// On Unix systems this signal is sent to issue a shutdown of the -/// process. By default, the process is terminated by this signal. -static Future terminate()=>RustLib.instance.api.tokioSignalUnixSignalKindTerminate(); - - -/// Represents the `SIGUSR1` signal. -/// -/// On Unix systems this is a user defined signal. -/// By default, the process is terminated by this signal. -static Future userDefined1()=>RustLib.instance.api.tokioSignalUnixSignalKindUserDefined1(); - - -/// Represents the `SIGUSR2` signal. -/// -/// On Unix systems this is a user defined signal. -/// By default, the process is terminated by this signal. -static Future userDefined2()=>RustLib.instance.api.tokioSignalUnixSignalKindUserDefined2(); - - -/// Represents the `SIGWINCH` signal. -/// -/// On Unix systems this signal is sent when the terminal window is resized. -/// By default, this signal is ignored. -static Future windowChange()=>RustLib.instance.api.tokioSignalUnixSignalKindWindowChange(); - - - - - } - - - - abstract class InternalStream { - Future pollRecv({required Context cx }); - - - } - - \ No newline at end of file diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync.dart b/mobile_app/lib/src/rust/third_party/tokio/sync.dart deleted file mode 100644 index 17eec1d..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/sync.dart +++ /dev/null @@ -1,695 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import '../../lib.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `MappedMutexGuard`, `MutexGuard`, `Mutex`, `OwnedMappedMutexGuard`, `OwnedMutexGuard`, `OwnedRwLockMappedWriteGuard`, `OwnedRwLockReadGuard`, `OwnedRwLockWriteGuard`, `RwLockMappedWriteGuard`, `RwLockReadGuard`, `RwLockWriteGuard`, `TryLockError` - -// Rust type: RustOpaqueMoi> -abstract class AcquireError implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class Barrier implements RustOpaqueInterface { - // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - /// Creates a new barrier that can block a given number of tasks. - /// - /// A barrier will block `n`-1 tasks which call [`Barrier::wait`] and then wake up all - /// tasks at once when the `n`th task calls `wait`. - static Future newInstance({required BigInt n}) => - RustLib.instance.api.tokioSyncBarrierNew(n: n); - - /// Does not resolve until all tasks have rendezvoused here. - /// - /// Barriers are re-usable after all tasks have rendezvoused once, and can - /// be used continuously. - /// - /// A single (arbitrary) future will receive a [`BarrierWaitResult`] that returns `true` from - /// [`BarrierWaitResult::is_leader`] when returning from this function, and all other tasks - /// will receive a result that will return `false` from `is_leader`. - /// - /// # Cancel safety - /// - /// This method is not cancel safe. - Future wait(); -} - -// Rust type: RustOpaqueMoi> -abstract class BarrierWaitResult implements RustOpaqueInterface { - /// Returns `true` if this task from wait is the "leader task". - /// - /// Only one task will have `true` returned from their result, all other tasks will have - /// `false` returned. - Future isLeader(); -} - -// Rust type: RustOpaqueMoi> -abstract class Notify implements RustOpaqueInterface { - /// Create a new `Notify`, initialized without a permit. - /// - /// When using the `tracing` [unstable feature], a `Notify` created with - /// `const_new` will not be instrumented. As such, it will not be visible - /// in [`tokio-console`]. Instead, [`Notify::new`] should be used to create - /// an instrumented object if that is needed. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::Notify; - /// - /// static NOTIFY: Notify = Notify::const_new(); - /// ``` - /// - /// [`tokio-console`]: https://github.com/tokio-rs/console - /// [unstable feature]: crate#unstable-features - static Future constNew() => - RustLib.instance.api.tokioSyncNotifyConstNew(); - - static Future default_() => - RustLib.instance.api.tokioSyncNotifyDefault(); - - // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - /// Create a new `Notify`, initialized without a permit. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::Notify; - /// - /// let notify = Notify::new(); - /// ``` - static Future newInstance() => - RustLib.instance.api.tokioSyncNotifyNew(); - - /// Wait for a notification. - /// - /// Equivalent to: - /// - /// ```ignore - /// async fn notified(&self); - /// ``` - /// - /// Each `Notify` value holds a single permit. If a permit is available from - /// an earlier call to [`notify_one()`], then `notified().await` will complete - /// immediately, consuming that permit. Otherwise, `notified().await` waits - /// for a permit to be made available by the next call to `notify_one()`. - /// - /// The `Notified` future is not guaranteed to receive wakeups from calls to - /// `notify_one()` if it has not yet been polled. See the documentation for - /// [`Notified::enable()`] for more details. - /// - /// The `Notified` future is guaranteed to receive wakeups from - /// `notify_waiters()` as soon as it has been created, even if it has not - /// yet been polled. - /// - /// [`notify_one()`]: Notify::notify_one - /// [`Notified::enable()`]: Notified::enable - /// - /// # Cancel safety - /// - /// This method uses a queue to fairly distribute notifications in the order - /// they were requested. Cancelling a call to `notified` makes you lose your - /// place in the queue. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::Notify; - /// use std::sync::Arc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let notify = Arc::new(Notify::new()); - /// let notify2 = notify.clone(); - /// - /// tokio::spawn(async move { - /// notify2.notified().await; - /// println!("received notification"); - /// }); - /// - /// println!("sending notification"); - /// notify.notify_one(); - /// # } - /// ``` - Future notified(); - - /// Wait for a notification with an owned `Future`. - /// - /// Unlike [`Self::notified`] which returns a future tied to the `Notify`'s - /// lifetime, `notified_owned` creates a self-contained future that owns its - /// notification state, making it safe to move between threads. - /// - /// See [`Self::notified`] for more details. - /// - /// # Cancel safety - /// - /// This method uses a queue to fairly distribute notifications in the order - /// they were requested. Cancelling a call to `notified_owned` makes you lose your - /// place in the queue. - /// - /// # Examples - /// - /// ``` - /// use std::sync::Arc; - /// use tokio::sync::Notify; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let notify = Arc::new(Notify::new()); - /// - /// for _ in 0..10 { - /// let notified = notify.clone().notified_owned(); - /// tokio::spawn(async move { - /// notified.await; - /// println!("received notification"); - /// }); - /// } - /// - /// println!("sending notification"); - /// notify.notify_waiters(); - /// # } - /// ``` - Future notifiedOwned(); - - /// Notifies the last waiting task. - /// - /// This function behaves similar to `notify_one`. The only difference is that it wakes - /// the most recently added waiter instead of the oldest waiter. - /// - /// Check the [`notify_one()`] documentation for more info and - /// examples. - /// - /// [`notify_one()`]: Notify::notify_one - Future notifyLast(); - - /// Notifies the first waiting task. - /// - /// If a task is currently waiting, that task is notified. Otherwise, a - /// permit is stored in this `Notify` value and the **next** call to - /// [`notified().await`] will complete immediately consuming the permit made - /// available by this call to `notify_one()`. - /// - /// At most one permit may be stored by `Notify`. Many sequential calls to - /// `notify_one` will result in a single permit being stored. The next call to - /// `notified().await` will complete immediately, but the one after that - /// will wait. - /// - /// [`notified().await`]: Notify::notified() - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::Notify; - /// use std::sync::Arc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let notify = Arc::new(Notify::new()); - /// let notify2 = notify.clone(); - /// - /// tokio::spawn(async move { - /// notify2.notified().await; - /// println!("received notification"); - /// }); - /// - /// println!("sending notification"); - /// notify.notify_one(); - /// # } - /// ``` - Future notifyOne(); - - /// Notifies all waiting tasks. - /// - /// If a task is currently waiting, that task is notified. Unlike with - /// `notify_one()`, no permit is stored to be used by the next call to - /// `notified().await`. The purpose of this method is to notify all - /// already registered waiters. Registering for notification is done by - /// acquiring an instance of the `Notified` future via calling `notified()`. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::Notify; - /// use std::sync::Arc; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let notify = Arc::new(Notify::new()); - /// let notify2 = notify.clone(); - /// - /// let notified1 = notify.notified(); - /// let notified2 = notify.notified(); - /// - /// let handle = tokio::spawn(async move { - /// println!("sending notifications"); - /// notify2.notify_waiters(); - /// }); - /// - /// notified1.await; - /// notified2.await; - /// println!("received notifications"); - /// # } - /// ``` - Future notifyWaiters(); -} - -// Rust type: RustOpaqueMoi> -abstract class OwnedSemaphorePermit implements RustOpaqueInterface { - /// Merge two [`OwnedSemaphorePermit`] instances together, consuming `other` - /// without releasing the permits it holds. - /// - /// Permits held by both `self` and `other` are released when `self` drops. - /// - /// # Panics - /// - /// This function panics if permits from different [`Semaphore`] instances - /// are merged. - /// - /// # Examples - /// - /// ``` - /// use std::sync::Arc; - /// use tokio::sync::Semaphore; - /// - /// let sem = Arc::new(Semaphore::new(10)); - /// let mut permit = sem.clone().try_acquire_owned().unwrap(); - /// - /// for _ in 0..9 { - /// let _permit = sem.clone().try_acquire_owned().unwrap(); - /// // Merge individual permits into a single one. - /// permit.merge(_permit) - /// } - /// - /// assert_eq!(sem.available_permits(), 0); - /// - /// // Release all permits in a single batch. - /// drop(permit); - /// - /// assert_eq!(sem.available_permits(), 10); - /// ``` - Future merge({required OwnedSemaphorePermit other}); - - /// Returns the number of permits held by `self`. - Future numPermits(); - - /// Returns the [`Semaphore`] from which this permit was acquired. - Future semaphore(); - - /// Splits `n` permits from `self` and returns a new [`OwnedSemaphorePermit`] instance that holds `n` permits. - /// - /// If there are insufficient permits and it's not possible to reduce by `n`, returns `None`. - /// - /// # Note - /// - /// It will clone the owned `Arc` to construct the new instance. - /// - /// # Examples - /// - /// ``` - /// use std::sync::Arc; - /// use tokio::sync::Semaphore; - /// - /// let sem = Arc::new(Semaphore::new(3)); - /// - /// let mut p1 = sem.try_acquire_many_owned(3).unwrap(); - /// let p2 = p1.split(1).unwrap(); - /// - /// assert_eq!(p1.num_permits(), 2); - /// assert_eq!(p2.num_permits(), 1); - /// ``` - Future split({required BigInt n}); -} - -// Rust type: RustOpaqueMoi> -abstract class Semaphore implements RustOpaqueInterface { - /// Acquires a permit from the semaphore. - /// - /// If the semaphore has been closed, this returns an [`AcquireError`]. - /// Otherwise, this returns a [`SemaphorePermit`] representing the - /// acquired permit. - /// - /// # Cancel safety - /// - /// This method uses a queue to fairly distribute permits in the order they - /// were requested. Cancelling a call to `acquire` makes you lose your place - /// in the queue. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::Semaphore; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let semaphore = Semaphore::new(2); - /// - /// let permit_1 = semaphore.acquire().await.unwrap(); - /// assert_eq!(semaphore.available_permits(), 1); - /// - /// let permit_2 = semaphore.acquire().await.unwrap(); - /// assert_eq!(semaphore.available_permits(), 0); - /// - /// drop(permit_1); - /// assert_eq!(semaphore.available_permits(), 1); - /// # } - /// ``` - /// - /// [`AcquireError`]: crate::sync::AcquireError - /// [`SemaphorePermit`]: crate::sync::SemaphorePermit - Future acquire(); - - /// Acquires `n` permits from the semaphore. - /// - /// If the semaphore has been closed, this returns an [`AcquireError`]. - /// Otherwise, this returns a [`SemaphorePermit`] representing the - /// acquired permits. - /// - /// # Cancel safety - /// - /// This method uses a queue to fairly distribute permits in the order they - /// were requested. Cancelling a call to `acquire_many` makes you lose your - /// place in the queue. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::Semaphore; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let semaphore = Semaphore::new(5); - /// - /// let permit = semaphore.acquire_many(3).await.unwrap(); - /// assert_eq!(semaphore.available_permits(), 2); - /// # } - /// ``` - /// - /// [`AcquireError`]: crate::sync::AcquireError - /// [`SemaphorePermit`]: crate::sync::SemaphorePermit - Future acquireMany({required int n}); - - /// Acquires `n` permits from the semaphore. - /// - /// The semaphore must be wrapped in an [`Arc`] to call this method. - /// If the semaphore has been closed, this returns an [`AcquireError`]. - /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the - /// acquired permit. - /// - /// # Cancel safety - /// - /// This method uses a queue to fairly distribute permits in the order they - /// were requested. Cancelling a call to `acquire_many_owned` makes you lose - /// your place in the queue. - /// - /// # Examples - /// - /// ``` - /// use std::sync::Arc; - /// use tokio::sync::Semaphore; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let semaphore = Arc::new(Semaphore::new(10)); - /// let mut join_handles = Vec::new(); - /// - /// for _ in 0..5 { - /// let permit = semaphore.clone().acquire_many_owned(2).await.unwrap(); - /// join_handles.push(tokio::spawn(async move { - /// // perform task... - /// // explicitly own `permit` in the task - /// drop(permit); - /// })); - /// } - /// - /// for handle in join_handles { - /// handle.await.unwrap(); - /// } - /// # } - /// ``` - /// - /// [`Arc`]: std::sync::Arc - /// [`AcquireError`]: crate::sync::AcquireError - /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit - Future acquireManyOwned({required int n}); - - /// Acquires a permit from the semaphore. - /// - /// The semaphore must be wrapped in an [`Arc`] to call this method. - /// If the semaphore has been closed, this returns an [`AcquireError`]. - /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the - /// acquired permit. - /// - /// # Cancel safety - /// - /// This method uses a queue to fairly distribute permits in the order they - /// were requested. Cancelling a call to `acquire_owned` makes you lose your - /// place in the queue. - /// - /// # Examples - /// - /// ``` - /// use std::sync::Arc; - /// use tokio::sync::Semaphore; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let semaphore = Arc::new(Semaphore::new(3)); - /// let mut join_handles = Vec::new(); - /// - /// for _ in 0..5 { - /// let permit = semaphore.clone().acquire_owned().await.unwrap(); - /// join_handles.push(tokio::spawn(async move { - /// // perform task... - /// // explicitly own `permit` in the task - /// drop(permit); - /// })); - /// } - /// - /// for handle in join_handles { - /// handle.await.unwrap(); - /// } - /// # } - /// ``` - /// - /// [`Arc`]: std::sync::Arc - /// [`AcquireError`]: crate::sync::AcquireError - /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit - Future acquireOwned(); - - /// Adds `n` new permits to the semaphore. - /// - /// The maximum number of permits is [`Semaphore::MAX_PERMITS`], and this function will panic if the limit is exceeded. - Future addPermits({required BigInt n}); - - /// Returns the current number of available permits. - Future availablePermits(); - - /// Closes the semaphore. - /// - /// This prevents the semaphore from issuing new permits and notifies all pending waiters. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::Semaphore; - /// use std::sync::Arc; - /// use tokio::sync::TryAcquireError; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let semaphore = Arc::new(Semaphore::new(1)); - /// let semaphore2 = semaphore.clone(); - /// - /// tokio::spawn(async move { - /// let permit = semaphore.acquire_many(2).await; - /// assert!(permit.is_err()); - /// println!("waiter received error"); - /// }); - /// - /// println!("closing semaphore"); - /// semaphore2.close(); - /// - /// // Cannot obtain more permits - /// assert_eq!(semaphore2.try_acquire().err(), Some(TryAcquireError::Closed)) - /// # } - /// ``` - Future close(); - - /// Creates a new semaphore with the initial number of permits. - /// - /// When using the `tracing` [unstable feature], a `Semaphore` created with - /// `const_new` will not be instrumented. As such, it will not be visible - /// in [`tokio-console`]. Instead, [`Semaphore::new`] should be used to - /// create an instrumented object if that is needed. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::Semaphore; - /// - /// static SEM: Semaphore = Semaphore::const_new(10); - /// ``` - /// - /// [`tokio-console`]: https://github.com/tokio-rs/console - /// [unstable feature]: crate#unstable-features - static Future constNew({required BigInt permits}) => - RustLib.instance.api.tokioSyncSemaphoreConstNew(permits: permits); - - /// Decrease a semaphore's permits by a maximum of `n`. - /// - /// If there are insufficient permits and it's not possible to reduce by `n`, - /// return the number of permits that were actually reduced. - Future forgetPermits({required BigInt n}); - - /// Returns true if the semaphore is closed - Future isClosed(); - - // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - /// Creates a new semaphore with the initial number of permits. - /// - /// Panics if `permits` exceeds [`Semaphore::MAX_PERMITS`]. - static Future newInstance({required BigInt permits}) => - RustLib.instance.api.tokioSyncSemaphoreNew(permits: permits); - - /// Tries to acquire a permit from the semaphore. - /// - /// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`] - /// and a [`TryAcquireError::NoPermits`] if there are no permits left. Otherwise, - /// this returns a [`SemaphorePermit`] representing the acquired permits. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::{Semaphore, TryAcquireError}; - /// - /// # fn main() { - /// let semaphore = Semaphore::new(2); - /// - /// let permit_1 = semaphore.try_acquire().unwrap(); - /// assert_eq!(semaphore.available_permits(), 1); - /// - /// let permit_2 = semaphore.try_acquire().unwrap(); - /// assert_eq!(semaphore.available_permits(), 0); - /// - /// let permit_3 = semaphore.try_acquire(); - /// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits)); - /// # } - /// ``` - /// - /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed - /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits - /// [`SemaphorePermit`]: crate::sync::SemaphorePermit - Future tryAcquire(); - - /// Tries to acquire `n` permits from the semaphore. - /// - /// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`] - /// and a [`TryAcquireError::NoPermits`] if there are not enough permits left. - /// Otherwise, this returns a [`SemaphorePermit`] representing the acquired permits. - /// - /// # Examples - /// - /// ``` - /// use tokio::sync::{Semaphore, TryAcquireError}; - /// - /// # fn main() { - /// let semaphore = Semaphore::new(4); - /// - /// let permit_1 = semaphore.try_acquire_many(3).unwrap(); - /// assert_eq!(semaphore.available_permits(), 1); - /// - /// let permit_2 = semaphore.try_acquire_many(2); - /// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits)); - /// # } - /// ``` - /// - /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed - /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits - /// [`SemaphorePermit`]: crate::sync::SemaphorePermit - Future tryAcquireMany({required int n}); - - /// Tries to acquire `n` permits from the semaphore. - /// - /// The semaphore must be wrapped in an [`Arc`] to call this method. If - /// the semaphore has been closed, this returns a [`TryAcquireError::Closed`] - /// and a [`TryAcquireError::NoPermits`] if there are no permits left. - /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the - /// acquired permit. - /// - /// # Examples - /// - /// ``` - /// use std::sync::Arc; - /// use tokio::sync::{Semaphore, TryAcquireError}; - /// - /// # fn main() { - /// let semaphore = Arc::new(Semaphore::new(4)); - /// - /// let permit_1 = Arc::clone(&semaphore).try_acquire_many_owned(3).unwrap(); - /// assert_eq!(semaphore.available_permits(), 1); - /// - /// let permit_2 = semaphore.try_acquire_many_owned(2); - /// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits)); - /// # } - /// ``` - /// - /// [`Arc`]: std::sync::Arc - /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed - /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits - /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit - Future tryAcquireManyOwned({required int n}); - - /// Tries to acquire a permit from the semaphore. - /// - /// The semaphore must be wrapped in an [`Arc`] to call this method. If - /// the semaphore has been closed, this returns a [`TryAcquireError::Closed`] - /// and a [`TryAcquireError::NoPermits`] if there are no permits left. - /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the - /// acquired permit. - /// - /// # Examples - /// - /// ``` - /// use std::sync::Arc; - /// use tokio::sync::{Semaphore, TryAcquireError}; - /// - /// # fn main() { - /// let semaphore = Arc::new(Semaphore::new(2)); - /// - /// let permit_1 = Arc::clone(&semaphore).try_acquire_owned().unwrap(); - /// assert_eq!(semaphore.available_permits(), 1); - /// - /// let permit_2 = Arc::clone(&semaphore).try_acquire_owned().unwrap(); - /// assert_eq!(semaphore.available_permits(), 0); - /// - /// let permit_3 = semaphore.try_acquire_owned(); - /// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits)); - /// # } - /// ``` - /// - /// [`Arc`]: std::sync::Arc - /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed - /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits - /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit - Future tryAcquireOwned(); -} - -// Rust type: RustOpaqueMoi>> -abstract class SemaphorePermit implements RustOpaqueInterface {} - -/// Error returned from the [`Semaphore::try_acquire`] function. -/// -/// [`Semaphore::try_acquire`]: crate::sync::Semaphore::try_acquire -enum TryAcquireError { - /// The semaphore has been [closed] and cannot issue new permits. - /// - /// [closed]: crate::sync::Semaphore::close - closed, - - /// The semaphore has no available permits. - noPermits, - ; -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart deleted file mode 100644 index 0130be4..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart +++ /dev/null @@ -1,15 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `channel` -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `RecvGuard`, `Recv`, `Shared`, `Slot`, `Tail`, `WaiterCell`, `Waiter`, `WaitersList` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_raw`, `clone`, `clone`, `drop`, `drop`, `drop`, `drop`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `from_raw`, `pointers`, `poll` -// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `strong_count`, `upgrade`, `weak_count` - -// Rust type: RustOpaqueMoi>> -abstract class WeakSenderT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart deleted file mode 100644 index 41c7d22..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart +++ /dev/null @@ -1,18 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt` - -// Rust type: RustOpaqueMoi>> -abstract class SendError implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class SendErrorT implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class TryRecvError implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart deleted file mode 100644 index 8fb2ae8..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart +++ /dev/null @@ -1,19 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `clone`, `drop`, `drop`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `next`, `size_hint` -// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `release`, `same_channel_as_sender`, `same_channel`, `send`, `send` - -// Rust type: RustOpaqueMoi >>> -abstract class PollOptionT implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class PollUsize implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class VecT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart deleted file mode 100644 index a3659f2..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart +++ /dev/null @@ -1,25 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `eq`, `eq`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from` -// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `into_inner`, `into_inner` - -// Rust type: RustOpaqueMoi> -abstract class RecvError implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class SendTimeoutErrorT implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class TrySendError implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class TrySendErrorSelf implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi>> -abstract class TrySendErrorT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart deleted file mode 100644 index 8b8640c..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart +++ /dev/null @@ -1,14 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `channel` -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Inner`, `State`, `Task` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `drop`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `poll` - -// Rust type: RustOpaqueMoi>> -abstract class Poll implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart deleted file mode 100644 index 9fcb3e6..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart +++ /dev/null @@ -1,15 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `channel`, `send_if_modified`, `send_modify` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `clone`, `deref`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `fmt` -// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `has_changed` -// These functions have error during generation (see debug logs or enable `stop_on_error: true` for more details): `wait_for` - -// Rust type: RustOpaqueMoi>> -abstract class RefT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/task.dart b/mobile_app/lib/src/rust/third_party/tokio/task.dart deleted file mode 100644 index 409a418..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/task.dart +++ /dev/null @@ -1,83 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'runtime.dart'; - -// These functions are ignored because they have generic arguments: `block_in_place`, `spawn_blocking`, `spawn_local`, `spawn` -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `JoinSet`, `LocalKey` - -/// Yields execution back to the Tokio runtime. -/// -/// A task yields by awaiting on `yield_now()`, and may resume when that future -/// completes (with no output.) The current task will be re-added as a pending -/// task at the _back_ of the pending queue. Any other pending tasks will be -/// scheduled. No other waking is required for the task to continue. -/// -/// See also the usage example in the [task module](index.html#yield_now). -/// -/// ## Non-guarantees -/// -/// This function may not yield all the way up to the executor if there are any -/// special combinators above it in the call stack. For example, if a -/// [`tokio::select!`] has another branch complete during the same poll as the -/// `yield_now()`, then the yield is not propagated all the way up to the -/// runtime. -/// -/// It is generally not guaranteed that the runtime behaves like you expect it -/// to when deciding which task to schedule next after a call to `yield_now()`. -/// In particular, the runtime may choose to poll the task that just ran -/// `yield_now()` again immediately without polling any other tasks first. For -/// example, the runtime will not drive the IO driver between every poll of a -/// task, and this could result in the runtime polling the current task again -/// immediately even if there is another task that could make progress if that -/// other task is waiting for a notification from the IO driver. -/// -/// In general, changes to the order in which the runtime polls tasks is not -/// considered a breaking change, and your program should be correct no matter -/// which order the runtime polls your tasks in. -/// -/// [`tokio::select!`]: macro@crate::select -Future yieldNow() => RustLib.instance.api.tokioTaskYieldNow(); - -// Rust type: RustOpaqueMoi> -abstract class LocalEnterGuard implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class LocalSet implements RustOpaqueInterface { - static Future default_() => - RustLib.instance.api.tokioTaskLocalSetDefault(); - - /// Enters the context of this `LocalSet`. - /// - /// The [`spawn_local`] method will spawn tasks on the `LocalSet` whose - /// context you are inside. - /// - /// [`spawn_local`]: fn@crate::task::spawn_local - Future enter(); - - /// Returns the [`Id`] of the current [`LocalSet`] runtime. - /// - /// # Examples - /// - /// ```rust - /// use tokio::task; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let local_set = task::LocalSet::new(); - /// println!("Local set id: {}", local_set.id()); - /// # } - /// ``` - /// - /// [`Id`]: struct@crate::runtime::Id - Future id(); - - // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - /// Returns a new local task set. - static Future newInstance() => - RustLib.instance.api.tokioTaskLocalSetNew(); -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/task/coop.dart b/mobile_app/lib/src/rust/third_party/tokio/task/coop.dart deleted file mode 100644 index 8725f16..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/task/coop.dart +++ /dev/null @@ -1,157 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import '../signal/unix.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These functions are ignored because they have generic arguments: `cooperative`, `unconstrained` -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `BudgetDecrement`, `Budget`, `Coop`, `Unconstrained` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `drop`, `fmt`, `fmt`, `poll` - -/// Consumes a unit of budget and returns the execution back to the Tokio -/// runtime *if* the task's coop budget was exhausted. -/// -/// The task will only yield if its entire coop budget has been exhausted. -/// This function can be used in order to insert optional yield points into long -/// computations that do not use Tokio resources like sockets or semaphores, -/// without redundantly yielding to the runtime each time. -/// -/// # Examples -/// -/// Make sure that a function which returns a sum of (potentially lots of) -/// iterated values is cooperative. -/// -/// ``` -/// async fn sum_iterator(input: &mut impl std::iter::Iterator) -> i64 { -/// let mut sum: i64 = 0; -/// while let Some(i) = input.next() { -/// sum += i; -/// tokio::task::consume_budget().await -/// } -/// sum -/// } -/// ``` -Future consumeBudget() => - RustLib.instance.api.tokioTaskCoopConsumeBudget(); - -/// Returns `true` if there is still budget left on the task. -/// -/// # Examples -/// -/// This example defines a `Timeout` future that requires a given `future` to complete before the -/// specified duration elapses. If it does, its result is returned; otherwise, an error is returned -/// and the future is canceled. -/// -/// Note that the future could exhaust the budget before we evaluate the timeout. Using `has_budget_remaining`, -/// we can detect this scenario and ensure the timeout is always checked. -/// -/// ``` -/// # use std::future::Future; -/// # use std::pin::{pin, Pin}; -/// # use std::task::{ready, Context, Poll}; -/// # use tokio::task::coop; -/// # use tokio::time::Sleep; -/// pub struct Timeout { -/// future: T, -/// delay: Pin>, -/// } -/// -/// impl Future for Timeout -/// where -/// T: Future + Unpin, -/// { -/// type Output = Result; -/// -/// fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { -/// let this = Pin::into_inner(self); -/// let future = Pin::new(&mut this.future); -/// let delay = Pin::new(&mut this.delay); -/// -/// // check if the future is ready -/// let had_budget_before = coop::has_budget_remaining(); -/// if let Poll::Ready(v) = future.poll(cx) { -/// return Poll::Ready(Ok(v)); -/// } -/// let has_budget_now = coop::has_budget_remaining(); -/// -/// // evaluate the timeout -/// if let (true, false) = (had_budget_before, has_budget_now) { -/// // it is the underlying future that exhausted the budget -/// ready!(pin!(coop::unconstrained(delay)).poll(cx)); -/// } else { -/// ready!(delay.poll(cx)); -/// } -/// return Poll::Ready(Err(())); -/// } -/// } -///``` -Future hasBudgetRemaining() => - RustLib.instance.api.tokioTaskCoopHasBudgetRemaining(); - -/// Decrements the task budget and returns [`Poll::Pending`] if the budget is depleted. -/// This indicates that the task should yield to the scheduler. Otherwise, returns -/// [`RestoreOnPending`] which can be used to commit the budget consumption. -/// -/// The returned [`RestoreOnPending`] will revert the budget to its former -/// value when dropped unless [`RestoreOnPending::made_progress`] -/// is called. It is the caller's responsibility to do so when it _was_ able to -/// make progress after the call to [`poll_proceed`]. -/// Restoring the budget automatically ensures the task can try to make progress in some other -/// way. -/// -/// Note that [`RestoreOnPending`] restores the budget **as it was before [`poll_proceed`]**. -/// Therefore, if the budget is _further_ adjusted between when [`poll_proceed`] returns and -/// [`RestoreOnPending`] is dropped, those adjustments are erased unless the caller indicates -/// that progress was made. -/// -/// # Examples -/// -/// This example wraps the `futures::channel::mpsc::UnboundedReceiver` to -/// cooperate with the Tokio scheduler. Each time a value is received, task budget -/// is consumed. If no budget is available, the task yields to the scheduler. -/// -/// ``` -/// use std::pin::Pin; -/// use std::task::{ready, Context, Poll}; -/// use tokio::task::coop; -/// use futures::stream::{Stream, StreamExt}; -/// use futures::channel::mpsc::UnboundedReceiver; -/// -/// struct CoopUnboundedReceiver { -/// receiver: UnboundedReceiver, -/// } -/// -/// impl Stream for CoopUnboundedReceiver { -/// type Item = T; -/// fn poll_next( -/// mut self: Pin<&mut Self>, -/// cx: &mut Context<'_> -/// ) -> Poll> { -/// let coop = ready!(coop::poll_proceed(cx)); -/// match self.receiver.poll_next_unpin(cx) { -/// Poll::Ready(v) => { -/// // We received a value, so consume budget. -/// coop.made_progress(); -/// Poll::Ready(v) -/// } -/// Poll::Pending => Poll::Pending, -/// } -/// } -/// } -/// ``` -Future pollProceed({required Context cx}) => - RustLib.instance.api.tokioTaskCoopPollProceed(cx: cx); - -// Rust type: RustOpaqueMoi>> -abstract class PollRestoreOnPending implements RustOpaqueInterface {} - -// Rust type: RustOpaqueMoi> -abstract class RestoreOnPending implements RustOpaqueInterface { - /// Signals that the task that obtained this `RestoreOnPending` was able to make - /// progress. This prevents the task budget from being restored to the value - /// it had prior to obtaining this instance when it is dropped. - Future madeProgress(); -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/time.dart b/mobile_app/lib/src/rust/third_party/tokio/time.dart deleted file mode 100644 index 1e2af9b..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/time.dart +++ /dev/null @@ -1,734 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../frb_generated.dart'; -import '../../lib.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'signal/unix.dart'; -import 'time/interval.dart'; - -// These functions are ignored because they have generic arguments: `timeout_at`, `timeout` -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Timeout` - -/// Pauses time. -/// -/// The current value of `Instant::now()` is saved and all subsequent calls -/// to `Instant::now()` will return the saved value. The saved value can be -/// changed by [`advance`] or by the time auto-advancing once the runtime -/// has no work to do. This only affects the `Instant` type in Tokio, and -/// the `Instant` in std continues to work as normal. -/// -/// Pausing time requires the `current_thread` Tokio runtime. This is the -/// default runtime used by `#[tokio::test]`. The runtime can be initialized -/// with time in a paused state using the `Builder::start_paused` method. -/// -/// For cases where time is immediately paused, it is better to pause -/// the time using the `main` or `test` macro: -/// ``` -/// #[tokio::main(flavor = "current_thread", start_paused = true)] -/// async fn main() { -/// println!("Hello world"); -/// } -/// ``` -/// -/// # Panics -/// -/// Panics if time is already frozen or if called from outside of a -/// `current_thread` Tokio runtime. -/// -/// # Auto-advance -/// -/// If time is paused and the runtime has no work to do, the clock is -/// auto-advanced to the next pending timer. This means that [`Sleep`] or -/// other timer-backed primitives can cause the runtime to advance the -/// current time when awaited. -/// -/// [`Sleep`]: crate::time::Sleep -/// [`advance`]: crate::time::advance -Future pause() => RustLib.instance.api.tokioTimePause(); - -/// Resumes time. -/// -/// Clears the saved `Instant::now()` value. Subsequent calls to -/// `Instant::now()` will return the value returned by the system call. -/// -/// # Panics -/// -/// Panics if time is not frozen or if called from outside of the Tokio -/// runtime. -Future resume() => RustLib.instance.api.tokioTimeResume(); - -/// Advances time. -/// -/// Increments the saved `Instant::now()` value by `duration`. Subsequent -/// calls to `Instant::now()` will return the result of the increment. -/// -/// This function will make the current time jump forward by the given -/// duration in one jump. This means that all `sleep` calls with a deadline -/// before the new time will immediately complete "at the same time", and -/// the runtime is free to poll them in any order. Additionally, this -/// method will not wait for the `sleep` calls it advanced past to complete. -/// If you want to do that, you should instead call [`sleep`] and rely on -/// the runtime's auto-advance feature. -/// -/// Note that calls to `sleep` are not guaranteed to complete the first time -/// they are polled after a call to `advance`. For example, this can happen -/// if the runtime has not yet touched the timer driver after the call to -/// `advance`. However if they don't, the runtime will poll the task again -/// shortly. -/// -/// # Panics -/// -/// Panics if any of the following conditions are met: -/// -/// - The clock is not frozen, which means that you must -/// call [`pause`] before calling this method. -/// - If called outside of the Tokio runtime. -/// - If the input `duration` is too large (such as [`Duration::MAX`]) -/// to be safely added to the current time without causing an overflow. -/// -/// # Caveats -/// -/// Using a very large `duration` is not recommended, -/// as it may cause panicking due to overflow. -/// -/// # Auto-advance -/// -/// If the time is paused and there is no work to do, the runtime advances -/// time to the next timer. See [`pause`](pause#auto-advance) for more -/// details. -/// -/// [`sleep`]: fn@crate::time::sleep -Future advance({required Duration duration}) => - RustLib.instance.api.tokioTimeAdvance(duration: duration); - -/// Creates new [`Interval`] that yields with interval of `period`. The first -/// tick completes immediately. The default [`MissedTickBehavior`] is -/// [`Burst`](MissedTickBehavior::Burst), but this can be configured -/// by calling [`set_missed_tick_behavior`](Interval::set_missed_tick_behavior). -/// -/// An interval will tick indefinitely. At any time, the [`Interval`] value can -/// be dropped. This cancels the interval. -/// -/// This function is equivalent to -/// [`interval_at(Instant::now(), period)`](interval_at). -/// -/// # Panics -/// -/// This function panics if `period` is zero. -/// -/// # Examples -/// -/// ``` -/// use tokio::time::{self, Duration}; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let mut interval = time::interval(Duration::from_millis(10)); -/// -/// interval.tick().await; // ticks immediately -/// interval.tick().await; // ticks after 10ms -/// interval.tick().await; // ticks after 10ms -/// -/// // approximately 20ms have elapsed. -/// # } -/// ``` -/// -/// A simple example using `interval` to execute a task every two seconds. -/// -/// The difference between `interval` and [`sleep`] is that an [`Interval`] -/// measures the time since the last tick, which means that [`.tick().await`] -/// may wait for a shorter time than the duration specified for the interval -/// if some time has passed between calls to [`.tick().await`]. -/// -/// If the tick in the example below was replaced with [`sleep`], the task -/// would only be executed once every three seconds, and not every two -/// seconds. -/// -/// ``` -/// use tokio::time; -/// -/// async fn task_that_takes_a_second() { -/// println!("hello"); -/// time::sleep(time::Duration::from_secs(1)).await -/// } -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let mut interval = time::interval(time::Duration::from_secs(2)); -/// for _i in 0..5 { -/// interval.tick().await; -/// task_that_takes_a_second().await; -/// } -/// # } -/// ``` -/// -/// [`sleep`]: crate::time::sleep() -/// [`.tick().await`]: Interval::tick -Future interval({required Duration period}) => - RustLib.instance.api.tokioTimeInterval(period: period); - -/// Creates new [`Interval`] that yields with interval of `period` with the -/// first tick completing at `start`. The default [`MissedTickBehavior`] is -/// [`Burst`](MissedTickBehavior::Burst), but this can be configured -/// by calling [`set_missed_tick_behavior`](Interval::set_missed_tick_behavior). -/// -/// An interval will tick indefinitely. At any time, the [`Interval`] value can -/// be dropped. This cancels the interval. -/// -/// # Panics -/// -/// This function panics if `period` is zero. -/// -/// # Examples -/// -/// ``` -/// use tokio::time::{interval_at, Duration, Instant}; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// let start = Instant::now() + Duration::from_millis(50); -/// let mut interval = interval_at(start, Duration::from_millis(10)); -/// -/// interval.tick().await; // ticks after 50ms -/// interval.tick().await; // ticks after 10ms -/// interval.tick().await; // ticks after 10ms -/// -/// // approximately 70ms have elapsed. -/// # } -/// ``` -Future intervalAt( - {required Instant start, required Duration period}) => - RustLib.instance.api.tokioTimeIntervalAt(start: start, period: period); - -/// Waits until `deadline` is reached. -/// -/// No work is performed while awaiting on the sleep future to complete. `Sleep` -/// operates at millisecond granularity and should not be used for tasks that -/// require high-resolution timers. -/// -/// To run something regularly on a schedule, see [`interval`]. -/// -/// # Cancellation -/// -/// Canceling a sleep instance is done by dropping the returned future. No additional -/// cleanup work is required. -/// -/// # Examples -/// -/// Wait 100ms and print "100 ms have elapsed". -/// -/// ``` -/// use tokio::time::{sleep_until, Instant, Duration}; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// sleep_until(Instant::now() + Duration::from_millis(100)).await; -/// println!("100 ms have elapsed"); -/// # } -/// ``` -/// -/// See the documentation for the [`Sleep`] type for more examples. -/// -/// # Panics -/// -/// This function panics if there is no current timer set. -/// -/// It can be triggered when [`Builder::enable_time`] or -/// [`Builder::enable_all`] are not included in the builder. -/// -/// It can also panic whenever a timer is created outside of a -/// Tokio runtime. That is why `rt.block_on(sleep(...))` will panic, -/// since the function is executed outside of the runtime. -/// Whereas `rt.block_on(async {sleep(...).await})` doesn't panic. -/// And this is because wrapping the function on an async makes it lazy, -/// and so gets executed inside the runtime successfully without -/// panicking. -/// -/// [`Sleep`]: struct@crate::time::Sleep -/// [`interval`]: crate::time::interval() -/// [`Builder::enable_time`]: crate::runtime::Builder::enable_time -/// [`Builder::enable_all`]: crate::runtime::Builder::enable_all -Future sleepUntil({required Instant deadline}) => - RustLib.instance.api.tokioTimeSleepUntil(deadline: deadline); - -/// Waits until `duration` has elapsed. -/// -/// Equivalent to `sleep_until(Instant::now() + duration)`. An asynchronous -/// analog to `std::thread::sleep`. -/// -/// No work is performed while awaiting on the sleep future to complete. `Sleep` -/// operates at millisecond granularity and should not be used for tasks that -/// require high-resolution timers. The implementation is platform specific, -/// and some platforms (specifically Windows) will provide timers with a -/// larger resolution than 1 ms. -/// -/// To run something regularly on a schedule, see [`interval`]. -/// -/// # Cancellation -/// -/// Canceling a sleep instance is done by dropping the returned future. No additional -/// cleanup work is required. -/// -/// # Examples -/// -/// Wait 100ms and print "100 ms have elapsed". -/// -/// ``` -/// use tokio::time::{sleep, Duration}; -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// sleep(Duration::from_millis(100)).await; -/// println!("100 ms have elapsed"); -/// # } -/// ``` -/// -/// See the documentation for the [`Sleep`] type for more examples. -/// -/// # Panics -/// -/// This function panics if there is no current timer set. -/// -/// It can be triggered when [`Builder::enable_time`] or -/// [`Builder::enable_all`] are not included in the builder. -/// -/// It can also panic whenever a timer is created outside of a -/// Tokio runtime. That is why `rt.block_on(sleep(...))` will panic, -/// since the function is executed outside of the runtime. -/// Whereas `rt.block_on(async {sleep(...).await})` doesn't panic. -/// And this is because wrapping the function on an async makes it lazy, -/// and so gets executed inside the runtime successfully without -/// panicking. -/// -/// [`Sleep`]: struct@crate::time::Sleep -/// [`interval`]: crate::time::interval() -/// [`Builder::enable_time`]: crate::runtime::Builder::enable_time -/// [`Builder::enable_all`]: crate::runtime::Builder::enable_all -Future sleep({required Duration duration}) => - RustLib.instance.api.tokioTimeSleep(duration: duration); - -// Rust type: RustOpaqueMoi> -abstract class Interval implements RustOpaqueInterface { - /// Returns the [`MissedTickBehavior`] strategy currently being used. - Future missedTickBehavior(); - - /// Returns the period of the interval. - Future period(); - - /// Polls for the next instant in the interval to be reached. - /// - /// This method can return the following values: - /// - /// * `Poll::Pending` if the next instant has not yet been reached. - /// * `Poll::Ready(instant)` if the next instant has been reached. - /// - /// When this method returns `Poll::Pending`, the current task is scheduled - /// to receive a wakeup when the instant has elapsed. Note that on multiple - /// calls to `poll_tick`, only the [`Waker`](std::task::Waker) from the - /// [`Context`] passed to the most recent call is scheduled to receive a - /// wakeup. - Future pollTick({required Context cx}); - - /// Resets the interval to complete one period after the current time. - /// - /// This method ignores [`MissedTickBehavior`] strategy. - /// - /// This is equivalent to calling `reset_at(Instant::now() + period)`. - /// - /// # Examples - /// - /// ``` - /// use tokio::time; - /// - /// use std::time::Duration; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let mut interval = time::interval(Duration::from_millis(100)); - /// - /// interval.tick().await; - /// - /// time::sleep(Duration::from_millis(50)).await; - /// interval.reset(); - /// - /// interval.tick().await; - /// interval.tick().await; - /// - /// // approximately 250ms have elapsed. - /// # } - /// ``` - Future reset(); - - /// Resets the interval after the specified [`std::time::Duration`]. - /// - /// This method ignores [`MissedTickBehavior`] strategy. - /// - /// This is equivalent to calling `reset_at(Instant::now() + after)`. - /// - /// # Examples - /// - /// ``` - /// use tokio::time; - /// - /// use std::time::Duration; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let mut interval = time::interval(Duration::from_millis(100)); - /// interval.tick().await; - /// - /// time::sleep(Duration::from_millis(50)).await; - /// - /// let after = Duration::from_millis(20); - /// interval.reset_after(after); - /// - /// interval.tick().await; - /// interval.tick().await; - /// - /// // approximately 170ms have elapsed. - /// # } - /// ``` - Future resetAfter({required Duration after}); - - /// Resets the interval to a [`crate::time::Instant`] deadline. - /// - /// Sets the next tick to expire at the given instant. If the instant is in - /// the past, then the [`MissedTickBehavior`] strategy will be used to - /// catch up. If the instant is in the future, then the next tick will - /// complete at the given instant, even if that means that it will sleep for - /// longer than the duration of this [`Interval`]. If the [`Interval`] had - /// any missed ticks before calling this method, then those are discarded. - /// - /// # Examples - /// - /// ``` - /// use tokio::time::{self, Instant}; - /// - /// use std::time::Duration; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let mut interval = time::interval(Duration::from_millis(100)); - /// interval.tick().await; - /// - /// time::sleep(Duration::from_millis(50)).await; - /// - /// let deadline = Instant::now() + Duration::from_millis(30); - /// interval.reset_at(deadline); - /// - /// interval.tick().await; - /// interval.tick().await; - /// - /// // approximately 180ms have elapsed. - /// # } - /// ``` - Future resetAt({required Instant deadline}); - - /// Resets the interval immediately. - /// - /// This method ignores [`MissedTickBehavior`] strategy. - /// - /// This is equivalent to calling `reset_at(Instant::now())`. - /// - /// # Examples - /// - /// ``` - /// use tokio::time; - /// - /// use std::time::Duration; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let mut interval = time::interval(Duration::from_millis(100)); - /// - /// interval.tick().await; - /// - /// time::sleep(Duration::from_millis(50)).await; - /// interval.reset_immediately(); - /// - /// interval.tick().await; - /// interval.tick().await; - /// - /// // approximately 150ms have elapsed. - /// # } - /// ``` - Future resetImmediately(); - - /// Sets the [`MissedTickBehavior`] strategy that should be used. - Future setMissedTickBehavior({required MissedTickBehavior behavior}); - - /// Completes when the next instant in the interval has been reached. - /// - /// # Cancel safety - /// - /// This method is cancellation safe. If `tick` is used as the branch in a `tokio::select!` and - /// another branch completes first, then no tick has been consumed. - /// - /// # Examples - /// - /// ``` - /// use tokio::time; - /// - /// use std::time::Duration; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let mut interval = time::interval(Duration::from_millis(10)); - /// - /// interval.tick().await; - /// // approximately 0ms have elapsed. The first tick completes immediately. - /// interval.tick().await; - /// interval.tick().await; - /// - /// // approximately 20ms have elapsed. - /// # } - /// ``` - Future tick(); -} - -// Rust type: RustOpaqueMoi> -abstract class Sleep implements RustOpaqueInterface { - /// Returns the instant at which the future will complete. - Future deadline(); - - /// Returns `true` if `Sleep` has elapsed. - /// - /// A `Sleep` instance is elapsed when the requested duration has elapsed. - Future isElapsed(); - - /// Resets the `Sleep` instance to a new deadline. - /// - /// Calling this function allows changing the instant at which the `Sleep` - /// future completes without having to create new associated state. - /// - /// This function can be called both before and after the future has - /// completed. - /// - /// To call this method, you will usually combine the call with - /// [`Pin::as_mut`], which lets you call the method without consuming the - /// `Sleep` itself. - /// - /// # Example - /// - /// ``` - /// use tokio::time::{Duration, Instant}; - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let sleep = tokio::time::sleep(Duration::from_millis(10)); - /// tokio::pin!(sleep); - /// - /// sleep.as_mut().reset(Instant::now() + Duration::from_millis(20)); - /// # } - /// ``` - /// - /// See also the top-level examples. - /// - /// [`Pin::as_mut`]: fn@std::pin::Pin::as_mut - Future reset({required Instant deadline}); -} - -/// Defines the behavior of an [`Interval`] when it misses a tick. -/// -/// Sometimes, an [`Interval`]'s tick is missed. For example, consider the -/// following: -/// -/// ``` -/// use tokio::time::{self, Duration}; -/// # async fn task_that_takes_one_to_three_millis() {} -/// -/// # #[tokio::main(flavor = "current_thread")] -/// # async fn main() { -/// // ticks every 2 milliseconds -/// let mut interval = time::interval(Duration::from_millis(2)); -/// for _ in 0..5 { -/// interval.tick().await; -/// // if this takes more than 2 milliseconds, a tick will be delayed -/// task_that_takes_one_to_three_millis().await; -/// } -/// # } -/// ``` -/// -/// Generally, a tick is missed if too much time is spent without calling -/// [`Interval::tick()`]. -/// -/// By default, when a tick is missed, [`Interval`] fires ticks as quickly as it -/// can until it is "caught up" in time to where it should be. -/// `MissedTickBehavior` can be used to specify a different behavior for -/// [`Interval`] to exhibit. Each variant represents a different strategy. -/// -/// Note that because the executor cannot guarantee exact precision with timers, -/// these strategies will only apply when the delay is greater than 5 -/// milliseconds. -enum MissedTickBehavior { - /// Ticks as fast as possible until caught up. - /// - /// When this strategy is used, [`Interval`] schedules ticks "normally" (the - /// same as it would have if the ticks hadn't been delayed), which results - /// in it firing ticks as fast as possible until it is caught up in time to - /// where it should be. Unlike [`Delay`] and [`Skip`], the ticks yielded - /// when `Burst` is used (the [`Instant`]s that [`tick`](Interval::tick) - /// yields) aren't different than they would have been if a tick had not - /// been missed. Like [`Skip`], and unlike [`Delay`], the ticks may be - /// shortened. - /// - /// This looks something like this: - /// ```text - /// Expected ticks: | 1 | 2 | 3 | 4 | 5 | 6 | - /// Actual ticks: | work -----| delay | work | work | work -| work -----| - /// ``` - /// - /// In code: - /// - /// ``` - /// use tokio::time::{interval, Duration}; - /// # async fn task_that_takes_200_millis() {} - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let mut interval = interval(Duration::from_millis(50)); - /// - /// // First tick resolves immediately after creation - /// interval.tick().await; - /// - /// task_that_takes_200_millis().await; - /// // The `Interval` has missed a tick - /// - /// // Since we have exceeded our timeout, this will resolve immediately - /// interval.tick().await; - /// - /// // Since we are more than 100ms after the start of `interval`, this will - /// // also resolve immediately. - /// interval.tick().await; - /// - /// // Also resolves immediately, because it was supposed to resolve at - /// // 150ms after the start of `interval` - /// interval.tick().await; - /// - /// // Resolves immediately - /// interval.tick().await; - /// - /// // Since we have gotten to 200ms after the start of `interval`, this - /// // will resolve after 50ms - /// interval.tick().await; - /// # } - /// ``` - /// - /// This is the default behavior when [`Interval`] is created with - /// [`interval`] and [`interval_at`]. - /// - /// [`Delay`]: MissedTickBehavior::Delay - /// [`Skip`]: MissedTickBehavior::Skip - burst, - - /// Tick at multiples of `period` from when [`tick`] was called, rather than - /// from `start`. - /// - /// When this strategy is used and [`Interval`] has missed a tick, instead - /// of scheduling ticks to fire at multiples of `period` from `start` (the - /// time when the first tick was fired), it schedules all future ticks to - /// happen at a regular `period` from the point when [`tick`] was called. - /// Unlike [`Burst`] and [`Skip`], ticks are not shortened, and they aren't - /// guaranteed to happen at a multiple of `period` from `start` any longer. - /// - /// This looks something like this: - /// ```text - /// Expected ticks: | 1 | 2 | 3 | 4 | 5 | 6 | - /// Actual ticks: | work -----| delay | work -----| work -----| work -----| - /// ``` - /// - /// In code: - /// - /// ``` - /// use tokio::time::{interval, Duration, MissedTickBehavior}; - /// # async fn task_that_takes_more_than_50_millis() {} - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let mut interval = interval(Duration::from_millis(50)); - /// interval.set_missed_tick_behavior(MissedTickBehavior::Delay); - /// - /// task_that_takes_more_than_50_millis().await; - /// // The `Interval` has missed a tick - /// - /// // Since we have exceeded our timeout, this will resolve immediately - /// interval.tick().await; - /// - /// // But this one, rather than also resolving immediately, as might happen - /// // with the `Burst` or `Skip` behaviors, will not resolve until - /// // 50ms after the call to `tick` up above. That is, in `tick`, when we - /// // recognize that we missed a tick, we schedule the next tick to happen - /// // 50ms (or whatever the `period` is) from right then, not from when - /// // were *supposed* to tick - /// interval.tick().await; - /// # } - /// ``` - /// - /// [`Burst`]: MissedTickBehavior::Burst - /// [`Skip`]: MissedTickBehavior::Skip - /// [`tick`]: Interval::tick - delay, - - /// Skips missed ticks and tick on the next multiple of `period` from - /// `start`. - /// - /// When this strategy is used, [`Interval`] schedules the next tick to fire - /// at the next-closest tick that is a multiple of `period` away from - /// `start` (the point where [`Interval`] first ticked). Like [`Burst`], all - /// ticks remain multiples of `period` away from `start`, but unlike - /// [`Burst`], the ticks may not be *one* multiple of `period` away from the - /// last tick. Like [`Delay`], the ticks are no longer the same as they - /// would have been if ticks had not been missed, but unlike [`Delay`], and - /// like [`Burst`], the ticks may be shortened to be less than one `period` - /// away from each other. - /// - /// This looks something like this: - /// ```text - /// Expected ticks: | 1 | 2 | 3 | 4 | 5 | 6 | - /// Actual ticks: | work -----| delay | work ---| work -----| work -----| - /// ``` - /// - /// In code: - /// - /// ``` - /// use tokio::time::{interval, Duration, MissedTickBehavior}; - /// # async fn task_that_takes_75_millis() {} - /// - /// # #[tokio::main(flavor = "current_thread")] - /// # async fn main() { - /// let mut interval = interval(Duration::from_millis(50)); - /// interval.set_missed_tick_behavior(MissedTickBehavior::Skip); - /// - /// task_that_takes_75_millis().await; - /// // The `Interval` has missed a tick - /// - /// // Since we have exceeded our timeout, this will resolve immediately - /// interval.tick().await; - /// - /// // This one will resolve after 25ms, 100ms after the start of - /// // `interval`, which is the closest multiple of `period` from the start - /// // of `interval` after the call to `tick` up above. - /// interval.tick().await; - /// # } - /// ``` - /// - /// [`Burst`]: MissedTickBehavior::Burst - /// [`Delay`]: MissedTickBehavior::Delay - skip, - ; - - /// Returns [`MissedTickBehavior::Burst`]. - /// - /// For most usecases, the [`Burst`] strategy is what is desired. - /// Additionally, to preserve backwards compatibility, the [`Burst`] - /// strategy must be the default. For these reasons, - /// [`MissedTickBehavior::Burst`] is the default for [`MissedTickBehavior`]. - /// See [`Burst`] for more details. - /// - /// [`Burst`]: MissedTickBehavior::Burst - static Future default_() => - RustLib.instance.api.tokioTimeMissedTickBehaviorDefault(); -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/time/error.dart b/mobile_app/lib/src/rust/third_party/tokio/time/error.dart deleted file mode 100644 index f3196c3..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/time/error.dart +++ /dev/null @@ -1,34 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Elapsed`, `InsertError`, `Kind` -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from`, `from` - -// Rust type: RustOpaqueMoi> -abstract class Error implements RustOpaqueInterface { - /// Creates an error representing a timer at capacity. - static Future atCapacity() => - RustLib.instance.api.tokioTimeErrorErrorAtCapacity(); - - /// Creates an error representing a misconfigured timer. - static Future invalid() => - RustLib.instance.api.tokioTimeErrorErrorInvalid(); - - /// Returns `true` if the error was caused by the timer being at capacity. - Future isAtCapacity(); - - /// Returns `true` if the error was caused by the timer being misconfigured. - Future isInvalid(); - - /// Returns `true` if the error was caused by the timer being shutdown. - Future isShutdown(); - - /// Creates an error representing a shutdown timer. - static Future shutdown() => - RustLib.instance.api.tokioTimeErrorErrorShutdown(); -} diff --git a/mobile_app/lib/src/rust/third_party/tokio/time/interval.dart b/mobile_app/lib/src/rust/third_party/tokio/time/interval.dart deleted file mode 100644 index 2eba311..0000000 --- a/mobile_app/lib/src/rust/third_party/tokio/time/interval.dart +++ /dev/null @@ -1,12 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import - -import '../../../frb_generated.dart'; -import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `clone`, `eq`, `fmt`, `fmt` - -// Rust type: RustOpaqueMoi>> -abstract class PollInstant implements RustOpaqueInterface {} diff --git a/mobile_app/pubspec.lock b/mobile_app/pubspec.lock index dea6c3b..f49e1a7 100644 --- a/mobile_app/pubspec.lock +++ b/mobile_app/pubspec.lock @@ -49,14 +49,6 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.4" - build_cli_annotations: - dependency: transitive - description: - name: build_cli_annotations - sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 - url: "https://pub.dev" - source: hosted - version: "2.1.0" build_config: dependency: transitive description: @@ -211,14 +203,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.33" - flutter_rust_bridge: - dependency: "direct main" - description: - name: flutter_rust_bridge - sha256: "37ef40bc6f863652e865f0b2563ea07f0d3c58d8efad803cc01933a4b2ee067e" - url: "https://pub.dev" - source: hosted - version: "2.11.1" flutter_test: dependency: "direct dev" description: flutter diff --git a/mobile_app/pubspec.yaml b/mobile_app/pubspec.yaml index 63c2b4d..187a48e 100644 --- a/mobile_app/pubspec.yaml +++ b/mobile_app/pubspec.yaml @@ -37,7 +37,6 @@ dependencies: cupertino_icons: ^1.0.6 rust_lib_mobile_app: path: rust_builder - flutter_rust_bridge: 2.11.1 gap: ^3.0.1 permission_handler: ^12.0.1 file_picker: ^10.3.8 diff --git a/mobile_app/rust/.gitignore b/mobile_app/rust/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/mobile_app/rust/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/mobile_app/rust/Cargo.lock b/mobile_app/rust/Cargo.lock deleted file mode 100644 index 5944227..0000000 --- a/mobile_app/rust/Cargo.lock +++ /dev/null @@ -1,1748 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "addr2line" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" - -[[package]] -name = "aho-corasick" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" -dependencies = [ - "memchr", -] - -[[package]] -name = "allo-isolate" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449e356a4864c017286dbbec0e12767ea07efba29e3b7d984194c2a7ff3c4550" -dependencies = [ - "anyhow", - "atomic", - "backtrace", -] - -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] -name = "android_log-sys" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" - -[[package]] -name = "android_logger" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb4e440d04be07da1f1bf44fb4495ebd58669372fe0cffa6e48595ac5bd88a3" -dependencies = [ - "android_log-sys", - "env_filter", - "log", -] - -[[package]] -name = "anyhow" -version = "1.0.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" - -[[package]] -name = "arc-swap" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d03449bb8ca2cc2ef70869af31463d1ae5ccc8fa3e334b307203fbf815207e" -dependencies = [ - "rustversion", -] - -[[package]] -name = "async-trait" -version = "0.1.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "atomic" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" - -[[package]] -name = "autocfg" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" - -[[package]] -name = "backtrace" -version = "0.3.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-link", -] - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "bitflags" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" - -[[package]] -name = "bitpacking" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96a7139abd3d9cebf8cd6f920a389cf3dc9576172e32f4563f188cae3c3eb019" -dependencies = [ - "crunchy", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bon" -version = "3.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234655ec178edd82b891e262ea7cf71f6584bcd09eff94db786be23f1821825c" -dependencies = [ - "bon-macros", - "rustversion", -] - -[[package]] -name = "bon-macros" -version = "3.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ec27229c38ed0eb3c0feee3d2c1d6a4379ae44f418a29a658890e062d8f365" -dependencies = [ - "darling", - "ident_case", - "prettyplease", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - -[[package]] -name = "build-target" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832133bbabbbaa9fbdba793456a2827627a7d2b8fb96032fa1e7666d7895832b" - -[[package]] -name = "bumpalo" -version = "3.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" - -[[package]] -name = "bytemuck" -version = "1.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "cc" -version = "1.2.54" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" -dependencies = [ - "find-msvc-tools", - "jobserver", - "libc", - "shlex", -] - -[[package]] -name = "census" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4c707c6a209cbe82d10abd08e1ea8995e9ea937d2550646e02798948992be0" - -[[package]] -name = "cfg-if" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if", - "wasm-bindgen", -] - -[[package]] -name = "crc32fast" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crunchy" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" - -[[package]] -name = "crypto-common" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "darling" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" -dependencies = [ - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn", -] - -[[package]] -name = "darling_macro" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" -dependencies = [ - "darling_core", - "quote", - "syn", -] - -[[package]] -name = "dart-sys" -version = "4.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57967e4b200d767d091b961d6ab42cc7d0cc14fe9e052e75d0d3cf9eb732d895" -dependencies = [ - "cc", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - -[[package]] -name = "delegate-attr" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51aac4c99b2e6775164b412ea33ae8441b2fde2dbf05a20bc0052a63d08c475b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "deranged" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" -dependencies = [ - "powerfmt", - "serde_core", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[package]] -name = "downcast-rs" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" - -[[package]] -name = "env_filter" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" -dependencies = [ - "log", - "regex", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "errno" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" -dependencies = [ - "libc", - "windows-sys 0.61.2", -] - -[[package]] -name = "fastdivide" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afc2bd4d5a73106dd53d10d73d3401c2f32730ba2c0b93ddb888a8983680471" - -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "find-msvc-tools" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" - -[[package]] -name = "flutter_rust_bridge" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde126295b2acc5f0a712e265e91b6fdc0ed38767496483e592ae7134db83725" -dependencies = [ - "allo-isolate", - "android_logger", - "anyhow", - "build-target", - "bytemuck", - "byteorder", - "console_error_panic_hook", - "dart-sys", - "delegate-attr", - "flutter_rust_bridge_macros", - "futures", - "js-sys", - "lazy_static", - "log", - "oslog", - "portable-atomic", - "threadpool", - "tokio", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "flutter_rust_bridge_macros" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f0420326b13675321b194928bb7830043b68cf8b810e1c651285c747abb080" -dependencies = [ - "hex", - "md-5", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "fs4" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8640e34b88f7652208ce9e88b1a37a2ae95227d84abec377ccd3c5cfeb141ed4" -dependencies = [ - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "getrandom" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" -dependencies = [ - "cfg-if", - "libc", - "r-efi", - "wasip2", -] - -[[package]] -name = "gimli" -version = "0.32.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" - -[[package]] -name = "hashbrown" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] - -[[package]] -name = "hermit-abi" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "htmlescape" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163" - -[[package]] -name = "hyperloglogplus" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "621debdf94dcac33e50475fdd76d34d5ea9c0362a834b9db08c3024696c1fbe3" -dependencies = [ - "serde", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" - -[[package]] -name = "jobserver" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" -dependencies = [ - "getrandom 0.3.4", - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "levenshtein_automata" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2cdeb66e45e9f36bfad5bbdb4d2384e70936afbee843c6f6543f0c551ebb25" - -[[package]] -name = "libc" -version = "0.2.180" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" - -[[package]] -name = "libm" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" - -[[package]] -name = "linux-raw-sys" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" - -[[package]] -name = "lock_api" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" - -[[package]] -name = "lru" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" -dependencies = [ - "hashbrown 0.15.5", -] - -[[package]] -name = "lz4_flex" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "measure_time" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51c55d61e72fc3ab704396c5fa16f4c184db37978ae4e94ca8959693a235fc0e" -dependencies = [ - "log", -] - -[[package]] -name = "memchr" -version = "2.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" - -[[package]] -name = "memmap2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" -dependencies = [ - "libc", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" -dependencies = [ - "adler2", -] - -[[package]] -name = "murmurhash32" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2195bf6aa996a481483b29d62a7663eed3fe39600c460e323f8ff41e90bdd89b" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "num-conv" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "object" -version = "0.37.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" - -[[package]] -name = "oneshot" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ce66197e99546da6c6d991285f605192e794ceae69686c17163844a7bf8fcc2" - -[[package]] -name = "oslog" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d2043d1f61d77cb2f4b1f7b7b2295f40507f5f8e9d1c8bf10a1ca5f97a3969" -dependencies = [ - "cc", - "dashmap", - "log", -] - -[[package]] -name = "ownedbytes" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fbd56f7631767e61784dc43f8580f403f4475bd4aaa4da003e6295e1bab4a7e" -dependencies = [ - "stable_deref_trait", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-link", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "portable-atomic" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2", - "syn", -] - -[[package]] -name = "proc-macro2" -version = "1.0.106" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r-efi" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.17", -] - -[[package]] -name = "rand_distr" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" -dependencies = [ - "num-traits", - "rand", -] - -[[package]] -name = "rayon" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "redox_syscall" -version = "0.5.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" -dependencies = [ - "bitflags", -] - -[[package]] -name = "regex" -version = "1.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" - -[[package]] -name = "rust-stemmers" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54" -dependencies = [ - "serde", - "serde_derive", -] - -[[package]] -name = "rust_lib_mobile_app" -version = "0.1.0" -dependencies = [ - "flutter_rust_bridge", - "tantivy", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" - -[[package]] -name = "rustc-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" - -[[package]] -name = "rustix" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.61.2", -] - -[[package]] -name = "rustversion" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "serde" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" -dependencies = [ - "serde_core", - "serde_derive", -] - -[[package]] -name = "serde_core" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.149" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" -dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "sketches-ddsketch" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" -dependencies = [ - "serde", -] - -[[package]] -name = "slab" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" - -[[package]] -name = "smallvec" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" - -[[package]] -name = "stable_deref_trait" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "syn" -version = "2.0.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tantivy" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "502915c7381c5cb2d2781503962610cb880ad8f1a0ca95df1bae645d5ebf2545" -dependencies = [ - "aho-corasick", - "arc-swap", - "base64", - "bitpacking", - "bon", - "byteorder", - "census", - "crc32fast", - "crossbeam-channel", - "downcast-rs", - "fastdivide", - "fnv", - "fs4", - "htmlescape", - "hyperloglogplus", - "itertools", - "levenshtein_automata", - "log", - "lru", - "lz4_flex", - "measure_time", - "memmap2", - "once_cell", - "oneshot", - "rayon", - "regex", - "rust-stemmers", - "rustc-hash", - "serde", - "serde_json", - "sketches-ddsketch", - "smallvec", - "tantivy-bitpacker", - "tantivy-columnar", - "tantivy-common", - "tantivy-fst", - "tantivy-query-grammar", - "tantivy-stacker", - "tantivy-tokenizer-api", - "tempfile", - "thiserror", - "time", - "uuid", - "winapi", -] - -[[package]] -name = "tantivy-bitpacker" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3b04eed5108d8283607da6710fe17a7663523440eaf7ea5a1a440d19a1448b6" -dependencies = [ - "bitpacking", -] - -[[package]] -name = "tantivy-columnar" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b628488ae936c83e92b5c4056833054ca56f76c0e616aee8339e24ac89119cd" -dependencies = [ - "downcast-rs", - "fastdivide", - "itertools", - "serde", - "tantivy-bitpacker", - "tantivy-common", - "tantivy-sstable", - "tantivy-stacker", -] - -[[package]] -name = "tantivy-common" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f880aa7cab0c063a47b62596d10991cdd0b6e0e0575d9c5eeb298b307a25de55" -dependencies = [ - "async-trait", - "byteorder", - "ownedbytes", - "serde", - "time", -] - -[[package]] -name = "tantivy-fst" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d60769b80ad7953d8a7b2c70cdfe722bbcdcac6bccc8ac934c40c034d866fc18" -dependencies = [ - "byteorder", - "regex-syntax", - "utf8-ranges", -] - -[[package]] -name = "tantivy-query-grammar" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "768fccdc84d60d86235d42d7e4c33acf43c418258ff5952abf07bd7837fcd26b" -dependencies = [ - "nom", - "serde", - "serde_json", -] - -[[package]] -name = "tantivy-sstable" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8292095d1a8a2c2b36380ec455f910ab52dde516af36321af332c93f20ab7d5" -dependencies = [ - "futures-util", - "itertools", - "tantivy-bitpacker", - "tantivy-common", - "tantivy-fst", - "zstd", -] - -[[package]] -name = "tantivy-stacker" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d38a379411169f0b3002c9cba61cdfe315f757e9d4f239c00c282497a0749d" -dependencies = [ - "murmurhash32", - "rand_distr", - "tantivy-common", -] - -[[package]] -name = "tantivy-tokenizer-api" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23024f6aeb25ceb1a0e27740c84bdb0fae52626737b7e9a9de6ad5aa25c7b038" -dependencies = [ - "serde", -] - -[[package]] -name = "tempfile" -version = "3.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" -dependencies = [ - "fastrand", - "getrandom 0.3.4", - "once_cell", - "rustix", - "windows-sys 0.61.2", -] - -[[package]] -name = "thiserror" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - -[[package]] -name = "time" -version = "0.3.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9da98b7d9b7dad93488a84b8248efc35352b0b2657397d4167e7ad67e5d535e5" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde_core", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" - -[[package]] -name = "time-macros" -version = "0.2.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78cc610bac2dcee56805c99642447d4c5dbde4d01f752ffea0199aee1f601dc4" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tokio" -version = "1.49.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" -dependencies = [ - "pin-project-lite", -] - -[[package]] -name = "typenum" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" - -[[package]] -name = "unicode-ident" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" - -[[package]] -name = "utf8-ranges" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcfc827f90e53a02eaef5e535ee14266c1d569214c6aa70133a624d8a3164ba" - -[[package]] -name = "uuid" -version = "1.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" -dependencies = [ - "getrandom 0.3.4", - "js-sys", - "serde_core", - "wasm-bindgen", -] - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "wasi" -version = "0.11.1+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - -[[package]] -name = "wasip2" -version = "1.0.2+wasi-0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" -dependencies = [ - "wit-bindgen", -] - -[[package]] -name = "wasm-bindgen" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" -dependencies = [ - "cfg-if", - "futures-util", - "js-sys", - "once_cell", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" -dependencies = [ - "bumpalo", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "web-sys" -version = "0.3.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "wit-bindgen" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" - -[[package]] -name = "zerocopy" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71ddd76bcebeed25db614f82bf31a9f4222d3fbba300e6fb6c00afa26cbd4d9d" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8187381b52e32220d50b255276aa16a084ec0a9017a0ca2152a1f55c539758d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zmij" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" - -[[package]] -name = "zstd" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "7.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" -dependencies = [ - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.16+zstd.1.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/mobile_app/rust/Cargo.toml b/mobile_app/rust/Cargo.toml deleted file mode 100644 index 371c110..0000000 --- a/mobile_app/rust/Cargo.toml +++ /dev/null @@ -1,15 +0,0 @@ -[package] -name = "rust_lib_mobile_app" -version = "0.1.0" -edition = "2021" - -[lib] -crate-type = ["cdylib", "staticlib"] - -[dependencies] -flutter_rust_bridge = "=2.11.1" -tantivy = "0.25.0" -#seekstorm = { git = "https://github.com/Ok3ks/seekstorm", branch = "compile-for-mobile", version = "1.2.5" } - -[lints.rust] -unexpected_cfgs = { level = "warn", check-cfg = ['cfg(frb_expand)'] } diff --git a/mobile_app/rust/src/api/keyword_search.rs b/mobile_app/rust/src/api/keyword_search.rs deleted file mode 100644 index e69de29..0000000 diff --git a/mobile_app/rust/src/api/mod.rs b/mobile_app/rust/src/api/mod.rs deleted file mode 100644 index a7da100..0000000 --- a/mobile_app/rust/src/api/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod simple; -pub mod keyword_search; \ No newline at end of file diff --git a/mobile_app/rust/src/api/simple.rs b/mobile_app/rust/src/api/simple.rs deleted file mode 100644 index 7f96e5d..0000000 --- a/mobile_app/rust/src/api/simple.rs +++ /dev/null @@ -1,10 +0,0 @@ -#[flutter_rust_bridge::frb(sync)] // Synchronous mode for simplicity of the demo -pub fn greet(name: String) -> String { - format!("Hello, {name}!") -} - -#[flutter_rust_bridge::frb(init)] -pub fn init_app() { - // Default utilities - feel free to customize - flutter_rust_bridge::setup_default_user_utils(); -} \ No newline at end of file diff --git a/mobile_app/rust/src/frb_generated.rs b/mobile_app/rust/src/frb_generated.rs deleted file mode 100644 index 4f41c47..0000000 --- a/mobile_app/rust/src/frb_generated.rs +++ /dev/null @@ -1,276 +0,0 @@ -// This file is automatically generated, so please do not edit it. -// @generated by `flutter_rust_bridge`@ 2.11.1. - -#![allow( - non_camel_case_types, - unused, - non_snake_case, - clippy::needless_return, - clippy::redundant_closure_call, - clippy::redundant_closure, - clippy::useless_conversion, - clippy::unit_arg, - clippy::unused_unit, - clippy::double_parens, - clippy::let_and_return, - clippy::too_many_arguments, - clippy::match_single_binding, - clippy::clone_on_copy, - clippy::let_unit_value, - clippy::deref_addrof, - clippy::explicit_auto_deref, - clippy::borrow_deref_ref, - clippy::needless_borrow -)] - -// Section: imports - -use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt}; -use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; -use flutter_rust_bridge::{Handler, IntoIntoDart}; - -// Section: boilerplate - -flutter_rust_bridge::frb_generated_boilerplate!( - default_stream_sink_codec = SseCodec, - default_rust_opaque = RustOpaqueMoi, - default_rust_auto_opaque = RustAutoOpaqueMoi, -); -pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.11.1"; -pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -1918914929; - -// Section: executor - -flutter_rust_bridge::frb_generated_default_handler!(); - -// Section: wire_funcs - -fn wire__crate__api__simple__greet_impl( - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "greet", - port: None, - mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - let api_name = ::sse_decode(&mut deserializer); - deserializer.end(); - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok(crate::api::simple::greet(api_name))?; - Ok(output_ok) - })()) - }, - ) -} -fn wire__crate__api__simple__init_app_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len_: i32, - data_len_: i32, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "init_app", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let message = unsafe { - flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( - ptr_, - rust_vec_len_, - data_len_, - ) - }; - let mut deserializer = - flutter_rust_bridge::for_generated::SseDeserializer::new(message); - deserializer.end(); - move |context| { - transform_result_sse::<_, ()>((move || { - let output_ok = Result::<_, ()>::Ok({ - crate::api::simple::init_app(); - })?; - Ok(output_ok) - })()) - } - }, - ) -} - -// Section: dart2rust - -impl SseDecode for String { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >::sse_decode(deserializer); - return String::from_utf8(inner).unwrap(); - } -} - -impl SseDecode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut len_ = ::sse_decode(deserializer); - let mut ans_ = vec![]; - for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); - } - return ans_; - } -} - -impl SseDecode for u8 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_u8().unwrap() - } -} - -impl SseDecode for () { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {} -} - -impl SseDecode for i32 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_i32::().unwrap() - } -} - -impl SseDecode for bool { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - deserializer.cursor.read_u8().unwrap() != 0 - } -} - -fn pde_ffi_dispatcher_primary_impl( - func_id: i32, - port: flutter_rust_bridge::for_generated::MessagePort, - ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len: i32, - data_len: i32, -) { - // Codec=Pde (Serialization + dispatch), see doc to use other codecs - match func_id { - 2 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len), - _ => unreachable!(), - } -} - -fn pde_ffi_dispatcher_sync_impl( - func_id: i32, - ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, - rust_vec_len: i32, - data_len: i32, -) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { - // Codec=Pde (Serialization + dispatch), see doc to use other codecs - match func_id { - 1 => wire__crate__api__simple__greet_impl(ptr, rust_vec_len, data_len), - _ => unreachable!(), - } -} - -// Section: rust2dart - -impl SseEncode for String { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >::sse_encode(self.into_bytes(), serializer); - } -} - -impl SseEncode for Vec { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - ::sse_encode(self.len() as _, serializer); - for item in self { - ::sse_encode(item, serializer); - } - } -} - -impl SseEncode for u8 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_u8(self).unwrap(); - } -} - -impl SseEncode for () { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {} -} - -impl SseEncode for i32 { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_i32::(self).unwrap(); - } -} - -impl SseEncode for bool { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - serializer.cursor.write_u8(self as _).unwrap(); - } -} - -#[cfg(not(target_family = "wasm"))] -mod io { - // This file is automatically generated, so please do not edit it. - // @generated by `flutter_rust_bridge`@ 2.11.1. - - // Section: imports - - use super::*; - use flutter_rust_bridge::for_generated::byteorder::{ - NativeEndian, ReadBytesExt, WriteBytesExt, - }; - use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; - use flutter_rust_bridge::{Handler, IntoIntoDart}; - - // Section: boilerplate - - flutter_rust_bridge::frb_generated_boilerplate_io!(); -} -#[cfg(not(target_family = "wasm"))] -pub use io::*; - -/// cbindgen:ignore -#[cfg(target_family = "wasm")] -mod web { - // This file is automatically generated, so please do not edit it. - // @generated by `flutter_rust_bridge`@ 2.11.1. - - // Section: imports - - use super::*; - use flutter_rust_bridge::for_generated::byteorder::{ - NativeEndian, ReadBytesExt, WriteBytesExt, - }; - use flutter_rust_bridge::for_generated::wasm_bindgen; - use flutter_rust_bridge::for_generated::wasm_bindgen::prelude::*; - use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; - use flutter_rust_bridge::{Handler, IntoIntoDart}; - - // Section: boilerplate - - flutter_rust_bridge::frb_generated_boilerplate_web!(); -} -#[cfg(target_family = "wasm")] -pub use web::*; diff --git a/mobile_app/rust/src/lib.rs b/mobile_app/rust/src/lib.rs deleted file mode 100644 index cbb071f..0000000 --- a/mobile_app/rust/src/lib.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod api; -mod frb_generated; diff --git a/mobile_app/rust/src/seekstorm/add_result.rs b/mobile_app/rust/src/seekstorm/add_result.rs deleted file mode 100644 index baa7426..0000000 --- a/mobile_app/rust/src/seekstorm/add_result.rs +++ /dev/null @@ -1,3682 +0,0 @@ -use ahash::AHashSet; -use smallvec::{SmallVec, smallvec}; -use std::cmp::Ordering; - -use crate::{ - geo_search::{decode_morton_2_d, euclidian_distance}, - index::{ - AccessType, CompressionType, FIELD_STOP_BIT_1, FIELD_STOP_BIT_2, FieldType, NgramType, - NonUniquePostingListObjectQuery, PostingListObjectQuery, SPEEDUP_FLAG, STOP_BIT, Shard, - SimilarityType, get_document_length_compressed_mmap, - }, - min_heap, - search::{FilterSparse, Ranges, ResultType, SearchResult}, - utils::{ - read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u8, read_u16, read_u32, - read_u64, - }, -}; - -pub(crate) const K: f32 = 1.2; -pub(crate) const B: f32 = 0.75; -pub(crate) const SIGMA: f32 = 0.0; - -pub(crate) struct PostingListObjectSingle<'a> { - pub rank_position_pointer_range: u32, - pub pointer_pivot_p_docid: u16, - pub byte_array: &'a [u8], - pub p_docid: i32, - pub idf: f32, - - pub idf_ngram1: f32, - pub idf_ngram2: f32, - pub idf_ngram3: f32, - pub ngram_type: NgramType, -} - -#[inline(always)] -pub(crate) fn get_next_position_singlefield(plo: &mut NonUniquePostingListObjectQuery) -> u32 { - if plo.is_embedded { - return plo.embedded_positions[plo.p_pos as usize]; - } - - if (plo.byte_array[plo.positions_pointer] & STOP_BIT) != 0 { - let position = (plo.byte_array[plo.positions_pointer] & 0b0111_1111) as u32; - plo.positions_pointer += 1; - position - } else if (plo.byte_array[plo.positions_pointer + 1] & STOP_BIT) != 0 { - let position = ((plo.byte_array[plo.positions_pointer] as u32) << 7) - | (plo.byte_array[plo.positions_pointer + 1] & 0b0111_1111) as u32; - plo.positions_pointer += 2; - position - } else { - let position = ((plo.byte_array[plo.positions_pointer] as u32) << 13) - | ((plo.byte_array[plo.positions_pointer + 1] as u32) << 7) - | (plo.byte_array[plo.positions_pointer + 2] & 0b0111_1111) as u32; - plo.positions_pointer += 3; - position - } -} - -#[inline(always)] -pub(crate) fn get_next_position_multifield(plo: &mut NonUniquePostingListObjectQuery) -> u32 { - if plo.is_embedded { - return plo.embedded_positions[if plo.p_field == 0 { - plo.p_pos as usize - } else { - plo.field_vec[plo.p_field - 1].1 + plo.p_pos as usize - }]; - } - - if (plo.byte_array[plo.positions_pointer] & STOP_BIT) != 0 { - let position = (plo.byte_array[plo.positions_pointer] & 0b0111_1111) as u32; - plo.positions_pointer += 1; - position - } else if (plo.byte_array[plo.positions_pointer + 1] & STOP_BIT) != 0 { - let position = ((plo.byte_array[plo.positions_pointer] as u32) << 7) - | (plo.byte_array[plo.positions_pointer + 1] & 0b0111_1111) as u32; - plo.positions_pointer += 2; - position - } else { - let position = ((plo.byte_array[plo.positions_pointer] as u32) << 13) - | ((plo.byte_array[plo.positions_pointer + 1] as u32) << 7) - | (plo.byte_array[plo.positions_pointer + 2] & 0b0111_1111) as u32; - plo.positions_pointer += 3; - position - } -} - -/// Post processing after AND intersection candidates have been found -/// Phrase intersection -/// BM25 ranking vs. seekstorm ranking (implicit phrase search, term proximity, field type boost, source reputation) -/// BM25 is default baseline in IR academics, but exhibits inferior relevance for practical use -#[allow(clippy::too_many_arguments)] -#[inline(always)] -pub(crate) fn add_result_singleterm_multifield( - shard: &Shard, - docid: usize, - result_count: &mut i32, - search_result: &mut SearchResult, - - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - - plo_single: &PostingListObjectSingle, - not_query_list: &mut [PostingListObjectQuery], - block_score: f32, -) { - if shard.indexed_field_vec.len() == 1 { - add_result_singleterm_singlefield( - shard, - docid, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - plo_single, - not_query_list, - block_score, - ); - return; - } - - if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { - return; - } - - for plo in not_query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - let local_docid = docid & 0b11111111_11111111; - - match &plo.compression_type { - CompressionType::Array => { - while plo.p_docid < plo.p_docid_count - && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) - { - plo.docid = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + (plo.p_docid << 1), - ) as i32; - plo.p_docid += 1; - } - if (plo.docid as usize) == local_docid { - return; - } - } - CompressionType::Bitmap => { - if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] - & (1 << (local_docid & 7))) - > 0 - { - return; - } - } - CompressionType::Rle => { - if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { - return; - } else { - while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) - < plo.p_docid_count - && local_docid > plo.run_end as usize - { - let startdocid = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + plo.p_run as usize, - ); - let runlength = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + plo.p_run as usize + 2, - ); - plo.docid = startdocid as i32; - plo.run_end = (startdocid + runlength) as i32; - plo.p_run_sum += runlength as i32; - plo.p_run += 4; - - if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize - { - return; - } - } - } - } - _ => {} - } - } - - if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { - return; - }; - - let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); - let mut field_vec_ngram1: SmallVec<[(u16, usize); 2]> = SmallVec::new(); - let mut field_vec_ngram2: SmallVec<[(u16, usize); 2]> = SmallVec::new(); - let mut field_vec_ngram3: SmallVec<[(u16, usize); 2]> = SmallVec::new(); - - match *result_type { - ResultType::Count => { - if !field_filter_set.is_empty() { - decode_positions_singleterm_multifield( - shard, - plo_single, - &mut field_vec, - &mut field_vec_ngram1, - &mut field_vec_ngram2, - &mut field_vec_ngram3, - ); - - if field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() { - let mut match_flag = false; - for field in field_vec.iter() { - if field_filter_set.contains(&field.0) { - match_flag = true; - } - } - if !match_flag { - return; - } - } - } - - facet_count(shard, search_result, docid); - - *result_count += 1; - - return; - } - ResultType::Topk => { - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && search_result.topk_candidates.current_heap_size >= top_k - && block_score <= search_result.topk_candidates._elements[0].score - { - return; - } - - if !field_filter_set.is_empty() { - decode_positions_singleterm_multifield( - shard, - plo_single, - &mut field_vec, - &mut field_vec_ngram1, - &mut field_vec_ngram2, - &mut field_vec_ngram3, - ); - - if field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() { - let mut match_flag = false; - for field in field_vec.iter() { - if field_filter_set.contains(&field.0) { - match_flag = true; - } - } - if !match_flag { - return; - } - } - } - } - ResultType::TopkCount => { - if !field_filter_set.is_empty() { - decode_positions_singleterm_multifield( - shard, - plo_single, - &mut field_vec, - &mut field_vec_ngram1, - &mut field_vec_ngram2, - &mut field_vec_ngram3, - ); - - if field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() { - let mut match_flag = false; - for field in field_vec.iter() { - if field_filter_set.contains(&field.0) { - match_flag = true; - } - } - if !match_flag { - return; - } - } - } - - facet_count(shard, search_result, docid); - - *result_count += 1; - - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && search_result.topk_candidates.current_heap_size >= top_k - && block_score <= search_result.topk_candidates._elements[0].score - { - return; - } - } - } - - if field_filter_set.is_empty() { - decode_positions_singleterm_multifield( - shard, - plo_single, - &mut field_vec, - &mut field_vec_ngram1, - &mut field_vec_ngram2, - &mut field_vec_ngram3, - ); - } - - let bm25f = get_bm25f_singleterm_multifield( - shard, - docid, - plo_single, - field_vec, - field_vec_ngram1, - field_vec_ngram2, - field_vec_ngram3, - ); - - search_result.topk_candidates.add_topk( - min_heap::Result { - doc_id: docid, - score: bm25f, - }, - top_k, - ); -} - -#[inline] -pub(crate) fn is_facet_filter(index: &Shard, facet_filter: &[FilterSparse], docid: usize) -> bool { - for (i, facet) in index.facets.iter().enumerate() { - match &facet_filter[i] { - FilterSparse::U8(range) => { - let facet_value_id = read_u8( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::U16(range) => { - let facet_value_id = read_u16( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::U32(range) => { - let facet_value_id = read_u32( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::U64(range) => { - let facet_value_id = read_u64( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::I8(range) => { - let facet_value_id = read_i8( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::I16(range) => { - let facet_value_id = read_i16( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::I32(range) => { - let facet_value_id = read_i32( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::I64(range) => { - let facet_value_id = read_i64( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::Timestamp(range) => { - let facet_value_id = read_i64( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::F32(range) => { - let facet_value_id = read_f32( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::F64(range) => { - let facet_value_id = read_f64( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !range.contains(&facet_value_id) { - return true; - } - } - FilterSparse::String16(values) => { - let facet_value_id = read_u16( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !values.contains(&facet_value_id) { - return true; - } - } - FilterSparse::String32(values) => { - let facet_value_id = read_u32( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if !values.contains(&facet_value_id) { - return true; - } - } - - FilterSparse::Point(point, distance_range, unit, range) => { - let morton_code = read_u64( - &index.facets_file_mmap, - (index.facets_size_sum * docid) + facet.offset, - ); - if range.contains(&morton_code) { - if !distance_range.contains(&euclidian_distance( - point, - &decode_morton_2_d(morton_code), - unit, - )) { - return true; - } - } else { - return true; - } - } - - FilterSparse::None => {} - } - } - false -} - -#[inline] -pub(crate) fn facet_count(shard: &Shard, search_result: &mut SearchResult, docid: usize) { - if !search_result.query_facets.is_empty() && !search_result.skip_facet_count { - for (i, facet) in shard.facets.iter().enumerate() { - if search_result.query_facets[i].length == 0 { - continue; - } - - let facet_value_id = match &search_result.query_facets[i].ranges { - Ranges::U8(_range_type, ranges) => { - let facet_value = - shard.facets_file_mmap[(shard.facets_size_sum * docid) + facet.offset]; - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::U16(_range_type, ranges) => { - let facet_value = read_u16( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::U32(_range_type, ranges) => { - let facet_value = read_u32( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::U64(_range_type, ranges) => { - let facet_value = read_u64( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::I8(_range_type, ranges) => { - let facet_value = read_i8( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::I16(_range_type, ranges) => { - let facet_value = read_i16( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::I32(_range_type, ranges) => { - let facet_value = read_i32( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - - Ranges::I64(_range_type, ranges) => { - let facet_value = read_i64( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::Timestamp(_range_type, ranges) => { - let facet_value = read_i64( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::F32(_range_type, ranges) => { - let facet_value = read_f32( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by(|range| range.1.partial_cmp(&facet_value).unwrap()) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::F64(_range_type, ranges) => { - let facet_value = read_f64( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by(|range| range.1.partial_cmp(&facet_value).unwrap()) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - - Ranges::Point(_range_type, ranges, base, unit) => { - let facet_value = read_u64( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - let facet_value_distance = - euclidian_distance(base, &decode_morton_2_d(facet_value), unit); - ranges - .binary_search_by(|range| { - range.1.partial_cmp(&facet_value_distance).unwrap() - }) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - - _ => { - if facet.field_type == FieldType::String16 - || facet.field_type == FieldType::StringSet16 - { - read_u16( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ) as u32 - } else { - read_u32( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ) - } - } - }; - - *search_result.query_facets[i] - .values - .entry(facet_value_id) - .or_insert(0) += 1; - } - } -} - -#[allow(clippy::too_many_arguments)] -#[inline(always)] -pub(crate) fn add_result_singleterm_singlefield( - shard: &Shard, - docid: usize, - result_count: &mut i32, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - - plo_single: &PostingListObjectSingle, - not_query_list: &mut [PostingListObjectQuery], - block_score: f32, -) { - if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { - return; - } - - for plo in not_query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - let local_docid = docid & 0b11111111_11111111; - - match &plo.compression_type { - CompressionType::Array => { - while plo.p_docid < plo.p_docid_count - && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) - { - plo.docid = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + (plo.p_docid << 1), - ) as i32; - plo.p_docid += 1; - } - if (plo.docid as usize) == local_docid { - return; - } - } - CompressionType::Bitmap => { - if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] - & (1 << (local_docid & 7))) - > 0 - { - return; - } - } - CompressionType::Rle => { - if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { - return; - } else { - while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) - < plo.p_docid_count - && local_docid > plo.run_end as usize - { - let startdocid = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + plo.p_run as usize, - ); - let runlength = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + plo.p_run as usize + 2, - ); - plo.docid = startdocid as i32; - plo.run_end = (startdocid + runlength) as i32; - plo.p_run_sum += runlength as i32; - plo.p_run += 4; - - if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize - { - return; - } - } - } - } - _ => {} - } - } - - if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { - return; - }; - - let mut tf_ngram1 = 0; - let mut tf_ngram2 = 0; - let mut tf_ngram3 = 0; - let mut positions_count = 0; - let field_id = 0u16; - - match *result_type { - ResultType::Count => { - if !field_filter_set.is_empty() { - decode_positions_singleterm_singlefield( - plo_single, - &mut tf_ngram1, - &mut tf_ngram2, - &mut tf_ngram3, - &mut positions_count, - ); - - if field_filter_set.len() < shard.indexed_field_vec.len() { - let mut match_flag = false; - - if field_filter_set.contains(&field_id) { - match_flag = true; - } - - if !match_flag { - return; - } - } - } - facet_count(shard, search_result, docid); - - *result_count += 1; - - return; - } - ResultType::Topk => { - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && search_result.topk_candidates.current_heap_size >= top_k - && block_score <= search_result.topk_candidates._elements[0].score - { - return; - } - - if !field_filter_set.is_empty() { - decode_positions_singleterm_singlefield( - plo_single, - &mut tf_ngram1, - &mut tf_ngram2, - &mut tf_ngram3, - &mut positions_count, - ); - - if field_filter_set.len() < shard.indexed_field_vec.len() { - let mut match_flag = false; - if field_filter_set.contains(&field_id) { - match_flag = true; - } - - if !match_flag { - return; - } - } - } - } - ResultType::TopkCount => { - if !field_filter_set.is_empty() { - decode_positions_singleterm_singlefield( - plo_single, - &mut tf_ngram1, - &mut tf_ngram2, - &mut tf_ngram3, - &mut positions_count, - ); - - if field_filter_set.len() < shard.indexed_field_vec.len() { - let mut match_flag = false; - if field_filter_set.contains(&field_id) { - match_flag = true; - } - if !match_flag { - return; - } - } - } - - facet_count(shard, search_result, docid); - - *result_count += 1; - - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && search_result.topk_candidates.current_heap_size >= top_k - && block_score <= search_result.topk_candidates._elements[0].score - { - return; - } - } - } - - if field_filter_set.is_empty() { - decode_positions_singleterm_singlefield( - plo_single, - &mut tf_ngram1, - &mut tf_ngram2, - &mut tf_ngram3, - &mut positions_count, - ); - } - - let bm25f = get_bm25f_singleterm_singlefield( - shard, - docid, - plo_single, - tf_ngram1, - tf_ngram2, - tf_ngram3, - positions_count, - ); - - search_result.topk_candidates.add_topk( - min_heap::Result { - doc_id: docid, - score: bm25f, - }, - top_k, - ); -} - -#[inline(always)] -pub(crate) fn get_bm25f_singleterm_multifield( - shard: &Shard, - docid: usize, - plo_single: &PostingListObjectSingle, - field_vec: SmallVec<[(u16, usize); 2]>, - field_vec_ngram1: SmallVec<[(u16, usize); 2]>, - field_vec_ngram2: SmallVec<[(u16, usize); 2]>, - field_vec_ngram3: SmallVec<[(u16, usize); 2]>, -) -> f32 { - let mut bm25f = 0.0; - let block_id = docid >> 16; - - if shard.indexed_field_vec.len() == 1 { - let bm25_component = - shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) - } else { - shard.level_index[block_id].document_length_compressed_array[0] - [docid & 0b11111111_11111111] - } as usize]; - - match plo_single.ngram_type { - NgramType::SingleTerm => { - let tf = field_vec[0].1 as f32; - - bm25f = plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - let tf_ngram1 = field_vec_ngram1[0].1 as f32; - let tf_ngram2 = field_vec_ngram2[0].1 as f32; - - bm25f = plo_single.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA) - + plo_single.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA); - } - _ => { - let tf_ngram1 = field_vec_ngram1[0].1 as f32; - let tf_ngram2 = field_vec_ngram2[0].1 as f32; - let tf_ngram3 = field_vec_ngram3[0].1 as f32; - - bm25f = plo_single.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA) - + plo_single.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA) - + plo_single.idf_ngram3 - * ((tf_ngram3 * (K + 1.0) / (tf_ngram3 + bm25_component)) + SIGMA); - } - } - } else if plo_single.ngram_type == NgramType::SingleTerm - || shard.meta.similarity == SimilarityType::Bm25fProximity - { - for field in field_vec.iter() { - let field_id = field.0 as usize; - - let bm25_component = - shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array[field_id] - [docid & 0b11111111_11111111] - } as usize]; - - let tf = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight * plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); - } - } else if plo_single.ngram_type == NgramType::NgramFF - || plo_single.ngram_type == NgramType::NgramRF - || plo_single.ngram_type == NgramType::NgramFR - { - for field in field_vec_ngram1.iter() { - let field_id = field.0 as usize; - - let bm25_component = - shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array[field_id] - [docid & 0b11111111_11111111] - } as usize]; - - let tf_ngram1 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo_single.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA); - } - - for field in field_vec_ngram2.iter() { - let field_id = field.0 as usize; - - let bm25_component = - shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array[field_id] - [docid & 0b11111111_11111111] - } as usize]; - - let tf_ngram2 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo_single.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA); - } - } else { - for field in field_vec_ngram1.iter() { - let field_id = field.0 as usize; - - let bm25_component = - shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array[field_id] - [docid & 0b11111111_11111111] - } as usize]; - - let tf_ngram1 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo_single.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA); - } - - for field in field_vec_ngram2.iter() { - let field_id = field.0 as usize; - - let bm25_component = - shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array[field_id] - [docid & 0b11111111_11111111] - } as usize]; - - let tf_ngram2 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo_single.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA); - } - - for field in field_vec_ngram3.iter() { - let field_id = field.0 as usize; - - let bm25_component = - shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array[field_id] - [docid & 0b11111111_11111111] - } as usize]; - - let tf_ngram3 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo_single.idf_ngram3 - * ((tf_ngram3 * (K + 1.0) / (tf_ngram3 + bm25_component)) + SIGMA); - } - } - - bm25f -} - -#[inline(always)] -pub(crate) fn get_bm25f_singleterm_singlefield( - shard: &Shard, - docid: usize, - plo_single: &PostingListObjectSingle, - tf_ngram1: u32, - tf_ngram2: u32, - tf_ngram3: u32, - positions_count: u32, -) -> f32 { - let bm25f; - let block_id = docid >> 16; - - if shard.indexed_field_vec.len() == 1 { - let bm25_component = - shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) - } else { - shard.level_index[block_id].document_length_compressed_array[0] - [docid & 0b11111111_11111111] - } as usize]; - - match plo_single.ngram_type { - NgramType::SingleTerm => { - let tf = positions_count as f32; - - bm25f = plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - bm25f = plo_single.idf_ngram1 - * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) - + SIGMA) - + plo_single.idf_ngram2 - * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) - + SIGMA); - } - _ => { - bm25f = plo_single.idf_ngram1 - * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) - + SIGMA) - + plo_single.idf_ngram2 - * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) - + SIGMA) - + plo_single.idf_ngram3 - * ((tf_ngram3 as f32 * (K + 1.0) / (tf_ngram3 as f32 + bm25_component)) - + SIGMA); - } - } - } else { - let field_id = 0; - - let bm25_component = - shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array[field_id] - [docid & 0b11111111_11111111] - } as usize]; - - match plo_single.ngram_type { - NgramType::SingleTerm => { - let tf = positions_count as f32; - - bm25f = plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - bm25f = plo_single.idf_ngram1 - * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) - + SIGMA) - + plo_single.idf_ngram2 - * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) - + SIGMA); - } - _ => { - bm25f = plo_single.idf_ngram1 - * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) - + SIGMA) - + plo_single.idf_ngram2 - * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) - + SIGMA) - + plo_single.idf_ngram3 - * ((tf_ngram3 as f32 * (K + 1.0) / (tf_ngram3 as f32 + bm25_component)) - + SIGMA); - } - } - } - - bm25f -} - -#[inline(always)] -pub(crate) fn get_bm25f_multiterm_multifield( - shard: &Shard, - docid: usize, - query_list: &mut [PostingListObjectQuery], -) -> f32 { - let mut bm25f = 0.0; - let block_id = docid >> 16; - - if shard.indexed_field_vec.len() == 1 { - let bm25_component = - shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) - } else { - shard.level_index[block_id].document_length_compressed_array[0] - [docid & 0b11111111_11111111] - } as usize]; - - for plo in query_list.iter() { - if !plo.bm25_flag { - continue; - } - - match plo.ngram_type { - NgramType::SingleTerm => { - let tf = plo.field_vec[0].1 as f32; - - bm25f += plo.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - bm25f += plo.idf_ngram1 - * ((plo.tf_ngram1 as f32 * (K + 1.0) - / (plo.tf_ngram1 as f32 + bm25_component)) - + SIGMA) - + plo.idf_ngram2 - * ((plo.tf_ngram2 as f32 * (K + 1.0) - / (plo.tf_ngram2 as f32 + bm25_component)) - + SIGMA); - } - _ => { - bm25f += plo.idf_ngram1 - * ((plo.tf_ngram1 as f32 * (K + 1.0) - / (plo.tf_ngram1 as f32 + bm25_component)) - + SIGMA) - + plo.idf_ngram2 - * ((plo.tf_ngram2 as f32 * (K + 1.0) - / (plo.tf_ngram2 as f32 + bm25_component)) - + SIGMA) - + plo.idf_ngram3 - * ((plo.tf_ngram3 as f32 * (K + 1.0) - / (plo.tf_ngram3 as f32 + bm25_component)) - + SIGMA); - } - } - } - } else { - let mut bm25_component_vec: SmallVec<[f32; 2]> = - smallvec![0.0; shard.indexed_field_vec.len()]; - for plo in query_list.iter() { - if !plo.bm25_flag { - continue; - } - - match plo.ngram_type { - NgramType::SingleTerm => { - for field in plo.field_vec.iter() { - let field_id = field.0 as usize; - if bm25_component_vec[field_id] == 0.0 { - bm25_component_vec[field_id] = - shard.bm25_component_cache[if shard.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array - [field_id][docid & 0b11111111_11111111] - } - as usize]; - } - - let tf = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf - * ((tf * (K + 1.0) / (tf + bm25_component_vec[field_id])) + SIGMA); - } - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - for field in plo.field_vec_ngram1.iter() { - let field_id = field.0 as usize; - if bm25_component_vec[field_id] == 0.0 { - bm25_component_vec[field_id] = - shard.bm25_component_cache[if shard.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array - [field_id][docid & 0b11111111_11111111] - } - as usize]; - } - - let tf_ngram1 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + bm25_component_vec[field_id])) - + SIGMA); - } - - for field in plo.field_vec_ngram2.iter() { - let field_id = field.0 as usize; - if bm25_component_vec[field_id] == 0.0 { - bm25_component_vec[field_id] = - shard.bm25_component_cache[if shard.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array - [field_id][docid & 0b11111111_11111111] - } - as usize]; - } - - let tf_ngram2 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + bm25_component_vec[field_id])) - + SIGMA); - } - } - _ => { - for field in plo.field_vec_ngram1.iter() { - let field_id = field.0 as usize; - if bm25_component_vec[field_id] == 0.0 { - bm25_component_vec[field_id] = - shard.bm25_component_cache[if shard.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array - [field_id][docid & 0b11111111_11111111] - } - as usize]; - } - - let tf_ngram1 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + bm25_component_vec[field_id])) - + SIGMA); - } - - for field in plo.field_vec_ngram2.iter() { - let field_id = field.0 as usize; - if bm25_component_vec[field_id] == 0.0 { - bm25_component_vec[field_id] = - shard.bm25_component_cache[if shard.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array - [field_id][docid & 0b11111111_11111111] - } - as usize]; - } - - let tf_ngram2 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + bm25_component_vec[field_id])) - + SIGMA); - } - - for field in plo.field_vec_ngram3.iter() { - let field_id = field.0 as usize; - if bm25_component_vec[field_id] == 0.0 { - bm25_component_vec[field_id] = - shard.bm25_component_cache[if shard.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap( - shard, - field_id, - block_id, - docid & 0b11111111_11111111, - ) - } else { - shard.level_index[block_id].document_length_compressed_array - [field_id][docid & 0b11111111_11111111] - } - as usize]; - } - - let tf_ngram3 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf_ngram3 - * ((tf_ngram3 * (K + 1.0) - / (tf_ngram3 + bm25_component_vec[field_id])) - + SIGMA); - } - } - } - } - } - - bm25f -} - -#[inline(always)] -pub(crate) fn get_bm25f_multiterm_singlefield( - shard: &Shard, - docid: usize, - query_list: &mut [PostingListObjectQuery], -) -> f32 { - let mut bm25f = 0.0; - let block_id = docid >> 16; - - let bm25_component = shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { - get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) - } else { - shard.level_index[block_id].document_length_compressed_array[0][docid & 0b11111111_11111111] - } as usize]; - - for plo in query_list.iter() { - if !plo.bm25_flag { - continue; - } - - match plo.ngram_type { - NgramType::SingleTerm => { - let tf = plo.positions_count as f32; - - bm25f += plo.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - bm25f += plo.idf_ngram1 - * ((plo.tf_ngram1 as f32 * (K + 1.0) - / (plo.tf_ngram1 as f32 + bm25_component)) - + SIGMA) - + plo.idf_ngram2 - * ((plo.tf_ngram2 as f32 * (K + 1.0) - / (plo.tf_ngram2 as f32 + bm25_component)) - + SIGMA); - } - _ => { - bm25f += plo.idf_ngram1 - * ((plo.tf_ngram1 as f32 * (K + 1.0) - / (plo.tf_ngram1 as f32 + bm25_component)) - + SIGMA) - + plo.idf_ngram2 - * ((plo.tf_ngram2 as f32 * (K + 1.0) - / (plo.tf_ngram2 as f32 + bm25_component)) - + SIGMA) - + plo.idf_ngram3 - * ((plo.tf_ngram3 as f32 * (K + 1.0) - / (plo.tf_ngram3 as f32 + bm25_component)) - + SIGMA); - } - } - } - - bm25f -} - -#[inline(always)] -pub(crate) fn decode_positions_multiterm_multifield( - shard: &Shard, - plo: &mut PostingListObjectQuery, - facet_filtered: bool, - phrase_query: bool, - all_terms_frequent: bool, -) -> bool { - let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); - - let posting_pointer_size_sum = if plo.p_docid < plo.pointer_pivot_p_docid as usize { - plo.p_docid as u32 * 2 - } else { - (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 - }; - - let mut positions_pointer = - (plo.rank_position_pointer_range + posting_pointer_size_sum) as usize; - - let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as usize { - read_u16(plo.byte_array, positions_pointer) as u32 - } else { - read_u32(plo.byte_array, positions_pointer) - }; - - if (rank_position_pointer - & (if plo.p_docid < plo.pointer_pivot_p_docid as usize { - 0b10000000_00000000 - } else { - 0b10000000_00000000_00000000 - })) - == 0 - { - plo.is_embedded = false; - - let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as usize { - rank_position_pointer & 0b01111111_11111111 - } else { - rank_position_pointer & 0b01111111_11111111_11111111 - } as usize; - - positions_pointer = plo.rank_position_pointer_range as usize - pointer_value; - - match plo.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - plo.field_vec_ngram1.clear(); - plo.field_vec_ngram2.clear(); - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - &mut plo.field_vec_ngram1, - plo.byte_array, - &mut positions_pointer, - ); - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - &mut plo.field_vec_ngram2, - plo.byte_array, - &mut positions_pointer, - ); - } - _ => { - plo.field_vec_ngram1.clear(); - plo.field_vec_ngram2.clear(); - plo.field_vec_ngram3.clear(); - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - &mut plo.field_vec_ngram1, - plo.byte_array, - &mut positions_pointer, - ); - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - &mut plo.field_vec_ngram2, - plo.byte_array, - &mut positions_pointer, - ); - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - &mut plo.field_vec_ngram3, - plo.byte_array, - &mut positions_pointer, - ); - } - } - - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - &mut field_vec, - plo.byte_array, - &mut positions_pointer, - ); - - if SPEEDUP_FLAG - && all_terms_frequent - && !phrase_query - && !facet_filtered - && field_vec[0].1 < 10 - { - return true; - } - } else { - plo.is_embedded = true; - - if SPEEDUP_FLAG && all_terms_frequent && !phrase_query && !facet_filtered { - return true; - } - - let field_id; - - if plo.p_docid < plo.pointer_pivot_p_docid as usize { - match ( - shard.indexed_field_vec.len() == 1, - rank_position_pointer >> 12, - ) { - (true, 0b1000..=0b1011) => { - if phrase_query { - plo.embedded_positions = - [rank_position_pointer & 0b00111111_11111111, 0, 0, 0]; - }; - field_vec.push((0, 1)); - } - (true, 0b1100..=0b1111) => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 7) & 0b00000000_01111111, - rank_position_pointer & 0b00000000_01111111, - 0, - 0, - ]; - }; - field_vec.push((0, 2)); - } - - (false, 0b1100 | 0b1101) => { - if phrase_query { - plo.embedded_positions = - [rank_position_pointer & 0b00011111_11111111, 0, 0, 0]; - }; - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 1)); - } - (false, 0b1110 | 0b1111) => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 7) & 0b00000000_00111111, - rank_position_pointer & 0b00000000_01111111, - 0, - 0, - ]; - }; - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 2)); - } - - (false, 0b1000) => { - let position_bits = 12 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 1)); - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer & ((1 << position_bits) - 1)), - 0, - 0, - 0, - ]; - }; - } - (false, 0b1001) => { - let position_bits = 12 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 2)); - if phrase_query { - let position_bits_1 = position_bits >> 1; - let position_bits_2 = position_bits - position_bits_1; - plo.embedded_positions = [ - ((rank_position_pointer >> position_bits_2) - & ((1 << position_bits_1) - 1)), - (rank_position_pointer & ((1 << position_bits_2) - 1)), - 0, - 0, - ]; - }; - } - (false, 0b1010) => { - let position_bits = 12 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 3)); - if phrase_query { - let position_bits_1 = position_bits / 3; - let position_bits_2 = (position_bits - position_bits_1) >> 1; - let position_bits_3 = position_bits - position_bits_1 - position_bits_2; - plo.embedded_positions = [ - ((rank_position_pointer >> (position_bits_2 + position_bits_3)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> position_bits_3) - & ((1 << position_bits_2) - 1)), - (rank_position_pointer & ((1 << position_bits_3) - 1)), - 0, - ]; - }; - } - (false, 0b1011) => { - let position_bits = - 12 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1)]); - if phrase_query { - let position_bits_1 = position_bits >> 1; - let position_bits_2 = position_bits - position_bits_1; - plo.embedded_positions = [ - ((rank_position_pointer >> position_bits_2) - & ((1 << position_bits_1) - 1)), - (rank_position_pointer & ((1 << position_bits_2) - 1)), - 0, - 0, - ]; - }; - } - - (_, _) => { - if phrase_query { - println!("unsupported 2 byte pointer embedded"); - plo.embedded_positions = [0, 0, 0, 0] - }; - } - } - } else { - match ( - shard.indexed_field_vec.len() == 1, - (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, - ) { - (true, 0b10000..=0b10011) => { - if phrase_query { - plo.embedded_positions = [ - rank_position_pointer & 0b00011111_11111111_11111111, - 0, - 0, - 0, - ]; - }; - field_vec.push((0, 1)); - } - (true, 0b10100..=0b10111) => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 11) & 0b00000000_00000011_11111111, - rank_position_pointer & 0b00000000_00000111_11111111, - 0, - 0, - ]; - }; - field_vec.push((0, 2)); - } - (true, 0b11000..=0b11011) => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 14) & 0b00000000_00000000_01111111, - (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, - rank_position_pointer & 0b00000000_00000000_01111111, - 0, - ]; - }; - field_vec.push((0, 3)); - } - (true, 0b11100..=0b11111) => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 16) & 0b00000000_00000000_00011111, - (rank_position_pointer >> 11) & 0b00000000_00000000_00011111, - (rank_position_pointer >> 6) & 0b00000000_00000000_00011111, - rank_position_pointer & 0b00000000_00000000_00111111, - ]; - }; - field_vec.push((0, 4)); - } - - (false, 0b11000 | 0b11001) => { - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 1)); - if phrase_query { - plo.embedded_positions = [ - rank_position_pointer & 0b00001111_11111111_11111111, - 0, - 0, - 0, - ]; - }; - } - (false, 0b11010 | 0b11011) => { - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 2)); - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 10) & 0b00000000_00000011_11111111, - rank_position_pointer & 0b00000000_00000011_11111111, - 0, - 0, - ]; - }; - } - (false, 0b11100 | 0b11101) => { - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 3)); - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 14) & 0b00000000_00000000_00111111, - (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, - rank_position_pointer & 0b00000000_00000000_01111111, - 0, - ]; - }; - } - (false, 0b11110 | 0b11111) => { - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 4)); - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 15) & 0b00000000_00000000_00011111, - (rank_position_pointer >> 10) & 0b00000000_00000000_00011111, - (rank_position_pointer >> 5) & 0b00000000_00000000_00011111, - rank_position_pointer & 0b00000000_00000000_00011111, - ]; - }; - } - - (false, 0b10000) => { - let position_bits = 19 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 1)); - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer & ((1 << position_bits) - 1)), - 0, - 0, - 0, - ]; - }; - } - - (false, 0b10001) => { - let position_bits = 19 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 2)); - if phrase_query { - let position_bits_1 = position_bits >> 1; - let position_bits_2 = position_bits - position_bits_1; - plo.embedded_positions = [ - ((rank_position_pointer >> position_bits_2) - & ((1 << position_bits_1) - 1)), - (rank_position_pointer & ((1 << position_bits_2) - 1)), - 0, - 0, - ]; - }; - } - (false, 0b10010) => { - let position_bits = 19 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 3)); - if phrase_query { - let position_bits_1 = position_bits / 3; - let position_bits_2 = (position_bits - position_bits_1) >> 1; - let position_bits_3 = position_bits - position_bits_1 - position_bits_2; - plo.embedded_positions = [ - ((rank_position_pointer >> (position_bits_2 + position_bits_3)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> position_bits_3) - & ((1 << position_bits_2) - 1)), - (rank_position_pointer & ((1 << position_bits_3) - 1)), - 0, - ]; - }; - } - (false, 0b10011) => { - let position_bits = 19 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 4)); - if phrase_query { - let position_bits_1 = position_bits >> 2; - let position_bits_2 = (position_bits - position_bits_1) / 3; - let position_bits_3 = - (position_bits - position_bits_1 - position_bits_2) >> 1; - let position_bits_4 = - position_bits - position_bits_1 - position_bits_2 - position_bits_3; - plo.embedded_positions = [ - ((rank_position_pointer - >> (position_bits_2 + position_bits_3 + position_bits_4)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> (position_bits_3 + position_bits_4)) - & ((1 << position_bits_2) - 1)), - ((rank_position_pointer >> position_bits_4) - & ((1 << position_bits_3) - 1)), - (rank_position_pointer & ((1 << position_bits_4) - 1)), - ]; - }; - } - (false, 0b10100) => { - let position_bits = - 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1)]); - if phrase_query { - let position_bits_1 = position_bits >> 1; - let position_bits_2 = position_bits - position_bits_1; - plo.embedded_positions = [ - ((rank_position_pointer >> position_bits_2) - & ((1 << position_bits_1) - 1)), - (rank_position_pointer & ((1 << position_bits_2) - 1)), - 0, - 0, - ]; - }; - } - (false, 0b10101) => { - let position_bits = - 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 2)]); - if phrase_query { - let position_bits_1 = position_bits / 3; - let position_bits_2 = (position_bits - position_bits_1) >> 1; - let position_bits_3 = position_bits - position_bits_1 - position_bits_2; - plo.embedded_positions = [ - ((rank_position_pointer >> (position_bits_2 + position_bits_3)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> position_bits_3) - & ((1 << position_bits_2) - 1)), - (rank_position_pointer & ((1 << position_bits_3) - 1)), - 0, - ]; - }; - } - (false, 0b10110) => { - let position_bits = - 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 2), (field_id_2, 1)]); - if phrase_query { - let position_bits_1 = position_bits / 3; - let position_bits_2 = (position_bits - position_bits_1) >> 1; - let position_bits_3 = position_bits - position_bits_1 - position_bits_2; - plo.embedded_positions = [ - ((rank_position_pointer >> (position_bits_2 + position_bits_3)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> position_bits_3) - & ((1 << position_bits_2) - 1)), - (rank_position_pointer & ((1 << position_bits_3) - 1)), - 0, - ]; - }; - } - (false, 0b10111) => { - let position_bits = 19 - - shard.indexed_field_id_bits - - shard.indexed_field_id_bits - - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits - + shard.indexed_field_id_bits - + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_2 = - ((rank_position_pointer >> (position_bits + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_3 = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); - - if phrase_query { - let position_bits_1 = position_bits / 3; - let position_bits_2 = (position_bits - position_bits_1) >> 1; - let position_bits_3 = position_bits - position_bits_1 - position_bits_2; - plo.embedded_positions = [ - ((rank_position_pointer >> (position_bits_2 + position_bits_3)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> position_bits_3) - & ((1 << position_bits_2) - 1)), - (rank_position_pointer & ((1 << position_bits_3) - 1)), - 0, - ]; - }; - } - - (_, _) => { - if phrase_query { - println!( - "unsupported 3 byte pointer embedded {} {:032b}", - shard.indexed_field_vec.len() == 1, - (rank_position_pointer & 0b11111111_11111111_11111111) >> 19 - ); - plo.embedded_positions = [0, 0, 0, 0] - }; - } - } - }; - } - - plo.positions_pointer = positions_pointer as u32; - plo.positions_count = field_vec[0].1 as u32; - plo.field_vec = field_vec; - - false -} - -#[inline(always)] -pub(crate) fn decode_positions_multiterm_singlefield( - plo: &mut PostingListObjectQuery, - facet_filtered: bool, - phrase_query: bool, - all_terms_frequent: bool, -) -> bool { - let mut positions_count = 0; - - let posting_pointer_size_sum = if plo.p_docid < plo.pointer_pivot_p_docid as usize { - plo.p_docid as u32 * 2 - } else { - (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 - }; - - let mut positions_pointer = plo.rank_position_pointer_range + posting_pointer_size_sum; - - let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as usize { - read_u16(plo.byte_array, positions_pointer as usize) as u32 - } else { - read_u32(plo.byte_array, positions_pointer as usize) - }; - - if (rank_position_pointer - & (if plo.p_docid < plo.pointer_pivot_p_docid as usize { - 0b10000000_00000000 - } else { - 0b10000000_00000000_00000000 - })) - == 0 - { - plo.is_embedded = false; - - let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as usize { - rank_position_pointer & 0b01111111_11111111 - } else { - rank_position_pointer & 0b01111111_11111111_11111111 - } as usize; - - positions_pointer = plo.rank_position_pointer_range - pointer_value as u32; - - match plo.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - read_singlefield_value(&mut plo.tf_ngram1, plo.byte_array, &mut positions_pointer); - read_singlefield_value(&mut plo.tf_ngram2, plo.byte_array, &mut positions_pointer); - } - _ => { - read_singlefield_value(&mut plo.tf_ngram1, plo.byte_array, &mut positions_pointer); - read_singlefield_value(&mut plo.tf_ngram2, plo.byte_array, &mut positions_pointer); - read_singlefield_value(&mut plo.tf_ngram3, plo.byte_array, &mut positions_pointer); - } - } - - read_singlefield_value(&mut positions_count, plo.byte_array, &mut positions_pointer); - - if SPEEDUP_FLAG - && all_terms_frequent - && !phrase_query - && !facet_filtered - && positions_count < 10 - { - return true; - } - } else { - plo.is_embedded = true; - - if SPEEDUP_FLAG && all_terms_frequent && !phrase_query && !facet_filtered { - return true; - } - - if plo.p_docid < plo.pointer_pivot_p_docid as usize { - match rank_position_pointer >> 14 { - 0b10 => { - if phrase_query { - plo.embedded_positions = - [rank_position_pointer & 0b00111111_11111111, 0, 0, 0]; - }; - positions_count = 1; - } - 0b11 => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 7) & 0b00000000_01111111, - rank_position_pointer & 0b00000000_01111111, - 0, - 0, - ]; - }; - positions_count = 2; - } - - _ => { - if phrase_query { - println!("unsupported 2 byte pointer embedded"); - plo.embedded_positions = [0, 0, 0, 0] - }; - positions_count = 0; - } - } - } else { - match (rank_position_pointer & 0b11111111_11111111_11111111) >> 21 { - 0b100 => { - if phrase_query { - plo.embedded_positions = [ - rank_position_pointer & 0b00011111_11111111_11111111, - 0, - 0, - 0, - ]; - }; - positions_count = 1; - } - 0b101 => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 11) & 0b00000000_00000011_11111111, - rank_position_pointer & 0b00000000_00000111_11111111, - 0, - 0, - ]; - }; - positions_count = 2; - } - 0b110 => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 14) & 0b00000000_00000000_01111111, - (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, - rank_position_pointer & 0b00000000_00000000_01111111, - 0, - ]; - }; - positions_count = 3; - } - 0b111 => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 16) & 0b00000000_00000000_00011111, - (rank_position_pointer >> 11) & 0b00000000_00000000_00011111, - (rank_position_pointer >> 6) & 0b00000000_00000000_00011111, - rank_position_pointer & 0b00000000_00000000_00111111, - ]; - }; - positions_count = 4; - } - - _ => { - if phrase_query { - println!("unsupported 3 byte pointer embedded"); - plo.embedded_positions = [0, 0, 0, 0] - }; - positions_count = 0; - } - } - }; - } - - plo.positions_pointer = positions_pointer; - plo.positions_count = positions_count; - - false -} - -#[inline(always)] -pub(crate) fn read_multifield_vec( - indexed_field_vec_len: usize, - indexed_field_id_bits: usize, - indexed_field_id_mask: usize, - longest_field_id: usize, - field_vec: &mut SmallVec<[(u16, usize); 2]>, - byte_array: &[u8], - positions_pointer: &mut usize, -) { - let mut positions_count; - if indexed_field_vec_len == 1 { - positions_count = byte_array[*positions_pointer] as u32; - *positions_pointer += 1; - if (positions_count & STOP_BIT as u32) > 0 { - positions_count &= 0b01111111 - } else { - positions_count = (positions_count & 0b01111111) << 7; - let positions_count2 = byte_array[*positions_pointer] as u32; - *positions_pointer += 1; - if (positions_count2 & STOP_BIT as u32) > 0 { - positions_count |= positions_count2 & 0b01111111 - } else { - positions_count = (positions_count << 7) - | (positions_count2 & 0b01111111) << 7 - | (byte_array[*positions_pointer] & 0b01111111) as u32; - *positions_pointer += 1; - } - }; - field_vec.push((0, positions_count as usize)); - } else if byte_array[*positions_pointer] & 0b01000000 > 0 { - positions_count = byte_array[*positions_pointer] as u32; - *positions_pointer += 1; - if (positions_count & STOP_BIT as u32) > 0 { - positions_count &= 0b00111111 - } else { - positions_count = (positions_count & 0b00111111) << 7; - let positions_count2 = byte_array[*positions_pointer] as u32; - *positions_pointer += 1; - if (positions_count2 & STOP_BIT as u32) > 0 { - positions_count |= positions_count2 & 0b01111111 - } else { - positions_count = (positions_count << 7) - | (positions_count2 & 0b01111111) << 7 - | (byte_array[*positions_pointer] & 0b01111111) as u32; - *positions_pointer += 1; - } - }; - field_vec.push((longest_field_id as u16, positions_count as usize)); - } else { - let mut first = true; - loop { - let mut byte = byte_array[*positions_pointer]; - *positions_pointer += 1; - - let field_stop = { - byte & if first { - FIELD_STOP_BIT_1 - } else { - FIELD_STOP_BIT_2 - } > 0 - }; - - let mut field_id_position_count = - byte as usize & if first { 0b0001_1111 } else { 0b0011_1111 }; - - if (byte & STOP_BIT) == 0 { - byte = byte_array[*positions_pointer]; - *positions_pointer += 1; - - field_id_position_count = - field_id_position_count << 7 | (byte as usize & 0b01111111); - - if (byte & STOP_BIT) == 0 { - byte = byte_array[*positions_pointer]; - *positions_pointer += 1; - - field_id_position_count = - field_id_position_count << 7 | (byte as usize & 0b01111111); - } - } - - let field_id = (field_id_position_count & indexed_field_id_mask) as u16; - positions_count = (field_id_position_count >> indexed_field_id_bits) as u32; - - field_vec.push((field_id, positions_count as usize)); - - first = false; - - if (byte & STOP_BIT) > 0 && field_stop { - break; - } - } - } -} - -#[inline(always)] -pub(crate) fn decode_positions_singleterm_multifield( - shard: &Shard, - plo: &PostingListObjectSingle, - field_vec: &mut SmallVec<[(u16, usize); 2]>, - field_vec_ngram1: &mut SmallVec<[(u16, usize); 2]>, - field_vec_ngram2: &mut SmallVec<[(u16, usize); 2]>, - field_vec_ngram3: &mut SmallVec<[(u16, usize); 2]>, -) { - let posting_pointer_size_sum = if (plo.p_docid as usize) < plo.pointer_pivot_p_docid as usize { - plo.p_docid as u32 * 2 - } else { - (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 - }; - - let mut positions_pointer = - (plo.rank_position_pointer_range + posting_pointer_size_sum) as usize; - - let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { - read_u16(plo.byte_array, positions_pointer) as u32 - } else { - read_u32(plo.byte_array, positions_pointer) - }; - - if (rank_position_pointer - & (if plo.p_docid < plo.pointer_pivot_p_docid as i32 { - 0b10000000_00000000 - } else { - 0b10000000_00000000_00000000 - })) - == 0 - { - let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { - rank_position_pointer & 0b01111111_11111111 - } else { - rank_position_pointer & 0b01111111_11111111_11111111 - } as usize; - - positions_pointer = plo.rank_position_pointer_range as usize - pointer_value; - - match plo.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - field_vec_ngram1, - plo.byte_array, - &mut positions_pointer, - ); - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - field_vec_ngram2, - plo.byte_array, - &mut positions_pointer, - ); - } - _ => { - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - field_vec_ngram1, - plo.byte_array, - &mut positions_pointer, - ); - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - field_vec_ngram2, - plo.byte_array, - &mut positions_pointer, - ); - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - field_vec_ngram3, - plo.byte_array, - &mut positions_pointer, - ); - } - } - - read_multifield_vec( - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id, - field_vec, - plo.byte_array, - &mut positions_pointer, - ); - } else { - let field_id; - - if plo.p_docid < plo.pointer_pivot_p_docid as i32 { - match ( - shard.indexed_field_vec.len() == 1, - rank_position_pointer >> 12, - ) { - (true, 0b1000..=0b1011) => { - field_vec.push((0, 1)); - } - (true, 0b1100..=0b1111) => { - field_vec.push((0, 2)); - } - - (false, 0b1100 | 0b1101) => { - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 1)); - } - (false, 0b1110 | 0b1111) => { - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 2)); - } - - (false, 0b1000) => { - let position_bits = 12 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 1)); - } - (false, 0b1001) => { - let position_bits = 12 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 2)); - } - (false, 0b1010) => { - let position_bits = 12 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 3)); - } - (false, 0b1011) => { - let position_bits = - 12 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1)]); - } - - (_, _) => { - println!( - "unsupported single 2 byte pointer embedded {} {:032b}", - shard.indexed_field_vec.len() == 1, - rank_position_pointer >> 12 - ); - } - } - } else { - match ( - shard.indexed_field_vec.len() == 1, - (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, - ) { - (true, 0b10000..=0b10011) => { - field_vec.push((0, 1)); - } - (true, 0b10100..=0b10111) => { - field_vec.push((0, 2)); - } - (true, 0b11000..=0b11011) => { - field_vec.push((0, 3)); - } - (true, 0b11100..=0b11111) => { - field_vec.push((0, 4)); - } - - (false, 0b11000 | 0b11001) => { - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 1)); - } - (false, 0b11010 | 0b11011) => { - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 2)); - } - (false, 0b11100 | 0b11101) => { - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 3)); - } - (false, 0b11110 | 0b11111) => { - field_id = shard.longest_field_id as u16; - field_vec.push((field_id, 4)); - } - - (false, 0b10000) => { - let position_bits = 19 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 1)); - } - - (false, 0b10001) => { - let position_bits = 19 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 2)); - } - (false, 0b10010) => { - let position_bits = 19 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 3)); - } - (false, 0b10011) => { - let position_bits = 19 - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 4)); - } - (false, 0b10100) => { - let position_bits = - 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1)]); - } - (false, 0b10101) => { - let position_bits = - 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 2)]); - } - (false, 0b10110) => { - let position_bits = - 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 2), (field_id_2, 1)]); - } - (false, 0b10111) => { - let position_bits = 19 - - shard.indexed_field_id_bits - - shard.indexed_field_id_bits - - shard.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits - + shard.indexed_field_id_bits - + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_2 = - ((rank_position_pointer >> (position_bits + shard.indexed_field_id_bits)) - & shard.indexed_field_id_mask as u32) as u16; - let field_id_3 = ((rank_position_pointer >> position_bits) - & shard.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); - } - - (_, _) => { - println!( - "unsupported single 3 byte pointer embedded {} {:032b}", - shard.indexed_field_vec.len() == 1, - (rank_position_pointer & 0b11111111_11111111_11111111) >> 19 - ); - } - } - }; - } -} - -#[inline(always)] -pub(crate) fn read_singlefield_value( - positions_count: &mut u32, - byte_array: &[u8], - positions_pointer: &mut u32, -) { - let mut positions_count_internal = byte_array[*positions_pointer as usize] as u32; - *positions_pointer += 1; - if (positions_count_internal & STOP_BIT as u32) > 0 { - positions_count_internal &= 0b01111111 - } else { - positions_count_internal = (positions_count_internal & 0b01111111) << 7; - let positions_count2 = byte_array[*positions_pointer as usize] as u32; - *positions_pointer += 1; - if (positions_count2 & STOP_BIT as u32) > 0 { - positions_count_internal |= positions_count2 & 0b01111111 - } else { - positions_count_internal = (positions_count_internal << 7) - | (positions_count2 & 0b01111111) << 7 - | (byte_array[*positions_pointer as usize] & 0b01111111) as u32; - } - }; - *positions_count = positions_count_internal; -} - -#[inline(always)] -pub(crate) fn decode_positions_singleterm_singlefield( - plo: &PostingListObjectSingle, - tf_ngram1: &mut u32, - tf_ngram2: &mut u32, - tf_ngram3: &mut u32, - positions_count: &mut u32, -) { - let posting_pointer_size_sum = if (plo.p_docid as usize) < plo.pointer_pivot_p_docid as usize { - plo.p_docid as u32 * 2 - } else { - (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 - }; - - let mut positions_pointer = plo.rank_position_pointer_range + posting_pointer_size_sum; - - let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { - read_u16(plo.byte_array, positions_pointer as usize) as u32 - } else { - read_u32(plo.byte_array, positions_pointer as usize) - }; - - if (rank_position_pointer - & (if plo.p_docid < plo.pointer_pivot_p_docid as i32 { - 0b10000000_00000000 - } else { - 0b10000000_00000000_00000000 - })) - == 0 - { - let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { - rank_position_pointer & 0b01111111_11111111 - } else { - rank_position_pointer & 0b01111111_11111111_11111111 - } as usize; - - positions_pointer = plo.rank_position_pointer_range - pointer_value as u32; - - match plo.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - read_singlefield_value(tf_ngram1, plo.byte_array, &mut positions_pointer); - read_singlefield_value(tf_ngram2, plo.byte_array, &mut positions_pointer); - } - _ => { - read_singlefield_value(tf_ngram1, plo.byte_array, &mut positions_pointer); - read_singlefield_value(tf_ngram2, plo.byte_array, &mut positions_pointer); - read_singlefield_value(tf_ngram3, plo.byte_array, &mut positions_pointer); - } - } - - read_singlefield_value(positions_count, plo.byte_array, &mut positions_pointer); - } else if plo.p_docid < plo.pointer_pivot_p_docid as i32 { - match rank_position_pointer >> 14 { - 0b10 => { - *positions_count = 1; - } - 0b11 => { - *positions_count = 2; - } - - _ => { - println!( - "unsupported single 2 byte pointer embedded {:032b}", - rank_position_pointer >> 14 - ); - } - } - } else { - match (rank_position_pointer & 0b11111111_11111111_11111111) >> 21 { - 0b100 => { - *positions_count = 1; - } - 0b101 => { - *positions_count = 2; - } - 0b110 => { - *positions_count = 3; - } - 0b111 => { - *positions_count = 4; - } - - _ => { - println!( - "unsupported single 3 byte pointer embedded {:032b}", - (rank_position_pointer & 0b11111111_11111111_11111111) >> 21 - ); - } - } - } -} - -#[allow(clippy::too_many_arguments)] -#[inline(always)] -pub(crate) fn decode_positions_commit( - posting_pointer_size: u8, - embed_flag: bool, - byte_array: &[u8], - pointer: usize, - ngram_type: &NgramType, - indexed_field_vec_len: usize, - indexed_field_id_bits: usize, - indexed_field_id_mask: usize, - longest_field_id: u16, - - field_vec: &mut SmallVec<[(u16, usize); 2]>, - field_vec_ngram1: &mut SmallVec<[(u16, usize); 2]>, - field_vec_ngram2: &mut SmallVec<[(u16, usize); 2]>, - field_vec_ngram3: &mut SmallVec<[(u16, usize); 2]>, -) { - let mut positions_pointer = pointer; - - if !embed_flag { - match ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - read_multifield_vec( - indexed_field_vec_len, - indexed_field_id_bits, - indexed_field_id_mask, - longest_field_id as usize, - field_vec_ngram1, - byte_array, - &mut positions_pointer, - ); - read_multifield_vec( - indexed_field_vec_len, - indexed_field_id_bits, - indexed_field_id_mask, - longest_field_id as usize, - field_vec_ngram2, - byte_array, - &mut positions_pointer, - ); - } - _ => { - read_multifield_vec( - indexed_field_vec_len, - indexed_field_id_bits, - indexed_field_id_mask, - longest_field_id as usize, - field_vec_ngram1, - byte_array, - &mut positions_pointer, - ); - read_multifield_vec( - indexed_field_vec_len, - indexed_field_id_bits, - indexed_field_id_mask, - longest_field_id as usize, - field_vec_ngram2, - byte_array, - &mut positions_pointer, - ); - read_multifield_vec( - indexed_field_vec_len, - indexed_field_id_bits, - indexed_field_id_mask, - longest_field_id as usize, - field_vec_ngram3, - byte_array, - &mut positions_pointer, - ); - } - } - - read_multifield_vec( - indexed_field_vec_len, - indexed_field_id_bits, - indexed_field_id_mask, - longest_field_id as usize, - field_vec, - byte_array, - &mut positions_pointer, - ); - } else { - let rank_position_pointer = if posting_pointer_size == 2 { - read_u16(byte_array, positions_pointer) as u32 - } else { - read_u32(byte_array, positions_pointer) - }; - - let field_id; - - if posting_pointer_size == 2 { - match (indexed_field_vec_len == 1, rank_position_pointer >> 12) { - (true, 0b1000..=0b1011) => { - field_vec.push((0, 1)); - } - (true, 0b1100..=0b1111) => { - field_vec.push((0, 2)); - } - - (false, 0b1100 | 0b1101) => { - field_id = longest_field_id; - field_vec.push((field_id, 1)); - } - (false, 0b1110 | 0b1111) => { - field_id = longest_field_id; - field_vec.push((field_id, 2)); - } - - (false, 0b1000) => { - let position_bits = 12 - indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 1)); - } - (false, 0b1001) => { - let position_bits = 12 - indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 2)); - } - (false, 0b1010) => { - let position_bits = 12 - indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 3)); - } - (false, 0b1011) => { - let position_bits = 12 - indexed_field_id_bits - indexed_field_id_bits; - field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) - & indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1)]); - } - - (_, _) => { - println!( - "unsupported single 2 byte pointer embedded commit {} {:032b}", - indexed_field_vec_len == 1, - rank_position_pointer >> 12 - ); - } - } - } else { - match ( - indexed_field_vec_len == 1, - (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, - ) { - (true, 0b10000..=0b10011) => { - field_vec.push((0, 1)); - } - (true, 0b10100..=0b10111) => { - field_vec.push((0, 2)); - } - (true, 0b11000..=0b11011) => { - field_vec.push((0, 3)); - } - (true, 0b11100..=0b11111) => { - field_vec.push((0, 4)); - } - - (false, 0b11000 | 0b11001) => { - field_id = longest_field_id; - field_vec.push((field_id, 1)); - } - (false, 0b11010 | 0b11011) => { - field_id = longest_field_id; - field_vec.push((field_id, 2)); - } - (false, 0b11100 | 0b11101) => { - field_id = longest_field_id; - field_vec.push((field_id, 3)); - } - (false, 0b11110 | 0b11111) => { - field_id = longest_field_id; - field_vec.push((field_id, 4)); - } - - (false, 0b10000) => { - let position_bits = 19 - indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 1)); - } - - (false, 0b10001) => { - let position_bits = 19 - indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 2)); - } - (false, 0b10010) => { - let position_bits = 19 - indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 3)); - } - (false, 0b10011) => { - let position_bits = 19 - indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.push((field_id, 4)); - } - (false, 0b10100) => { - let position_bits = 19 - indexed_field_id_bits - indexed_field_id_bits; - field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) - & indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1)]); - } - (false, 0b10101) => { - let position_bits = 19 - indexed_field_id_bits - indexed_field_id_bits; - field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) - & indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.extend([(field_id, 1), (field_id_2, 2)]); - } - (false, 0b10110) => { - let position_bits = 19 - indexed_field_id_bits - indexed_field_id_bits; - field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) - & indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.extend([(field_id, 2), (field_id_2, 1)]); - } - (false, 0b10111) => { - let position_bits = - 19 - indexed_field_id_bits - indexed_field_id_bits - indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + indexed_field_id_bits + indexed_field_id_bits)) - & indexed_field_id_mask as u32) as u16; - let field_id_2 = ((rank_position_pointer - >> (position_bits + indexed_field_id_bits)) - & indexed_field_id_mask as u32) as u16; - let field_id_3 = ((rank_position_pointer >> position_bits) - & indexed_field_id_mask as u32) as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); - } - - (_, _) => { - println!( - "unsupported single 3 byte pointer embedded commit {} {:032b}", - indexed_field_vec_len == 1, - (rank_position_pointer & 0b11111111_11111111_11111111) >> 19 - ); - } - } - }; - } -} - -/// Post processing after AND intersection candidates have been found -/// Phrase intersection -/// BM25 ranking vs. seekstorm ranking (implicit phrase search, term proximity, field type boost, source reputation) -/// BM25 is default baseline in IR academics, but exhibits inferior relevance for practical use -#[allow(clippy::too_many_arguments)] -#[inline(always)] -pub(crate) fn add_result_multiterm_multifield( - shard: &Shard, - docid: usize, - result_count: &mut i32, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - non_unique_query_list: &mut [NonUniquePostingListObjectQuery], - query_list: &mut [PostingListObjectQuery], - not_query_list: &mut [PostingListObjectQuery], - phrase_query: bool, - block_score: f32, - all_terms_frequent: bool, -) { - if shard.indexed_field_vec.len() == 1 { - add_result_multiterm_singlefield( - shard, - docid, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - return; - } - - if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { - return; - } - - let local_docid = docid & 0b11111111_11111111; - for plo in not_query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - match &plo.compression_type { - CompressionType::Array => { - while plo.p_docid < plo.p_docid_count - && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) - { - plo.docid = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + (plo.p_docid << 1), - ) as i32; - plo.p_docid += 1; - } - if (plo.docid as usize) == local_docid { - return; - } - } - CompressionType::Bitmap => { - if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] - & (1 << (local_docid & 7))) - > 0 - { - return; - } - } - CompressionType::Rle => { - if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { - return; - } else { - while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) - < plo.p_docid_count - && local_docid > plo.run_end as usize - { - let startdocid = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + plo.p_run as usize, - ); - let runlength = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + plo.p_run as usize + 2, - ); - plo.docid = startdocid as i32; - plo.run_end = (startdocid + runlength) as i32; - plo.p_run_sum += runlength as i32; - plo.p_run += 4; - - if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize - { - return; - } - } - } - } - _ => {} - } - } - - if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { - return; - }; - - match *result_type { - ResultType::Count => { - if !phrase_query && field_filter_set.is_empty() { - facet_count(shard, search_result, docid); - - *result_count += 1; - return; - } - } - ResultType::Topk => { - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && search_result.topk_candidates.current_heap_size >= top_k - && block_score <= search_result.topk_candidates._elements[0].score - { - return; - } - } - ResultType::TopkCount => { - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && !phrase_query - && field_filter_set.is_empty() - && search_result.topk_candidates.current_heap_size >= top_k - && block_score <= search_result.topk_candidates._elements[0].score - { - facet_count(shard, search_result, docid); - - *result_count += 1; - return; - } - } - } - - let mut bm25: f32 = 0.0; - - for plo in query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - if decode_positions_multiterm_multifield( - shard, - plo, - !facet_filter.is_empty(), - phrase_query, - all_terms_frequent && field_filter_set.is_empty(), - ) { - facet_count(shard, search_result, docid); - - *result_count += 1; - return; - } - - if !field_filter_set.is_empty() - && plo.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() - { - let mut match_flag = false; - for field in plo.field_vec.iter() { - if field_filter_set.contains(&field.0) { - match_flag = true; - } - } - if !match_flag { - return; - } - } - } - - if result_type == &ResultType::Topk && phrase_query { - bm25 = get_bm25f_multiterm_multifield(shard, docid, query_list); - - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && search_result.topk_candidates.current_heap_size >= top_k - && bm25 <= search_result.topk_candidates._elements[0].score - { - return; - } - } - - if phrase_query { - let len = query_list.len(); - let mut index_transpose = vec![0; len]; - for i in 0..len { - index_transpose[query_list[i].term_index_unique] = i; - } - - let mut phrasematch_count = 0; - if shard.indexed_field_vec.len() == 1 { - for plo in non_unique_query_list.iter_mut() { - plo.p_pos = 0; - let item = &query_list[index_transpose[plo.term_index_unique]]; - plo.positions_pointer = item.positions_pointer as usize; - plo.positions_count = item.positions_count; - - plo.is_embedded = item.is_embedded; - plo.embedded_positions = item.embedded_positions; - - plo.pos = get_next_position_singlefield(plo); - } - - non_unique_query_list.sort_unstable_by(|x, y| { - x.positions_count.partial_cmp(&y.positions_count).unwrap() - }); - - let t1 = 0; - let mut t2 = 1; - let mut pos1 = non_unique_query_list[t1].pos; - let mut pos2 = non_unique_query_list[t2].pos; - - loop { - match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) - .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) - { - Ordering::Less => { - if t2 > 1 { - t2 = 1; - pos2 = non_unique_query_list[t2].pos; - } - - non_unique_query_list[t1].p_pos += 1; - if non_unique_query_list[t1].p_pos - == non_unique_query_list[t1].positions_count as i32 - { - break; - } - pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; - } - - Ordering::Greater => { - non_unique_query_list[t2].p_pos += 1; - if non_unique_query_list[t2].p_pos - == non_unique_query_list[t2].positions_count as i32 - { - break; - } - pos2 = non_unique_query_list[t2].pos - + get_next_position_singlefield(&mut non_unique_query_list[t2]) - + 1; - non_unique_query_list[t2].pos = pos2; - } - Ordering::Equal => { - if t2 + 1 < non_unique_query_list.len() { - t2 += 1; - pos2 = non_unique_query_list[t2].pos; - continue; - } - - phrasematch_count += 1; - if phrasematch_count >= 1 { - break; - } - - t2 = 1; - non_unique_query_list[t1].p_pos += 1; - if non_unique_query_list[t1].p_pos - == non_unique_query_list[t1].positions_count as i32 - { - break; - } - non_unique_query_list[t2].p_pos += 1; - if non_unique_query_list[t2].p_pos - == non_unique_query_list[t2].positions_count as i32 - { - break; - } - - pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; - pos2 = non_unique_query_list[t2].pos - + get_next_position_singlefield(&mut non_unique_query_list[t2]) - + 1; - non_unique_query_list[t2].pos = pos2; - } - } - } - } else { - for plo in non_unique_query_list.iter_mut() { - let item = &query_list[index_transpose[plo.term_index_unique]]; - plo.positions_pointer = item.positions_pointer as usize; - plo.is_embedded = item.is_embedded; - plo.embedded_positions = item.embedded_positions; - plo.field_vec.clone_from(&item.field_vec); - plo.p_pos = 0; - plo.positions_count = item.positions_count; - plo.p_field = 0; - } - - 'main: for i in 0..shard.indexed_field_vec.len() as u16 { - for plo in non_unique_query_list.iter_mut() { - while plo.field_vec[plo.p_field].0 < i { - if !plo.is_embedded { - for _ in plo.p_pos..plo.field_vec[plo.p_field].1 as i32 { - get_next_position_multifield(plo); - } - } - if plo.p_field < plo.field_vec.len() - 1 { - plo.p_field += 1; - plo.p_pos = 0; - } else { - break 'main; - } - } - if plo.field_vec[plo.p_field].0 > i { - continue 'main; - } - } - - for plo in non_unique_query_list.iter_mut() { - plo.p_pos = 0; - plo.positions_count = plo.field_vec[plo.p_field].1 as u32; - plo.pos = get_next_position_multifield(plo); - } - - if !field_filter_set.is_empty() && !field_filter_set.contains(&i) { - continue; - } - - non_unique_query_list.sort_unstable_by(|x, y| { - x.positions_count.partial_cmp(&y.positions_count).unwrap() - }); - - let t1 = 0; - let mut t2 = 1; - let mut pos1 = non_unique_query_list[t1].pos; - let mut pos2 = non_unique_query_list[t2].pos; - - loop { - match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) - .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) - { - Ordering::Less => { - if t2 > 1 { - t2 = 1; - pos2 = non_unique_query_list[t2].pos; - } - - non_unique_query_list[t1].p_pos += 1; - if non_unique_query_list[t1].p_pos - == non_unique_query_list[t1].positions_count as i32 - { - if (i as usize) < shard.indexed_field_vec.len() - 1 { - for item in non_unique_query_list.iter_mut().skip(1) { - item.p_pos += 1 - } - } - break; - } - pos1 += - get_next_position_multifield(&mut non_unique_query_list[t1]) + 1; - } - Ordering::Greater => { - non_unique_query_list[t2].p_pos += 1; - if non_unique_query_list[t2].p_pos - == non_unique_query_list[t2].positions_count as i32 - { - if (i as usize) < shard.indexed_field_vec.len() - 1 { - for (j, item) in non_unique_query_list.iter_mut().enumerate() { - if j != t2 { - item.p_pos += 1 - } - } - } - break; - } - pos2 = non_unique_query_list[t2].pos - + get_next_position_multifield(&mut non_unique_query_list[t2]) - + 1; - non_unique_query_list[t2].pos = pos2; - } - Ordering::Equal => { - if t2 + 1 < non_unique_query_list.len() { - t2 += 1; - pos2 = non_unique_query_list[t2].pos; - continue; - } - - phrasematch_count += 1; - if phrasematch_count >= 1 { - break 'main; - } - - t2 = 1; - non_unique_query_list[t1].p_pos += 1; - if non_unique_query_list[t1].p_pos - == non_unique_query_list[t1].positions_count as i32 - { - if (i as usize) < shard.indexed_field_vec.len() - 1 { - for item in non_unique_query_list.iter_mut().skip(1) { - item.p_pos += 1 - } - } - break; - } - non_unique_query_list[t2].p_pos += 1; - if non_unique_query_list[t2].p_pos - == non_unique_query_list[t2].positions_count as i32 - { - if (i as usize) < shard.indexed_field_vec.len() - 1 { - for item in non_unique_query_list.iter_mut().skip(2) { - item.p_pos += 1 - } - } - break; - } - - pos1 += - get_next_position_multifield(&mut non_unique_query_list[t1]) + 1; - pos2 = non_unique_query_list[t2].pos - + get_next_position_multifield(&mut non_unique_query_list[t2]) - + 1; - non_unique_query_list[t2].pos = pos2; - } - } - } - } - } - - if phrase_query && (phrasematch_count == 0) { - return; - } - } - - facet_count(shard, search_result, docid); - - *result_count += 1; - if result_type == &ResultType::Count { - return; - } - - if result_type != &ResultType::Topk || !phrase_query { - bm25 = get_bm25f_multiterm_multifield(shard, docid, query_list); - } - - search_result.topk_candidates.add_topk( - min_heap::Result { - doc_id: docid, - score: bm25, - }, - top_k, - ); -} - -#[allow(clippy::too_many_arguments)] -#[inline(always)] -pub(crate) fn add_result_multiterm_singlefield( - shard: &Shard, - docid: usize, - result_count: &mut i32, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - non_unique_query_list: &mut [NonUniquePostingListObjectQuery], - query_list: &mut [PostingListObjectQuery], - not_query_list: &mut [PostingListObjectQuery], - phrase_query: bool, - - block_score: f32, - all_terms_frequent: bool, -) { - if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { - return; - } - - let local_docid = docid & 0b11111111_11111111; - for plo in not_query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - match &plo.compression_type { - CompressionType::Array => { - while plo.p_docid < plo.p_docid_count - && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) - { - plo.docid = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + (plo.p_docid << 1), - ) as i32; - plo.p_docid += 1; - } - if (plo.docid as usize) == local_docid { - return; - } - } - CompressionType::Bitmap => { - if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] - & (1 << (local_docid & 7))) - > 0 - { - return; - } - } - CompressionType::Rle => { - if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { - return; - } else { - while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) - < plo.p_docid_count - && local_docid > plo.run_end as usize - { - let startdocid = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + plo.p_run as usize, - ); - let runlength = read_u16( - plo.byte_array, - plo.compressed_doc_id_range + plo.p_run as usize + 2, - ); - plo.docid = startdocid as i32; - plo.run_end = (startdocid + runlength) as i32; - plo.p_run_sum += runlength as i32; - plo.p_run += 4; - - if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize - { - return; - } - } - } - } - _ => {} - } - } - - if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { - return; - }; - - match *result_type { - ResultType::Count => { - if !phrase_query && field_filter_set.is_empty() { - facet_count(shard, search_result, docid); - - *result_count += 1; - return; - } - } - ResultType::Topk => { - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && search_result.topk_candidates.current_heap_size >= top_k - && block_score <= search_result.topk_candidates._elements[0].score - { - return; - } - } - ResultType::TopkCount => { - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && !phrase_query - && field_filter_set.is_empty() - && search_result.topk_candidates.current_heap_size >= top_k - && block_score <= search_result.topk_candidates._elements[0].score - { - facet_count(shard, search_result, docid); - - *result_count += 1; - return; - } - } - } - - let mut bm25: f32 = 0.0; - - for plo in query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - if decode_positions_multiterm_singlefield( - plo, - !facet_filter.is_empty(), - phrase_query, - all_terms_frequent && field_filter_set.is_empty(), - ) { - facet_count(shard, search_result, docid); - - *result_count += 1; - return; - } - - if !field_filter_set.is_empty() - && plo.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() - { - let mut match_flag = false; - for field in plo.field_vec.iter() { - if field_filter_set.contains(&field.0) { - match_flag = true; - } - } - if !match_flag { - return; - } - } - } - - if result_type == &ResultType::Topk && phrase_query { - bm25 = get_bm25f_multiterm_singlefield(shard, docid, query_list); - - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && search_result.topk_candidates.current_heap_size >= top_k - && bm25 <= search_result.topk_candidates._elements[0].score - { - return; - } - } - - if phrase_query { - let len = query_list.len(); - let mut index_transpose = vec![0; len]; - for i in 0..len { - index_transpose[query_list[i].term_index_unique] = i; - } - - let mut phrasematch_count = 0; - - for plo in non_unique_query_list.iter_mut() { - plo.p_pos = 0; - let item = &query_list[index_transpose[plo.term_index_unique]]; - - plo.positions_pointer = item.positions_pointer as usize; - plo.positions_count = item.positions_count; - - plo.is_embedded = item.is_embedded; - plo.embedded_positions = item.embedded_positions; - - plo.pos = get_next_position_singlefield(plo); - } - - non_unique_query_list - .sort_unstable_by(|x, y| x.positions_count.partial_cmp(&y.positions_count).unwrap()); - - let t1 = 0; - let mut t2 = 1; - let mut pos1 = non_unique_query_list[t1].pos; - let mut pos2 = non_unique_query_list[t2].pos; - - loop { - match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) - .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) - { - Ordering::Less => { - if t2 > 1 { - t2 = 1; - pos2 = non_unique_query_list[t2].pos; - } - - non_unique_query_list[t1].p_pos += 1; - if non_unique_query_list[t1].p_pos - == non_unique_query_list[t1].positions_count as i32 - { - break; - } - pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; - } - Ordering::Greater => { - non_unique_query_list[t2].p_pos += 1; - if non_unique_query_list[t2].p_pos - == non_unique_query_list[t2].positions_count as i32 - { - break; - } - pos2 = non_unique_query_list[t2].pos - + get_next_position_singlefield(&mut non_unique_query_list[t2]) - + 1; - non_unique_query_list[t2].pos = pos2; - } - Ordering::Equal => { - if t2 + 1 < non_unique_query_list.len() { - t2 += 1; - pos2 = non_unique_query_list[t2].pos; - continue; - } - - phrasematch_count += 1; - if phrasematch_count >= 1 { - break; - } - - t2 = 1; - non_unique_query_list[t1].p_pos += 1; - if non_unique_query_list[t1].p_pos - == non_unique_query_list[t1].positions_count as i32 - { - break; - } - non_unique_query_list[t2].p_pos += 1; - if non_unique_query_list[t2].p_pos - == non_unique_query_list[t2].positions_count as i32 - { - break; - } - - pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; - pos2 = non_unique_query_list[t2].pos - + get_next_position_singlefield(&mut non_unique_query_list[t2]) - + 1; - non_unique_query_list[t2].pos = pos2; - } - } - } - - if phrase_query && (phrasematch_count == 0) { - return; - } - } - - facet_count(shard, search_result, docid); - - *result_count += 1; - if result_type == &ResultType::Count { - return; - } - - if result_type != &ResultType::Topk || !phrase_query { - bm25 = get_bm25f_multiterm_singlefield(shard, docid, query_list); - } - - search_result.topk_candidates.add_topk( - min_heap::Result { - doc_id: docid, - score: bm25, - }, - top_k, - ); -} diff --git a/mobile_app/rust/src/seekstorm/commit.rs b/mobile_app/rust/src/seekstorm/commit.rs deleted file mode 100644 index 99d1db2..0000000 --- a/mobile_app/rust/src/seekstorm/commit.rs +++ /dev/null @@ -1,1142 +0,0 @@ -use memmap2::{Mmap, MmapMut, MmapOptions}; -use num::FromPrimitive; -use num_format::{Locale, ToFormattedString}; - -use std::{ - fs::File, - io::{Seek, SeekFrom, Write}, - path::PathBuf, -}; - -use crate::{ - add_result::{ - B, K, decode_positions_multiterm_multifield, decode_positions_multiterm_singlefield, - get_next_position_multifield, get_next_position_singlefield, - }, - compatible::{_blsr_u64, _mm_tzcnt_64}, - compress_postinglist::compress_postinglist, - index::{ - AccessType, BlockObjectIndex, CompressionType, DOCUMENT_LENGTH_COMPRESSION, - FACET_VALUES_FILENAME, IndexArc, LevelIndex, MAX_POSITIONS_PER_TERM, NgramType, - NonUniquePostingListObjectQuery, POSTING_BUFFER_SIZE, PostingListObjectIndex, - PostingListObjectQuery, ROARING_BLOCK_SIZE, Shard, TermObject, - update_list_max_impact_score, warmup, - }, - utils::{ - block_copy, block_copy_mut, read_u8, read_u16, read_u32, read_u64, write_u16, write_u32, - write_u64, - }, -}; - -/// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM -/// to the final compressed data structure (roaring bitmap) on Mmap or disk - -/// which is persistent, more compact, with lower query latency and allows search with realtime=false. -/// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). -/// There is no way to prevent this automatic commit by not manually invoking it. -/// But commit can also be invoked manually at any time at any number of newly indexed documents. -/// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability -/// is invoked implicitly with every index_doc, -/// i.e. the document can immediately searched and included in the search results -/// if it matches the query AND the query paramter realtime=true is enabled. -/// **Use commit with caution, as it is an expensive operation**. -/// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. -/// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. -/// There are only 2 reasons that justify a manual commit: -/// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or -/// 2. if after indexing new documents there won't be more documents indexed (for some time), -/// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, -/// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. -#[allow(async_fn_in_trait)] -pub trait Commit { - /// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM - /// to the final compressed data structure (roaring bitmap) on Mmap or disk - - /// which is persistent, more compact, with lower query latency and allows search with realtime=false. - /// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). - /// There is no way to prevent this automatic commit by not manually invoking it. - /// But commit can also be invoked manually at any time at any number of newly indexed documents. - /// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability - /// is invoked implicitly with every index_doc, - /// i.e. the document can immediately searched and included in the search results - /// if it matches the query AND the query paramter realtime=true is enabled. - /// **Use commit with caution, as it is an expensive operation**. - /// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. - /// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. - /// There are only 2 reasons that justify a manual commit: - /// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or - /// 2. if after indexing new documents there won't be more documents indexed (for some time), - /// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, - /// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. - async fn commit(&self); -} - -/// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM -/// to the final compressed data structure (roaring bitmap) on Mmap or disk - -/// which is persistent, more compact, with lower query latency and allows search with realtime=false. -/// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). -/// There is no way to prevent this automatic commit by not manually invoking it. -/// But commit can also be invoked manually at any time at any number of newly indexed documents. -/// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability -/// is invoked implicitly with every index_doc, -/// i.e. the document can immediately searched and included in the search results -/// if it matches the query AND the query paramter realtime=true is enabled. -/// **Use commit with caution, as it is an expensive operation**. -/// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. -/// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. -/// There are only 2 reasons that justify a manual commit: -/// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or -/// 2. if after indexing new documents there won't be more documents indexed (for some time), -/// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, -/// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. -impl Commit for IndexArc { - /// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM - /// to the final compressed data structure (roaring bitmap) on Mmap or disk - - /// which is persistent, more compact, with lower query latency and allows search with realtime=false. - /// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). - /// There is no way to prevent this automatic commit by not manually invoking it. - /// But commit can also be invoked manually at any time at any number of newly indexed documents. - /// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability - /// is invoked implicitly with every index_doc, - /// i.e. the document can immediately searched and included in the search results - /// if it matches the query AND the query paramter realtime=true is enabled. - /// **Use commit with caution, as it is an expensive operation**. - /// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. - /// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. - /// There are only 2 reasons that justify a manual commit: - /// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or - /// 2. if after indexing new documents there won't be more documents indexed (for some time), - /// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, - /// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. - async fn commit(&self) { - let index_ref = self.read().await; - let uncommitted_doc_count = index_ref.uncommitted_doc_count().await; - - for shard in index_ref.shard_vec.iter() { - let p = shard.read().await.permits.clone(); - let permit = p.acquire().await.unwrap(); - - let indexed_doc_count = shard.read().await.indexed_doc_count; - shard.write().await.commit(indexed_doc_count).await; - warmup(shard).await; - drop(permit); - } - - if !index_ref.mute { - println!( - "commit index {} level {} committed documents {} {}", - index_ref.meta.id, - index_ref.level_count().await, - uncommitted_doc_count, - index_ref.indexed_doc_count().await, - ); - } - - drop(index_ref); - } -} - -impl Shard { - pub(crate) async fn commit(&mut self, indexed_doc_count: usize) { - if !self.uncommitted { - return; - } - - let is_last_level_incomplete = self.is_last_level_incomplete; - if self.is_last_level_incomplete { - self.merge_incomplete_index_level_to_level0(); - - self.index_file_mmap = unsafe { - MmapOptions::new() - .len(0) - .map(&self.index_file) - .expect("Unable to create Mmap") - }; - - if let Err(e) = self - .index_file - .set_len(self.last_level_index_file_start_pos) - { - println!( - "Unable to index_file.set_len in clear_index {} {} {:?}", - self.index_path_string, self.indexed_doc_count, e - ) - }; - let _ = self - .index_file - .seek(SeekFrom::Start(self.last_level_index_file_start_pos)); - - let idx = self.level_index.len() - 1; - if self.meta.access_type == AccessType::Mmap { - self.index_file_mmap = - unsafe { Mmap::map(&self.index_file).expect("Unable to create Mmap") }; - - for segment in self.segments_index.iter_mut() { - if idx == segment.byte_array_blocks_pointer.len() - 1 { - segment.byte_array_blocks_pointer.remove(idx); - } - } - } else { - for segment in self.segments_index.iter_mut() { - if idx == segment.byte_array_blocks.len() - 1 { - segment.byte_array_blocks.remove(idx); - } - } - - for key0 in 0..self.segment_number1 { - for item in self.segments_index[key0].segment.iter_mut() { - if let Some(block) = item.1.blocks.last() - && block.block_id as usize == idx - { - item.1.posting_count -= block.posting_count as u32 + 1; - item.1.blocks.remove(idx); - } - } - self.segments_index[key0] - .segment - .retain(|_key, value| !value.blocks.is_empty()) - } - } - } else { - self.last_level_index_file_start_pos = self.index_file.stream_position().unwrap(); - self.last_level_docstore_file_start_pos = self.docstore_file.stream_position().unwrap(); - }; - - if self.committed_doc_count / ROARING_BLOCK_SIZE == 0 { - write_u16( - self.longest_field_id as u16, - &mut self.compressed_index_segment_block_buffer, - 0, - ); - - let _ = self - .index_file - .write(&self.compressed_index_segment_block_buffer[0..2]); - } - - let document_length_compressed_array_pointer = - self.index_file.stream_position().unwrap() as usize; - - for document_length_compressed_array in self.document_length_compressed_array.iter_mut() { - let _ = self.index_file.write(document_length_compressed_array); - } - - if !self.mute { - println!( - "commit index {} level {} indexed documents {}", - self.meta.id, - self.level_index.len(), - indexed_doc_count.to_formatted_string(&Locale::en), - ); - } - - write_u64( - indexed_doc_count as u64, - &mut self.compressed_index_segment_block_buffer, - 0, - ); - write_u64( - self.positions_sum_normalized, - &mut self.compressed_index_segment_block_buffer, - 8, - ); - - let _ = self - .index_file - .write(&self.compressed_index_segment_block_buffer[0..16]); - - let segment_head_position = self.index_file.stream_position().unwrap() as usize; - self.index_file - .seek(SeekFrom::Current((self.segment_number1 * 8) as i64)) - .unwrap(); - - self.document_length_normalized_average = - self.positions_sum_normalized as f32 / indexed_doc_count as f32; - - for (i, component) in self.bm25_component_cache.iter_mut().enumerate() { - let document_length_quotient = - DOCUMENT_LENGTH_COMPRESSION[i] as f32 / self.document_length_normalized_average; - *component = K * (1.0 - B + B * document_length_quotient); - } - - for k0 in 0..self.segment_number1 { - let strip_compressed = self.commit_segment(k0); - self.strip_compressed_sum += strip_compressed as u64; - self.key_count_sum += self.segments_level0[k0].segment.len() as u64; - } - - if !is_last_level_incomplete { - let mut document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]> = Vec::new(); - if self.meta.access_type != AccessType::Mmap { - for document_length_compressed_array_item in - self.document_length_compressed_array.iter_mut() - { - document_length_compressed_array.push(*document_length_compressed_array_item); - } - } - - self.level_index.push(LevelIndex { - document_length_compressed_array, - document_length_compressed_array_pointer, - docstore_pointer_docs: Vec::new(), - docstore_pointer_docs_pointer: 0, - }); - } - - for document_length_compressed_array in self.document_length_compressed_array.iter_mut() { - *document_length_compressed_array = [0; ROARING_BLOCK_SIZE]; - } - - let segment_head_position2 = self.index_file.stream_position().unwrap() as usize; - self.index_file - .seek(SeekFrom::Start(segment_head_position as u64)) - .unwrap(); - let segment_head_position3 = - self.compressed_index_segment_block_buffer.len() - (self.segment_number1 * 8); - let _ = self - .index_file - .write(&self.compressed_index_segment_block_buffer[segment_head_position3..]); - - let _ = self.index_file.flush(); - - self.index_file - .seek(SeekFrom::Start(segment_head_position2 as u64)) - .unwrap(); - - if !self.stored_field_names.is_empty() { - self.commit_docstore(indexed_doc_count, is_last_level_incomplete); - } - - if self.meta.access_type == AccessType::Mmap { - self.index_file.flush().expect("Unable to flush Mmap"); - - self.index_file_mmap = - unsafe { Mmap::map(&self.index_file).expect("Unable to create Mmap") }; - } - - if !self.facets.is_empty() { - self.facets_file_mmap.flush().expect("Unable to flush Mmap"); - if self.facets_file.metadata().unwrap().len() - != (self.facets_size_sum * (self.level_index.len() + 1) * ROARING_BLOCK_SIZE) as u64 - { - if let Err(e) = self.facets_file.set_len( - (self.facets_size_sum * (self.level_index.len() + 1) * ROARING_BLOCK_SIZE) - as u64, - ) { - println!("Unable to facets_file.set_len in commit {:?}", e) - }; - - self.facets_file_mmap = - unsafe { MmapMut::map_mut(&self.facets_file).expect("Unable to create Mmap") }; - } - - let index_path = PathBuf::new(&self.index_path_string); - serde_json::to_writer( - &File::create(PathBuf::new(index_path).join(FACET_VALUES_FILENAME)).unwrap(), - &self.facets, - ) - .unwrap(); - } - - self.string_set_to_single_term_id(); - - update_list_max_impact_score(self); - - self.committed_doc_count = indexed_doc_count; - self.is_last_level_incomplete = - !(self.committed_doc_count).is_multiple_of(ROARING_BLOCK_SIZE); - - if let Some(root_index_arc) = &self.index_option { - let root_index = root_index_arc.read().await; - - if let Some(root_completion_option) = root_index.completion_option.as_ref() { - let mut root_completions = root_completion_option.write().await; - for completion in self.level_completions.read().await.iter() { - if root_completions.len() < root_index.max_completion_entries { - root_completions.add_completion(&completion.0.join(" "), *completion.1); - } - } - - self.level_completions.write().await.clear(); - } - - if let Some(symspell) = root_index.symspell_option.as_ref() { - if symspell.read().await.get_dictionary_size() < root_index.max_dictionary_entries { - for key0 in 0..self.segment_number1 { - for key in self.segments_level0[key0].segment.keys() { - let plo = self.segments_level0[key0].segment.get(key).unwrap(); - - if self.meta.spelling_correction.is_some() - && symspell.read().await.get_dictionary_size() - < root_index.max_dictionary_entries - && key & 7 == 0 - && let Some(term) = self.level_terms.get(&((key >> 32) as u32)) - { - let mut symspell = symspell.write().await; - symspell.create_dictionary_entry(term.clone(), plo.posting_count); - drop(symspell); - }; - } - } - } - self.level_terms.clear(); - }; - }; - - self.compressed_index_segment_block_buffer = vec![0; 10_000_000]; - self.postings_buffer = vec![0; POSTING_BUFFER_SIZE]; - - self.postings_buffer_pointer = 0; - self.strip_compressed_sum = 0; - - for segment in self.segments_level0.iter_mut() { - segment.segment.clear(); - } - - self.uncommitted = false; - } - - /// Flush a single segment from the key hash range partitioned level to RAM and disk - pub(crate) fn commit_segment(&mut self, key0: usize) -> usize { - let block_id = self.block_id as u32; - - let mut key_head_pointer_w: usize = 0; - let segment_head_position = self.compressed_index_segment_block_buffer.len() - - (self.segment_number1 * 8) - + (key0 * 8) - + 4; - write_u32( - self.segments_level0[key0].segment.len() as u32, - &mut self.compressed_index_segment_block_buffer, - segment_head_position, - ); - - let mut key_body_pointer_w: usize = - key_head_pointer_w + (self.segments_level0[key0].segment.len() * self.key_head_size); - let key_body_pointer_wstart: usize = key_body_pointer_w; - - let mut key_list: Vec = self.segments_level0[key0].segment.keys().cloned().collect(); - key_list.sort_unstable(); - - for key in key_list.iter() { - let plo = self.segments_level0[key0].segment.get_mut(key).unwrap(); - - let mut key_position_pointer_w: usize = key_body_pointer_w; - let key_rank_position_pointer_w: usize = - key_body_pointer_w + plo.size_compressed_positions_key; - - let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 - + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { - (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 - } else { - 0 - }; - - let size_compressed_positions_key = - plo.size_compressed_positions_key + posting_pointer_size_sum; - - let key_docid_pointer_w: usize = key_body_pointer_w + size_compressed_positions_key; - - let mut size_compressed_docid_key; - - let key_body_offset = - key_rank_position_pointer_w as u32 - key_body_pointer_wstart as u32; - - size_compressed_docid_key = compress_postinglist( - self, - &mut key_head_pointer_w, - &mut key_position_pointer_w, - key_body_offset, - &key0, - key, - ); - - key_body_pointer_w = key_docid_pointer_w + size_compressed_docid_key; - - size_compressed_docid_key += self.key_head_size; - - self.size_compressed_docid_index += size_compressed_docid_key as u64; - self.size_compressed_positions_index += size_compressed_positions_key as u64; - } - - let compressed_segment_block_size = key_body_pointer_w; - - let segment_head_position = self.compressed_index_segment_block_buffer.len() - - (self.segment_number1 * 8) - + (key0 * 8); - - write_u32( - compressed_segment_block_size as u32, - &mut self.compressed_index_segment_block_buffer, - segment_head_position, - ); - - let file_position = self.index_file.stream_position().unwrap() as usize; - - let _ = self - .index_file - .write(&self.compressed_index_segment_block_buffer[0..compressed_segment_block_size]); - - if self.meta.access_type == AccessType::Mmap { - self.segments_index[key0].byte_array_blocks_pointer.push(( - file_position + key_body_pointer_wstart, - (compressed_segment_block_size - key_body_pointer_wstart), - key_list.len() as u32, - )); - } else { - let mut byte_array_docid: Vec = - vec![0; compressed_segment_block_size - key_body_pointer_wstart]; - block_copy_mut( - &mut self.compressed_index_segment_block_buffer, - key_body_pointer_wstart, - &mut byte_array_docid, - 0, - compressed_segment_block_size - key_body_pointer_wstart, - ); - - let mut posting_count_previous = 0; - let mut pointer_pivot_p_docid_previous = 0; - let mut compression_type_pointer_previous = 0; - - for (key_index, key) in key_list.iter().enumerate() { - let plo = self.segments_level0[key0].segment.get_mut(key).unwrap(); - - let value = self.segments_index[key0].segment.entry(*key).or_insert( - PostingListObjectIndex { - ..Default::default() - }, - ); - let exists: bool = value.posting_count > 0; - - if !self.indexed_doc_count.is_multiple_of(ROARING_BLOCK_SIZE) - && self.meta.access_type == AccessType::Ram - { - let position_range_previous = if key_index == 0 { - 0 - } else { - let posting_pointer_size_sum_previous = pointer_pivot_p_docid_previous - as usize - * 2 - + if (pointer_pivot_p_docid_previous as usize) < posting_count_previous - { - (posting_count_previous - pointer_pivot_p_docid_previous as usize) - * 3 - } else { - 0 - }; - - let rank_position_pointer_range_previous = compression_type_pointer_previous - & 0b0011_1111_1111_1111_1111_1111_1111_1111; - let compression_type_previous: CompressionType = FromPrimitive::from_i32( - (compression_type_pointer_previous >> 30) as i32, - ) - .unwrap(); - - let compressed_docid_previous = match compression_type_previous { - CompressionType::Array => posting_count_previous * 2, - CompressionType::Bitmap => 8192, - CompressionType::Rle => { - 4 * read_u16( - &byte_array_docid, - rank_position_pointer_range_previous as usize - + posting_pointer_size_sum_previous, - ) as usize - + 2 - } - _ => 0, - }; - - rank_position_pointer_range_previous - + (posting_pointer_size_sum_previous + compressed_docid_previous) as u32 - }; - - value.position_range_previous = position_range_previous; - - posting_count_previous = plo.posting_count; - pointer_pivot_p_docid_previous = plo.pointer_pivot_p_docid; - compression_type_pointer_previous = plo.compression_type_pointer; - }; - - if exists { - value.posting_count += plo.posting_count as u32; - if self.meta.access_type != AccessType::Mmap { - value.blocks.push(BlockObjectIndex { - block_id, - posting_count: (plo.posting_count - 1) as u16, - max_block_score: plo.max_block_score, - max_docid: plo.max_docid, - max_p_docid: plo.max_p_docid, - pointer_pivot_p_docid: plo.pointer_pivot_p_docid, - compression_type_pointer: plo.compression_type_pointer, - }); - } - } else { - value.posting_count = plo.posting_count as u32; - value.max_list_score = 0.0; - - match plo.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { - value.posting_count_ngram_1_compressed = - plo.posting_count_ngram_1_compressed; - value.posting_count_ngram_2_compressed = - plo.posting_count_ngram_2_compressed; - } - _ => { - value.posting_count_ngram_1_compressed = - plo.posting_count_ngram_1_compressed; - value.posting_count_ngram_2_compressed = - plo.posting_count_ngram_2_compressed; - value.posting_count_ngram_3_compressed = - plo.posting_count_ngram_3_compressed; - } - } - - if self.meta.access_type != AccessType::Mmap { - value.blocks = vec![BlockObjectIndex { - block_id, - posting_count: (plo.posting_count - 1) as u16, - max_block_score: plo.max_block_score, - max_docid: plo.max_docid, - max_p_docid: plo.max_p_docid, - pointer_pivot_p_docid: plo.pointer_pivot_p_docid, - compression_type_pointer: plo.compression_type_pointer, - }] - } - } - } - - self.segments_index[key0] - .byte_array_blocks - .push(byte_array_docid); - } - - compressed_segment_block_size - } - - #[allow(clippy::too_many_arguments)] - pub(crate) fn add_docid( - self: &mut Shard, - plo: &mut PostingListObjectQuery, - docid: usize, - key_hash: u64, - key0: usize, - ngram_type: &NgramType, - posting_count_ngram_1_compressed: u8, - posting_count_ngram_2_compressed: u8, - posting_count_ngram_3_compressed: u8, - ) { - let mut field_positions_vec: Vec> = vec![Vec::new(); self.indexed_field_vec.len()]; - - if self.indexed_field_vec.len() == 1 { - decode_positions_multiterm_singlefield(plo, true, true, false); - - let mut plo2 = NonUniquePostingListObjectQuery { - positions_pointer: plo.positions_pointer as usize, - is_embedded: plo.is_embedded, - embedded_positions: plo.embedded_positions, - field_vec: plo.field_vec.clone(), - p_pos: 0, - p_field: 0, - positions_count: plo.positions_count, - key0: key0 as u32, - byte_array: plo.byte_array, - term_index_unique: 0, - term_index_nonunique: 0, - pos: 0, - }; - - let mut prev_pos = 0; - let mut one = 0; - for _ in 0..plo.positions_count { - plo2.pos = get_next_position_singlefield(&mut plo2); - let pos = prev_pos + plo2.pos as u16 + one; - field_positions_vec[0].push(pos); - prev_pos = pos; - one = 1; - plo2.p_pos += 1; - } - } else { - decode_positions_multiterm_multifield(self, plo, true, true, false); - - let mut plo2 = NonUniquePostingListObjectQuery { - positions_pointer: plo.positions_pointer as usize, - is_embedded: plo.is_embedded, - embedded_positions: plo.embedded_positions, - field_vec: plo.field_vec.clone(), - p_pos: 0, - p_field: 0, - positions_count: plo.positions_count, - key0: key0 as u32, - byte_array: plo.byte_array, - term_index_unique: 0, - term_index_nonunique: 0, - pos: 0, - }; - - for field in plo.field_vec.iter() { - let mut prev_pos = 0; - let mut one = 0; - for _ in 0..field.1 { - plo2.pos = get_next_position_multifield(&mut plo2); - let pos = prev_pos + plo2.pos as u16 + one; - field_positions_vec[field.0 as usize].push(pos); - prev_pos = pos; - one = 1; - plo2.p_pos += 1; - } - } - } - - let term = match ngram_type { - NgramType::SingleTerm => TermObject { - key_hash, - key0: key0 as u32, - ngram_type: ngram_type.clone(), - term_ngram_1: String::new(), - term_ngram_0: String::new(), - field_positions_vec, - - ..Default::default() - }, - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => TermObject { - key_hash, - key0: key0 as u32, - ngram_type: ngram_type.clone(), - term_ngram_1: String::new(), - term_ngram_0: String::new(), - field_positions_vec, - field_vec_ngram1: if self.indexed_field_vec.len() == 1 { - vec![(0, plo.tf_ngram1)] - } else { - plo.field_vec_ngram1 - .iter() - .map(|field| (field.0 as usize, field.1 as u32)) - .collect() - }, - - field_vec_ngram2: if self.indexed_field_vec.len() == 1 { - vec![(0, plo.tf_ngram2)] - } else { - plo.field_vec_ngram2 - .iter() - .map(|field| (field.0 as usize, field.1 as u32)) - .collect() - }, - - ..Default::default() - }, - _ => TermObject { - key_hash, - key0: key0 as u32, - ngram_type: ngram_type.clone(), - term_ngram_1: String::new(), - term_ngram_0: String::new(), - - field_positions_vec, - field_vec_ngram1: if self.indexed_field_vec.len() == 1 { - vec![(0, plo.tf_ngram1)] - } else { - plo.field_vec_ngram1 - .iter() - .map(|field| (field.0 as usize, field.1 as u32)) - .collect() - }, - - field_vec_ngram2: if self.indexed_field_vec.len() == 1 { - vec![(0, plo.tf_ngram2)] - } else { - plo.field_vec_ngram2 - .iter() - .map(|field| (field.0 as usize, field.1 as u32)) - .collect() - }, - - field_vec_ngram3: if self.indexed_field_vec.len() == 1 { - vec![(0, plo.tf_ngram3)] - } else { - plo.field_vec_ngram3 - .iter() - .map(|field| (field.0 as usize, field.1 as u32)) - .collect() - }, - - ..Default::default() - }, - }; - - self.index_posting( - term, - docid, - true, - posting_count_ngram_1_compressed, - posting_count_ngram_2_compressed, - posting_count_ngram_3_compressed, - ); - } - - #[allow(clippy::too_many_arguments)] - pub(crate) fn iterate_docid( - self: &mut Shard, - compression_type_pointer: u32, - pointer_pivot_p_docid: u16, - posting_count: u16, - block_id: usize, - key0: usize, - key_hash: u64, - ngram_type: NgramType, - posting_count_ngram_1_compressed: u8, - posting_count_ngram_2_compressed: u8, - posting_count_ngram_3_compressed: u8, - ) { - let compression_type: CompressionType = - FromPrimitive::from_i32((compression_type_pointer >> 30) as i32).unwrap(); - - let rank_position_pointer_range: u32 = - compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; - - let posting_pointer_size_sum = pointer_pivot_p_docid as u32 * 2 - + if (pointer_pivot_p_docid as usize) <= posting_count as usize { - ((posting_count as u32 + 1) - pointer_pivot_p_docid as u32) * 3 - } else { - 0 - }; - let compressed_doc_id_range: u32 = rank_position_pointer_range + posting_pointer_size_sum; - - let byte_array = if self.meta.access_type == AccessType::Mmap { - let segment = &self.segments_index[key0]; - let byte_array = &self.index_file_mmap[segment.byte_array_blocks_pointer[block_id].0 - ..segment.byte_array_blocks_pointer[block_id].0 - + segment.byte_array_blocks_pointer[block_id].1]; - byte_array.to_owned() - } else { - self.segments_index[key0].byte_array_blocks[block_id].to_owned() - }; - - let mut plo = PostingListObjectQuery { - rank_position_pointer_range, - pointer_pivot_p_docid, - byte_array: &byte_array, - p_docid: 0, - ngram_type: ngram_type.clone(), - ..Default::default() - }; - - match compression_type { - CompressionType::Array => { - for i in 0..=posting_count { - plo.p_docid = i as usize; - - let docid = (block_id << 16) - | read_u16( - &byte_array[compressed_doc_id_range as usize..], - i as usize * 2, - ) as usize; - - self.add_docid( - &mut plo, - docid, - key_hash, - key0, - &ngram_type, - posting_count_ngram_1_compressed, - posting_count_ngram_2_compressed, - posting_count_ngram_3_compressed, - ); - } - } - - CompressionType::Rle => { - let runs_count = - read_u16(&byte_array[compressed_doc_id_range as usize..], 0) as i32; - - plo.p_docid = 0; - for i in (1..(runs_count << 1) + 1).step_by(2) { - let startdocid = read_u16( - &byte_array[compressed_doc_id_range as usize..], - i as usize * 2, - ); - let runlength = read_u16( - &byte_array[compressed_doc_id_range as usize..], - (i + 1) as usize * 2, - ); - - for j in 0..=runlength { - let docid = (block_id << 16) | (startdocid + j) as usize; - self.add_docid( - &mut plo, - docid, - key_hash, - key0, - &ngram_type, - posting_count_ngram_1_compressed, - posting_count_ngram_2_compressed, - posting_count_ngram_3_compressed, - ); - - plo.p_docid += 1; - } - } - } - - CompressionType::Bitmap => { - plo.p_docid = 0; - - for ulong_pos in 0u64..1024 { - let mut intersect: u64 = read_u64( - &byte_array[compressed_doc_id_range as usize..], - ulong_pos as usize * 8, - ); - - while intersect != 0 { - let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; - - intersect = unsafe { _blsr_u64(intersect) }; - - let docid = (block_id << 16) | ((ulong_pos << 6) + bit_pos) as usize; - - self.add_docid( - &mut plo, - docid, - key_hash, - key0, - &ngram_type, - posting_count_ngram_1_compressed, - posting_count_ngram_2_compressed, - posting_count_ngram_3_compressed, - ); - - plo.p_docid += 1; - } - } - } - - _ => {} - } - } - - pub(crate) fn merge_incomplete_index_level_to_level0(self: &mut Shard) { - for strip0 in self.segments_level0.iter_mut() { - if strip0.positions_compressed.is_empty() { - strip0.positions_compressed = vec![0; MAX_POSITIONS_PER_TERM * 2]; - } - } - - let block_id = self.level_index.len() - 1; - let committed_doc_count = (self.committed_doc_count - 1 % ROARING_BLOCK_SIZE) + 1; - - for i in 0..self.indexed_field_vec.len() { - if self.meta.access_type == AccessType::Mmap { - block_copy( - &self.index_file_mmap[self.level_index[block_id] - .document_length_compressed_array_pointer - + i * ROARING_BLOCK_SIZE..], - 0, - &mut self.document_length_compressed_array[i], - 0, - committed_doc_count, - ); - } else { - block_copy( - &self.level_index[block_id].document_length_compressed_array[i], - 0, - &mut self.document_length_compressed_array[i], - 0, - committed_doc_count, - ); - } - } - - for key0 in 0..self.segment_number1 { - if self.meta.access_type == AccessType::Mmap { - let pointer = self.segments_index[key0].byte_array_blocks_pointer[block_id]; - - let key_count = pointer.2 as usize; - - for key_index in 0..key_count { - let key_address; - let key_hash; - let posting_count; - - let ngram_type; - let posting_count_ngram_1_compressed; - let posting_count_ngram_2_compressed; - let posting_count_ngram_3_compressed; - let pointer_pivot_p_docid_old; - let compression_type_pointer; - { - let byte_array = &self.index_file_mmap - [pointer.0 - (key_count * self.key_head_size)..pointer.0]; - key_address = key_index * self.key_head_size; - key_hash = read_u64(byte_array, key_address); - posting_count = read_u16(byte_array, key_address + 8); - ngram_type = FromPrimitive::from_u64(key_hash & 0b111) - .unwrap_or(NgramType::SingleTerm); - match ngram_type { - NgramType::SingleTerm => { - posting_count_ngram_1_compressed = 0; - posting_count_ngram_2_compressed = 0; - posting_count_ngram_3_compressed = 0; - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - posting_count_ngram_1_compressed = - read_u8(byte_array, key_address + 14); - posting_count_ngram_2_compressed = - read_u8(byte_array, key_address + 15); - posting_count_ngram_3_compressed = 0; - } - _ => { - posting_count_ngram_1_compressed = - read_u8(byte_array, key_address + 14); - posting_count_ngram_2_compressed = - read_u8(byte_array, key_address + 15); - posting_count_ngram_3_compressed = - read_u8(byte_array, key_address + 16); - } - } - - pointer_pivot_p_docid_old = - read_u16(byte_array, key_address + self.key_head_size - 6); - compression_type_pointer = - read_u32(byte_array, key_address + self.key_head_size - 4); - } - - let mut pointer_pivot_p_docid_new = 0; - let mut size_compressed_positions_key_new = 0; - let mut pointer_first_new = 0; - let mut pointer_last_new = 0; - let mut pointer_first_old = 0; - let merge = match self.segments_level0[key0].segment.get_mut(&key_hash) { - Some(plo0) => { - pointer_pivot_p_docid_new = plo0.pointer_pivot_p_docid; - size_compressed_positions_key_new = plo0.size_compressed_positions_key; - plo0.pointer_pivot_p_docid = 0; - plo0.size_compressed_positions_key = 0; - - pointer_first_new = plo0.pointer_first; - pointer_last_new = plo0.pointer_last; - pointer_first_old = self.postings_buffer_pointer; - true - } - None => false, - }; - - self.iterate_docid( - compression_type_pointer, - pointer_pivot_p_docid_old, - posting_count, - block_id, - key0, - key_hash, - ngram_type, - posting_count_ngram_1_compressed, - posting_count_ngram_2_compressed, - posting_count_ngram_3_compressed, - ); - - if merge { - let plo0 = self.segments_level0[key0] - .segment - .get_mut(&key_hash) - .unwrap(); - - plo0.pointer_pivot_p_docid = if pointer_pivot_p_docid_new == 0 { - pointer_pivot_p_docid_old - } else { - pointer_pivot_p_docid_old + pointer_pivot_p_docid_new - }; - - plo0.size_compressed_positions_key = size_compressed_positions_key_new; - - let pointer_last_old = plo0.pointer_last; - plo0.pointer_first = pointer_first_old; - plo0.pointer_last = pointer_last_new; - - write_u32( - pointer_first_new as u32, - &mut self.postings_buffer, - pointer_last_old, - ); - } - } - } else { - let keys: Vec = self.segments_index[key0].segment.keys().cloned().collect(); - - for key_hash in keys { - let plo = &self.segments_index[key0].segment[&key_hash]; - let last_block = plo.blocks.last().unwrap(); - if last_block.block_id as usize != self.level_index.len() - 1 { - continue; - } - - let posting_count = last_block.posting_count; - - let posting_count_ngram_1_compressed = plo.posting_count_ngram_1_compressed; - let posting_count_ngram_2_compressed = plo.posting_count_ngram_2_compressed; - let posting_count_ngram_3_compressed = plo.posting_count_ngram_3_compressed; - - let pointer_pivot_p_docid = last_block.pointer_pivot_p_docid; - let compression_type_pointer = last_block.compression_type_pointer; - - let mut pointer_pivot_p_docid_new = 0; - let mut size_compressed_positions_key_new = 0; - let mut pointer_first_new = 0; - let mut pointer_last_new = 0; - let mut pointer_first_old = 0; - let merge = match self.segments_level0[key0].segment.get_mut(&key_hash) { - Some(plo0) => { - pointer_pivot_p_docid_new = plo0.pointer_pivot_p_docid; - size_compressed_positions_key_new = plo0.size_compressed_positions_key; - plo0.pointer_pivot_p_docid = 0; - plo0.size_compressed_positions_key = 0; - - pointer_first_new = plo0.pointer_first; - pointer_last_new = plo0.pointer_last; - pointer_first_old = self.postings_buffer_pointer; - true - } - None => false, - }; - - let ngram_type = - FromPrimitive::from_u64(key_hash & 0b111).unwrap_or(NgramType::SingleTerm); - - self.iterate_docid( - compression_type_pointer, - pointer_pivot_p_docid, - posting_count, - block_id, - key0, - key_hash, - ngram_type, - posting_count_ngram_1_compressed, - posting_count_ngram_2_compressed, - posting_count_ngram_3_compressed, - ); - - if merge { - let plo0 = self.segments_level0[key0] - .segment - .get_mut(&key_hash) - .unwrap(); - - plo0.pointer_pivot_p_docid = if pointer_pivot_p_docid_new == 0 { - pointer_pivot_p_docid - } else { - pointer_pivot_p_docid + pointer_pivot_p_docid_new - }; - plo0.size_compressed_positions_key = size_compressed_positions_key_new; - - let pointer_last_old = plo0.pointer_last; - plo0.pointer_first = pointer_first_old; - plo0.pointer_last = pointer_last_new; - - write_u32( - pointer_first_new as u32, - &mut self.postings_buffer, - pointer_last_old, - ); - } - } - } - } - } -} diff --git a/mobile_app/rust/src/seekstorm/compatible.rs b/mobile_app/rust/src/seekstorm/compatible.rs deleted file mode 100644 index 466235b..0000000 --- a/mobile_app/rust/src/seekstorm/compatible.rs +++ /dev/null @@ -1,21 +0,0 @@ -#[cfg(target_arch = "x86_64")] -pub use std::arch::x86_64::{_blsr_u64, _lzcnt_u32, _mm_tzcnt_64}; - -#[cfg(not(target_arch = "x86_64"))] -pub unsafe fn _mm_tzcnt_64(x: u64) -> i64 { - x.trailing_zeros() as i64 -} - -#[cfg(not(target_arch = "x86_64"))] -pub unsafe fn _blsr_u64(x: u64) -> u64 { - if x == 0 { - x - } else { - x & (!(1 << x.trailing_zeros())) - } -} - -#[cfg(not(target_arch = "x86_64"))] -pub unsafe fn _lzcnt_u32(x: u32) -> u32 { - x.leading_zeros() -} diff --git a/mobile_app/rust/src/seekstorm/compress_postinglist.rs b/mobile_app/rust/src/seekstorm/compress_postinglist.rs deleted file mode 100644 index cce6cc4..0000000 --- a/mobile_app/rust/src/seekstorm/compress_postinglist.rs +++ /dev/null @@ -1,978 +0,0 @@ -use std::cmp; - -use smallvec::SmallVec; - -use crate::{ - add_result::{B, K, SIGMA, decode_positions_commit}, - compatible::_lzcnt_u32, - index::{ - AccessType, CompressionType, DOCUMENT_LENGTH_COMPRESSION, NgramType, STOP_BIT, Shard, - SimilarityType, hash32, hash64, int_to_byte4, - }, - search::decode_posting_list_count, - utils::{ - block_copy, read_u16_ref, read_u32_ref, write_u8_ref, write_u16, write_u16_ref, - write_u32_ref, write_u64_ref, - }, -}; - -/// Compress a single postinglist using roaring bitmaps compression for docid https://roaringbitmap.org/about/ -pub(crate) fn compress_postinglist( - shard: &mut Shard, - key_head_pointer_w: &mut usize, - roaring_offset: &mut usize, - key_body_offset: u32, - key0: &usize, - key_hash: &u64, -) -> usize { - let mut posting_count_ngram_1 = 0; - let mut posting_count_ngram_2 = 0; - let mut posting_count_ngram_3 = 0; - let mut posting_count_ngram_1_compressed = 0; - let mut posting_count_ngram_2_compressed = 0; - let mut posting_count_ngram_3_compressed = 0; - { - let plo = shard.segments_level0[*key0].segment.get(key_hash).unwrap(); - - match plo.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - posting_count_ngram_1_compressed = if plo.term_ngram1.is_empty() { - plo.posting_count_ngram_1_compressed - } else { - let term_bytes_1 = plo.term_ngram1.as_bytes(); - let key0_1 = hash32(term_bytes_1) & shard.segment_number_mask1; - let key_hash_1 = hash64(term_bytes_1); - let mut posting_count_ngram1 = if shard.meta.access_type == AccessType::Mmap { - decode_posting_list_count( - &shard.segments_index[key0_1 as usize], - shard, - key_hash_1, - key0_1 < *key0 as u32, - ) - .unwrap_or_default() - } else if let Some(plo) = shard.segments_index[key0_1 as usize] - .segment - .get(&key_hash_1) - { - plo.posting_count - } else { - 0 - }; - - if let Some(x) = shard.segments_level0[key0_1 as usize] - .segment - .get(&key_hash_1) - { - posting_count_ngram1 += x.posting_count as u32; - } - int_to_byte4(posting_count_ngram1) - }; - - posting_count_ngram_2_compressed = if plo.term_ngram2.is_empty() { - plo.posting_count_ngram_2_compressed - } else { - let term_bytes_2 = plo.term_ngram2.as_bytes(); - let key0_2 = hash32(term_bytes_2) & shard.segment_number_mask1; - let key_hash_2 = hash64(term_bytes_2); - - let mut posting_count_ngram2 = if shard.meta.access_type == AccessType::Mmap { - decode_posting_list_count( - &shard.segments_index[key0_2 as usize], - shard, - key_hash_2, - key0_2 < *key0 as u32, - ) - .unwrap_or_default() - } else if let Some(plo) = shard.segments_index[key0_2 as usize] - .segment - .get(&key_hash_2) - { - plo.posting_count - } else { - 0 - }; - - if let Some(x) = shard.segments_level0[key0_2 as usize] - .segment - .get(&key_hash_2) - { - posting_count_ngram2 += x.posting_count as u32; - } - int_to_byte4(posting_count_ngram2) - }; - - posting_count_ngram_1 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; - posting_count_ngram_2 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; - } - _ => { - posting_count_ngram_1_compressed = if plo.term_ngram1.is_empty() { - plo.posting_count_ngram_1_compressed - } else { - let term_bytes_1 = plo.term_ngram1.as_bytes(); - let key0_1 = hash32(term_bytes_1) & shard.segment_number_mask1; - let key_hash_1 = hash64(term_bytes_1); - let mut posting_count_ngram1 = if shard.meta.access_type == AccessType::Mmap { - decode_posting_list_count( - &shard.segments_index[key0_1 as usize], - shard, - key_hash_1, - key0_1 < *key0 as u32, - ) - .unwrap_or_default() - } else if let Some(plo) = shard.segments_index[key0_1 as usize] - .segment - .get(&key_hash_1) - { - plo.posting_count - } else { - 0 - }; - - if let Some(x) = shard.segments_level0[key0_1 as usize] - .segment - .get(&key_hash_1) - { - posting_count_ngram1 += x.posting_count as u32; - } - int_to_byte4(posting_count_ngram1) - }; - - posting_count_ngram_2_compressed = if plo.term_ngram2.is_empty() { - plo.posting_count_ngram_2_compressed - } else { - let term_bytes_2 = plo.term_ngram2.as_bytes(); - let key0_2 = hash32(term_bytes_2) & shard.segment_number_mask1; - let key_hash_2 = hash64(term_bytes_2); - - let mut posting_count_ngram2 = if shard.meta.access_type == AccessType::Mmap { - decode_posting_list_count( - &shard.segments_index[key0_2 as usize], - shard, - key_hash_2, - key0_2 < *key0 as u32, - ) - .unwrap_or_default() - } else if let Some(plo) = shard.segments_index[key0_2 as usize] - .segment - .get(&key_hash_2) - { - plo.posting_count - } else { - 0 - }; - - if let Some(x) = shard.segments_level0[key0_2 as usize] - .segment - .get(&key_hash_2) - { - posting_count_ngram2 += x.posting_count as u32; - } - int_to_byte4(posting_count_ngram2) - }; - - posting_count_ngram_3_compressed = if plo.term_ngram3.is_empty() { - plo.posting_count_ngram_3_compressed - } else { - let term_bytes_3 = plo.term_ngram3.as_bytes(); - let key0_3 = hash32(term_bytes_3) & shard.segment_number_mask1; - let key_hash_3 = hash64(term_bytes_3); - - let mut posting_count_ngram3 = if shard.meta.access_type == AccessType::Mmap { - decode_posting_list_count( - &shard.segments_index[key0_3 as usize], - shard, - key_hash_3, - key0_3 < *key0 as u32, - ) - .unwrap_or_default() - } else if let Some(plo) = shard.segments_index[key0_3 as usize] - .segment - .get(&key_hash_3) - { - plo.posting_count - } else { - 0 - }; - - if let Some(x) = shard.segments_level0[key0_3 as usize] - .segment - .get(&key_hash_3) - { - posting_count_ngram3 += x.posting_count as u32; - } - int_to_byte4(posting_count_ngram3) - }; - - posting_count_ngram_1 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; - posting_count_ngram_2 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; - posting_count_ngram_3 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_3_compressed as usize]; - } - } - } - - let plo = shard.segments_level0[*key0] - .segment - .get_mut(key_hash) - .unwrap(); - let plo_posting_count = plo.posting_count; - - match plo.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - plo.posting_count_ngram_1 = posting_count_ngram_1 as f32; - plo.posting_count_ngram_2 = posting_count_ngram_2 as f32; - } - _ => { - plo.posting_count_ngram_1 = posting_count_ngram_1 as f32; - plo.posting_count_ngram_2 = posting_count_ngram_2 as f32; - plo.posting_count_ngram_3 = posting_count_ngram_3 as f32; - } - } - - let mut size_compressed_docid_key: usize = 0; - - let enable_rle_compression: bool = true; - let enable_bitmap_compression: bool = true; - let enable_delta_compression: bool = false; - - shard.docid_count += plo.posting_count; - shard.postinglist_count += 1; - shard.position_count += plo.position_count; - let mut compression_type_pointer = CompressionType::Error as u32; - - let mut runs_count: u16 = 0; - - let delta_size_bits: u32 = 4; - let range_bits: u32 = 32 - unsafe { _lzcnt_u32(plo.docid_delta_max.into()) }; - let result_bits: u32 = delta_size_bits + (range_bits * plo.posting_count as u32); - let delta_compression_size_byte: u32 = result_bits.div_ceil(8); - - if (plo.posting_count < 4096) || !enable_bitmap_compression { - if enable_rle_compression { - let runs_count_threshold: u16 = cmp::min( - (plo.posting_count / 2) as u16, - if enable_delta_compression { - (delta_compression_size_byte >> 2) as u16 - } else { - u16::MAX - }, - ); - compress_postinglist_rle( - shard, - roaring_offset, - &mut size_compressed_docid_key, - *key0, - *key_hash, - runs_count_threshold, - &mut runs_count, - &key_body_offset, - &mut compression_type_pointer, - ); - } - - if runs_count == 0 { - if enable_delta_compression - && ((delta_compression_size_byte as usize) < (plo_posting_count << 1)) - { - } else { - compress_postinglist_array( - shard, - roaring_offset, - &mut size_compressed_docid_key, - *key0, - *key_hash, - &key_body_offset, - &mut compression_type_pointer, - ); - } - } - } else { - if enable_rle_compression { - let runs_count_threshold: u16 = cmp::min( - 2048, - if enable_delta_compression { - (delta_compression_size_byte >> 2) as u16 - } else { - u16::MAX - }, - ); - compress_postinglist_rle( - shard, - roaring_offset, - &mut size_compressed_docid_key, - *key0, - *key_hash, - runs_count_threshold, - &mut runs_count, - &key_body_offset, - &mut compression_type_pointer, - ); - } - - if runs_count == 0 { - if enable_delta_compression && (delta_compression_size_byte < 8192) { - } else { - compress_postinglist_bitmap( - shard, - roaring_offset, - &mut size_compressed_docid_key, - *key0, - *key_hash, - &key_body_offset, - &mut compression_type_pointer, - ); - } - } - } - - let plo = shard.segments_level0[*key0] - .segment - .get_mut(key_hash) - .unwrap(); - - write_u64_ref( - *key_hash, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - - write_u16_ref( - (plo.posting_count - 1) as u16, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - - write_u16_ref( - plo.max_docid, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - - write_u16_ref( - plo.max_p_docid, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - - match shard.key_head_size { - 20 => {} - 22 => { - write_u8_ref( - posting_count_ngram_1_compressed, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - - write_u8_ref( - posting_count_ngram_2_compressed, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - } - _ => { - write_u8_ref( - posting_count_ngram_1_compressed, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - - write_u8_ref( - posting_count_ngram_2_compressed, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - - write_u8_ref( - posting_count_ngram_3_compressed, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - } - } - - write_u16_ref( - plo.pointer_pivot_p_docid, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - - write_u32_ref( - compression_type_pointer, - &mut shard.compressed_index_segment_block_buffer, - key_head_pointer_w, - ); - - size_compressed_docid_key -} - -#[allow(clippy::too_many_arguments)] -pub(crate) fn docid_iterator( - shard: &mut Shard, - posting_pointer_size: u8, - next_pointer: &mut usize, - key_position_pointer_w: &mut usize, - key_rank_position_pointer_w: &mut usize, - key0: usize, - key_hash: u64, - doc_id: &mut u16, - size_compressed_positions_key: &mut usize, - p_docid: usize, -) { - let mut read_pointer = *next_pointer; - *next_pointer = read_u32_ref(&shard.postings_buffer, &mut read_pointer) as usize; - - *doc_id = read_u16_ref(&shard.postings_buffer, &mut read_pointer); - - let position_size_byte_temp: u16 = read_u16_ref(&shard.postings_buffer, &mut read_pointer); - let embed_flag = position_size_byte_temp & 0b10000000_00000000 > 0; - let position_size_byte = (position_size_byte_temp & 0b01111111_11111111) as usize; - - let plo = shard.segments_level0[key0] - .segment - .get_mut(&key_hash) - .unwrap(); - - let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); - let mut field_vec_ngram1 = SmallVec::new(); - let mut field_vec_ngram2 = SmallVec::new(); - let mut field_vec_ngram3 = SmallVec::new(); - - decode_positions_commit( - posting_pointer_size, - embed_flag, - &shard.postings_buffer, - read_pointer, - &plo.ngram_type, - shard.indexed_field_vec.len(), - shard.indexed_field_id_bits, - shard.indexed_field_id_mask, - shard.longest_field_id as u16, - &mut field_vec, - &mut field_vec_ngram1, - &mut field_vec_ngram2, - &mut field_vec_ngram3, - ); - - if posting_pointer_size == 2 { - if embed_flag { - block_copy( - &shard.postings_buffer, - read_pointer, - &mut shard.compressed_index_segment_block_buffer, - *key_rank_position_pointer_w, - position_size_byte, - ); - - *key_rank_position_pointer_w += 2; - } else { - *size_compressed_positions_key += position_size_byte; - *key_position_pointer_w -= position_size_byte; - - shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = - (*size_compressed_positions_key & 255) as u8; - *key_rank_position_pointer_w += 1; - shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = - ((*size_compressed_positions_key >> 8) & 127) as u8; - *key_rank_position_pointer_w += 1; - - block_copy( - &shard.postings_buffer, - read_pointer, - &mut shard.compressed_index_segment_block_buffer, - *key_position_pointer_w, - position_size_byte, - ); - } - } else if posting_pointer_size == 3 { - if embed_flag { - block_copy( - &shard.postings_buffer, - read_pointer, - &mut shard.compressed_index_segment_block_buffer, - *key_rank_position_pointer_w, - position_size_byte, - ); - - *key_rank_position_pointer_w += 3; - } else { - *size_compressed_positions_key += position_size_byte; - *key_position_pointer_w -= position_size_byte; - - shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = - (*size_compressed_positions_key & 255) as u8; - *key_rank_position_pointer_w += 1; - shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = - ((*size_compressed_positions_key >> 8) & 255) as u8; - *key_rank_position_pointer_w += 1; - shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = - ((*size_compressed_positions_key >> 16) & 127) as u8; - *key_rank_position_pointer_w += 1; - - block_copy( - &shard.postings_buffer, - read_pointer, - &mut shard.compressed_index_segment_block_buffer, - *key_position_pointer_w, - position_size_byte, - ); - } - } else { - println!("postingPointerSize exceeded: {}", posting_pointer_size); - } - - if plo.ngram_type == NgramType::SingleTerm - || shard.meta.similarity == SimilarityType::Bm25fProximity - { - let mut posting_score = 0.0; - for field in field_vec.iter() { - let document_length_compressed = - shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; - - let document_length_normalized_doc = - DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; - let document_length_quotient_doc = - document_length_normalized_doc / shard.document_length_normalized_average; - - let tf = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - posting_score += weight - * ((tf * (K + 1.0) / (tf + (K * (1.0 - B + (B * document_length_quotient_doc))))) - + SIGMA); - } - - if posting_score > plo.max_block_score { - plo.max_block_score = posting_score; - plo.max_docid = *doc_id; - plo.max_p_docid = p_docid as u16; - } - } else if plo.ngram_type == NgramType::NgramFF - || plo.ngram_type == NgramType::NgramRF - || plo.ngram_type == NgramType::NgramFR - { - let idf_ngram1 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_1 + 0.5) - / (plo.posting_count_ngram_1 + 0.5)) - + 1.0) - .ln(); - let idf_ngram2 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_2 + 0.5) - / (plo.posting_count_ngram_2 + 0.5)) - + 1.0) - .ln(); - - let mut posting_score = 0.0; - for field in field_vec_ngram1.iter() { - let document_length_compressed = - shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; - let document_length_normalized_doc = - DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; - let document_length_quotient_doc = - document_length_normalized_doc / shard.document_length_normalized_average; - - let tf_ngram1 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - posting_score += weight - * idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient_doc))))) - + SIGMA); - } - - for field in field_vec_ngram2.iter() { - let document_length_compressed = - shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; - let document_length_normalized_doc = - DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; - let document_length_quotient_doc = - document_length_normalized_doc / shard.document_length_normalized_average; - - let tf_ngram2 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - posting_score += weight - * idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient_doc))))) - + SIGMA); - } - - if posting_score > plo.max_block_score { - plo.max_block_score = posting_score; - plo.max_docid = *doc_id; - plo.max_p_docid = p_docid as u16; - } - } else { - let idf_ngram1 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_1 + 0.5) - / (plo.posting_count_ngram_1 + 0.5)) - + 1.0) - .ln(); - let idf_ngram2 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_2 + 0.5) - / (plo.posting_count_ngram_2 + 0.5)) - + 1.0) - .ln(); - let idf_ngram3 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_3 + 0.5) - / (plo.posting_count_ngram_3 + 0.5)) - + 1.0) - .ln(); - - let mut posting_score = 0.0; - for field in field_vec_ngram1.iter() { - let document_length_compressed = - shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; - let document_length_normalized_doc = - DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; - let document_length_quotient_doc = - document_length_normalized_doc / shard.document_length_normalized_average; - - let tf_ngram1 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - posting_score += weight - * idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient_doc))))) - + SIGMA); - } - - for field in field_vec_ngram2.iter() { - let document_length_compressed = - shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; - let document_length_normalized_doc = - DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; - let document_length_quotient_doc = - document_length_normalized_doc / shard.document_length_normalized_average; - - let tf_ngram2 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - posting_score += weight - * idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient_doc))))) - + SIGMA); - } - - for field in field_vec_ngram3.iter() { - let document_length_compressed = - shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; - let document_length_normalized_doc = - DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; - let document_length_quotient_doc = - document_length_normalized_doc / shard.document_length_normalized_average; - - let tf_ngram3 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - posting_score += weight - * idf_ngram3 - * ((tf_ngram3 * (K + 1.0) - / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient_doc))))) - + SIGMA); - } - - if posting_score > plo.max_block_score { - plo.max_block_score = posting_score; - plo.max_docid = *doc_id; - plo.max_p_docid = p_docid as u16; - } - } -} - -/// Compress postinglist to array -pub(crate) fn compress_postinglist_array( - shard: &mut Shard, - roaring_offset: &mut usize, - size_compressed_docid_key: &mut usize, - key0: usize, - key_hash: u64, - key_body_offset: &u32, - compression_type_pointer: &mut u32, -) { - let plo = shard.segments_level0[key0] - .segment - .get_mut(&key_hash) - .unwrap(); - - let key_rank_position_pointer_range = *roaring_offset + plo.size_compressed_positions_key; - let mut key_position_pointer_w = key_rank_position_pointer_range; - let mut key_rank_position_pointer_w = key_rank_position_pointer_range; - let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 - + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { - (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 - } else { - 0 - }; - let key_docid_pointer_w = - *roaring_offset + plo.size_compressed_positions_key + posting_pointer_size_sum; - let mut size_compressed_positions_key = 0; - - let count_byte = plo.posting_count * 2; - - plo.compression_type_pointer = key_body_offset | ((CompressionType::Array as u32) << 30); - *compression_type_pointer = plo.compression_type_pointer; - - let pointer_pivot_p_docid = plo.pointer_pivot_p_docid; - let mut next_pointer = plo.pointer_first; - for p_docid in 0..plo.posting_count { - let plo_posting_pointer_size = if p_docid < pointer_pivot_p_docid as usize { - 2 - } else { - 3 - }; - let mut doc_id = 0; - docid_iterator( - shard, - plo_posting_pointer_size, - &mut next_pointer, - &mut key_position_pointer_w, - &mut key_rank_position_pointer_w, - key0, - key_hash, - &mut doc_id, - &mut size_compressed_positions_key, - p_docid, - ); - - write_u16( - doc_id, - &mut shard.compressed_index_segment_block_buffer, - key_docid_pointer_w + (p_docid * 2), - ); - } - - *size_compressed_docid_key = count_byte; - *roaring_offset = key_docid_pointer_w + count_byte; -} - -/// Compress postinglist to bitmap -pub(crate) fn compress_postinglist_bitmap( - shard: &mut Shard, - roaring_offset: &mut usize, - size_compressed_docid_key: &mut usize, - key0: usize, - key_hash: u64, - key_body_offset: &u32, - compression_type_pointer: &mut u32, -) { - let plo = shard.segments_level0[key0] - .segment - .get_mut(&key_hash) - .unwrap(); - - let key_rank_position_pointer_range = *roaring_offset + plo.size_compressed_positions_key; - let mut key_position_pointer_w = key_rank_position_pointer_range; - let mut key_rank_position_pointer_w = key_rank_position_pointer_range; - let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 - + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { - (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 - } else { - 0 - }; - let key_docid_pointer_w = - *roaring_offset + plo.size_compressed_positions_key + posting_pointer_size_sum; - let mut size_compressed_positions_key = 0; - - let count_byte = 8192; - - plo.compression_type_pointer = key_body_offset | ((CompressionType::Bitmap as u32) << 30); - *compression_type_pointer = plo.compression_type_pointer; - - shard.compressed_index_segment_block_buffer - [key_docid_pointer_w..key_docid_pointer_w + count_byte] - .fill(0); - - let pointer_pivot_p_docid = plo.pointer_pivot_p_docid; - let mut next_pointer = plo.pointer_first; - for p_docid in 0..plo.posting_count { - let plo_posting_pointer_size = if p_docid < pointer_pivot_p_docid as usize { - 2 - } else { - 3 - }; - - let mut doc_id = 0; - docid_iterator( - shard, - plo_posting_pointer_size, - &mut next_pointer, - &mut key_position_pointer_w, - &mut key_rank_position_pointer_w, - key0, - key_hash, - &mut doc_id, - &mut size_compressed_positions_key, - p_docid, - ); - - let docid_pos = doc_id; - let byte_pos = docid_pos >> 3; - let bit_pos = docid_pos & 7; - - shard.compressed_index_segment_block_buffer[key_docid_pointer_w + byte_pos as usize] |= - 1u8 << bit_pos; - } - - *size_compressed_docid_key = count_byte; - *roaring_offset = key_docid_pointer_w + count_byte; -} - -/// Compress postinglist to RLE -#[allow(clippy::too_many_arguments)] -pub(crate) fn compress_postinglist_rle( - shard: &mut Shard, - roaring_offset: &mut usize, - size_compressed_docid_key: &mut usize, - key0: usize, - key_hash: u64, - runs_count_threshold: u16, - runs_count: &mut u16, - key_body_offset: &u32, - compression_type_pointer: &mut u32, -) { - let plo = shard.segments_level0[key0] - .segment - .get_mut(&key_hash) - .unwrap(); - - *runs_count = 0; - - let mut run_start = 0; - let mut run_length = 0; - - let key_rank_position_pointer_range = *roaring_offset + plo.size_compressed_positions_key; - let mut key_position_pointer_w = key_rank_position_pointer_range; - let mut key_rank_position_pointer_w = key_rank_position_pointer_range; - let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 - + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { - (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 - } else { - 0 - }; - let mut key_docid_pointer_w = - *roaring_offset + plo.size_compressed_positions_key + posting_pointer_size_sum; - let key_docid_pointer_w_old = key_docid_pointer_w; - let mut size_compressed_positions_key = 0; - - plo.compression_type_pointer = key_body_offset | ((CompressionType::Rle as u32) << 30); - *compression_type_pointer = plo.compression_type_pointer; - - let mut doc_id_old = 0; - let pointer_pivot_p_docid = plo.pointer_pivot_p_docid; - let mut next_pointer = plo.pointer_first; - for p_docid in 0..plo.posting_count { - let plo_posting_pointer_size = if p_docid < pointer_pivot_p_docid as usize { - 2 - } else { - 3 - }; - - let mut doc_id = 0; - docid_iterator( - shard, - plo_posting_pointer_size, - &mut next_pointer, - &mut key_position_pointer_w, - &mut key_rank_position_pointer_w, - key0, - key_hash, - &mut doc_id, - &mut size_compressed_positions_key, - p_docid, - ); - - if p_docid == 0 { - run_start = doc_id; - } else if doc_id_old + 1 == doc_id { - run_length += 1; - } else { - write_u16( - run_start, - &mut shard.compressed_index_segment_block_buffer, - key_docid_pointer_w_old + (((*runs_count << 1) as usize + 1) * 2), - ); - write_u16( - run_length, - &mut shard.compressed_index_segment_block_buffer, - key_docid_pointer_w_old + (((*runs_count << 1) as usize + 2) * 2), - ); - key_docid_pointer_w += 4; - - run_start = doc_id; - run_length = 0; - *runs_count += 1; - } - - if *runs_count >= runs_count_threshold { - *runs_count = 0; - return; - } - doc_id_old = doc_id; - } - - write_u16( - run_start, - &mut shard.compressed_index_segment_block_buffer, - key_docid_pointer_w_old + (((*runs_count << 1) as usize + 1) * 2), - ); - write_u16( - run_length, - &mut shard.compressed_index_segment_block_buffer, - key_docid_pointer_w_old + (((*runs_count << 1) as usize + 2) * 2), - ); - - *runs_count += 1; - key_docid_pointer_w += 4; - - write_u16( - *runs_count, - &mut shard.compressed_index_segment_block_buffer, - key_docid_pointer_w_old, - ); - key_docid_pointer_w += 2; - - *size_compressed_docid_key = key_docid_pointer_w - key_docid_pointer_w_old; - *roaring_offset = key_docid_pointer_w; -} - -/// Compress positions: input delta compressed vector, output VINT compressioned byte array -pub(crate) fn compress_positions( - positions: &[u16], - positions_compressed: &mut [u8], - size_compressed_positions_pointer: &mut usize, -) { - for delta in positions { - if *delta < 128 { - positions_compressed[*size_compressed_positions_pointer] = *delta as u8 | STOP_BIT; - *size_compressed_positions_pointer += 1 - } else if *delta < 16_384 { - positions_compressed[*size_compressed_positions_pointer] = - (delta >> 7) as u8 & 0b01111111; - *size_compressed_positions_pointer += 1; - positions_compressed[*size_compressed_positions_pointer] = - (delta & 0b01111111) as u8 | STOP_BIT; - *size_compressed_positions_pointer += 1; - } else { - positions_compressed[*size_compressed_positions_pointer] = - (delta >> 13) as u8 & 0b01111111; - *size_compressed_positions_pointer += 1; - positions_compressed[*size_compressed_positions_pointer] = - (delta >> 7) as u8 & 0b01111111; - *size_compressed_positions_pointer += 1; - positions_compressed[*size_compressed_positions_pointer] = - (delta & 0b01111111) as u8 | STOP_BIT; - *size_compressed_positions_pointer += 1; - } - } -} diff --git a/mobile_app/rust/src/seekstorm/doc_store.rs b/mobile_app/rust/src/seekstorm/doc_store.rs deleted file mode 100644 index 5519d66..0000000 --- a/mobile_app/rust/src/seekstorm/doc_store.rs +++ /dev/null @@ -1,353 +0,0 @@ -use memmap2::Mmap; -use serde_json::{Value, json}; -use std::collections::{HashMap, HashSet, VecDeque}; -use std::fs; -use std::io::{self, Seek, SeekFrom, Write}; -use std::path::PathBuf; - -use crate::geo_search::euclidian_distance; -use crate::highlighter::{Highlighter, top_fragments_from_field}; -use crate::index::{ - AccessType, DistanceField, Document, FILE_PATH, FieldType, Index, ROARING_BLOCK_SIZE, Shard, -}; -use crate::search::FacetValue; -use crate::utils::{read_u32, write_u32}; - -impl Shard { - pub(crate) fn get_file_shard(&self, doc_id: usize) -> Result, String> { - let file_path = PathBuf::new(&self.index_path_string) - .join(FILE_PATH) - .join(doc_id.to_string() + ".pdf"); - - if let Ok(data) = fs::read(file_path) { - Ok(data) - } else { - Err("not found".into()) - } - } - - pub(crate) fn get_document_shard( - &self, - doc_id: usize, - include_uncommited: bool, - highlighter_option: &Option, - fields: &HashSet, - distance_fields: &[DistanceField], - ) -> Result { - if !self.delete_hashset.is_empty() && self.delete_hashset.contains(&doc_id) { - return Err("not found".to_owned()); - } - - if doc_id >= self.indexed_doc_count { - return Err("not found".to_owned()); - } - let block_id = doc_id >> 16; - - let is_uncommitted = doc_id >= self.committed_doc_count; - if is_uncommitted && !(include_uncommited && self.uncommitted) { - return Err("not found".to_owned()); - } - - if self.stored_field_names.is_empty() { - return Err("not found".to_owned()); - } - - let doc_id_local = doc_id & 0b11111111_11111111; - - let mut doc = if self.meta.access_type == AccessType::Ram || is_uncommitted { - let docstore_pointer_docs = if is_uncommitted { - &self.compressed_docstore_segment_block_buffer - } else { - &self.level_index[block_id].docstore_pointer_docs - }; - - let position = doc_id_local * 4; - let pointer = read_u32(docstore_pointer_docs, position) as usize; - - let previous_pointer = if doc_id == self.committed_doc_count || doc_id_local == 0 { - ROARING_BLOCK_SIZE * 4 - } else { - read_u32(docstore_pointer_docs, position - 4) as usize - }; - - if previous_pointer == pointer { - return Err("not found".to_owned()); - } - - let compressed_doc = &docstore_pointer_docs[previous_pointer..pointer]; - let decompressed_doc = zstd::decode_all(compressed_doc).unwrap(); - let doc: Document = serde_json::from_slice(&decompressed_doc).unwrap(); - - doc - } else { - let level = doc_id >> 16; - - let pointer; - let previous_pointer; - let position = - self.level_index[level].docstore_pointer_docs_pointer + (doc_id_local * 4); - - if doc_id_local == 0 { - previous_pointer = ROARING_BLOCK_SIZE * 4; - pointer = read_u32(&self.docstore_file_mmap, position) as usize; - } else { - previous_pointer = read_u32(&self.docstore_file_mmap, position - 4) as usize; - pointer = read_u32(&self.docstore_file_mmap, position) as usize; - }; - - if previous_pointer == pointer { - return Err(format!("not found {} {}", previous_pointer, pointer)); - } - - let compressed_doc = &self.docstore_file_mmap[(self.level_index[level] - .docstore_pointer_docs_pointer - + previous_pointer) - ..(self.level_index[level].docstore_pointer_docs_pointer + pointer)]; - - let decompressed_doc = zstd::decode_all(compressed_doc).unwrap(); - let doc: Document = serde_json::from_slice(&decompressed_doc).unwrap(); - - doc - }; - - if let Some(highlighter) = highlighter_option { - let mut kwic_vec: VecDeque = VecDeque::new(); - for highlight in highlighter.highlights.iter() { - let kwic = - top_fragments_from_field(self, &doc, &highlighter.query_terms_ac, highlight) - .unwrap(); - kwic_vec.push_back(kwic); - } - - for highlight in highlighter.highlights.iter() { - let kwic = kwic_vec.pop_front().unwrap(); - doc.insert( - (if highlight.name.is_empty() { - &highlight.field - } else { - &highlight.name - }) - .to_string(), - json!(kwic), - ); - } - } - - for distance_field in distance_fields.iter() { - if let Some(idx) = self.facets_map.get(&distance_field.field) - && self.facets[*idx].field_type == FieldType::Point - && let FacetValue::Point(point) = - self.get_facet_value_shard(&distance_field.field, doc_id) - { - let distance = - euclidian_distance(&point, &distance_field.base, &distance_field.unit); - - doc.insert(distance_field.distance.clone(), json!(distance)); - } - } - - if !fields.is_empty() { - for key in self.stored_field_names.iter() { - if !fields.contains(key) { - doc.remove(key); - } - } - } - - Ok(doc) - } - - pub(crate) fn copy_file(&self, source_path: &PathBuf, doc_id: usize) -> io::Result { - let dir_path = PathBuf::new(&self.index_path_string).join(FILE_PATH); - if !dir_path.exists() { - fs::create_dir_all(&dir_path).unwrap(); - } - - let file_path = dir_path.join(doc_id.to_string() + ".pdf"); - fs::copy(source_path, file_path) - } - - pub(crate) fn write_file(&self, file_bytes: &[u8], doc_id: usize) -> io::Result { - let dir_path = PathBuf::new(&self.index_path_string).join(FILE_PATH); - if !dir_path.exists() { - fs::create_dir_all(&dir_path).unwrap(); - } - - let file_path = dir_path.join(doc_id.to_string() + ".pdf"); - - let mut file = fs::OpenOptions::new() - .create(true) - .truncate(true) - .write(true) - .open(file_path)?; - - let _ = file.write_all(file_bytes); - Ok(file_bytes.len() as u64) - } - - pub(crate) fn store_document(&mut self, doc_id: usize, document: HashMap) { - let mut document = document; - - let keys: Vec = document.keys().cloned().collect(); - for key in keys.into_iter() { - if !self.schema_map.contains_key(&key) || !self.schema_map.get(&key).unwrap().stored { - document.remove(&key); - } - } - - if document.is_empty() { - return; - } - - let document_string = serde_json::to_string(&document).unwrap(); - - let mut compressed = zstd::encode_all(document_string.as_bytes(), 1).unwrap(); - - self.compressed_docstore_segment_block_buffer - .append(&mut compressed); - - write_u32( - self.compressed_docstore_segment_block_buffer.len() as u32, - &mut self.compressed_docstore_segment_block_buffer, - (doc_id & 0b11111111_11111111) * 4, - ); - } - - pub(crate) fn commit_docstore( - &mut self, - indexed_doc_count: usize, - is_last_level_incomplete: bool, - ) { - let size_uncommitted = self.compressed_docstore_segment_block_buffer.len(); - let level = self.level_index.len() - 1; - - if is_last_level_incomplete { - let docstore_file_end = self.docstore_file.metadata().unwrap().len(); - - let size_committed = - docstore_file_end as usize - self.last_level_docstore_file_start_pos as usize - 4; - let size_committed_docs = size_committed - (4 * ROARING_BLOCK_SIZE); - let size_sum = size_uncommitted + size_committed_docs; - - let _ = self - .docstore_file - .seek(SeekFrom::Start(self.last_level_docstore_file_start_pos)); - - let _ = self.docstore_file.write(&(size_sum as u32).to_le_bytes()); - - let committed_doc_count = (self.committed_doc_count - 1 % ROARING_BLOCK_SIZE) + 1; - let indexed_doc_count = (indexed_doc_count - 1 % ROARING_BLOCK_SIZE) + 1; - - for i in committed_doc_count..indexed_doc_count { - let pointer = read_u32(&self.compressed_docstore_segment_block_buffer, i * 4); - - write_u32( - pointer + size_committed_docs as u32, - &mut self.compressed_docstore_segment_block_buffer, - i * 4, - ); - } - - let _ = self.docstore_file.seek(SeekFrom::Start( - self.last_level_docstore_file_start_pos + 4 + committed_doc_count as u64 * 4, - )); - - let _ = self.docstore_file.write( - &self.compressed_docstore_segment_block_buffer - [committed_doc_count * 4..ROARING_BLOCK_SIZE * 4], - ); - - let _ = self.docstore_file.seek(SeekFrom::Start(docstore_file_end)); - - let _ = self - .docstore_file - .write(&self.compressed_docstore_segment_block_buffer[4 * ROARING_BLOCK_SIZE..]); - - if self.meta.access_type == AccessType::Ram { - self.level_index[level] - .docstore_pointer_docs - .extend_from_slice( - &self.compressed_docstore_segment_block_buffer[4 * ROARING_BLOCK_SIZE..], - ); - self.level_index[level].docstore_pointer_docs - [committed_doc_count * 4..ROARING_BLOCK_SIZE * 4] - .copy_from_slice( - &self.compressed_docstore_segment_block_buffer - [committed_doc_count * 4..ROARING_BLOCK_SIZE * 4], - ); - } - } else { - let _ = self - .docstore_file - .write(&(size_uncommitted as u32).to_le_bytes()); - - self.level_index[level].docstore_pointer_docs_pointer = - self.docstore_file.stream_position().unwrap() as usize; - - let _ = self - .docstore_file - .write(&self.compressed_docstore_segment_block_buffer); - - if self.meta.access_type == AccessType::Ram { - self.level_index[level].docstore_pointer_docs.append( - &mut self - .compressed_docstore_segment_block_buffer - .drain(..) - .collect(), - ); - } - } - - let _ = self.docstore_file.flush(); - - self.compressed_docstore_segment_block_buffer = vec![0; ROARING_BLOCK_SIZE * 4]; - - if self.meta.access_type == AccessType::Mmap { - self.docstore_file_mmap = - unsafe { Mmap::map(&self.docstore_file).expect("Unable to create Mmap") }; - } - } -} - -impl Index { - /// Get file for document id - /// Arguments: - /// * `doc_id`: Specifies which document to load from the document store of the index. - /// - /// Returns: - /// * `Vec`: The file content as a byte vector. - /// - pub async fn get_file(&self, doc_id: usize) -> Result, String> { - let shard_id = doc_id & ((1 << self.shard_bits) - 1); - let doc_id = doc_id >> self.shard_bits; - self.shard_vec[shard_id].read().await.get_file_shard(doc_id) - } - - /// Get document for document id - /// Arguments: - /// * `doc_id`: Specifies which document to load from the document store of the index. - /// * `include_uncommited`: Return also documents which have not yet been committed. - /// * `highlighter_option`: Specifies the extraction of keyword-in-context (KWIC) fragments from fields in documents, and the highlighting of the query terms within. - /// * `fields`: Specifies which of the stored fields to return with each document. Default: If empty return all stored fields - /// * `distance_fields`: insert distance fields into result documents, calculating the distance between a specified facet field of type Point and a base Point, in kilometers or miles. - /// using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. - pub async fn get_document( - &self, - doc_id: usize, - include_uncommited: bool, - highlighter_option: &Option, - fields: &HashSet, - distance_fields: &[DistanceField], - ) -> Result { - let shard_id = doc_id & ((1 << self.shard_bits) - 1); - let doc_id_shard = doc_id >> self.shard_bits; - - self.shard_vec[shard_id].read().await.get_document_shard( - doc_id_shard, - include_uncommited, - highlighter_option, - fields, - distance_fields, - ) - } -} diff --git a/mobile_app/rust/src/seekstorm/geo_search.rs b/mobile_app/rust/src/seekstorm/geo_search.rs deleted file mode 100644 index 4377ada..0000000 --- a/mobile_app/rust/src/seekstorm/geo_search.rs +++ /dev/null @@ -1,144 +0,0 @@ -use std::cmp::Ordering; - -#[cfg(target_arch = "x86_64")] -use std::arch::x86_64::{_pdep_u64, _pext_u64}; - -use crate::{ - index::DistanceUnit, - search::{Point, SortOrder}, -}; - -#[inline] -fn encode_morton_64_bit(x: u32) -> u64 { - let mut x = x as u64; - x = (x | (x << 32)) & 0x00000000ffffffff; - x = (x | (x << 16)) & 0x0000FFFF0000FFFF; - x = (x | (x << 8)) & 0x00FF00FF00FF00FF; - x = (x | (x << 4)) & 0x0F0F0F0F0F0F0F0F; - x = (x | (x << 2)) & 0x3333333333333333; - x = (x | (x << 1)) & 0x5555555555555555; - x -} - -/// encode 2D-coordinate (lat/lon) into 64-bit Morton code -/// This method is lossy/quantized as two f64 coordinate values are mapped to a single u64 Morton code! -/// The z-value of a point in multidimensions is simply calculated by interleaving the binary representations of its coordinate values. -#[inline] -pub fn encode_morton_2_d(point: &Point) -> u64 { - let x_u32 = ((point[0] * 10_000_000.0) as i32) as u32; - let y_u32 = ((point[1] * 10_000_000.0) as i32) as u32; - - #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] - { - if is_x86_feature_detected!("bmi2") { - return unsafe { - _pdep_u64(x_u32.into(), 0x5555555555555555) - | _pdep_u64(y_u32.into(), 0xAAAAAAAAAAAAAAAA) - }; - } - } - - (encode_morton_64_bit(y_u32) << 1) | encode_morton_64_bit(x_u32) -} - -#[inline] -fn decode_morton_64_bit(code: u64) -> u64 { - let mut x = code & 0x5555555555555555; - x = (x ^ (x >> 1)) & 0x3333333333333333; - x = (x ^ (x >> 2)) & 0x0F0F0F0F0F0F0F0F; - x = (x ^ (x >> 4)) & 0x00FF00FF00FF00FF; - x = (x ^ (x >> 8)) & 0x0000FFFF0000FFFF; - x = (x ^ (x >> 16)) & 0x00000000FFFFFFFF; - x -} - -/// decode 64-bit Morton code into 2D-coordinate (lat/lon) -/// This method is lossy/quantized as a single u64 Morton code is converted to two f64 coordinate values! -#[inline] -pub fn decode_morton_2_d(code: u64) -> Point { - #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] - { - if is_x86_feature_detected!("bmi2") { - let x_u32 = unsafe { _pext_u64(code, 0x5555555555555555) as u32 }; - let y_u32 = unsafe { _pext_u64(code, 0xAAAAAAAAAAAAAAAA) as u32 }; - - return vec![ - (x_u32 as i32) as f64 / 10_000_000.0, - (y_u32 as i32) as f64 / 10_000_000.0, - ]; - }; - } - - let x_u32 = decode_morton_64_bit(code) as u32; - let y_u32 = decode_morton_64_bit(code >> 1) as u32; - - vec![ - (x_u32 as i32) as f64 / 10_000_000.0, - (y_u32 as i32) as f64 / 10_000_000.0, - ] -} - -#[inline] -fn simplified_distance(point1: &Point, point2: &Point) -> f64 { - let x = (point2[1] - point1[1]) * f64::cos(DEG2RAD * (point1[0] + point2[0]) / 2.0); - let y = point2[0] - point1[0]; - - x * x + y * y -} - -/// Comparison of the distances between two morton encoded positions and a base position -pub fn morton_ordering( - morton1: u64, - morton2: u64, - base_point: &Point, - order: &SortOrder, -) -> Ordering { - let point1 = decode_morton_2_d(morton1); - let point2 = decode_morton_2_d(morton2); - - let distance1 = simplified_distance(&point1, base_point); - let distance2 = simplified_distance(&point2, base_point); - - if order == &SortOrder::Descending { - distance1.partial_cmp(&distance2).unwrap_or(Ordering::Equal) - } else { - distance2.partial_cmp(&distance1).unwrap_or(Ordering::Equal) - } -} - -const EARTH_RADIUS_KM: f64 = 6371.0087714; -const EARTH_RADIUS_MI: f64 = 3_958.761_315_801_475; -const DEG2RAD: f64 = 0.017_453_292_519_943_295; - -/// calculates distance in kilometers or miles between two 2D-coordinates using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. -#[inline] -pub fn euclidian_distance(point1: &Point, point2: &Point, unit: &DistanceUnit) -> f64 { - let x = DEG2RAD * (point2[1] - point1[1]) * f64::cos(DEG2RAD * (point1[0] + point2[0]) / 2.0); - let y = DEG2RAD * (point2[0] - point1[0]); - - (if *unit == DistanceUnit::Kilometers { - EARTH_RADIUS_KM - } else { - EARTH_RADIUS_MI - }) * (x * x + y * y).sqrt() -} - -/// Converts a Point and a distance radius into a range of morton_codes for geo search range filtering. -/// The conversion is lossy due to coordinate to Morton code rounding errors and Equirectangular approximation of Euclidian distance. -pub fn point_distance_to_morton_range( - point: &Point, - distance: f64, - unit: &DistanceUnit, -) -> std::ops::Range { - let earth_radius = if *unit == DistanceUnit::Kilometers { - EARTH_RADIUS_KM - } else { - EARTH_RADIUS_MI - }; - let lat_delta = distance / (DEG2RAD * earth_radius); - let lon_delta = distance / (DEG2RAD * earth_radius * f64::cos(DEG2RAD * point[0])); - let morton_min = encode_morton_2_d(&vec![point[0] - lat_delta, point[1] - lon_delta]); - let morton_max = encode_morton_2_d(&vec![point[0] + lat_delta, point[1] + lon_delta]); - - morton_min..morton_max -} diff --git a/mobile_app/rust/src/seekstorm/highlighter.rs b/mobile_app/rust/src/seekstorm/highlighter.rs deleted file mode 100644 index 1138340..0000000 --- a/mobile_app/rust/src/seekstorm/highlighter.rs +++ /dev/null @@ -1,367 +0,0 @@ -use crate::index::{Document, FieldType, IndexArc, Shard, hash64}; -use crate::min_heap::{self, MinHeap}; -use aho_corasick::{AhoCorasick, MatchKind}; -use serde::{Deserialize, Serialize}; -use utoipa::ToSchema; - -/// Specifies the number and size of fragments (snippets, summaries) to generate from each specified field to provide a "keyword in context" (KWIC) functionality. -/// With highlight_markup the matching query terms within the fragments can be highlighted with HTML markup. -#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] -pub struct Highlight { - /// Specifies the field from which the fragments (snippets, summaries) are created. - pub field: String, - /// Allows to specifiy multiple highlight result fields from the same source field, leaving the original field intact, - /// Default: if name is empty then field is used instead, i.e the original field is overwritten with the highlight. - #[serde(default)] - #[serde(skip_serializing_if = "String::is_empty")] - pub name: String, - /// If 0/default then return the full original text without fragmenting. - #[serde(default)] - pub fragment_number: usize, - /// Specifies the length of a highlight fragment. - /// The default 0 returns the full original text without truncating, but still with highlighting if highlight_markup is enabled. - #[serde(default)] - pub fragment_size: usize, - /// if true, the matching query terms within the fragments are highlighted with HTML markup **\term\<\/b\>**. - #[serde(default)] - pub highlight_markup: bool, - /// Specifies the markup tags to insert **before** each highlighted term (e.g. \"\\" or \"\\"). This can be any string, but is most often an HTML or XML tag. - /// Only used when **highlight_markup** is set to true. - #[serde(default = "default_pre_tag")] - pub pre_tags: String, - /// Specifies the markup tags to insert **after** each highlighted term. (e.g. \"\<\/b\>\" or \"\<\/em\>\"). This can be any string, but is most often an HTML or XML tag. - /// Only used when **highlight_markup** is set to true. - #[serde(default = "default_post_tag")] - pub post_tags: String, -} - -impl Default for Highlight { - fn default() -> Self { - Highlight { - field: String::new(), - name: String::new(), - fragment_number: 1, - fragment_size: usize::MAX, - highlight_markup: true, - pre_tags: default_pre_tag(), - post_tags: default_post_tag(), - } - } -} - -fn default_pre_tag() -> String { - "".into() -} - -fn default_post_tag() -> String { - "".into() -} - -/// Highlighter object used as get_document parameter for extracting keyword-in-context (KWIC) fragments from fields in documents, and highlighting the query terms within. -#[derive(Debug)] -pub struct Highlighter { - pub(crate) highlights: Vec, - pub(crate) query_terms_ac: AhoCorasick, -} - -/// Returns the Highlighter object used as get_document parameter for highlighting fields in documents -pub async fn highlighter( - index_arc: &IndexArc, - highlights: Vec, - query_terms_vec: Vec, -) -> Highlighter { - let index_ref = index_arc.read().await; - let query_terms = if !index_ref.synonyms_map.is_empty() { - let mut query_terms_vec_mut = query_terms_vec.clone(); - for query_term in query_terms_vec.iter() { - let term_hash = hash64(query_term.to_lowercase().as_bytes()); - - if let Some(synonyms) = index_ref.synonyms_map.get(&term_hash) { - for synonym in synonyms.iter() { - query_terms_vec_mut.push(synonym.0.clone()); - } - } - } - query_terms_vec_mut - } else { - query_terms_vec - }; - - let query_terms_ac = AhoCorasick::builder() - .ascii_case_insensitive(true) - .match_kind(MatchKind::LeftmostLongest) - .build(query_terms) - .unwrap(); - - Highlighter { - highlights, - query_terms_ac, - } -} - -pub(crate) fn add_fragment<'a>( - no_score_no_highlight: bool, - mut fragment: Fragment<'a>, - query_terms_ac: &AhoCorasick, - fragments: &mut Vec>, - topk_candidates: &mut MinHeap, - fragment_number: usize, - fragment_size: usize, -) { - let mut score = 0.0; - let mut expected_pattern = usize::MAX; - let mut expected_index = usize::MAX; - - let mut first_end = 0; - let mut set = vec![0; query_terms_ac.patterns_len()]; - let mut sequence_length = 1; - - if no_score_no_highlight { - score = 1.0; - } else { - for mat in query_terms_ac.find_iter(fragment.text) { - if first_end == 0 { - first_end = mat.end(); - } - - let id = mat.pattern().as_usize(); - score += if id == expected_pattern && expected_index == mat.start() { - sequence_length += 1; - set[id] = 1; - sequence_length as f32 * 5.0 - } else if set[id] == 0 { - sequence_length = 1; - set[id] = 1; - 1.0 - } else { - sequence_length = 1; - 0.3 - }; - - expected_pattern = id + 1; - expected_index = mat.end() + 1; - } - } - - if first_end > fragment_size { - let mut idx = fragment.text.len() - fragment_size; - - while !fragment.text.is_char_boundary(idx) { - idx -= 1; - } - - match fragment.text[idx..].find(' ') { - None => idx = 0, - Some(value) => idx += value, - } - - let adjusted_fragment = &fragment.text[idx..]; - fragment.text = adjusted_fragment; - fragment.trim_left = true; - } else if fragment.text.len() > fragment_size { - let mut idx = fragment_size; - - while !fragment.text.is_char_boundary(idx) { - idx -= 1; - } - - match fragment.text[idx..].find(' ') { - None => idx = fragment.text.len(), - Some(value) => idx += value, - } - - let adjusted_fragment = &fragment.text[..idx]; - fragment.text = adjusted_fragment; - fragment.trim_right = true; - } - - let section_index = fragments.len(); - - let mut added = false; - if score > 0.0 { - added = topk_candidates.add_topk( - min_heap::Result { - doc_id: section_index, - score, - }, - fragment_number, - ); - } - if fragments.is_empty() || added { - fragments.push(fragment); - } -} - -const SENTENCE_BOUNDARY_CHARS: [char; 11] = - ['!', '?', '.', '¿', '¡', '。', '、', '!', '?', '︒', '。']; - -pub(crate) struct Fragment<'a> { - text: &'a str, - trim_left: bool, - trim_right: bool, -} -/// Extracts the most relevant fragments (snippets, summaries) from specified fields of the document to provide a "keyword in context" (KWIC) functionality. -/// I.e. the sentences containing the matches of the query terms within the field is displayed and the query term matches are optionally highlighted (e.g. bold) by injecting HTML tags in to the text. -/// Instead of showing the complete text only the relevant fragments containing keyword matches are extracted. The user is provided with concise visual feedback for relevancy of the document regarding to the query. -/// The fragment ranking score takes into account the number of matching terms, their order and proximity (phrase). -/// The score is used for the selection of top-k most relevant fragments, but the order of selected fragments is preserved how they originally appear in the field. -/// The field is fragmented into sentences, using punctuation marks '.?!' as sentence boundaries. -/// If the fragment length exceeds the specified fragment_size, then the fragment is truncated at the right or left side, so that the query term higlight positions are kept within the remaining fragment window. -/// Selecting the right fragment and the right fragment window is fundamental for the users perceived relevancy of the search results. -pub(crate) fn top_fragments_from_field( - shard: &Shard, - document: &Document, - query_terms_ac: &AhoCorasick, - highlight: &Highlight, -) -> Result { - match document.get(&highlight.field) { - None => Ok("".to_string()), - Some(value) => { - let no_score_no_highlight = - query_terms_ac.patterns_len() == 1 && query_terms_ac.max_pattern_len() == 1; - let no_fragmentation = highlight.fragment_number == 0; - let fragment_number = if no_fragmentation { - 1 - } else { - highlight.fragment_number - }; - let result_sort = Vec::new(); - let mut topk_candidates = MinHeap::new(fragment_number, shard, &result_sort); - - if let Some(schema_field) = shard.schema_map.get(&highlight.field) { - let text = match schema_field.field_type { - FieldType::Text | FieldType::String16 | FieldType::String32 => { - serde_json::from_value::(value.clone()).unwrap_or(value.to_string()) - } - _ => value.to_string(), - }; - - let mut fragments: Vec = Vec::new(); - - let mut last = 0; - if !no_fragmentation { - for (character_index, matched) in - text.match_indices(&SENTENCE_BOUNDARY_CHARS[..]) - { - if last != character_index { - let section = Fragment { - text: &text[last..character_index + matched.len()], - trim_left: false, - trim_right: false, - }; - - add_fragment( - no_score_no_highlight, - section, - query_terms_ac, - &mut fragments, - &mut topk_candidates, - fragment_number, - highlight.fragment_size, - ); - - if no_score_no_highlight - && topk_candidates.current_heap_size == fragment_number - { - break; - } - } - last = character_index + matched.len(); - } - } - - if last < text.len() - 1 { - let section = Fragment { - text: &text[last..], - trim_left: false, - trim_right: false, - }; - - add_fragment( - no_score_no_highlight, - section, - query_terms_ac, - &mut fragments, - &mut topk_candidates, - fragment_number, - highlight.fragment_size, - ); - } - - let mut combined_string = String::with_capacity(text.len()); - - if !fragments.is_empty() { - if topk_candidates.current_heap_size > 0 { - if topk_candidates.current_heap_size < fragment_number { - topk_candidates - ._elements - .truncate(topk_candidates.current_heap_size); - } - - topk_candidates - ._elements - .sort_by(|a, b| a.doc_id.partial_cmp(&b.doc_id).unwrap()); - - let mut previous_docid = 0; - for candidate in topk_candidates._elements { - if (!combined_string.is_empty() - && !combined_string.ends_with("...") - && candidate.doc_id != previous_docid + 1) - || (fragments[candidate.doc_id].trim_left - && (combined_string.is_empty() - || !combined_string.ends_with("..."))) - { - combined_string.push_str("...") - }; - combined_string.push_str(fragments[candidate.doc_id].text); - previous_docid = candidate.doc_id; - - if fragments[candidate.doc_id].trim_right { - combined_string.push_str("...") - }; - } - } else { - combined_string.push_str(fragments[0].text); - } - } - - if highlight.highlight_markup && !no_score_no_highlight { - highlight_terms( - &mut combined_string, - query_terms_ac, - &highlight.pre_tags, - &highlight.post_tags, - ); - } - - Ok(combined_string) - } else { - Ok("".to_string()) - } - } - } -} - -pub(crate) fn highlight_terms( - text: &mut String, - query_terms_ac: &AhoCorasick, - pre_tags: &str, - post_tags: &str, -) { - let mut result = String::new(); - let mut prev_end = 0; - - for mat in query_terms_ac.find_iter(&text) { - result.push_str(&text[prev_end..mat.start()]); - result.push_str(pre_tags); - result.push_str(&text[mat.start()..mat.end()]); - result.push_str(post_tags); - prev_end = mat.end(); - } - - if prev_end < text.len() { - result.push_str(&text[prev_end..text.len()]); - } - - *text = result; -} diff --git a/mobile_app/rust/src/seekstorm/index.rs b/mobile_app/rust/src/seekstorm/index.rs deleted file mode 100644 index 8d51543..0000000 --- a/mobile_app/rust/src/seekstorm/index.rs +++ /dev/null @@ -1,4740 +0,0 @@ -use add_result::decode_positions_commit; -use ahash::{AHashMap, AHashSet}; -use futures::future; -use indexmap::IndexMap; -use itertools::Itertools; -use memmap2::{Mmap, MmapMut, MmapOptions}; -use num::FromPrimitive; -use num_derive::FromPrimitive; - -use num_format::{Locale, ToFormattedString}; - -use rust_stemmers::{Algorithm, Stemmer}; -use search::{QueryType, Search}; -use serde::{Deserialize, Serialize}; -use smallvec::SmallVec; -use std::{ - collections::{HashMap, VecDeque}, - fs::{self, File}, - hint, - io::{BufRead, BufReader, Read, Seek, Write}, - path::PathBuf, - sync::Arc, - time::Instant, -}; -use symspell_complete_rs::{PruningRadixTrie, SymSpell}; -use tokio::sync::{RwLock, Semaphore}; -use utils::{read_u32, write_u16}; -use utoipa::ToSchema; - -#[cfg(feature = "zh")] -use crate::word_segmentation::WordSegmentationTM; -use crate::{ - add_result::{self, B, K, SIGMA}, - commit::Commit, - geo_search::encode_morton_2_d, - search::{ - self, FacetFilter, Point, QueryFacet, QueryRewriting, Ranges, ResultObject, ResultSort, - ResultType, SearchShard, - }, - tokenizer::tokenizer, - utils::{ - self, read_u8_ref, read_u16, read_u16_ref, read_u32_ref, read_u64, read_u64_ref, write_f32, - write_f64, write_i8, write_i16, write_i32, write_i64, write_u32, write_u64, - }, -}; - - -pub(crate) const FILE_PATH: &str = "files"; -pub(crate) const INDEX_FILENAME: &str = "index.bin"; -pub(crate) const DOCSTORE_FILENAME: &str = "docstore.bin"; -pub(crate) const DELETE_FILENAME: &str = "delete.bin"; -pub(crate) const SCHEMA_FILENAME: &str = "schema.json"; -pub(crate) const SYNONYMS_FILENAME: &str = "synonyms.json"; -pub(crate) const META_FILENAME: &str = "index.json"; -pub(crate) const FACET_FILENAME: &str = "facet.bin"; -pub(crate) const FACET_VALUES_FILENAME: &str = "facet.json"; - -pub(crate) const DICTIONARY_FILENAME: &str = "dictionary.csv"; -pub(crate) const COMPLETIONS_FILENAME: &str = "completions.csv"; - -pub(crate) const VERSION: &str = env!("CARGO_PKG_VERSION"); - -const INDEX_HEADER_SIZE: u64 = 4; -/// Incompatible index format change: new library can't open old format, and old library can't open new format -pub const INDEX_FORMAT_VERSION_MAJOR: u16 = 5; -/// Backward compatible format change: new library can open old format, but old library can't open new format -pub const INDEX_FORMAT_VERSION_MINOR: u16 = 0; - -/// Maximum processed positions per term per document: default=65_536. E.g. 65,536 * 'the' per document, exceeding positions are ignored for search. -pub const MAX_POSITIONS_PER_TERM: usize = 65_536; -pub(crate) const STOP_BIT: u8 = 0b10000000; -pub(crate) const FIELD_STOP_BIT_1: u8 = 0b0010_0000; -pub(crate) const FIELD_STOP_BIT_2: u8 = 0b0100_0000; -/// maximum number of documents per block -pub const ROARING_BLOCK_SIZE: usize = 65_536; - -pub(crate) const SPEEDUP_FLAG: bool = true; -pub(crate) const SORT_FLAG: bool = true; - -pub(crate) const POSTING_BUFFER_SIZE: usize = 400_000_000; -pub(crate) const MAX_QUERY_TERM_NUMBER: usize = 100; -pub(crate) const SEGMENT_KEY_CAPACITY: usize = 1000; - -/// A document is a flattened, single level of key-value pairs, where key is an arbitrary string, and value represents any valid JSON value. -pub type Document = HashMap; - -/// File type for storing documents: PathBuf, Bytes, None. -#[derive(Clone, PartialEq)] -pub enum FileType { - /// File path - PathBuf(Box), - /// File bytes - Bytes(Box, Box<[u8]>), - /// No file - None, -} - -/// Defines where the index resides during search: -/// - Ram (the complete index is preloaded to Ram when opening the index) -/// - Mmap (the index is accessed via memory-mapped files). See architecture.md for details. -/// - At commit the data is serialized to disk for persistence both in Ram and Mmap mode. -/// - The serialization format is identical for Ram and Mmap mode, allowing to change it retrospectively. -#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] -pub enum AccessType { - /// Ram (the complete index is preloaded to Ram when opening the index). - /// - Index size is limited by available RAM size. - /// - Slightly fastesr search speed. - /// - Higher index loading time. - /// - Higher RAM usage. - Ram = 0, - /// Mmap (the index is accessed via memory-mapped files). See architecture.md for details. - /// - Enables index size scaling beyond RAM size. - /// - Slightly slower search speed compared to Ram. - /// - Faster index loading time compared to Ram. - /// - Lower RAM usage. - Mmap = 1, -} - -/// Similarity type defines the scoring and ranking of the search results: -/// - Bm25f: considers documents composed from several fields, with different field lengths and importance -/// - Bm25fProximity: considers term proximity, e.g. for implicit phrase search with improved relevancy -#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Default, ToSchema)] -pub enum SimilarityType { - /// Bm25f considers documents composed from several fields, with different field lengths and importance - Bm25f = 0, - /// Bm25fProximity considers term proximity, e.g. for implicit phrase search with improved relevancy - #[default] - Bm25fProximity = 1, -} - -/// Defines tokenizer behavior: -/// AsciiAlphabetic -/// - Mainly for for benchmark compatibility -/// - Only ASCII alphabetic chars are recognized as token. -/// -/// UnicodeAlphanumeric -/// - All Unicode alphanumeric chars are recognized as token. -/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. -/// -/// UnicodeAlphanumericFolded -/// - All Unicode alphanumeric chars are recognized as token. -/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. -/// - Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. -/// - Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). -/// - Tokenizing might be slower due to folding and apostroph processing. -/// -/// UnicodeAlphanumericZH -/// - Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. -/// - Supports mixed Latin and Chinese texts -/// - Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. -/// - Requires feature #[cfg(feature = "zh")] -#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Copy, Default, ToSchema)] -pub enum TokenizerType { - /// Only ASCII alphabetic chars are recognized as token. Mainly for benchmark compatibility. - #[default] - AsciiAlphabetic = 0, - /// All Unicode alphanumeric chars are recognized as token. - /// Allow '+' '-' '#' in middle or end of a token: c++, c#, block-max. - UnicodeAlphanumeric = 1, - /// All Unicode alphanumeric chars are recognized as token. - /// Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. - /// Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. - /// Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). - /// Tokenizing might be slower due to folding and apostroph processing. - UnicodeAlphanumericFolded = 2, - /// Tokens are separated by whitespace. Mainly for benchmark compatibility. - Whitespace = 3, - /// Tokens are separated by whitespace. Token are converted to lowercase. Mainly for benchmark compatibility. - WhitespaceLowercase = 4, - /// Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. - /// Supports mixed Latin and Chinese texts - /// Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. - /// Requires feature #[cfg(feature = "zh")] - #[cfg(feature = "zh")] - UnicodeAlphanumericZH = 5, -} - -/// Defines stemming behavior, reducing inflected words to their word stem, base or root form. -/// Stemming increases recall, but decreases precision. It can introduce false positive results. -#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Copy, Default, ToSchema)] -pub enum StemmerType { - /// No stemming - #[default] - None = 0, - /// Arabic stemmer - Arabic = 1, - /// Danish stemmer - Danish = 2, - /// Dutch stemmer - Dutch = 3, - /// English stemmer - English = 4, - /// Finnish stemmer - Finnish = 5, - /// French stemmer - French = 6, - /// German stemmer - German = 7, - /// Hungarian stemmer - Greek = 8, - /// Hungarian stemmer - Hungarian = 9, - /// Italian stemmer - Italian = 10, - /// Norwegian stemmer - Norwegian = 11, - /// Portuguese stemmer - Portuguese = 12, - /// Romanian stemmer - Romanian = 13, - /// Russian stemmer - Russian = 14, - /// Spanish stemmer - Spanish = 15, - /// Swedish stemmer - Swedish = 16, - /// Tamil stemmer - Tamil = 17, - /// Turkish stemmer - Turkish = 18, -} - -pub(crate) struct LevelIndex { - pub document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]>, - - pub docstore_pointer_docs: Vec, - pub docstore_pointer_docs_pointer: usize, - pub document_length_compressed_array_pointer: usize, -} - -/// Posting lists are divided into blocks of a doc id range of 65.536 (16 bit). -/// Each block can be compressed with a different method. -#[derive(Default, Debug, Deserialize, Serialize, Clone)] -pub(crate) struct BlockObjectIndex { - pub max_block_score: f32, - pub block_id: u32, - pub compression_type_pointer: u32, - pub posting_count: u16, - pub max_docid: u16, - pub max_p_docid: u16, - pub pointer_pivot_p_docid: u16, -} - -/// PostingListObjectIndex owns all blocks of a postinglist of a term -#[derive(Default)] -pub(crate) struct PostingListObjectIndex { - pub posting_count: u32, - pub posting_count_ngram_1: u32, - pub posting_count_ngram_2: u32, - pub posting_count_ngram_3: u32, - pub posting_count_ngram_1_compressed: u8, - pub posting_count_ngram_2_compressed: u8, - pub posting_count_ngram_3_compressed: u8, - pub max_list_score: f32, - pub blocks: Vec, - - pub position_range_previous: u32, -} - -#[derive(Default, Debug, Deserialize, Serialize, Clone)] -pub(crate) struct PostingListObject0 { - pub pointer_first: usize, - pub pointer_last: usize, - pub posting_count: usize, - - pub max_block_score: f32, - pub max_docid: u16, - pub max_p_docid: u16, - - pub ngram_type: NgramType, - pub term_ngram1: String, - pub term_ngram2: String, - pub term_ngram3: String, - pub posting_count_ngram_1: f32, - pub posting_count_ngram_2: f32, - pub posting_count_ngram_3: f32, - pub posting_count_ngram_1_compressed: u8, - pub posting_count_ngram_2_compressed: u8, - pub posting_count_ngram_3_compressed: u8, - - pub position_count: usize, - pub pointer_pivot_p_docid: u16, - pub size_compressed_positions_key: usize, - pub docid_delta_max: u16, - pub docid_old: u16, - pub compression_type_pointer: u32, -} - -/// Type of posting list compression. -#[derive(Default, Debug, Deserialize, Serialize, Clone, PartialEq, FromPrimitive)] -pub(crate) enum CompressionType { - Delta = 0, - Array = 1, - Bitmap = 2, - Rle = 3, - #[default] - Error = 4, -} - -pub(crate) struct QueueObject<'a> { - pub query_list: Vec>, - pub query_index: usize, - pub max_score: f32, -} - -/// PostingListObjectQuery manages thes posting list for each unique query term during intersection. -#[derive(Clone)] -pub(crate) struct PostingListObjectQuery<'a> { - pub posting_count: u32, - pub max_list_score: f32, - pub blocks: &'a Vec, - pub blocks_index: usize, - - pub term: String, - pub key0: u32, - - pub compression_type: CompressionType, - pub rank_position_pointer_range: u32, - pub compressed_doc_id_range: usize, - pub pointer_pivot_p_docid: u16, - - pub posting_pointer: usize, - pub posting_pointer_previous: usize, - - pub byte_array: &'a [u8], - - pub p_block: i32, - pub p_block_max: i32, - pub p_docid: usize, - pub p_docid_count: usize, - - pub rangebits: i32, - pub docid: i32, - pub bitposition: u32, - - pub intersect: u64, - pub ulong_pos: usize, - - pub run_end: i32, - pub p_run: i32, - pub p_run_count: i32, - pub p_run_sum: i32, - - pub term_index_unique: usize, - pub positions_count: u32, - pub positions_pointer: u32, - - pub idf: f32, - pub idf_ngram1: f32, - pub idf_ngram2: f32, - pub idf_ngram3: f32, - pub tf_ngram1: u32, - pub tf_ngram2: u32, - pub tf_ngram3: u32, - pub ngram_type: NgramType, - - pub end_flag: bool, - pub end_flag_block: bool, - pub is_embedded: bool, - pub embedded_positions: [u32; 4], - pub field_vec: SmallVec<[(u16, usize); 2]>, - pub field_vec_ngram1: SmallVec<[(u16, usize); 2]>, - pub field_vec_ngram2: SmallVec<[(u16, usize); 2]>, - pub field_vec_ngram3: SmallVec<[(u16, usize); 2]>, - pub bm25_flag: bool, -} - -pub(crate) static DUMMY_VEC: Vec = Vec::new(); -pub(crate) static DUMMY_VEC_8: Vec = Vec::new(); - -impl Default for PostingListObjectQuery<'_> { - fn default() -> Self { - Self { - posting_count: 0, - max_list_score: 0.0, - blocks: &DUMMY_VEC, - blocks_index: 0, - term: "".to_string(), - key0: 0, - compression_type: CompressionType::Error, - rank_position_pointer_range: 0, - compressed_doc_id_range: 0, - pointer_pivot_p_docid: 0, - posting_pointer: 0, - posting_pointer_previous: 0, - byte_array: &DUMMY_VEC_8, - p_block: 0, - p_block_max: 0, - p_docid: 0, - p_docid_count: 0, - rangebits: 0, - docid: 0, - bitposition: 0, - run_end: 0, - p_run: 0, - p_run_count: 0, - p_run_sum: 0, - term_index_unique: 0, - positions_count: 0, - positions_pointer: 0, - idf: 0.0, - idf_ngram1: 0.0, - idf_ngram2: 0.0, - idf_ngram3: 0.0, - ngram_type: NgramType::SingleTerm, - is_embedded: false, - embedded_positions: [0; 4], - field_vec: SmallVec::new(), - tf_ngram1: 0, - tf_ngram2: 0, - tf_ngram3: 0, - field_vec_ngram1: SmallVec::new(), - field_vec_ngram2: SmallVec::new(), - field_vec_ngram3: SmallVec::new(), - - end_flag: false, - end_flag_block: false, - bm25_flag: true, - intersect: 0, - ulong_pos: 0, - } - } -} - -/// NonUniquePostingListObjectQuery manages these posting list for each non-unique query term during intersection. -/// It references to the unique query terms. -#[derive(Clone)] -pub(crate) struct NonUniquePostingListObjectQuery<'a> { - pub term_index_unique: usize, - pub term_index_nonunique: usize, - pub pos: u32, - pub p_pos: i32, - pub positions_pointer: usize, - pub positions_count: u32, - pub byte_array: &'a [u8], - pub key0: u32, - pub is_embedded: bool, - pub embedded_positions: [u32; 4], - pub p_field: usize, - pub field_vec: SmallVec<[(u16, usize); 2]>, -} - -/// Terms are converted to hashs. The index is divided into key hash range partitioned segments. -/// for each strip (key hash range) a separate dictionary (key hash - posting list) is maintained. -/// The index hash multiple segments, each segments contains multiple terms, each term has a postinglist, each postinglist has multiple blocks. -pub(crate) struct SegmentIndex { - pub byte_array_blocks: Vec>, - pub byte_array_blocks_pointer: Vec<(usize, usize, u32)>, - pub segment: AHashMap, -} - -/// StripObject0 defines a strip (key hash range) within level 0. Level 0 is the mutable level where all writes are taking place. -/// After each 65.536 docs the level 0 is flushed as an immutable block to the next level -#[derive(Default, Debug, Clone)] -pub(crate) struct SegmentLevel0 { - pub segment: AHashMap, - pub positions_compressed: Vec, -} - -/// FieldType defines the type of a field in the document: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point, string, stringset, text. -#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Default, ToSchema)] -pub enum FieldType { - /// Unsigned 8-bit integer - U8, - /// Unsigned 16-bit integer - U16, - /// Unsigned 32-bit integer - U32, - /// Unsigned 64-bit integer - U64, - /// Signed 8-bit integer - I8, - /// Signed 16-bit integer - I16, - /// Signed 32-bit integer - I32, - /// Signed 64-bit integer - I64, - /// Timestamp is identical to I64, but to be used for Unix timestamps . - /// The reason for a separate FieldType is to enable the UI to interpret I64 as timestamp without using the field name as indicator. - /// For date facets and filtering. - Timestamp, - /// Floating point 32-bit - F32, - /// Floating point 64-bit - F64, - /// Boolean - Bool, - /// String16 - /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. - #[default] - String16, - /// String32 - /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values - String32, - /// StringSet16 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. - /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. - StringSet16, - /// StringSet32 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. - /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values - StringSet32, - /// Point is a geographic field type: A `Vec` with two coordinate values (latitude and longitude) are internally encoded into a single u64 value (Morton code). - /// Morton codes enable efficient range queries. - /// Latitude and longitude are a pair of numbers (coordinates) used to describe a position on the plane of a geographic coordinate system. - /// The numbers are in decimal degrees format and range from -90 to 90 for latitude and -180 to 180 for longitude. - /// Coordinates are internally stored as u64 morton code: both f64 values are multiplied by 10_000_000, converted to i32 and bitwise interleaved into a single u64 morton code - /// The conversion between longitude/latitude coordinates and Morton code is lossy due to rounding errors. - Point, - /// Text is a text field, that will be tokenized by the selected Tokenizer into string tokens. - Text, -} - -/// Defines synonyms for terms per index. -#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] -pub struct Synonym { - /// List of terms that are synonyms. - pub terms: Vec, - /// Creates alternative versions of documents where in each copy a term is replaced with one of its synonyms. - /// Doesn't impact the query latency, but does increase the index size. - /// Multi-way synonyms (default): all terms are synonyms of each other. - /// One-way synonyms: only the first term is a synonym of the following terms, but not vice versa. - /// E.g. [street, avenue, road] will result in searches for street to return documents containing any of the terms street, avenue or road, - /// but searches for avenue will only return documents containing avenue, but not documents containing street or road. - /// Currently only single terms without spaces are supported. - /// Synonyms are supported in result highlighting. - /// The synonyms that were created with the synonyms parameter in create_index are stored in synonyms.json in the index directory contains - /// Can be manually modified, but becomes effective only after restart and only for newly indexed documents. - #[serde(default = "default_as_true")] - pub multiway: bool, -} - -fn default_as_true() -> bool { - true -} - -/// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. -#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] -pub struct SchemaField { - /// unique name of a field - pub field: String, - /// only stored fields are returned in the search results - pub stored: bool, - /// only indexed fields can be searched - pub indexed: bool, - /// type of a field - pub field_type: FieldType, - /// optional faceting for a field - /// Faceting can be enabled both for string field type and numerical field types. - /// both numerical and string fields can be indexed (indexed=true) and stored (stored=true) in the json document, - /// but with field_facet=true they are additionally stored in a binary format, for fast faceting and sorting without docstore access (decompression, deserialization) - #[serde(skip_serializing_if = "is_default_bool")] - #[serde(default = "default_false")] - pub facet: bool, - - /// Indicate the longest field in schema. - /// Otherwise the longest field will be automatically detected in first index_document. - /// Setting/detecting the longest field ensures efficient index encoding. - #[serde(skip_serializing_if = "is_default_bool")] - #[serde(default = "default_false")] - pub longest: bool, - - /// optional custom weight factor for Bm25 ranking - #[serde(skip_serializing_if = "is_default_f32")] - #[serde(default = "default_1")] - pub boost: f32, - - /// if both indexed=true and dictionary_source=true then the terms from this field are added to dictionary to the spelling correction dictionary. - /// if disabled, then a manually generated dictionary can be used: {index_path}/dictionary.csv - #[serde(skip_serializing_if = "is_default_bool")] - #[serde(default = "default_false")] - pub dictionary_source: bool, - - /// if both indexed=true and completion_source=true then the n-grams (unigrams, bigrams, trigrams) from this field are added to the auto-completion list. - /// if disabled, then a manually generated completion list can be used: {index_path}/completions.csv - /// it is recommended to enable completion_source only for fields that contain short text with high-quality terms for auto-completion, e.g. title, author, category, product name, tags, - /// in order to keep the extraction time and RAM requirement for completions low and the completions relevance high. - #[serde(skip_serializing_if = "is_default_bool")] - #[serde(default = "default_false")] - pub completion_source: bool, - - #[serde(skip)] - pub(crate) indexed_field_id: usize, - #[serde(skip_deserializing)] - pub(crate) field_id: usize, -} - -/// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. -/// # Parameters -/// - field: unique name of a field -/// - stored: only stored fields are returned in the search results -/// - indexed: only indexed fields can be searched -/// - field_type: type of a field: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point -/// - facet: enable faceting for a field: for sorting results by field values, for range filtering, for result count per field value or range -/// - `longest`: This allows to annotate (manually set) the longest field in schema. -/// Otherwise the longest field will be automatically detected in first index_document. -/// Setting/detecting the longest field ensures efficient index encoding. -/// - boost: optional custom weight factor for Bm25 ranking -/// # Returns -/// - SchemaField -/// # Example -/// ```rust -/// use seekstorm::index::{SchemaField, FieldType}; -/// let schema_field = SchemaField::new("title".to_string(), true, true, FieldType::String16, false, false, 1.0, false, false); -/// ``` -impl SchemaField { - /// Creates a new SchemaField. - #[allow(clippy::too_many_arguments)] - pub fn new( - field: String, - stored: bool, - indexed: bool, - field_type: FieldType, - facet: bool, - longest: bool, - boost: f32, - dictionary_source: bool, - completion_source: bool, - ) -> Self { - SchemaField { - field, - stored, - indexed, - field_type, - facet, - longest, - boost, - dictionary_source, - completion_source, - - indexed_field_id: 0, - field_id: 0, - } - } -} - -fn default_false() -> bool { - false -} - -fn is_default_bool(num: &bool) -> bool { - !(*num) -} - -fn default_1() -> f32 { - 1.0 -} - -fn is_default_f32(num: &f32) -> bool { - *num == 1.0 -} - -pub(crate) struct IndexedField { - pub schema_field_name: String, - pub field_length_sum: usize, - pub indexed_field_id: usize, - - pub is_longest_field: bool, -} - -/// StopwordType defines the stopword behavior: None, English, German, French, Spanish, Custom. -/// Stopwords are removed, both from index and query: for compact index size and faster queries. -/// Stopword removal has drawbacks: “The Who”, “Take That”, “Let it be”, “To be or not to be”, "The The", "End of days", "What might have been" are all valid queries for bands, songs, movies, literature, -/// but become impossible when stopwords are removed. -/// The lists of stop_words and frequent_words should not overlap. -#[derive(Debug, Clone, Deserialize, Serialize, Default, ToSchema)] -pub enum StopwordType { - /// No stopwords - #[default] - None, - /// English stopwords - English, - /// German stopwords - German, - /// French stopwords - French, - /// Spanish stopwords - Spanish, - /// Custom stopwords - Custom { - ///List of stopwords. - terms: Vec, - }, -} - -/// FrequentwordType defines the frequentword behavior: None, English, German, French, Spanish, Custom. -/// Adjacent frequent terms are combined to bi-grams, both in index and query: for shorter posting lists and faster phrase queries (only for bi-grams of frequent terms). -/// The lists of stop_words and frequent_words should not overlap. -#[derive(Debug, Clone, Deserialize, Serialize, Default, ToSchema)] -pub enum FrequentwordType { - /// No frequent words - None, - /// English frequent words - #[default] - English, - /// German frequent words - German, - /// French frequent words - French, - /// Spanish frequent words - Spanish, - /// Custom frequent words - Custom { - ///List of frequent terms, max. 256 terms. - terms: Vec, - }, -} - -/// Defines spelling correction (fuzzy search) settings for an index. -#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] -pub struct SpellingCorrection { - /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. - pub max_dictionary_edit_distance: usize, - /// Term length thresholds for each edit distance. - /// None: max_dictionary_edit_distance for all terms lengths - /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, - /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 - pub term_length_threshold: Option>, - - /// The minimum frequency count for dictionary words to be considered eligible for spelling correction. - /// Depends on the corpus size, 1..20 recommended. - /// If count_threshold is too high, some correct words might be missed from the dictionary and deemed misspelled, - /// if count_threshold is too low, some misspelled words from the corpus might be considered correct and added to the dictionary. - /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold), - /// but the terms below count_threshold will be included in dictionary.csv too. - pub count_threshold: usize, - - /// Limits the maximum number of dictionary entries (terms >= count_threshold) to generate during indexing, preventing excessive RAM consumption. - /// The number of terms in dictionary.csv will be higher, because it contains also the terms < count_threshold, to become eligible in the future during incremental dictionary updates. - /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold). - /// ⚠️ Above this threshold no new terms are added to the dictionary, causing them to be deemed incorrect during spelling correction and possibly changed to similar terms that are in the dictionary. - pub max_dictionary_entries: usize, -} - -/// Defines spelling correction (fuzzy search) settings for an index. -#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] -pub struct QueryCompletion { - /// Maximum number of completions to generate during indexing - /// disabled if == 0 - pub max_completion_entries: usize, -} - -/// Specifies SimilarityType, TokenizerType and AccessType when creating an new index -#[derive(Debug, Clone, Deserialize, Serialize)] -pub struct IndexMetaObject { - /// unique index ID - /// Only used in SeekStorm server, not by the SeekStorm library itself. - /// In the SeekStorm server with REST API, the index ID is used to specify the index (within the API key) where you want to index and search. - pub id: u64, - /// index name: used informational purposes - pub name: String, - /// SimilarityType defines the scoring and ranking of the search results: Bm25f or Bm25fProximity - pub similarity: SimilarityType, - /// TokenizerType defines the tokenizer behavior: AsciiAlphabetic, UnicodeAlphanumeric, UnicodeAlphanumericFolded, UnicodeAlphanumericZH - pub tokenizer: TokenizerType, - /// StemmerType defines the stemming behavior: None, Arabic, Armenian, Danish, Dutch, English, French, German, Greek, Hungarian, Italian, Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish, Tamil, Turkish - pub stemmer: StemmerType, - - /// StopwordType defines the stopword behavior: None, English, German, French, Spanish, Custom. - /// Stopwords are removed, both from index and query: for compact index size and faster queries. - /// Stopword removal has drawbacks: “The Who”, “Take That”, “Let it be”, “To be or not to be”, "The The", "End of days", "What might have been" are all valid queries for bands, songs, movies, literature, - /// but become impossible when stopwords are removed. - /// The lists of stop_words and frequent_words should not overlap. - #[serde(default)] - pub stop_words: StopwordType, - /// FrequentwordType defines the frequentword behavior: None, English, German, French, Spanish, Custom. - /// Adjacent frequent terms are combined to bi-grams, both in index and query: for shorter posting lists and faster phrase queries (only for bi-grams of frequent terms). - /// The lists of stop_words and frequent_words should not overlap. - #[serde(default)] - pub frequent_words: FrequentwordType, - /// N-gram indexing: n-grams are indexed in addition to single terms, for fast phrase search, at the cost of higher index size - /// Preference valid both for index time and query time. Any change requires reindexing. - /// bitwise OR flags: - /// SingleTerm = 0b00000000, always enabled in addition to the other optional NgramSet below - /// NgramFF = 0b00000001, frequent frequent - /// NgramFR = 0b00000010, frequent rare - /// NgramRF = 0b00000100, rare frequent - /// NgramFFF = 0b00001000, frequent frequent frequent - /// NgramRFF = 0b00010000, rare frequent frequent - /// NgramFFR = 0b00100000, frequent frequent rare - /// NgramFRF = 0b01000000, frequent rare frequent - /// - /// When **minimum index size** is more important than phrase query latency, we recommend **Single Terms**: - /// `NgramSet::SingleTerm as u8` - /// - /// For a **good balance of latency and index size** cost, we recommend **Single Terms + Frequent Bigrams + Frequent Trigrams** (default): - /// `NgramSet::SingleTerm as u8 | NgramSet::NgramFF as u8 | NgramSet::NgramFFF` - /// - /// When **minimal phrase query latency** is more important than low index size, we recommend **Single Terms + Mixed Bigrams + Frequent Trigrams**: - /// `NgramSet::SingleTerm as u8 | NgramSet::NgramFF as u8 | NgramSet::NgramFR as u8 | NgramSet::NgramRF | NgramSet::NgramFFF` - #[serde(default = "ngram_indexing_default")] - pub ngram_indexing: u8, - - /// AccessType defines where the index resides during search: Ram or Mmap - pub access_type: AccessType, - /// Enable spelling correction for search queries using the SymSpell algorithm. - /// SymSpell enables finding those spelling suggestions in a dictionary very fast with minimum Damerau-Levenshtein edit distance and maximum word occurrence frequency. - /// When enabled, a SymSpell dictionary is incrementally created during indexing of documents and stored in the index. - /// The spelling correction is not based on a generic dictionary, but on a domain specific one derived from your indexed documents (only indexed fields). - /// This makes it language independent and prevents any discrepancy between corrected word and indexed content. - /// The creation of an individual dictionary derived from the indexed documents improves the correction quality compared to a generic dictionary. - /// An dictionary per index improves the privacy compared to a global dictionary derived from all indices. - /// The dictionary is deleted when delete_index or clear_index is called. - /// Note: enabling spelling correction increases the index size, indexing time and query latency. - /// Default: None. Enable by setting CreateDictionary with values for max_dictionary_edit_distance (1..2 recommended) and optionally a term length thresholds for each edit distance. - /// The higher the value, the higher the number of errors taht can be corrected - but also the memory consumption, lookup latency, and the number of false positives. - /// ⚠️ In addition to the create_index parameter `meta.spelling_correction` you also need to set the parameter `query_rewriting` in the search method to enable it per query. - #[serde(default)] - pub spelling_correction: Option, - - /// Enable query completion for search queries - /// When enabled, an auto-completion list is incrementally created during indexing of documents and stored in the index. - /// Because the completions are not based on a generic dictionary, but on a domain specific one derived from your indexed documents (only from indexed fields with completion_source=true), this increases the relevance of completions. - /// ⚠️ Deriving completions from indexed documents increases the indexing time and index size. - #[serde(default)] - pub query_completion: Option, -} - -fn ngram_indexing_default() -> u8 { - NgramSet::NgramFF as u8 | NgramSet::NgramFFF as u8 -} - -#[derive(Debug, Clone, Default)] -pub(crate) struct ResultFacet { - pub field: String, - pub values: AHashMap, - pub prefix: String, - pub length: u32, - pub ranges: Ranges, -} - -/// DistanceUnit defines the unit for distance calculation: kilometers or miles. -#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, ToSchema)] -pub enum DistanceUnit { - /// Kilometers - Kilometers, - /// Miles - Miles, -} - -/// DistanceField defines a field for proximity search. -#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] -pub struct DistanceField { - /// field name of a numeric facet field (currently onyl Point field type supported) - pub field: String, - /// field name of the distance field we are deriving from the numeric facet field (Point type) and the base (Point type) - pub distance: String, - /// base point (lat,lon) for distance calculation - pub base: Point, - /// distance unit for the distance field: kilometers or miles - pub unit: DistanceUnit, -} - -impl Default for DistanceField { - fn default() -> Self { - DistanceField { - field: String::new(), - distance: String::new(), - base: Vec::new(), - unit: DistanceUnit::Kilometers, - } - } -} - -/// MinMaxField represents the minimum and maximum value of a field. -#[derive(Deserialize, Serialize, Debug, Clone, Default)] -pub struct MinMaxField { - /// minimum value of the field - pub min: ValueType, - /// maximum value of the field - pub max: ValueType, -} - -/// MinMaxFieldJson is a JSON representation of the minimum and maximum value of a field. -#[derive(Deserialize, Serialize, Debug, Clone, Default, ToSchema)] -pub struct MinMaxFieldJson { - /// minimum value of the field - pub min: serde_json::Value, - /// maximum value of the field - pub max: serde_json::Value, -} - -/// Value type for a field: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point, none. -#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq)] -pub enum ValueType { - /// Unsigned 8-bit integer - U8(u8), - /// Unsigned 16-bit integer - U16(u16), - /// Unsigned 32-bit integer - U32(u32), - /// Unsigned 64-bit integer - U64(u64), - /// Signed 8-bit integer - I8(i8), - /// Signed 16-bit integer - I16(i16), - /// Signed 32-bit integer - I32(i32), - /// Signed 64-bit integer - I64(i64), - /// Unix timestamp: the number of seconds since 1 January 1970 - Timestamp(i64), - /// Floating point 32-bit - F32(f32), - /// Floating point 64-bit - F64(f64), - /// Geographic Point: a pair of latitude and longitude coordinates and a distance unit (kilometers, miles) - Point(Point, DistanceUnit), - /// No value - #[default] - None, -} - -/// Facet field, with field name and a map of unique values and their count (number of times the specific value appears in the whole index). -#[derive(Deserialize, Serialize, Debug, Clone, Default)] -pub struct FacetField { - /// Facet field name - pub name: String, - /// Vector of facet value names and their count - /// The number of distinct string values and numerical ranges per facet field (cardinality) is limited to 65_536. - /// Once that number is reached, the facet field is not updated anymore (no new values are added, no existing values are counted). - pub values: IndexMap, usize)>, - - /// Minimum value of the facet field - pub min: ValueType, - /// Maximum value of the facet field - pub max: ValueType, - - #[serde(skip)] - pub(crate) offset: usize, - #[serde(skip)] - pub(crate) field_type: FieldType, -} - -/// Facet field, with field name and a vector of unique values and their count (number of times the specific value appears in the whole index). -/// Facet field: a vector of unique values and their count (number of times the specific value appears in the whole index). -pub type Facet = Vec<(String, usize)>; - -/// Shard wrapped in Arc and RwLock for concurrent read and write access. -pub type ShardArc = Arc>; - -/// Index wrapped in Arc and RwLock for concurrent read and write access. -pub type IndexArc = Arc>; - -/// The shard object of the index. It contains all levels and all segments of the index. -/// It also contains all properties that control indexing and intersection. -pub struct Shard { - /// Incompatible index format change: new library can't open old format, and old library can't open new format - pub index_format_version_major: u16, - /// Backward compatible format change: new library can open old format, but old library can't open new format - pub index_format_version_minor: u16, - - /// Number of indexed documents - pub(crate) indexed_doc_count: usize, - /// Number of comitted documents - pub(crate) committed_doc_count: usize, - /// The index countains indexed, but uncommitted documents. Documents will either committed automatically once the number exceeds 64K documents, or once commit is invoked manually. - pub(crate) uncommitted: bool, - - /// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. - pub schema_map: HashMap, - /// List of stored fields in the index: get_document and highlighter work only with stored fields - pub stored_field_names: Vec, - /// Specifies SimilarityType, TokenizerType and AccessType when creating an new index - pub meta: IndexMetaObject, - - pub(crate) is_last_level_incomplete: bool, - pub(crate) last_level_index_file_start_pos: u64, - pub(crate) last_level_docstore_file_start_pos: u64, - - /// Number of allowed parallel indexed documents (default=available_parallelism). Can be used to detect wehen all indexing processes are finished. - pub(crate) permits: Arc, - - pub(crate) docstore_file: File, - pub(crate) docstore_file_mmap: Mmap, - - pub(crate) delete_file: File, - pub(crate) delete_hashset: AHashSet, - - pub(crate) index_file: File, - pub(crate) index_path_string: String, - pub(crate) index_file_mmap: Mmap, - - pub(crate) compressed_index_segment_block_buffer: Vec, - pub(crate) compressed_docstore_segment_block_buffer: Vec, - - pub(crate) segment_number1: usize, - pub(crate) segment_number_bits1: usize, - - pub(crate) document_length_normalized_average: f32, - pub(crate) positions_sum_normalized: u64, - - pub(crate) level_index: Vec, - pub(crate) segments_index: Vec, - pub(crate) segments_level0: Vec, - - pub(crate) enable_fallback: bool, - pub(crate) enable_single_term_topk: bool, - pub(crate) enable_search_quality_test: bool, - pub(crate) enable_inter_query_threading: bool, - pub(crate) enable_inter_query_threading_auto: bool, - - pub(crate) segment_number_mask1: u32, - - pub(crate) indexed_field_vec: Vec, - pub(crate) indexed_field_id_bits: usize, - pub(crate) indexed_field_id_mask: usize, - pub(crate) longest_field_id: usize, - pub(crate) longest_field_auto: bool, - pub(crate) indexed_schema_vec: Vec, - - pub(crate) document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]>, - pub(crate) key_count_sum: u64, - - pub(crate) block_id: usize, - pub(crate) strip_compressed_sum: u64, - pub(crate) postings_buffer: Vec, - pub(crate) postings_buffer_pointer: usize, - - pub(crate) size_compressed_positions_index: u64, - pub(crate) size_compressed_docid_index: u64, - - pub(crate) postinglist_count: usize, - pub(crate) docid_count: usize, - pub(crate) position_count: usize, - - pub(crate) mute: bool, - pub(crate) frequentword_results: AHashMap, - - pub(crate) facets: Vec, - pub(crate) facets_map: AHashMap, - pub(crate) facets_size_sum: usize, - pub(crate) facets_file: File, - pub(crate) facets_file_mmap: MmapMut, - pub(crate) bm25_component_cache: [f32; 256], - - pub(crate) string_set_to_single_term_id_vec: Vec>>, - - pub(crate) synonyms_map: AHashMap, - - #[cfg(feature = "zh")] - pub(crate) word_segmentation_option: Option, - - pub(crate) shard_number: usize, - pub(crate) index_option: Option>>, - pub(crate) stemmer: Option, - - pub(crate) stop_words: AHashSet, - pub(crate) frequent_words: Vec, - pub(crate) frequent_hashset: AHashSet, - pub(crate) key_head_size: usize, - pub(crate) level_terms: AHashMap, - pub(crate) level_completions: Arc, usize>>>, -} - -/// The root object of the index. It contains all levels and all segments of the index. -/// It also contains all properties that control indexing and intersection. -pub struct Index { - /// Incompatible index format change: new library can't open old format, and old library can't open new format - pub index_format_version_major: u16, - /// Backward compatible format change: new library can open old format, but old library can't open new format - pub index_format_version_minor: u16, - - /// Number of indexed documents - pub(crate) indexed_doc_count: usize, - - /// Number of deleted documents - pub(crate) deleted_doc_count: usize, - - /// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. - pub schema_map: HashMap, - /// List of stored fields in the index: get_document and highlighter work only with stored fields - pub stored_field_names: Vec, - /// Specifies SimilarityType, TokenizerType and AccessType when creating an new index - pub meta: IndexMetaObject, - - pub(crate) index_file: File, - pub(crate) index_path_string: String, - - pub(crate) compressed_index_segment_block_buffer: Vec, - - pub(crate) segment_number1: usize, - pub(crate) segment_number_mask1: u32, - - pub(crate) indexed_field_vec: Vec, - - pub(crate) mute: bool, - - pub(crate) facets: Vec, - - pub(crate) synonyms_map: AHashMap, - - pub(crate) shard_number: usize, - pub(crate) shard_bits: usize, - pub(crate) shard_vec: Vec>>, - pub(crate) shard_queue: Arc>>, - - pub(crate) max_dictionary_entries: usize, - pub(crate) symspell_option: Option>>, - - pub(crate) max_completion_entries: usize, - pub(crate) completion_option: Option>>, - - pub(crate) frequent_hashset: AHashSet, -} - -///SynonymItem is a vector of tuples: (synonym term, (64-bit synonym term hash, 64-bit synonym term hash)) -pub type SynonymItem = Vec<(String, (u64, u32))>; - -/// Get the version of the SeekStorm search library -pub fn version() -> &'static str { - VERSION -} - -pub(crate) fn get_synonyms_map( - synonyms: &[Synonym], - segment_number_mask1: u32, -) -> AHashMap { - let mut synonyms_map: AHashMap = AHashMap::new(); - for synonym in synonyms.iter() { - if synonym.terms.len() > 1 { - let mut hashes: Vec<(String, (u64, u32))> = Vec::new(); - for term in synonym.terms.iter() { - let term_bytes = term.to_lowercase(); - hashes.push(( - term.to_string(), - ( - hash64(term_bytes.as_bytes()), - hash32(term_bytes.as_bytes()) & segment_number_mask1, - ), - )); - } - if synonym.multiway { - for (i, hash) in hashes.iter().enumerate() { - let new_synonyms = if i == 0 { - hashes[1..].to_vec() - } else if i == hashes.len() - 1 { - hashes[..hashes.len() - 1].to_vec() - } else { - [&hashes[..i], &hashes[(i + 1)..]].concat() - }; - - if let Some(item) = synonyms_map.get_mut(&hash.1.0) { - *item = item - .clone() - .into_iter() - .chain(new_synonyms.into_iter()) - .collect::>() - .into_iter() - .collect(); - } else { - synonyms_map.insert(hash.1.0, new_synonyms); - } - } - } else { - synonyms_map.insert(hashes[0].1.0, hashes[1..].to_vec()); - } - } - } - synonyms_map -} - -/// N-gram indexing: n-grams are indexed in addition to single terms, for faster phrase search, at the cost of higher index size -/// Setting valid both for index time and query time. Any change requires reindexing. -/// bitwise OR flags: -#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, FromPrimitive)] -pub enum NgramSet { - /// no n-grams, only single terms are indexed - SingleTerm = 0b00000000, - /// Ngram frequent frequent - NgramFF = 0b00000001, - /// Ngram frequent rare - NgramFR = 0b00000010, - /// Ngram rare frequent - NgramRF = 0b00000100, - /// Ngram frequent frequent frequent - NgramFFF = 0b00001000, - /// Ngram rare frequent frequent - NgramRFF = 0b00010000, - /// Ngram frequent frequent rare - NgramFFR = 0b00100000, - /// Ngram frequent rare frequent - NgramFRF = 0b01000000, -} - -#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, FromPrimitive, Default)] -pub(crate) enum NgramType { - /// no n-grams, only single terms are indexed - #[default] - SingleTerm = 0, - /// Ngram frequent frequent - NgramFF = 1, - /// Ngram frequent rare - NgramFR = 2, - /// Ngram rare frequent - NgramRF = 3, - /// Ngram frequent frequent frequent - NgramFFF = 4, - /// Ngram rare frequent frequent - NgramRFF = 5, - /// Ngram frequent frequent rare - NgramFFR = 6, - /// Ngram frequent rare frequent - NgramFRF = 7, -} - -/// Create index in RAM. -/// Inner data structures for create index and open_index -/// * `index_path` - index path. -/// * `meta` - index meta object. -/// * `schema` - schema. -/// * `synonyms` - vector of synonyms. -/// * `segment_number_bits1` - number of index segments: e.g. 11 bits for 2048 segments. -/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). -/// * `force_shard_number` - set number of shards manually or automatically. -/// - none: number of shards is set automatically = number of physical processor cores (default) -/// - small: slower indexing, higher latency, slightly higher throughput, faster realtime search, lower RAM consumption -/// - large: faster indexing, lower latency, slightly lower throughput, slower realtime search, higher RAM consumption -pub async fn create_index( - index_path: PathBuf, - meta: IndexMetaObject, - schema: &Vec, - synonyms: &Vec, - segment_number_bits1: usize, - mute: bool, - force_shard_number: Option, -) -> Result { - create_index_root( - index_path, - meta, - schema, - true, - synonyms, - segment_number_bits1, - mute, - force_shard_number, - ) - .await -} - -#[allow(clippy::too_many_arguments)] -pub(crate) async fn create_index_root( - index_path: PathBuf, - meta: IndexMetaObject, - schema: &Vec, - serialize_schema: bool, - synonyms: &Vec, - segment_number_bits1: usize, - mute: bool, - force_shard_number: Option, -) -> Result { - let frequent_hashset: AHashSet = match &meta.frequent_words { - FrequentwordType::None => AHashSet::new(), - FrequentwordType::English => FREQUENT_EN.lines().map(|x| hash64(x.as_bytes())).collect(), - FrequentwordType::German => FREQUENT_EN.lines().map(|x| hash64(x.as_bytes())).collect(), - FrequentwordType::French => FREQUENT_FR.lines().map(|x| hash64(x.as_bytes())).collect(), - FrequentwordType::Spanish => FREQUENT_ES.lines().map(|x| hash64(x.as_bytes())).collect(), - FrequentwordType::Custom { terms } => terms.iter().map(|x| hash64(x.as_bytes())).collect(), - }; - - let segment_number1 = 1usize << segment_number_bits1; - let segment_number_mask1 = (1u32 << segment_number_bits1) - 1; - - let index_path_buf = index_path.to_path_buf(); - let index_path_string = index_path_buf.to_str().unwrap(); - - if !index_path.exists() { - if !mute { - println!("index path created: {} ", index_path_string); - } - fs::create_dir_all(index_path).unwrap(); - } - - let file_path = PathBuf::new(index_path_string).join(FILE_PATH); - if !file_path.exists() { - if !mute { - println!("index directory created: {} ", file_path.display()); - } - fs::create_dir_all(file_path).unwrap(); - } - - match File::options() - .read(true) - .write(true) - .create(true) - .truncate(false) - .open(PathBuf::new(index_path).join(INDEX_FILENAME)) - { - Ok(index_file) => { - let mut document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]> = Vec::new(); - let mut indexed_field_vec: Vec = Vec::new(); - let mut facets_vec: Vec = Vec::new(); - let mut facets_map: AHashMap = AHashMap::new(); - - let mut schema_map: HashMap = HashMap::new(); - let mut indexed_schema_vec: Vec = Vec::new(); - let mut stored_field_names = Vec::new(); - let mut facets_size_sum = 0; - let mut longest_field_id_option: Option = None; - for (i, schema_field) in schema.iter().enumerate() { - let mut schema_field_clone = schema_field.clone(); - schema_field_clone.indexed_field_id = indexed_field_vec.len(); - if schema_field.longest && schema_field.indexed { - longest_field_id_option = Some(schema_field_clone.indexed_field_id); - } - - schema_field_clone.field_id = i; - schema_map.insert(schema_field.field.clone(), schema_field_clone.clone()); - - if schema_field.facet { - let facet_size = match schema_field.field_type { - FieldType::U8 => 1, - FieldType::U16 => 2, - FieldType::U32 => 4, - FieldType::U64 => 8, - FieldType::I8 => 1, - FieldType::I16 => 2, - FieldType::I32 => 4, - FieldType::I64 => 8, - FieldType::Timestamp => 8, - FieldType::F32 => 4, - FieldType::F64 => 8, - FieldType::String16 => 2, - FieldType::String32 => 4, - FieldType::StringSet16 => 2, - FieldType::StringSet32 => 4, - FieldType::Point => 8, - _ => 1, - }; - - facets_map.insert(schema_field.field.clone(), facets_vec.len()); - facets_vec.push(FacetField { - name: schema_field.field.clone(), - values: IndexMap::new(), - min: ValueType::None, - max: ValueType::None, - offset: facets_size_sum, - field_type: schema_field.field_type.clone(), - }); - facets_size_sum += facet_size; - } - - if schema_field.indexed { - indexed_field_vec.push(IndexedField { - schema_field_name: schema_field.field.clone(), - is_longest_field: false, - field_length_sum: 0, - indexed_field_id: indexed_field_vec.len(), - }); - indexed_schema_vec.push(schema_field_clone); - document_length_compressed_array.push([0; ROARING_BLOCK_SIZE]); - } - - if schema_field.stored { - stored_field_names.push(schema_field.field.clone()); - } - } - - if !facets_vec.is_empty() - && let Ok(file) = File::open(PathBuf::new(index_path).join(FACET_VALUES_FILENAME)) - && let Ok(facets) = serde_json::from_reader(BufReader::new(file)) - { - let mut facets: Vec = facets; - if facets_vec.len() == facets.len() { - for i in 0..facets.len() { - facets[i].offset = facets_vec[i].offset; - facets[i].field_type = facets_vec[i].field_type.clone(); - } - } - facets_vec = facets; - } - - let synonyms_map = get_synonyms_map(synonyms, segment_number_mask1); - - let shard_number = if let Some(shard_number) = force_shard_number { - shard_number - } else { - num_cpus::get_physical() - }; - let shard_bits = if serialize_schema { - (usize::BITS - (shard_number - 1).leading_zeros()) as usize - } else { - 0 - }; - - let mut shard_vec: Vec>> = Vec::new(); - let mut shard_queue = VecDeque::::new(); - if serialize_schema { - let mut result_object_list = Vec::new(); - let index_path_clone = Arc::new(index_path.to_path_buf()); - for i in 0..shard_number { - let index_path_clone2 = index_path_clone.clone(); - let meta_clone = meta.clone(); - let schema_clone = schema.clone(); - result_object_list.push(tokio::spawn(async move { - let shard_path = index_path_clone2.join("shards").join(i.to_string()); - let mut shard_meta = meta_clone.clone(); - shard_meta.id = i as u64; - let mut shard = create_shard( - &shard_path, - &shard_meta, - &schema_clone, - serialize_schema, - &Vec::new(), - segment_number_bits1, - mute, - longest_field_id_option, - ) - .unwrap(); - shard.shard_number = shard_number; - let shard_arc = Arc::new(RwLock::new(shard)); - (shard_arc, i) - })); - } - for result_object_shard in result_object_list { - let ro_shard = result_object_shard.await.unwrap(); - shard_vec.push(ro_shard.0); - shard_queue.push_back(ro_shard.1); - } - } - - let shard_queue_arc = Arc::new(RwLock::new(shard_queue)); - - let mut index = Index { - index_format_version_major: INDEX_FORMAT_VERSION_MAJOR, - index_format_version_minor: INDEX_FORMAT_VERSION_MINOR, - - index_file, - index_path_string: index_path_string.to_owned(), - stored_field_names, - - compressed_index_segment_block_buffer: vec![0; 10_000_000], - indexed_doc_count: 0, - deleted_doc_count: 0, - segment_number1: 0, - segment_number_mask1: 0, - schema_map, - indexed_field_vec, - meta: meta.clone(), - mute, - facets: facets_vec, - synonyms_map, - - shard_number, - shard_bits, - shard_vec, - shard_queue: shard_queue_arc, - - max_dictionary_entries: if let Some(spelling_correction) = &meta.spelling_correction - { - spelling_correction.max_dictionary_entries - } else { - usize::MAX - }, - - symspell_option: if let Some(spelling_correction) = meta.spelling_correction { - Some(Arc::new(RwLock::new(SymSpell::new( - spelling_correction.max_dictionary_edit_distance, - spelling_correction.term_length_threshold, - 7, - spelling_correction.count_threshold, - )))) - } else { - None - }, - - max_completion_entries: if let Some(query_completion) = &meta.query_completion { - query_completion.max_completion_entries - } else { - usize::MAX - }, - - completion_option: meta - .query_completion - .as_ref() - .map(|_query_completion| Arc::new(RwLock::new(PruningRadixTrie::new()))), - - frequent_hashset, - }; - - let file_len = index.index_file.metadata().unwrap().len(); - if file_len == 0 { - write_u16( - INDEX_FORMAT_VERSION_MAJOR, - &mut index.compressed_index_segment_block_buffer, - 0, - ); - write_u16( - INDEX_FORMAT_VERSION_MINOR, - &mut index.compressed_index_segment_block_buffer, - 2, - ); - let _ = index.index_file.write( - &index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], - ); - } else { - let _ = index.index_file.read( - &mut index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], - ); - index.index_format_version_major = - read_u16(&index.compressed_index_segment_block_buffer, 0); - index.index_format_version_minor = - read_u16(&index.compressed_index_segment_block_buffer, 2); - - if INDEX_FORMAT_VERSION_MAJOR != index.index_format_version_major { - return Err("incompatible index format version ".to_string() - + &INDEX_FORMAT_VERSION_MAJOR.to_string() - + " " - + &index.index_format_version_major.to_string()); - }; - } - - index.segment_number1 = segment_number1; - index.segment_number_mask1 = segment_number_mask1; - - if serialize_schema { - serde_json::to_writer( - &File::create(PathBuf::new(index_path).join(SCHEMA_FILENAME)).unwrap(), - &schema, - ) - .unwrap(); - - if !synonyms.is_empty() { - serde_json::to_writer( - &File::create(PathBuf::new(index_path).join(SYNONYMS_FILENAME)).unwrap(), - &synonyms, - ) - .unwrap(); - } - - serde_json::to_writer( - &File::create(PathBuf::new(index_path).join(META_FILENAME)).unwrap(), - &index.meta, - ) - .unwrap(); - } - - let index_arc = Arc::new(RwLock::new(index)); - - if serialize_schema { - for shard in index_arc.write().await.shard_vec.iter() { - shard.write().await.index_option = Some(index_arc.clone()); - } - } - - Ok(index_arc) - } - Err(e) => { - println!("file opening error"); - Err(e.to_string()) - } - } -} - -#[allow(clippy::too_many_arguments)] -pub(crate) fn create_shard( - index_path: PathBuf, - meta: &IndexMetaObject, - schema: &Vec, - serialize_schema: bool, - synonyms: &Vec, - segment_number_bits1: usize, - mute: bool, - longest_field_id_option: Option, -) -> Result { - let segment_number1 = 1usize << segment_number_bits1; - let segment_number_mask1 = (1u32 << segment_number_bits1) - 1; - - let index_path_buf = index_path.to_path_buf(); - let index_path_string = index_path_buf.to_str().unwrap(); - - if !index_path.exists() { - fs::create_dir_all(index_path).unwrap(); - } - - let file_path = PathBuf::new(index_path_string).join(FILE_PATH); - if !file_path.exists() { - fs::create_dir_all(file_path).unwrap(); - } - - match File::options() - .read(true) - .write(true) - .create(true) - .truncate(false) - .open(PathBuf::new(index_path).join(INDEX_FILENAME)) - { - Ok(index_file) => { - let docstore_file = File::options() - .read(true) - .write(true) - .create(true) - .truncate(false) - .open(PathBuf::new(index_path).join(DOCSTORE_FILENAME)) - .unwrap(); - - let delete_file = File::options() - .read(true) - .write(true) - .create(true) - .truncate(false) - .open(PathBuf::new(index_path).join(DELETE_FILENAME)) - .unwrap(); - - let facets_file = File::options() - .read(true) - .write(true) - .create(true) - .truncate(false) - .open(PathBuf::new(index_path).join(FACET_FILENAME)) - .unwrap(); - - let mut document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]> = Vec::new(); - let mut indexed_field_vec: Vec = Vec::new(); - let mut facets_vec: Vec = Vec::new(); - let mut facets_map: AHashMap = AHashMap::new(); - - let mut schema_map: HashMap = HashMap::new(); - let mut indexed_schema_vec: Vec = Vec::new(); - let mut stored_fields_flag = false; - let mut stored_field_names = Vec::new(); - let mut facets_size_sum = 0; - for (i, schema_field) in schema.iter().enumerate() { - let mut schema_field_clone = schema_field.clone(); - schema_field_clone.indexed_field_id = indexed_field_vec.len(); - schema_field_clone.field_id = i; - schema_map.insert(schema_field.field.clone(), schema_field_clone.clone()); - - if schema_field.facet { - let facet_size = match schema_field.field_type { - FieldType::U8 => 1, - FieldType::U16 => 2, - FieldType::U32 => 4, - FieldType::U64 => 8, - FieldType::I8 => 1, - FieldType::I16 => 2, - FieldType::I32 => 4, - FieldType::I64 => 8, - FieldType::Timestamp => 8, - FieldType::F32 => 4, - FieldType::F64 => 8, - FieldType::String16 => 2, - FieldType::String32 => 4, - FieldType::StringSet16 => 2, - FieldType::StringSet32 => 4, - FieldType::Point => 8, - _ => 1, - }; - - facets_map.insert(schema_field.field.clone(), facets_vec.len()); - facets_vec.push(FacetField { - name: schema_field.field.clone(), - values: IndexMap::new(), - min: ValueType::None, - max: ValueType::None, - offset: facets_size_sum, - field_type: schema_field.field_type.clone(), - }); - facets_size_sum += facet_size; - } - - if schema_field.indexed { - indexed_field_vec.push(IndexedField { - schema_field_name: schema_field.field.clone(), - is_longest_field: false, - field_length_sum: 0, - indexed_field_id: indexed_field_vec.len(), - }); - indexed_schema_vec.push(schema_field_clone); - document_length_compressed_array.push([0; ROARING_BLOCK_SIZE]); - } - - if schema_field.stored { - stored_fields_flag = true; - stored_field_names.push(schema_field.field.clone()); - } - } - - let indexed_field_id_bits = - (usize::BITS - (indexed_field_vec.len() - 1).leading_zeros()) as usize; - - let index_file_mmap; - let docstore_file_mmap = if meta.access_type == AccessType::Mmap { - index_file_mmap = unsafe { Mmap::map(&index_file).expect("Unable to create Mmap") }; - unsafe { Mmap::map(&docstore_file).expect("Unable to create Mmap") } - } else { - index_file_mmap = unsafe { - MmapOptions::new() - .len(0) - .map(&index_file) - .expect("Unable to create Mmap") - }; - unsafe { - MmapOptions::new() - .len(0) - .map(&docstore_file) - .expect("Unable to create Mmap") - } - }; - - if !facets_vec.is_empty() - && let Ok(file) = File::open(PathBuf::new(index_path).join(FACET_VALUES_FILENAME)) - && let Ok(facets) = serde_json::from_reader(BufReader::new(file)) - { - let mut facets: Vec = facets; - if facets_vec.len() == facets.len() { - for i in 0..facets.len() { - facets[i].offset = facets_vec[i].offset; - facets[i].field_type = facets_vec[i].field_type.clone(); - } - } - facets_vec = facets; - } - - let facets_file_mmap = if !facets_vec.is_empty() { - if facets_file.metadata().unwrap().len() == 0 { - facets_file - .set_len((facets_size_sum * ROARING_BLOCK_SIZE) as u64) - .expect("Unable to set len"); - } - - unsafe { MmapMut::map_mut(&facets_file).expect("Unable to create Mmap") } - } else { - unsafe { MmapMut::map_mut(&facets_file).expect("Unable to create Mmap") } - }; - - let synonyms_map = get_synonyms_map(synonyms, segment_number_mask1); - - let facets_len = facets_vec.len(); - - #[cfg(feature = "zh")] - let word_segmentation_option = if meta.tokenizer == TokenizerType::UnicodeAlphanumericZH - { - let mut word_segmentation = WordSegmentationTM::new(); - word_segmentation.load_dictionary(0, 1, true); - Some(word_segmentation) - } else { - None - }; - - let shard_number = 1; - - let stemmer = match meta.stemmer { - StemmerType::Arabic => Some(Stemmer::create(Algorithm::Arabic)), - StemmerType::Danish => Some(Stemmer::create(Algorithm::Danish)), - StemmerType::Dutch => Some(Stemmer::create(Algorithm::Dutch)), - StemmerType::English => Some(Stemmer::create(Algorithm::English)), - StemmerType::Finnish => Some(Stemmer::create(Algorithm::Finnish)), - StemmerType::French => Some(Stemmer::create(Algorithm::French)), - StemmerType::German => Some(Stemmer::create(Algorithm::German)), - StemmerType::Greek => Some(Stemmer::create(Algorithm::Greek)), - StemmerType::Hungarian => Some(Stemmer::create(Algorithm::Hungarian)), - StemmerType::Italian => Some(Stemmer::create(Algorithm::Italian)), - StemmerType::Norwegian => Some(Stemmer::create(Algorithm::Norwegian)), - StemmerType::Portuguese => Some(Stemmer::create(Algorithm::Portuguese)), - StemmerType::Romanian => Some(Stemmer::create(Algorithm::Romanian)), - StemmerType::Russian => Some(Stemmer::create(Algorithm::Russian)), - StemmerType::Spanish => Some(Stemmer::create(Algorithm::Spanish)), - StemmerType::Swedish => Some(Stemmer::create(Algorithm::Swedish)), - StemmerType::Tamil => Some(Stemmer::create(Algorithm::Tamil)), - StemmerType::Turkish => Some(Stemmer::create(Algorithm::Turkish)), - _ => None, - }; - - let stop_words: AHashSet = match &meta.stop_words { - StopwordType::None => AHashSet::new(), - StopwordType::English => FREQUENT_EN.lines().map(|x| x.to_string()).collect(), - StopwordType::German => FREQUENT_DE.lines().map(|x| x.to_string()).collect(), - StopwordType::French => FREQUENT_FR.lines().map(|x| x.to_string()).collect(), - StopwordType::Spanish => FREQUENT_ES.lines().map(|x| x.to_string()).collect(), - StopwordType::Custom { terms } => terms.iter().map(|x| x.to_string()).collect(), - }; - - let frequent_words: Vec = match &meta.frequent_words { - FrequentwordType::None => Vec::new(), - FrequentwordType::English => { - let mut words: Vec = - FREQUENT_EN.lines().map(|x| x.to_string()).collect(); - words.sort_unstable(); - words - } - FrequentwordType::German => { - let mut words: Vec = - FREQUENT_DE.lines().map(|x| x.to_string()).collect(); - words.sort_unstable(); - words - } - FrequentwordType::French => { - let mut words: Vec = - FREQUENT_FR.lines().map(|x| x.to_string()).collect(); - words.sort_unstable(); - words - } - FrequentwordType::Spanish => { - let mut words: Vec = - FREQUENT_ES.lines().map(|x| x.to_string()).collect(); - words.sort_unstable(); - words - } - FrequentwordType::Custom { terms } => { - let mut words: Vec = terms.iter().map(|x| x.to_string()).collect(); - words.sort_unstable(); - words - } - }; - - let frequent_hashset: AHashSet = frequent_words - .iter() - .map(|x| hash64(x.as_bytes())) - .collect(); - - let mut index = Shard { - index_format_version_major: INDEX_FORMAT_VERSION_MAJOR, - index_format_version_minor: INDEX_FORMAT_VERSION_MINOR, - docstore_file, - delete_file, - delete_hashset: AHashSet::new(), - index_file, - index_path_string: index_path_string.to_owned(), - index_file_mmap, - docstore_file_mmap, - stored_field_names, - compressed_index_segment_block_buffer: vec![0; 10_000_000], - compressed_docstore_segment_block_buffer: if stored_fields_flag { - vec![0; ROARING_BLOCK_SIZE * 4] - } else { - Vec::new() - }, - document_length_normalized_average: 0.0, - indexed_doc_count: 0, - committed_doc_count: 0, - is_last_level_incomplete: false, - last_level_index_file_start_pos: 0, - last_level_docstore_file_start_pos: 0, - positions_sum_normalized: 0, - segment_number1: 0, - segment_number_bits1, - segment_number_mask1: 0, - level_index: Vec::new(), - segments_index: Vec::new(), - segments_level0: Vec::new(), - uncommitted: false, - enable_fallback: false, - enable_single_term_topk: false, - enable_search_quality_test: false, - enable_inter_query_threading: false, - enable_inter_query_threading_auto: false, - schema_map, - indexed_field_id_bits, - indexed_field_id_mask: (1usize << indexed_field_id_bits) - 1, - longest_field_id: longest_field_id_option.unwrap_or_default(), - longest_field_auto: longest_field_id_option.is_none(), - indexed_field_vec, - indexed_schema_vec, - meta: meta.clone(), - document_length_compressed_array, - key_count_sum: 0, - - block_id: 0, - strip_compressed_sum: 0, - postings_buffer: vec![0; POSTING_BUFFER_SIZE], - postings_buffer_pointer: 0, - - docid_count: 0, - size_compressed_docid_index: 0, - size_compressed_positions_index: 0, - position_count: 0, - postinglist_count: 0, - permits: Arc::new(Semaphore::new(1)), - mute, - frequentword_results: AHashMap::new(), - facets: facets_vec, - facets_map, - facets_size_sum, - facets_file, - facets_file_mmap, - string_set_to_single_term_id_vec: vec![AHashMap::new(); facets_len], - bm25_component_cache: [0.0; 256], - synonyms_map, - #[cfg(feature = "zh")] - word_segmentation_option, - - shard_number, - index_option: None, - stemmer, - stop_words, - frequent_words, - frequent_hashset, - key_head_size: if meta.ngram_indexing == 0 { - 20 - } else if meta.ngram_indexing < 8 { - 22 - } else { - 23 - }, - level_terms: AHashMap::new(), - level_completions: Arc::new(RwLock::new(AHashMap::with_capacity(200_000))), - }; - - let file_len = index.index_file.metadata().unwrap().len(); - if file_len == 0 { - write_u16( - INDEX_FORMAT_VERSION_MAJOR, - &mut index.compressed_index_segment_block_buffer, - 0, - ); - write_u16( - INDEX_FORMAT_VERSION_MINOR, - &mut index.compressed_index_segment_block_buffer, - 2, - ); - let _ = index.index_file.write( - &index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], - ); - } else { - let _ = index.index_file.read( - &mut index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], - ); - index.index_format_version_major = - read_u16(&index.compressed_index_segment_block_buffer, 0); - index.index_format_version_minor = - read_u16(&index.compressed_index_segment_block_buffer, 2); - - if INDEX_FORMAT_VERSION_MAJOR != index.index_format_version_major { - return Err("incompatible index format version ".to_string() - + &INDEX_FORMAT_VERSION_MAJOR.to_string() - + " " - + &index.index_format_version_major.to_string()); - }; - } - - index.segment_number1 = segment_number1; - index.segment_number_mask1 = segment_number_mask1; - index.segments_level0 = vec![ - SegmentLevel0 { - segment: AHashMap::with_capacity(SEGMENT_KEY_CAPACITY), - ..Default::default() - }; - index.segment_number1 - ]; - - index.segments_index = Vec::new(); - for _i in 0..index.segment_number1 { - index.segments_index.push(SegmentIndex { - byte_array_blocks: Vec::new(), - byte_array_blocks_pointer: Vec::new(), - segment: AHashMap::new(), - }); - } - - if serialize_schema { - serde_json::to_writer( - &File::create(PathBuf::new(index_path).join(SCHEMA_FILENAME)).unwrap(), - &schema, - ) - .unwrap(); - - if !synonyms.is_empty() { - serde_json::to_writer( - &File::create(PathBuf::new(index_path).join(SYNONYMS_FILENAME)).unwrap(), - &synonyms, - ) - .unwrap(); - } - - serde_json::to_writer( - &File::create(PathBuf::new(index_path).join(META_FILENAME)).unwrap(), - &index.meta, - ) - .unwrap(); - } - - Ok(index) - } - Err(e) => { - println!("file opening error"); - Err(e.to_string()) - } - } -} - -#[inline(always)] -pub(crate) fn get_document_length_compressed_mmap( - index: &Shard, - field_id: usize, - block_id: usize, - doc_id_block: usize, -) -> u8 { - index.index_file_mmap[index.level_index[block_id].document_length_compressed_array_pointer - + (field_id << 16) - + doc_id_block] -} - -#[allow(clippy::too_many_arguments)] -pub(crate) fn get_max_score( - index: &Shard, - segment: &SegmentIndex, - posting_count_ngram_1: u32, - posting_count_ngram_2: u32, - posting_count_ngram_3: u32, - posting_count: u32, - block_id: usize, - max_docid: usize, - max_p_docid: usize, - pointer_pivot_p_docid: usize, - compression_type_pointer: u32, - ngram_type: &NgramType, -) -> f32 { - let byte_array = if index.meta.access_type == AccessType::Mmap { - &index.index_file_mmap[segment.byte_array_blocks_pointer[block_id].0 - ..segment.byte_array_blocks_pointer[block_id].0 - + segment.byte_array_blocks_pointer[block_id].1] - } else { - &segment.byte_array_blocks[block_id] - }; - - let mut bm25f = 0.0; - - let rank_position_pointer_range: u32 = - compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; - - let posting_pointer_size_sum; - let rank_position_pointer; - let posting_pointer_size; - let embed_flag; - if max_p_docid < pointer_pivot_p_docid { - posting_pointer_size_sum = max_p_docid as u32 * 2; - rank_position_pointer = read_u16( - byte_array, - rank_position_pointer_range as usize + posting_pointer_size_sum as usize, - ) as u32; - posting_pointer_size = 2; - embed_flag = (rank_position_pointer & 0b10000000_00000000) != 0; - } else { - posting_pointer_size_sum = (max_p_docid as u32) * 3 - pointer_pivot_p_docid as u32; - rank_position_pointer = read_u32( - byte_array, - rank_position_pointer_range as usize + posting_pointer_size_sum as usize, - ); - posting_pointer_size = 3; - embed_flag = (rank_position_pointer & 0b10000000_00000000_00000000) != 0; - }; - - let positions_pointer = if embed_flag { - rank_position_pointer_range as usize + posting_pointer_size_sum as usize - } else { - let pointer_value = if posting_pointer_size == 2 { - rank_position_pointer & 0b01111111_11111111 - } else { - rank_position_pointer & 0b01111111_11111111_11111111 - } as usize; - - rank_position_pointer_range as usize - pointer_value - }; - - let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); - let mut field_vec_ngram1 = SmallVec::new(); - let mut field_vec_ngram2 = SmallVec::new(); - let mut field_vec_ngram3 = SmallVec::new(); - - decode_positions_commit( - posting_pointer_size, - embed_flag, - byte_array, - positions_pointer, - ngram_type, - index.indexed_field_vec.len(), - index.indexed_field_id_bits, - index.indexed_field_id_mask, - index.longest_field_id as u16, - &mut field_vec, - &mut field_vec_ngram1, - &mut field_vec_ngram2, - &mut field_vec_ngram3, - ); - - if ngram_type == &NgramType::SingleTerm - || index.meta.similarity == SimilarityType::Bm25fProximity - { - let idf = (((index.indexed_doc_count as f32 - posting_count as f32 + 0.5) - / (posting_count as f32 + 0.5)) - + 1.0) - .ln(); - - for field in field_vec.iter() { - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) - } else { - index.level_index[block_id].document_length_compressed_array[field.0 as usize] - [max_docid] - } as usize] as f32; - - let document_length_quotient = - document_length_normalized / index.document_length_normalized_average; - - let tf = field.1 as f32; - - let weight = index.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * idf - * ((tf * (K + 1.0) / (tf + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } else if ngram_type == &NgramType::NgramFF - || ngram_type == &NgramType::NgramFR - || ngram_type == &NgramType::NgramRF - { - let idf_ngram1 = (((index.indexed_doc_count as f32 - posting_count_ngram_1 as f32 + 0.5) - / (posting_count_ngram_1 as f32 + 0.5)) - + 1.0) - .ln(); - - let idf_ngram2 = (((index.indexed_doc_count as f32 - posting_count_ngram_2 as f32 + 0.5) - / (posting_count_ngram_2 as f32 + 0.5)) - + 1.0) - .ln(); - - for field in field_vec_ngram1.iter() { - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) - } else { - index.level_index[block_id].document_length_compressed_array[field.0 as usize] - [max_docid] - } as usize] as f32; - - let document_length_quotient = - document_length_normalized / index.document_length_normalized_average; - - let tf_ngram1 = field.1 as f32; - - let weight = index.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - - for field in field_vec_ngram2.iter() { - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) - } else { - index.level_index[block_id].document_length_compressed_array[field.0 as usize] - [max_docid] - } as usize] as f32; - - let document_length_quotient = - document_length_normalized / index.document_length_normalized_average; - - let tf_ngram2 = field.1 as f32; - - let weight = index.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } else { - let idf_ngram1 = (((index.indexed_doc_count as f32 - posting_count_ngram_1 as f32 + 0.5) - / (posting_count_ngram_1 as f32 + 0.5)) - + 1.0) - .ln(); - - let idf_ngram2 = (((index.indexed_doc_count as f32 - posting_count_ngram_2 as f32 + 0.5) - / (posting_count_ngram_2 as f32 + 0.5)) - + 1.0) - .ln(); - - let idf_ngram3 = (((index.indexed_doc_count as f32 - posting_count_ngram_3 as f32 + 0.5) - / (posting_count_ngram_3 as f32 + 0.5)) - + 1.0) - .ln(); - - for field in field_vec_ngram1.iter() { - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) - } else { - index.level_index[block_id].document_length_compressed_array[field.0 as usize] - [max_docid] - } as usize] as f32; - - let document_length_quotient = - document_length_normalized / index.document_length_normalized_average; - - let tf_ngram1 = field.1 as f32; - - let weight = index.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - - for field in field_vec_ngram2.iter() { - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) - } else { - index.level_index[block_id].document_length_compressed_array[field.0 as usize] - [max_docid] - } as usize] as f32; - - let document_length_quotient = - document_length_normalized / index.document_length_normalized_average; - - let tf_ngram2 = field.1 as f32; - - let weight = index.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - - for field in field_vec_ngram3.iter() { - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type - == AccessType::Mmap - { - get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) - } else { - index.level_index[block_id].document_length_compressed_array[field.0 as usize] - [max_docid] - } as usize] as f32; - - let document_length_quotient = - document_length_normalized / index.document_length_normalized_average; - - let tf_ngram3 = field.1 as f32; - - let weight = index.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * idf_ngram3 - * ((tf_ngram3 * (K + 1.0) - / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } - bm25f -} - -pub(crate) fn update_list_max_impact_score(index: &mut Shard) { - if index.meta.access_type == AccessType::Mmap { - return; - } - - for key0 in 0..index.segment_number1 { - let keys: Vec = index.segments_index[key0].segment.keys().cloned().collect(); - for key in keys { - let ngram_type = FromPrimitive::from_u64(key & 0b111).unwrap_or(NgramType::SingleTerm); - - let blocks_len = index.segments_index[key0].segment[&key].blocks.len(); - let mut max_list_score = 0.0; - for block_index in 0..blocks_len { - let segment = &index.segments_index[key0]; - let posting_list = &segment.segment[&key]; - let block = &posting_list.blocks[block_index]; - let max_block_score = get_max_score( - index, - segment, - posting_list.posting_count_ngram_1, - posting_list.posting_count_ngram_2, - posting_list.posting_count_ngram_3, - posting_list.posting_count, - block.block_id as usize, - block.max_docid as usize, - block.max_p_docid as usize, - block.pointer_pivot_p_docid as usize, - block.compression_type_pointer, - &ngram_type, - ); - - index.segments_index[key0] - .segment - .get_mut(&key) - .unwrap() - .blocks[block_index] - .max_block_score = max_block_score; - max_list_score = f32::max(max_list_score, max_block_score); - } - index.segments_index[key0] - .segment - .get_mut(&key) - .unwrap() - .max_list_score = max_list_score; - } - } -} - -/// Loads the index from disk into RAM or MMAP. -/// * `index_path` - index path. -/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). -pub(crate) async fn open_shard(index_path: PathBuf, mute: bool) -> Result { - if !mute { - println!("opening index ..."); - } - - let mut index_mmap_position = INDEX_HEADER_SIZE as usize; - let mut docstore_mmap_position = 0; - - match File::open(PathBuf::new(index_path).join(META_FILENAME)) { - Ok(meta_file) => { - let meta: IndexMetaObject = serde_json::from_reader(BufReader::new(meta_file)).unwrap(); - - match File::open(PathBuf::new(index_path).join(SCHEMA_FILENAME)) { - Ok(schema_file) => { - let schema = serde_json::from_reader(BufReader::new(schema_file)).unwrap(); - - let synonyms = if let Ok(synonym_file) = - File::open(PathBuf::new(index_path).join(SYNONYMS_FILENAME)) - { - serde_json::from_reader(BufReader::new(synonym_file)).unwrap_or_default() - } else { - Vec::new() - }; - - match create_shard(index_path, &meta, &schema, false, &synonyms, 11, mute, None) - { - Ok(mut shard) => { - let mut block_count_sum = 0; - - let is_mmap = shard.meta.access_type == AccessType::Mmap; - - let file_len = if is_mmap { - shard.index_file_mmap.len() as u64 - } else { - shard.index_file.metadata().unwrap().len() - }; - - while if is_mmap { - index_mmap_position as u64 - } else { - shard.index_file.stream_position().unwrap() - } < file_len - { - let mut segment_head_vec: Vec<(u32, u32)> = Vec::new(); - for key0 in 0..shard.segment_number1 { - if key0 == 0 { - shard.last_level_index_file_start_pos = if is_mmap { - index_mmap_position as u64 - } else { - shard.index_file.stream_position().unwrap() - }; - - shard.last_level_docstore_file_start_pos = if is_mmap { - docstore_mmap_position as u64 - } else { - shard.docstore_file.stream_position().unwrap() - }; - - if shard.level_index.is_empty() { - let longest_field_id = if is_mmap { - read_u16_ref( - &shard.index_file_mmap, - &mut index_mmap_position, - ) - as usize - } else { - let _ = shard.index_file.read( - &mut shard - .compressed_index_segment_block_buffer - [0..2], - ); - read_u16( - &shard.compressed_index_segment_block_buffer, - 0, - ) - as usize - }; - - for indexed_field in shard.indexed_field_vec.iter_mut() - { - indexed_field.is_longest_field = indexed_field - .indexed_field_id - == longest_field_id; - - if indexed_field.is_longest_field { - shard.longest_field_id = longest_field_id - } - } - } - - let mut document_length_compressed_array_vec: Vec< - [u8; ROARING_BLOCK_SIZE], - > = Vec::new(); - - let document_length_compressed_array_pointer = if is_mmap { - index_mmap_position - } else { - shard.index_file.stream_position().unwrap() as usize - }; - - for _i in 0..shard.indexed_field_vec.len() { - if is_mmap { - index_mmap_position += ROARING_BLOCK_SIZE; - } else { - let mut document_length_compressed_array_item = - [0u8; ROARING_BLOCK_SIZE]; - - let _ = shard.index_file.read( - &mut document_length_compressed_array_item, - ); - document_length_compressed_array_vec - .push(document_length_compressed_array_item); - } - } - - let mut docstore_pointer_docs: Vec = Vec::new(); - - let mut docstore_pointer_docs_pointer = 0; - if !shard.stored_field_names.is_empty() { - if is_mmap { - let docstore_pointer_docs_size = read_u32_ref( - &shard.docstore_file_mmap, - &mut docstore_mmap_position, - ) - as usize; - docstore_pointer_docs_pointer = - docstore_mmap_position; - docstore_mmap_position += - docstore_pointer_docs_size; - } else { - let _ = shard.docstore_file.read( - &mut shard - .compressed_index_segment_block_buffer - [0..4], - ); - - let docstore_pointer_docs_size = read_u32( - &shard.compressed_index_segment_block_buffer, - 0, - ) - as usize; - - docstore_pointer_docs_pointer = - shard.docstore_file.stream_position().unwrap() - as usize; - docstore_pointer_docs = - vec![0; docstore_pointer_docs_size]; - let _ = shard - .docstore_file - .read(&mut docstore_pointer_docs); - } - } - - if is_mmap { - shard.indexed_doc_count = read_u64_ref( - &shard.index_file_mmap, - &mut index_mmap_position, - ) - as usize; - shard.positions_sum_normalized = read_u64_ref( - &shard.index_file_mmap, - &mut index_mmap_position, - ); - - for _key0 in 0..shard.segment_number1 { - let block_length = read_u32_ref( - &shard.index_file_mmap, - &mut index_mmap_position, - ); - let key_count = read_u32_ref( - &shard.index_file_mmap, - &mut index_mmap_position, - ); - - segment_head_vec.push((block_length, key_count)); - } - } else { - let _ = shard.index_file.read( - &mut shard.compressed_index_segment_block_buffer - [0..16], - ); - - shard.indexed_doc_count = read_u64( - &shard.compressed_index_segment_block_buffer, - 0, - ) - as usize; - - shard.positions_sum_normalized = read_u64( - &shard.compressed_index_segment_block_buffer, - 8, - ); - - for _key0 in 0..shard.segment_number1 { - let _ = shard.index_file.read( - &mut shard - .compressed_index_segment_block_buffer - [0..8], - ); - - let block_length = read_u32( - &shard.compressed_index_segment_block_buffer, - 0, - ); - let key_count = read_u32( - &shard.compressed_index_segment_block_buffer, - 4, - ); - segment_head_vec.push((block_length, key_count)); - } - } - - shard.document_length_normalized_average = - shard.positions_sum_normalized as f32 - / shard.indexed_doc_count as f32; - - shard.level_index.push(LevelIndex { - document_length_compressed_array: - document_length_compressed_array_vec, - docstore_pointer_docs, - docstore_pointer_docs_pointer, - document_length_compressed_array_pointer, - }); - } - - let block_length = segment_head_vec[key0].0; - let key_count = segment_head_vec[key0].1; - - let block_id = - (block_count_sum >> shard.segment_number_bits1) as u32; - block_count_sum += 1; - - let key_body_pointer_write_start: u32 = - key_count * shard.key_head_size as u32; - - if is_mmap { - index_mmap_position += - key_count as usize * shard.key_head_size; - shard.segments_index[key0].byte_array_blocks_pointer.push( - ( - index_mmap_position, - (block_length - key_body_pointer_write_start) - as usize, - key_count, - ), - ); - - index_mmap_position += - (block_length - key_body_pointer_write_start) as usize; - } else { - let _ = shard.index_file.read( - &mut shard.compressed_index_segment_block_buffer - [0..(key_count as usize * shard.key_head_size)], - ); - let compressed_index_segment_block_buffer = &shard - .compressed_index_segment_block_buffer - [0..(key_count as usize * shard.key_head_size)]; - - let mut block_array: Vec = vec![ - 0; - (block_length - key_body_pointer_write_start) - as usize - ]; - - let _ = shard.index_file.read(&mut block_array); - shard.segments_index[key0] - .byte_array_blocks - .push(block_array); - - let mut read_pointer = 0; - - let mut posting_count_previous = 0; - let mut pointer_pivot_p_docid_previous = 0; - let mut compression_type_pointer_previous = 0; - - for key_index in 0..key_count { - let key_hash = read_u64_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - - let posting_count = read_u16_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - - let max_docid = read_u16_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - - let max_p_docid = read_u16_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - - let mut posting_count_ngram_1 = 0; - let mut posting_count_ngram_2 = 0; - let mut posting_count_ngram_3 = 0; - match shard.key_head_size { - 20 => {} - 22 => { - let posting_count_ngram_1_compressed = - read_u8_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - posting_count_ngram_1 = - DOCUMENT_LENGTH_COMPRESSION - [posting_count_ngram_1_compressed - as usize]; - - let posting_count_ngram_2_compressed = - read_u8_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - posting_count_ngram_2 = - DOCUMENT_LENGTH_COMPRESSION - [posting_count_ngram_2_compressed - as usize]; - } - _ => { - let posting_count_ngram_1_compressed = - read_u8_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - posting_count_ngram_1 = - DOCUMENT_LENGTH_COMPRESSION - [posting_count_ngram_1_compressed - as usize]; - - let posting_count_ngram_2_compressed = - read_u8_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - posting_count_ngram_2 = - DOCUMENT_LENGTH_COMPRESSION - [posting_count_ngram_2_compressed - as usize]; - - let posting_count_ngram_3_compressed = - read_u8_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - posting_count_ngram_3 = - DOCUMENT_LENGTH_COMPRESSION - [posting_count_ngram_3_compressed - as usize]; - } - } - - let pointer_pivot_p_docid = read_u16_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - - let compression_type_pointer = read_u32_ref( - compressed_index_segment_block_buffer, - &mut read_pointer, - ); - - if let Some(value) = shard.segments_index[key0] - .segment - .get_mut(&key_hash) - { - value.posting_count += posting_count as u32 + 1; - - value.blocks.push(BlockObjectIndex { - max_block_score: 0.0, - block_id, - posting_count, - max_docid, - max_p_docid, - pointer_pivot_p_docid, - compression_type_pointer, - }); - } else { - let value = PostingListObjectIndex { - posting_count: posting_count as u32 + 1, - posting_count_ngram_1, - posting_count_ngram_2, - posting_count_ngram_3, - max_list_score: 0.0, - position_range_previous: 0, - blocks: vec![BlockObjectIndex { - max_block_score: 0.0, - block_id, - posting_count, - max_docid, - max_p_docid, - pointer_pivot_p_docid, - compression_type_pointer, - }], - ..Default::default() - }; - shard.segments_index[key0] - .segment - .insert(key_hash, value); - }; - - if !shard - .indexed_doc_count - .is_multiple_of(ROARING_BLOCK_SIZE) - && block_id as usize - == shard.indexed_doc_count / ROARING_BLOCK_SIZE - && shard.meta.access_type == AccessType::Ram - { - let position_range_previous = if key_index == 0 { - 0 - } else { - let posting_pointer_size_sum_previous = - pointer_pivot_p_docid_previous as usize * 2 - + if (pointer_pivot_p_docid_previous - as usize) - < posting_count_previous - { - (posting_count_previous - - pointer_pivot_p_docid_previous - as usize) - * 3 - } else { - 0 - }; - - let rank_position_pointer_range_previous= compression_type_pointer_previous & 0b0011_1111_1111_1111_1111_1111_1111_1111; - let compression_type_previous: CompressionType = - FromPrimitive::from_i32( - (compression_type_pointer_previous - >> 30) - as i32, - ) - .unwrap(); - - let compressed_docid_previous = - match compression_type_previous { - CompressionType::Array => { - posting_count_previous * 2 - } - CompressionType::Bitmap => 8192, - CompressionType::Rle => { - let byte_array_docid = &shard - .segments_index[key0] - .byte_array_blocks - [block_id as usize]; - 4 * read_u16( byte_array_docid, rank_position_pointer_range_previous as usize +posting_pointer_size_sum_previous) as usize + 2 - } - _ => 0, - }; - - rank_position_pointer_range_previous - + (posting_pointer_size_sum_previous - + compressed_docid_previous) - as u32 - }; - - let plo = shard.segments_index[key0] - .segment - .get_mut(&key_hash) - .unwrap(); - - plo.position_range_previous = - position_range_previous; - - posting_count_previous = posting_count as usize + 1; - pointer_pivot_p_docid_previous = - pointer_pivot_p_docid; - compression_type_pointer_previous = - compression_type_pointer; - }; - } - } - } - } - - shard.committed_doc_count = shard.indexed_doc_count; - shard.is_last_level_incomplete = - !shard.committed_doc_count.is_multiple_of(ROARING_BLOCK_SIZE); - - for (i, component) in shard.bm25_component_cache.iter_mut().enumerate() - { - let document_length_quotient = DOCUMENT_LENGTH_COMPRESSION[i] - as f32 - / shard.document_length_normalized_average; - *component = K * (1.0 - B + B * document_length_quotient); - } - - shard.string_set_to_single_term_id(); - - update_list_max_impact_score(&mut shard); - - let mut reader = BufReader::with_capacity(8192, &shard.delete_file); - while let Ok(buffer) = reader.fill_buf() { - let length = buffer.len(); - - if length == 0 { - break; - } - - for i in (0..length).step_by(8) { - let docid = read_u64(buffer, i); - shard.delete_hashset.insert(docid as usize); - } - - reader.consume(length); - } - - let shard_arc = Arc::new(RwLock::new(shard)); - - warmup(&shard_arc).await; - Ok(shard_arc.clone()) - } - Err(err) => Err(err.to_string()), - } - } - Err(err) => Err(err.to_string()), - } - } - Err(err) => Err(err.to_string()), - } -} - -/// Loads the index from disk into RAM or MMAP. -/// * `index_path` - index path. -/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). -pub async fn open_index(index_path: PathBuf, mute: bool) -> Result { - if !mute { - println!("opening index ..."); - } - - let start_time = Instant::now(); - - match File::open(PathBuf::new(index_path).join(META_FILENAME)) { - Ok(meta_file) => { - let meta: IndexMetaObject = serde_json::from_reader(BufReader::new(meta_file)).unwrap(); - - match File::open(PathBuf::new(index_path).join(SCHEMA_FILENAME)) { - Ok(schema_file) => { - let schema = serde_json::from_reader(BufReader::new(schema_file)).unwrap(); - - let synonyms = if let Ok(synonym_file) = - File::open(PathBuf::new(index_path).join(SYNONYMS_FILENAME)) - { - serde_json::from_reader(BufReader::new(synonym_file)).unwrap_or_default() - } else { - Vec::new() - }; - - match create_index_root( - index_path, meta, &schema, false, &synonyms, 11, false, None, - ) - .await - { - Ok(index_arc) => { - let lock = Arc::into_inner(index_arc).unwrap(); - let index = RwLock::into_inner(lock); - - let index_arc = Arc::new(RwLock::new(index)); - - if let Some(symspell) = - &mut index_arc.read().await.symspell_option.as_ref() - { - let dictionary_path = - PathBuf::new(&index_arc.read().await.index_path_string) - .join(DICTIONARY_FILENAME); - let _ = symspell.write().await.load_dictionary( - &dictionary_path, - 0, - 1, - " ", - ); - } - - if let Some(completion_option) = - &mut index_arc.read().await.completion_option.as_ref() - { - let _ = completion_option.write().await.load_completions( - PathBuf::new(&index_arc.read().await.index_path_string) - .join(COMPLETIONS_FILENAME), - 0, - 1, - ":", - ); - } - - let mut level_count = 0; - - let mut shard_vec: Vec>> = Vec::new(); - let mut shard_queue = VecDeque::::new(); - - let paths: Vec<_> = fs::read_dir(index_path.join("shards")) - .unwrap() - .filter_map(Result::ok) - .collect(); - let mut shard_handle_vec = Vec::new(); - let index_path_clone = Arc::new(index_path.to_path_buf()); - for i in 0..paths.len() { - let index_path_clone2 = index_path_clone.clone(); - shard_handle_vec.push(tokio::spawn(async move { - let path = index_path_clone2.join("shards").join(i.to_string()); - - open_shard(&path, true).await.unwrap() - })); - } - - for shard_handle in shard_handle_vec { - let shard_arc = shard_handle.await.unwrap(); - shard_arc.write().await.index_option = Some(index_arc.clone()); - index_arc.write().await.indexed_doc_count += - shard_arc.read().await.indexed_doc_count; - index_arc.write().await.deleted_doc_count += - shard_arc.read().await.delete_hashset.len(); - level_count += shard_arc.read().await.level_index.len(); - let shard_id = shard_arc.read().await.meta.id; - shard_queue.push_back(shard_id as usize); - shard_vec.push(shard_arc); - } - - index_arc.write().await.shard_number = shard_vec.len(); - index_arc.write().await.shard_bits = - (usize::BITS - (shard_vec.len() - 1).leading_zeros()) as usize; - - for shard in shard_vec.iter() { - shard.write().await.shard_number = shard_vec.len(); - } - - index_arc.write().await.shard_vec = shard_vec; - index_arc.write().await.shard_queue = - Arc::new(RwLock::new(shard_queue)); - - let elapsed_time = start_time.elapsed().as_nanos(); - - if !mute { - let index_ref = index_arc.read().await; - println!( - "{} name {} id {} version {} {} shards {} ngrams {:08b} level {} fields {} {} facets {} docs {} deleted {} segments {} dictionary {} {} completions {} time {} s", - INDEX_FILENAME, - index_ref.meta.name, - index_ref.meta.id, - index_ref.index_format_version_major.to_string() - + "." - + &index_ref.index_format_version_minor.to_string(), - INDEX_FORMAT_VERSION_MAJOR.to_string() - + "." - + &INDEX_FORMAT_VERSION_MINOR.to_string(), - index_ref.shard_count().await, - index_ref.meta.ngram_indexing, - level_count, - index_ref.indexed_field_vec.len(), - index_ref.schema_map.len(), - index_ref.facets.len(), - index_ref.indexed_doc_count.to_formatted_string(&Locale::en), - index_ref.deleted_doc_count.to_formatted_string(&Locale::en), - index_ref.segment_number1, - if let Some(symspell) = index_ref.symspell_option.as_ref() { - symspell - .read() - .await - .get_dictionary_size() - .to_formatted_string(&Locale::en) - } else { - "None".to_string() - }, - if let Some(symspell) = index_ref.symspell_option.as_ref() { - symspell - .read() - .await - .get_candidates_size() - .to_formatted_string(&Locale::en) - } else { - "None".to_string() - }, - if let Some(completions) = index_ref.completion_option.as_ref() - { - completions - .read() - .await - .len() - .to_formatted_string(&Locale::en) - } else { - "None".to_string() - }, - elapsed_time / 1_000_000_000 - ); - } - - Ok(index_arc.clone()) - } - Err(err) => Err(err.to_string()), - } - } - Err(err) => Err(err.to_string()), - } - } - Err(err) => Err(err.to_string()), - } -} - -pub(crate) async fn warmup(shard_object_arc: &ShardArc) { - shard_object_arc.write().await.frequentword_results.clear(); - let mut query_facets: Vec = Vec::new(); - for facet in shard_object_arc.read().await.facets.iter() { - match facet.field_type { - FieldType::String16 => query_facets.push(QueryFacet::String16 { - field: facet.name.clone(), - prefix: "".into(), - length: u16::MAX, - }), - FieldType::String32 => query_facets.push(QueryFacet::String32 { - field: facet.name.clone(), - prefix: "".into(), - length: u32::MAX, - }), - FieldType::StringSet16 => query_facets.push(QueryFacet::StringSet16 { - field: facet.name.clone(), - prefix: "".into(), - length: u16::MAX, - }), - FieldType::StringSet32 => query_facets.push(QueryFacet::StringSet32 { - field: facet.name.clone(), - prefix: "".into(), - length: u32::MAX, - }), - _ => {} - } - } - - let frequent_words = shard_object_arc.read().await.frequent_words.clone(); - for frequentword in frequent_words.iter() { - let results_list = shard_object_arc - .search_shard( - frequentword.to_owned(), - QueryType::Union, - 0, - 1000, - ResultType::TopkCount, - false, - Vec::new(), - query_facets.clone(), - Vec::new(), - Vec::new(), - ) - .await; - - let mut index_mut = shard_object_arc.write().await; - index_mut - .frequentword_results - .insert(frequentword.to_string(), results_list); - } -} - -#[derive(Default, Debug, Deserialize, Serialize, Clone)] -pub(crate) struct TermObject { - pub key_hash: u64, - pub key0: u32, - pub term: String, - - pub ngram_type: NgramType, - - pub term_ngram_2: String, - pub term_ngram_1: String, - pub term_ngram_0: String, - pub field_vec_ngram1: Vec<(usize, u32)>, - pub field_vec_ngram2: Vec<(usize, u32)>, - pub field_vec_ngram3: Vec<(usize, u32)>, - - pub field_positions_vec: Vec>, -} - -#[derive(Default, Debug, Serialize, Deserialize, Clone)] -pub(crate) struct NonUniqueTermObject { - pub term: String, - pub ngram_type: NgramType, - - pub term_ngram_2: String, - pub term_ngram_1: String, - pub term_ngram_0: String, - pub op: QueryType, -} - -#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] -use ahash::RandomState; -#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] -use std::sync::LazyLock; - -#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] -pub static HASHER_32: LazyLock = - LazyLock::new(|| RandomState::with_seeds(805272099, 242851902, 646123436, 591410655)); - -#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] -pub static HASHER_64: LazyLock = - LazyLock::new(|| RandomState::with_seeds(808259318, 750368348, 84901999, 789810389)); - -#[inline] -#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] -pub(crate) fn hash32(term_bytes: &[u8]) -> u32 { - HASHER_32.hash_one(term_bytes) as u32 -} - -#[inline] -#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] -pub(crate) fn hash64(term_bytes: &[u8]) -> u64 { - HASHER_64.hash_one(term_bytes) - & 0b1111111111111111111111111111111111111111111111111111111111111000 -} - -static FREQUENT_EN: &str = include_str!("../../assets/dictionaries/frequent_en.txt"); -static FREQUENT_DE: &str = include_str!("../../assets/dictionaries/frequent_de.txt"); -static FREQUENT_FR: &str = include_str!("../../assets/dictionaries/frequent_fr.txt"); -static FREQUENT_ES: &str = include_str!("../../assets/dictionaries/frequent_es.txt"); - -pub(crate) const NUM_FREE_VALUES: u32 = 24; - -/// Compress an u32 to a byte, preserving 4 significant bits. -/// used for compressing n-gram frequent_term positions_count and doc/field length -/// Ported from Lucene SmallFloat.java https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java -pub(crate) fn int_to_byte4(i: u32) -> u8 { - if i < NUM_FREE_VALUES { - i as u8 - } else { - let ii = i - NUM_FREE_VALUES; - let num_bits = 32 - ii.leading_zeros(); - if num_bits < 4 { - (NUM_FREE_VALUES + ii) as u8 - } else { - let shift = num_bits - 4; - (NUM_FREE_VALUES + (((ii >> shift) & 0x07) | (shift + 1) << 3)) as u8 - } - } -} - -/// Decompress a byte that has been compressed with intToByte4(int), to an u32 -/// used for pre-calculating DOCUMENT_LENGTH_COMPRESSION table. Decompressing n-gram frequent_term positions_count and doc/field length via table lookup. -/// Ported from Lucene SmallFloat.java https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java -pub(crate) const fn byte4_to_int(b: u8) -> u32 { - if (b as u32) < NUM_FREE_VALUES { - b as u32 - } else { - let i = b as u32 - NUM_FREE_VALUES; - let bits = i & 0x07; - let shift = i >> 3; - if shift == 0 { - NUM_FREE_VALUES + bits - } else { - NUM_FREE_VALUES + ((bits | 0x08) << (shift - 1)) - } - } -} - -/// Pre-calculated DOCUMENT_LENGTH_COMPRESSION table for fast lookup. -pub(crate) const DOCUMENT_LENGTH_COMPRESSION: [u32; 256] = { - let mut k2 = [0; 256]; - let mut i = 0usize; - while i < 256 { - k2[i] = byte4_to_int(i as u8); - i += 1; - } - k2 -}; - -impl Shard { - pub(crate) fn string_set_to_single_term_id(&mut self) { - for (i, facet) in self.facets.iter().enumerate() { - if facet.field_type == FieldType::StringSet16 - || facet.field_type == FieldType::StringSet32 - { - for (idx, value) in facet.values.iter().enumerate() { - for term in value.1.0.iter() { - self.string_set_to_single_term_id_vec[i] - .entry(term.to_string()) - .or_insert(AHashSet::from_iter(vec![idx as u32])) - .insert(idx as u32); - } - } - } - } - } - - /// Reset shard to empty, while maintaining schema - async fn clear_shard(&mut self) { - let permit = self.permits.clone().acquire_owned().await.unwrap(); - - self.level_terms.clear(); - - let mut mmap_options = MmapOptions::new(); - let mmap: MmapMut = mmap_options.len(4).map_anon().unwrap(); - self.index_file_mmap = mmap - .make_read_only() - .expect("Unable to make Mmap read-only"); - - let _ = self.index_file.rewind(); - if let Err(e) = self.index_file.set_len(0) { - println!( - "Unable to index_file.set_len in clear_index {} {} {:?}", - self.index_path_string, self.indexed_doc_count, e - ) - }; - - if !self.compressed_docstore_segment_block_buffer.is_empty() { - self.compressed_docstore_segment_block_buffer = vec![0; ROARING_BLOCK_SIZE * 4]; - }; - - write_u16( - INDEX_FORMAT_VERSION_MAJOR, - &mut self.compressed_index_segment_block_buffer, - 0, - ); - write_u16( - INDEX_FORMAT_VERSION_MINOR, - &mut self.compressed_index_segment_block_buffer, - 2, - ); - - let _ = self - .index_file - .write(&self.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize]); - let _ = self.index_file.flush(); - - self.index_file_mmap = - unsafe { Mmap::map(&self.index_file).expect("Unable to create Mmap") }; - - self.docstore_file_mmap = unsafe { - MmapOptions::new() - .len(0) - .map(&self.docstore_file) - .expect("Unable to create Mmap") - }; - - let _ = self.docstore_file.rewind(); - if let Err(e) = self.docstore_file.set_len(0) { - println!("Unable to docstore_file.set_len in clear_index {:?}", e) - }; - let _ = self.docstore_file.flush(); - - let _ = self.delete_file.rewind(); - if let Err(e) = self.delete_file.set_len(0) { - println!("Unable to delete_file.set_len in clear_index {:?}", e) - }; - let _ = self.delete_file.flush(); - self.delete_hashset.clear(); - - self.facets_file_mmap = unsafe { - MmapOptions::new() - .len(0) - .map_mut(&self.facets_file) - .expect("Unable to create Mmap") - }; - let _ = self.facets_file.rewind(); - if let Err(e) = self - .facets_file - .set_len((self.facets_size_sum * ROARING_BLOCK_SIZE) as u64) - { - println!("Unable to facets_file.set_len in clear_index {:?}", e) - }; - let _ = self.facets_file.flush(); - - self.facets_file_mmap = - unsafe { MmapMut::map_mut(&self.facets_file).expect("Unable to create Mmap") }; - let index_path = PathBuf::new(&self.index_path_string); - let _ = fs::remove_file(index_path.join(FACET_VALUES_FILENAME)); - for facet in self.facets.iter_mut() { - facet.values.clear(); - facet.min = ValueType::None; - facet.max = ValueType::None; - } - - if !self.stored_field_names.is_empty() && self.meta.access_type == AccessType::Mmap { - self.docstore_file_mmap = - unsafe { Mmap::map(&self.docstore_file).expect("Unable to create Mmap") }; - } - - self.document_length_normalized_average = 0.0; - self.indexed_doc_count = 0; - self.committed_doc_count = 0; - self.positions_sum_normalized = 0; - - self.level_index = Vec::new(); - - for segment in self.segments_index.iter_mut() { - segment.byte_array_blocks.clear(); - segment.byte_array_blocks_pointer.clear(); - segment.segment.clear(); - } - - for segment in self.segments_level0.iter_mut() { - segment.segment.clear(); - } - - self.key_count_sum = 0; - self.block_id = 0; - self.strip_compressed_sum = 0; - self.postings_buffer_pointer = 0; - self.docid_count = 0; - self.size_compressed_docid_index = 0; - self.size_compressed_positions_index = 0; - self.position_count = 0; - self.postinglist_count = 0; - - self.is_last_level_incomplete = false; - - drop(permit); - } - - pub(crate) fn get_index_string_facets_shard( - &self, - query_facets: Vec, - ) -> Option> { - if self.facets.is_empty() { - return None; - } - - let mut result_query_facets = Vec::new(); - if !query_facets.is_empty() { - result_query_facets = vec![ResultFacet::default(); self.facets.len()]; - for query_facet in query_facets.iter() { - match &query_facet { - QueryFacet::String16 { - field, - prefix, - length, - } => { - if let Some(idx) = self.facets_map.get(field) - && self.facets[*idx].field_type == FieldType::String16 - { - result_query_facets[*idx] = ResultFacet { - field: field.clone(), - prefix: prefix.clone(), - length: *length as u32, - ..Default::default() - } - } - } - QueryFacet::StringSet16 { - field, - prefix, - length, - } => { - if let Some(idx) = self.facets_map.get(field) - && self.facets[*idx].field_type == FieldType::StringSet16 - { - result_query_facets[*idx] = ResultFacet { - field: field.clone(), - prefix: prefix.clone(), - length: *length as u32, - ..Default::default() - } - } - } - - QueryFacet::String32 { - field, - prefix, - length, - } => { - if let Some(idx) = self.facets_map.get(field) - && self.facets[*idx].field_type == FieldType::String32 - { - result_query_facets[*idx] = ResultFacet { - field: field.clone(), - prefix: prefix.clone(), - length: *length, - ..Default::default() - } - } - } - QueryFacet::StringSet32 { - field, - prefix, - length, - } => { - if let Some(idx) = self.facets_map.get(field) - && self.facets[*idx].field_type == FieldType::StringSet32 - { - result_query_facets[*idx] = ResultFacet { - field: field.clone(), - prefix: prefix.clone(), - length: *length, - ..Default::default() - } - } - } - - _ => {} - }; - } - } - - let mut facets: AHashMap = AHashMap::new(); - for (i, facet) in result_query_facets.iter().enumerate() { - if facet.length == 0 || self.facets[i].values.is_empty() { - continue; - } - - if self.facets[i].field_type == FieldType::StringSet16 - || self.facets[i].field_type == FieldType::StringSet32 - { - let mut hash_map: AHashMap = AHashMap::new(); - for value in self.facets[i].values.iter() { - for term in value.1.0.iter() { - *hash_map.entry(term.clone()).or_insert(0) += value.1.1; - } - } - - let v = hash_map - .iter() - .sorted_unstable_by(|a, b| b.1.cmp(a.1)) - .map(|(a, c)| (a.to_string(), *c)) - .filter(|(a, _c)| facet.prefix.is_empty() || a.starts_with(&facet.prefix)) - .take(facet.length as usize) - .collect::>(); - - if !v.is_empty() { - facets.insert(facet.field.clone(), v); - } - } else { - let v = self.facets[i] - .values - .iter() - .sorted_unstable_by(|a, b| b.1.cmp(a.1)) - .map(|(a, c)| (a.to_string(), c.1)) - .filter(|(a, _c)| facet.prefix.is_empty() || a.starts_with(&facet.prefix)) - .take(facet.length as usize) - .collect::>(); - - if !v.is_empty() { - facets.insert(facet.field.clone(), v); - } - } - } - - Some(facets) - } -} - -impl Index { - /// Current document count: indexed document count - deleted document count - pub async fn current_doc_count(&self) -> usize { - let mut current_doc_count = 0; - for shard in self.shard_vec.iter() { - current_doc_count += - shard.read().await.indexed_doc_count - shard.read().await.delete_hashset.len(); - } - current_doc_count - } - - /// are there uncommited documents? - pub async fn uncommitted_doc_count(&self) -> usize { - let mut uncommitted_doc_count = 0; - for shard in self.shard_vec.iter() { - uncommitted_doc_count += - shard.read().await.indexed_doc_count - shard.read().await.committed_doc_count; - } - uncommitted_doc_count - } - - /// Get number of indexed documents. - pub async fn committed_doc_count(&self) -> usize { - let mut committed_doc_count = 0; - for shard in self.shard_vec.iter() { - committed_doc_count += shard.read().await.committed_doc_count; - } - committed_doc_count - } - - /// Get number of indexed documents. - pub async fn indexed_doc_count(&self) -> usize { - let mut indexed_doc_count = 0; - for shard in self.shard_vec.iter() { - indexed_doc_count += shard.read().await.indexed_doc_count; - } - indexed_doc_count - } - - /// Get number of index levels. One index level comprises 64K documents. - pub async fn level_count(&self) -> usize { - let mut level_count = 0; - for shard in self.shard_vec.iter() { - level_count += shard.read().await.level_index.len(); - } - level_count - } - - /// Get number of index shards. - pub async fn shard_count(&self) -> usize { - self.shard_number - } - - /// Get number of facets defined in the index schema. - pub fn facets_count(&self) -> usize { - self.facets.len() - } - - /// get_index_facets_minmax: return map of numeric facet fields, each with field name and min/max values. - pub async fn index_facets_minmax(&self) -> HashMap { - let mut facets_minmax: HashMap = HashMap::new(); - for shard in self.shard_vec.iter() { - for facet in shard.read().await.facets.iter() { - match (&facet.min, &facet.max) { - (ValueType::U8(min), ValueType::U8(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: (*min.min(&(item.min.as_u64().unwrap() as u8))).into(), - max: (*max.min(&(item.max.as_u64().unwrap() as u8))).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - (ValueType::U16(min), ValueType::U16(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: (*min.min(&(item.min.as_u64().unwrap() as u16))).into(), - max: (*max.min(&(item.max.as_u64().unwrap() as u16))).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - (ValueType::U32(min), ValueType::U32(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: (*min.min(&(item.min.as_u64().unwrap() as u32))).into(), - max: (*max.min(&(item.max.as_u64().unwrap() as u32))).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - (ValueType::U64(min), ValueType::U64(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: (*min.min(&(item.min.as_u64().unwrap()))).into(), - max: (*max.min(&(item.max.as_u64().unwrap()))).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - (ValueType::I8(min), ValueType::I8(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: (*min.min(&(item.min.as_i64().unwrap() as i8))).into(), - max: (*max.min(&(item.max.as_i64().unwrap() as i8))).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - (ValueType::I16(min), ValueType::I16(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: (*min.min(&(item.min.as_i64().unwrap() as i16))).into(), - max: (*max.min(&(item.max.as_i64().unwrap() as i16))).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - (ValueType::I32(min), ValueType::I32(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: (*min.min(&(item.min.as_i64().unwrap() as i32))).into(), - max: (*max.min(&(item.max.as_i64().unwrap() as i32))).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - (ValueType::I64(min), ValueType::I64(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: (*min.min(&(item.min.as_i64().unwrap()))).into(), - max: (*max.min(&(item.max.as_i64().unwrap()))).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - (ValueType::Timestamp(min), ValueType::Timestamp(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: (*min.min(&(item.min.as_i64().unwrap()))).into(), - max: (*max.min(&(item.max.as_i64().unwrap()))).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - (ValueType::F32(min), ValueType::F32(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: min.min(item.min.as_f64().unwrap() as f32).into(), - max: max.min(item.max.as_f64().unwrap() as f32).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - (ValueType::F64(min), ValueType::F64(max)) => { - if let Some(item) = facets_minmax.get_mut(&facet.name) { - *item = MinMaxFieldJson { - min: min.min(item.min.as_f64().unwrap()).into(), - max: max.min(item.max.as_f64().unwrap()).into(), - } - } else { - facets_minmax.insert( - facet.name.clone(), - MinMaxFieldJson { - min: (*min).into(), - max: (*max).into(), - }, - ); - } - } - _ => {} - } - } - } - facets_minmax - } - - /// get_index_string_facets: list of string facet fields, each with field name and a map of unique values and their count (number of times the specific value appears in the whole index). - /// values are sorted by their occurrence count within all indexed documents in descending order - /// * `query_facets`: Must be set if facet fields should be returned in get_index_facets. If set to Vec::new() then no facet fields are returned. - /// The prefix property of a QueryFacet allows to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. - /// The length property of a QueryFacet allows limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. - /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are returned. - /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. - /// Example: query_facets = vec![QueryFacet::String16 {field: "language".to_string(),prefix: "ger".to_string(),length: 5},QueryFacet::String16 {field: "brand".to_string(),prefix: "a".to_string(),length: 5}]; - pub async fn get_index_string_facets( - &self, - query_facets: Vec, - ) -> Option> { - if self.facets.is_empty() { - return None; - } - - let mut result: AHashMap = AHashMap::new(); - - let mut result_facets: AHashMap, u32)> = AHashMap::new(); - for query_facet in query_facets.iter() { - match query_facet { - QueryFacet::String16 { - field, - prefix: _, - length, - } => { - result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); - } - QueryFacet::StringSet16 { - field, - prefix: _, - length, - } => { - result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); - } - - QueryFacet::String32 { - field, - prefix: _, - length, - } => { - result_facets.insert(field.into(), (AHashMap::new(), *length)); - } - QueryFacet::StringSet32 { - field, - prefix: _, - length, - } => { - result_facets.insert(field.into(), (AHashMap::new(), *length)); - } - - _ => {} - } - } - - for shard_arc in self.shard_vec.iter() { - let shard = shard_arc.read().await; - if !shard.facets.is_empty() { - for facet in shard.facets.iter() { - if let Some(existing) = result_facets.get_mut(&facet.name) { - for (key, value) in facet.values.iter() { - *existing.0.entry(key.clone()).or_insert(0) += value.1; - } - }; - } - } - } - - for (key, value) in result_facets.iter_mut() { - let sum = value - .0 - .iter() - .sorted_unstable_by(|a, b| b.1.cmp(a.1)) - .map(|(a, c)| (a.clone(), *c)) - .take(value.1 as usize) - .collect::>(); - result.insert(key.clone(), sum); - } - - Some(result) - } - - /// Reset index to empty, while maintaining schema - pub async fn clear_index(&mut self) { - let index_path = PathBuf::new(&self.index_path_string); - let _ = fs::remove_file(index_path.join(DICTIONARY_FILENAME)); - if let Some(spelling_correction) = self.meta.spelling_correction.as_ref() { - self.symspell_option = Some(Arc::new(RwLock::new(SymSpell::new( - spelling_correction.max_dictionary_edit_distance, - spelling_correction.term_length_threshold.clone(), - 7, - spelling_correction.count_threshold, - )))); - } - - let _ = fs::remove_file(index_path.join(COMPLETIONS_FILENAME)); - if let Some(_query_completion) = self.meta.query_completion.as_ref() { - self.completion_option = Some(Arc::new(RwLock::new(PruningRadixTrie::new()))); - } - - let mut result_object_list = Vec::new(); - for shard in self.shard_vec.iter() { - let shard_clone = shard.clone(); - result_object_list.push(tokio::spawn(async move { - shard_clone.write().await.clear_shard().await; - })); - } - future::join_all(result_object_list).await; - } - - /// Delete index from disc and ram - pub fn delete_index(&mut self) { - let index_path = PathBuf::new(&self.index_path_string); - - let _ = fs::remove_file(index_path.join(DICTIONARY_FILENAME)); - let _ = fs::remove_file(index_path.join(COMPLETIONS_FILENAME)); - - let _ = fs::remove_file(index_path.join(INDEX_FILENAME)); - let _ = fs::remove_file(index_path.join(SCHEMA_FILENAME)); - let _ = fs::remove_file(index_path.join(META_FILENAME)); - let _ = fs::remove_file(index_path.join(DELETE_FILENAME)); - let _ = fs::remove_file(index_path.join(FACET_FILENAME)); - let _ = fs::remove_file(index_path.join(FACET_VALUES_FILENAME)); - let _ = fs::remove_dir(index_path); - } - - /// Get synonyms from index - pub fn get_synonyms(&self) -> Result, String> { - if let Ok(synonym_file) = - File::open(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)) - { - if let Ok(synonyms) = serde_json::from_reader(BufReader::new(synonym_file)) { - Ok(synonyms) - } else { - Err("not found".into()) - } - } else { - Err("not found".into()) - } - } - - /// Set/replace/overwrite synonyms in index - /// Affects only subsequently indexed documents - pub fn set_synonyms(&mut self, synonyms: &Vec) -> Result { - serde_json::to_writer( - &File::create(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)).unwrap(), - &synonyms, - ) - .unwrap(); - - self.synonyms_map = get_synonyms_map(synonyms, self.segment_number_mask1); - Ok(synonyms.len()) - } - - /// Add/append/update/merge synonyms in index - /// Affects only subsequently indexed documents - pub fn add_synonyms(&mut self, synonyms: &[Synonym]) -> Result { - let mut merged_synonyms = if let Ok(synonym_file) = - File::open(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)) - { - serde_json::from_reader(BufReader::new(synonym_file)).unwrap_or_default() - } else { - Vec::new() - }; - - merged_synonyms.extend(synonyms.iter().cloned()); - - serde_json::to_writer( - &File::create(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)).unwrap(), - &merged_synonyms, - ) - .unwrap(); - - self.synonyms_map = get_synonyms_map(&merged_synonyms, self.segment_number_mask1); - Ok(merged_synonyms.len()) - } -} - -/// Remove index from RAM (Reverse of open_index) -#[allow(async_fn_in_trait)] -pub trait Close { - /// Remove index from RAM (Reverse of open_index) - async fn close(&self); -} - -/// Remove index from RAM (Reverse of open_index) -impl Close for IndexArc { - /// Remove index from RAM (Reverse of open_index) - async fn close(&self) { - self.commit().await; - - if let Some(completion_option) = &self.read().await.completion_option.as_ref() { - let trie = completion_option.read().await; - let completions_path = - PathBuf::new(&self.read().await.index_path_string).join(COMPLETIONS_FILENAME); - - _ = trie.save_completions(&completions_path, ":"); - } - - if let Some(symspell) = &mut self.read().await.symspell_option.as_ref() { - let dictionary_path = - PathBuf::new(&self.read().await.index_path_string).join(DICTIONARY_FILENAME); - let _ = symspell.read().await.save_dictionary(&dictionary_path, " "); - } - - let mut result_object_list = Vec::new(); - for shard in self.read().await.shard_vec.iter() { - let shard_clone = shard.clone(); - result_object_list.push(tokio::spawn(async move { - let mut mmap_options = MmapOptions::new(); - let mmap: MmapMut = mmap_options.len(4).map_anon().unwrap(); - shard_clone.write().await.index_file_mmap = mmap - .make_read_only() - .expect("Unable to make Mmap read-only"); - - let mut mmap_options = MmapOptions::new(); - let mmap: MmapMut = mmap_options.len(4).map_anon().unwrap(); - shard_clone.write().await.docstore_file_mmap = mmap - .make_read_only() - .expect("Unable to make Mmap read-only"); - })); - } - future::join_all(result_object_list).await; - } -} - -/// Delete document from index by document id -#[allow(async_fn_in_trait)] -pub trait DeleteDocument { - /// Delete document from index by document id - async fn delete_document(&self, docid: u64); -} - -/// Delete document from index by document id -/// Document ID can by obtained by search. -/// Immediately effective, indpendent of commit. -/// Index space used by deleted documents is not reclaimed (until compaction is implemented), but result_count_total is updated. -/// By manually deleting the delete.bin file the deleted documents can be recovered (until compaction). -/// Deleted documents impact performance, especially but not limited to counting (Count, TopKCount). They also increase the size of the index (until compaction is implemented). -/// For minimal query latency delete index and reindexing documents is preferred over deleting documents (until compaction is implemented). -/// BM25 scores are not updated (until compaction is implemented), but the impact is minimal. -impl DeleteDocument for IndexArc { - async fn delete_document(&self, docid: u64) { - let index_ref = self.read().await; - let shard_id = docid & ((1 << index_ref.shard_bits) - 1); - let doc_id = docid >> index_ref.shard_bits; - let mut shard_mut = index_ref.shard_vec[shard_id as usize].write().await; - - if doc_id as usize >= shard_mut.indexed_doc_count { - return; - } - if shard_mut.delete_hashset.insert(doc_id as usize) { - let mut buffer: [u8; 8] = [0; 8]; - write_u64(doc_id, &mut buffer, 0); - let _ = shard_mut.delete_file.write(&buffer); - let _ = shard_mut.delete_file.flush(); - } - } -} - -/// Delete documents from index by document id -#[allow(async_fn_in_trait)] -pub trait DeleteDocuments { - /// Delete documents from index by document id - async fn delete_documents(&self, docid_vec: Vec); -} - -/// Delete documents from index by document id -/// Document ID can by obtained by search. -/// Immediately effective, indpendent of commit. -/// Index space used by deleted documents is not reclaimed (until compaction is implemented), but result_count_total is updated. -/// By manually deleting the delete.bin file the deleted documents can be recovered (until compaction). -/// Deleted documents impact performance, especially but not limited to counting (Count, TopKCount). They also increase the size of the index (until compaction is implemented). -/// For minimal query latency delete index and reindexing documents is preferred over deleting documents (until compaction is implemented). -/// BM25 scores are not updated (until compaction is implemented), but the impact is minimal. -impl DeleteDocuments for IndexArc { - async fn delete_documents(&self, docid_vec: Vec) { - for docid in docid_vec { - self.delete_document(docid).await; - } - } -} - -/// Delete documents from index by query -/// Delete and search have identical parameters. -/// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. -#[allow(clippy::too_many_arguments)] -#[allow(async_fn_in_trait)] -pub trait DeleteDocumentsByQuery { - /// Delete documents from index by query - /// Delete and search have identical parameters. - /// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. - async fn delete_documents_by_query( - &self, - query_string: String, - query_type_default: QueryType, - offset: usize, - length: usize, - include_uncommited: bool, - field_filter: Vec, - facet_filter: Vec, - result_sort: Vec, - ); -} - -/// Delete documents from index by query -/// Delete and search have identical parameters. -/// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. -impl DeleteDocumentsByQuery for IndexArc { - async fn delete_documents_by_query( - &self, - query_string: String, - query_type_default: QueryType, - offset: usize, - length: usize, - include_uncommited: bool, - field_filter: Vec, - facet_filter: Vec, - result_sort: Vec, - ) { - let rlo = self - .search( - query_string.to_owned(), - query_type_default, - offset, - length, - ResultType::Topk, - include_uncommited, - field_filter, - Vec::new(), - facet_filter, - result_sort, - QueryRewriting::SearchOnly, - ) - .await; - - let document_id_vec: Vec = rlo - .results - .iter() - .map(|result| result.doc_id as u64) - .collect(); - self.delete_documents(document_id_vec).await; - } -} - -/// Update document in index -/// Update_document is a combination of delete_document and index_document. -/// All current limitations of delete_document apply. -#[allow(async_fn_in_trait)] -pub trait UpdateDocument { - /// Update document in index - /// Update_document is a combination of delete_document and index_document. - /// All current limitations of delete_document apply. - async fn update_document(&self, id_document: (u64, Document)); -} - -/// Update document in index -/// Update_document is a combination of delete_document and index_document. -/// All current limitations of delete_document apply. -impl UpdateDocument for IndexArc { - async fn update_document(&self, id_document: (u64, Document)) { - self.delete_document(id_document.0).await; - self.index_document(id_document.1, FileType::None).await; - } -} - -/// Update documents in index -/// Update_document is a combination of delete_document and index_document. -/// All current limitations of delete_document apply. -#[allow(async_fn_in_trait)] -pub trait UpdateDocuments { - /// Update documents in index - /// Update_document is a combination of delete_document and index_document. - /// All current limitations of delete_document apply. - async fn update_documents(&self, id_document_vec: Vec<(u64, Document)>); -} - -/// Update documents in index -/// Update_document is a combination of delete_document and index_document. -/// All current limitations of delete_document apply. -impl UpdateDocuments for IndexArc { - async fn update_documents(&self, id_document_vec: Vec<(u64, Document)>) { - let (docid_vec, document_vec): (Vec<_>, Vec<_>) = id_document_vec.into_iter().unzip(); - self.delete_documents(docid_vec).await; - self.index_documents(document_vec).await; - } -} - -/// Indexes a list of documents -#[allow(async_fn_in_trait)] -pub trait IndexDocuments { - /// Indexes a list of documents - /// May block, if the threshold of documents indexed in parallel is exceeded. - async fn index_documents(&self, document_vec: Vec); -} - -impl IndexDocuments for IndexArc { - /// Index list of documents (bulk) - /// May block, if the threshold of documents indexed in parallel is exceeded. - async fn index_documents(&self, document_vec: Vec) { - for document in document_vec { - self.index_document(document, FileType::None).await; - } - } -} - -/// Indexes a single document -#[allow(async_fn_in_trait)] -pub trait IndexDocument { - /// Indexes a single document - /// May block, if the threshold of documents indexed in parallel is exceeded. - async fn index_document(&self, document: Document, file: FileType); -} - -impl IndexDocument for IndexArc { - /// Index document - /// May block, if the threshold of documents indexed in parallel is exceeded. - async fn index_document(&self, document: Document, file: FileType) { - while self.read().await.shard_queue.read().await.is_empty() { - hint::spin_loop(); - } - - let index_arc_clone = self.clone(); - let index_id = self - .read() - .await - .shard_queue - .write() - .await - .pop_front() - .unwrap(); - let index_shard = self.read().await.shard_vec[index_id].clone(); - - let permit = index_shard - .read() - .await - .permits - .clone() - .acquire_owned() - .await - .unwrap(); - - tokio::spawn(async move { - let index_id2 = index_id; - index_shard.index_document_shard(document, file).await; - - index_arc_clone - .read() - .await - .shard_queue - .write() - .await - .push_back(index_id2); - drop(permit); - }); - } -} - -/// Indexes a single document -#[allow(async_fn_in_trait)] -pub(crate) trait IndexDocumentShard { - /// Indexes a single document - /// May block, if the threshold of documents indexed in parallel is exceeded. - async fn index_document_shard(&self, document: Document, file: FileType); -} - -impl IndexDocumentShard for ShardArc { - /// Index document - /// May block, if the threshold of documents indexed in parallel is exceeded. - async fn index_document_shard(&self, document: Document, file: FileType) { - let shard_arc_clone = self.clone(); - let index_ref = self.read().await; - let schema = index_ref.indexed_schema_vec.clone(); - let ngram_indexing = index_ref.meta.ngram_indexing; - let indexed_field_vec_len = index_ref.indexed_field_vec.len(); - let tokenizer_type = index_ref.meta.tokenizer; - let segment_number_mask1 = index_ref.segment_number_mask1; - drop(index_ref); - - let token_per_field_max: u32 = u16::MAX as u32; - let mut unique_terms: AHashMap = AHashMap::new(); - let mut field_vec: Vec<(usize, u8, u32, u32)> = Vec::new(); - let shard_ref2 = shard_arc_clone.read().await; - - for schema_field in schema.iter() { - if !schema_field.indexed { - continue; - } - - let field_name = &schema_field.field; - - if let Some(field_value) = document.get(field_name) { - let mut non_unique_terms: Vec = Vec::new(); - let mut nonunique_terms_count = 0u32; - - let text = match schema_field.field_type { - FieldType::Text | FieldType::String16 | FieldType::String32 => { - serde_json::from_value::(field_value.clone()) - .unwrap_or(field_value.to_string()) - } - _ => field_value.to_string(), - }; - - let mut query_type_mut = QueryType::Union; - - tokenizer( - &shard_ref2, - &text, - &mut unique_terms, - &mut non_unique_terms, - tokenizer_type, - segment_number_mask1, - &mut nonunique_terms_count, - token_per_field_max, - MAX_POSITIONS_PER_TERM, - false, - &mut query_type_mut, - ngram_indexing, - schema_field.indexed_field_id, - indexed_field_vec_len, - ) - .await; - - let document_length_compressed: u8 = int_to_byte4(nonunique_terms_count); - let document_length_normalized: u32 = - DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize]; - field_vec.push(( - schema_field.indexed_field_id, - document_length_compressed, - document_length_normalized, - nonunique_terms_count, - )); - } - } - drop(shard_ref2); - - let ngrams: Vec = unique_terms - .iter() - .filter(|term| term.1.ngram_type != NgramType::SingleTerm) - .map(|term| term.1.term.clone()) - .collect(); - - for term in ngrams.iter() { - let ngram = unique_terms.get(term).unwrap(); - - match ngram.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - let term_ngram1 = ngram.term_ngram_1.clone(); - let term_ngram2 = ngram.term_ngram_0.clone(); - - for indexed_field_id in 0..indexed_field_vec_len { - let positions_count_ngram1 = - unique_terms[&term_ngram1].field_positions_vec[indexed_field_id].len(); - let positions_count_ngram2 = - unique_terms[&term_ngram2].field_positions_vec[indexed_field_id].len(); - let ngram = unique_terms.get_mut(term).unwrap(); - - if positions_count_ngram1 > 0 { - ngram - .field_vec_ngram1 - .push((indexed_field_id, positions_count_ngram1 as u32)); - } - if positions_count_ngram2 > 0 { - ngram - .field_vec_ngram2 - .push((indexed_field_id, positions_count_ngram2 as u32)); - } - } - } - _ => { - let term_ngram1 = ngram.term_ngram_2.clone(); - let term_ngram2 = ngram.term_ngram_1.clone(); - let term_ngram3 = ngram.term_ngram_0.clone(); - - for indexed_field_id in 0..indexed_field_vec_len { - let positions_count_ngram1 = - unique_terms[&term_ngram1].field_positions_vec[indexed_field_id].len(); - let positions_count_ngram2 = - unique_terms[&term_ngram2].field_positions_vec[indexed_field_id].len(); - let positions_count_ngram3 = - unique_terms[&term_ngram3].field_positions_vec[indexed_field_id].len(); - let ngram = unique_terms.get_mut(term).unwrap(); - - if positions_count_ngram1 > 0 { - ngram - .field_vec_ngram1 - .push((indexed_field_id, positions_count_ngram1 as u32)); - } - if positions_count_ngram2 > 0 { - ngram - .field_vec_ngram2 - .push((indexed_field_id, positions_count_ngram2 as u32)); - } - if positions_count_ngram3 > 0 { - ngram - .field_vec_ngram3 - .push((indexed_field_id, positions_count_ngram3 as u32)); - } - } - } - } - } - - let document_item = DocumentItem { - document, - unique_terms, - field_vec, - }; - - shard_arc_clone.index_document_2(document_item, file).await; - } -} - -#[allow(async_fn_in_trait)] -pub(crate) trait IndexDocument2 { - async fn index_document_2(&self, document_item: DocumentItem, file: FileType); -} - -impl IndexDocument2 for ShardArc { - async fn index_document_2(&self, document_item: DocumentItem, file: FileType) { - let mut shard_mut = self.write().await; - - let doc_id: usize = shard_mut.indexed_doc_count; - shard_mut.indexed_doc_count += 1; - - let do_commit = shard_mut.block_id != doc_id >> 16; - if do_commit { - shard_mut.commit(doc_id).await; - - shard_mut.block_id = doc_id >> 16; - } - - if !shard_mut.facets.is_empty() { - let facets_size_sum = shard_mut.facets_size_sum; - for i in 0..shard_mut.facets.len() { - let facet = &mut shard_mut.facets[i]; - if let Some(field_value) = document_item.document.get(&facet.name) { - let address = (facets_size_sum * doc_id) + facet.offset; - - match facet.field_type { - FieldType::U8 => { - let value = field_value.as_u64().unwrap_or_default() as u8; - match (&facet.min, &facet.max) { - (ValueType::U8(min), ValueType::U8(max)) => { - if value < *min { - facet.min = ValueType::U8(value); - } - if value > *max { - facet.max = ValueType::U8(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::U8(value); - facet.max = ValueType::U8(value); - } - _ => {} - } - shard_mut.facets_file_mmap[address] = value - } - FieldType::U16 => { - let value = field_value.as_u64().unwrap_or_default() as u16; - match (&facet.min, &facet.max) { - (ValueType::U16(min), ValueType::U16(max)) => { - if value < *min { - facet.min = ValueType::U16(value); - } - if value > *max { - facet.max = ValueType::U16(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::U16(value); - facet.max = ValueType::U16(value); - } - _ => {} - } - write_u16(value, &mut shard_mut.facets_file_mmap, address) - } - FieldType::U32 => { - let value = field_value.as_u64().unwrap_or_default() as u32; - match (&facet.min, &facet.max) { - (ValueType::U32(min), ValueType::U32(max)) => { - if value < *min { - facet.min = ValueType::U32(value); - } - if value > *max { - facet.max = ValueType::U32(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::U32(value); - facet.max = ValueType::U32(value); - } - _ => {} - } - write_u32(value, &mut shard_mut.facets_file_mmap, address) - } - FieldType::U64 => { - let value = field_value.as_u64().unwrap_or_default(); - match (&facet.min, &facet.max) { - (ValueType::U64(min), ValueType::U64(max)) => { - if value < *min { - facet.min = ValueType::U64(value); - } - if value > *max { - facet.max = ValueType::U64(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::U64(value); - facet.max = ValueType::U64(value); - } - _ => {} - } - write_u64(value, &mut shard_mut.facets_file_mmap, address) - } - FieldType::I8 => { - let value = field_value.as_i64().unwrap_or_default() as i8; - match (&facet.min, &facet.max) { - (ValueType::I8(min), ValueType::I8(max)) => { - if value < *min { - facet.min = ValueType::I8(value); - } - if value > *max { - facet.max = ValueType::I8(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::I8(value); - facet.max = ValueType::I8(value); - } - _ => {} - } - write_i8(value, &mut shard_mut.facets_file_mmap, address) - } - FieldType::I16 => { - let value = field_value.as_i64().unwrap_or_default() as i16; - match (&facet.min, &facet.max) { - (ValueType::I16(min), ValueType::I16(max)) => { - if value < *min { - facet.min = ValueType::I16(value); - } - if value > *max { - facet.max = ValueType::I16(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::I16(value); - facet.max = ValueType::I16(value); - } - _ => {} - } - write_i16(value, &mut shard_mut.facets_file_mmap, address) - } - FieldType::I32 => { - let value = field_value.as_i64().unwrap_or_default() as i32; - match (&facet.min, &facet.max) { - (ValueType::I32(min), ValueType::I32(max)) => { - if value < *min { - facet.min = ValueType::I32(value); - } - if value > *max { - facet.max = ValueType::I32(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::I32(value); - facet.max = ValueType::I32(value); - } - _ => {} - } - write_i32(value, &mut shard_mut.facets_file_mmap, address) - } - FieldType::I64 => { - let value = field_value.as_i64().unwrap_or_default(); - match (&facet.min, &facet.max) { - (ValueType::I64(min), ValueType::I64(max)) => { - if value < *min { - facet.min = ValueType::I64(value); - } - if value > *max { - facet.max = ValueType::I64(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::I64(value); - facet.max = ValueType::I64(value); - } - _ => {} - } - write_i64(value, &mut shard_mut.facets_file_mmap, address) - } - FieldType::Timestamp => { - let value = field_value.as_i64().unwrap_or_default(); - match (&facet.min, &facet.max) { - (ValueType::Timestamp(min), ValueType::Timestamp(max)) => { - if value < *min { - facet.min = ValueType::Timestamp(value); - } - if value > *max { - facet.max = ValueType::Timestamp(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::Timestamp(value); - facet.max = ValueType::Timestamp(value); - } - _ => {} - } - - write_i64(value, &mut shard_mut.facets_file_mmap, address); - } - FieldType::F32 => { - let value = field_value.as_f64().unwrap_or_default() as f32; - match (&facet.min, &facet.max) { - (ValueType::F32(min), ValueType::F32(max)) => { - if value < *min { - facet.min = ValueType::F32(value); - } - if value > *max { - facet.max = ValueType::F32(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::F32(value); - facet.max = ValueType::F32(value); - } - _ => {} - } - - write_f32(value, &mut shard_mut.facets_file_mmap, address) - } - FieldType::F64 => { - let value = field_value.as_f64().unwrap_or_default(); - match (&facet.min, &facet.max) { - (ValueType::F64(min), ValueType::F64(max)) => { - if value < *min { - facet.min = ValueType::F64(value); - } - if value > *max { - facet.max = ValueType::F64(value); - } - } - (ValueType::None, ValueType::None) => { - facet.min = ValueType::F64(value); - facet.max = ValueType::F64(value); - } - _ => {} - } - - write_f64(value, &mut shard_mut.facets_file_mmap, address) - } - FieldType::String16 => { - if facet.values.len() < u16::MAX as usize { - let key = serde_json::from_value::(field_value.clone()) - .unwrap_or(field_value.to_string()); - - let key_string = key.clone(); - let key = vec![key]; - - facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; - - let facet_value_id = - facet.values.get_index_of(&key_string).unwrap() as u16; - write_u16(facet_value_id, &mut shard_mut.facets_file_mmap, address) - } - } - - FieldType::StringSet16 => { - if facet.values.len() < u16::MAX as usize { - let mut key: Vec = - serde_json::from_value(field_value.clone()).unwrap(); - key.sort(); - - let key_string = key.join("_"); - facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; - - let facet_value_id = - facet.values.get_index_of(&key_string).unwrap() as u16; - write_u16(facet_value_id, &mut shard_mut.facets_file_mmap, address) - } - } - - FieldType::String32 => { - if facet.values.len() < u32::MAX as usize { - let key = serde_json::from_value::(field_value.clone()) - .unwrap_or(field_value.to_string()); - - let key_string = key.clone(); - let key = vec![key]; - - facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; - - let facet_value_id = - facet.values.get_index_of(&key_string).unwrap() as u32; - write_u32(facet_value_id, &mut shard_mut.facets_file_mmap, address) - } - } - - FieldType::StringSet32 => { - if facet.values.len() < u32::MAX as usize { - let mut key: Vec = - serde_json::from_value(field_value.clone()).unwrap(); - key.sort(); - - let key_string = key.join("_"); - facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; - - let facet_value_id = - facet.values.get_index_of(&key_string).unwrap() as u32; - write_u32(facet_value_id, &mut shard_mut.facets_file_mmap, address) - } - } - - FieldType::Point => { - if let Ok(point) = serde_json::from_value::(field_value.clone()) - && point.len() == 2 - { - if point[0] >= -90.0 - && point[0] <= 90.0 - && point[1] >= -180.0 - && point[1] <= 180.0 - { - let morton_code = encode_morton_2_d(&point); - write_u64(morton_code, &mut shard_mut.facets_file_mmap, address) - } else { - println!( - "outside valid coordinate range: {} {}", - point[0], point[1] - ); - } - } - } - - _ => {} - }; - } - } - } - - if !shard_mut.uncommitted { - if shard_mut.segments_level0[0].positions_compressed.is_empty() { - for strip0 in shard_mut.segments_level0.iter_mut() { - strip0.positions_compressed = vec![0; MAX_POSITIONS_PER_TERM * 2]; - } - } - shard_mut.uncommitted = true; - } - - let mut longest_field_id: usize = 0; - let mut longest_field_length: u32 = 0; - for value in document_item.field_vec { - if doc_id == 0 && value.3 > longest_field_length { - longest_field_id = value.0; - longest_field_length = value.3; - } - - shard_mut.document_length_compressed_array[value.0][doc_id & 0b11111111_11111111] = - value.1; - shard_mut.positions_sum_normalized += value.2 as u64; - shard_mut.indexed_field_vec[value.0].field_length_sum += value.2 as usize; - } - - if doc_id == 0 { - if !shard_mut.longest_field_auto { - longest_field_id = shard_mut.longest_field_id; - } - shard_mut.longest_field_id = longest_field_id; - shard_mut.indexed_field_vec[longest_field_id].is_longest_field = true; - if shard_mut.indexed_field_vec.len() > 1 { - println!( - "detect longest field id {} name {} length {}", - longest_field_id, - shard_mut.indexed_field_vec[longest_field_id].schema_field_name, - longest_field_length - ); - } - } - - let mut unique_terms = document_item.unique_terms; - if !shard_mut.synonyms_map.is_empty() { - let unique_terms_clone = unique_terms.clone(); - for term in unique_terms_clone.iter() { - if term.1.ngram_type == NgramType::SingleTerm { - let synonym = shard_mut.synonyms_map.get(&term.1.key_hash).cloned(); - if let Some(synonym) = synonym { - for synonym_term in synonym { - let mut term_clone = term.1.clone(); - term_clone.key_hash = synonym_term.1.0; - term_clone.key0 = synonym_term.1.1; - term_clone.term = synonym_term.0.clone(); - - if let Some(existing) = unique_terms.get_mut(&synonym_term.0) { - existing - .field_positions_vec - .iter_mut() - .zip(term_clone.field_positions_vec.iter()) - .for_each(|(x1, x2)| { - x1.extend_from_slice(x2); - x1.sort_unstable(); - }); - } else { - unique_terms.insert(synonym_term.0.clone(), term_clone); - }; - } - } - } - } - } - - for term in unique_terms { - shard_mut.index_posting(term.1, doc_id, false, 0, 0, 0); - } - - match file { - FileType::PathBuf(file_path) => { - if let Err(e) = shard_mut.copy_file(&file_path, doc_id) { - println!("can't copy PDF {} {}", file_path.display(), e); - } - } - - FileType::Bytes(file_path, file_bytes) => { - if let Err(e) = shard_mut.write_file(&file_bytes, doc_id) { - println!("can't copy PDF {} {}", file_path.display(), e); - } - } - - _ => {} - } - - if !shard_mut.stored_field_names.is_empty() { - shard_mut.store_document(doc_id, document_item.document); - } - - if do_commit { - drop(shard_mut); - warmup(self).await; - } - } -} - -pub(crate) struct DocumentItem { - pub document: Document, - pub unique_terms: AHashMap, - pub field_vec: Vec<(usize, u8, u32, u32)>, -} diff --git a/mobile_app/rust/src/seekstorm/index_posting.rs b/mobile_app/rust/src/seekstorm/index_posting.rs deleted file mode 100644 index 01a21aa..0000000 --- a/mobile_app/rust/src/seekstorm/index_posting.rs +++ /dev/null @@ -1,941 +0,0 @@ -use std::cmp; - -use num::FromPrimitive; - -use crate::{ - compress_postinglist::compress_positions, - index::{ - AccessType, CompressionType, FIELD_STOP_BIT_1, FIELD_STOP_BIT_2, NgramType, - POSTING_BUFFER_SIZE, PostingListObject0, ROARING_BLOCK_SIZE, STOP_BIT, Shard, TermObject, - }, - search::binary_search, - utils::{block_copy_mut, read_u16, read_u32, write_u16_ref, write_u32}, -}; - -impl Shard { - pub(crate) fn index_posting( - &mut self, - term: TermObject, - doc_id: usize, - restore: bool, - posting_count_ngram_1_compressed: u8, - posting_count_ngram_2_compressed: u8, - posting_count_ngram_3_compressed: u8, - ) { - if let Some(spelling_correction) = self.meta.spelling_correction.as_ref() - && term.key_hash & 7 == 0 - && (spelling_correction.term_length_threshold.as_ref().is_none() - || spelling_correction - .term_length_threshold - .as_ref() - .unwrap() - .is_empty() - || term.term.len() - >= spelling_correction.term_length_threshold.as_ref().unwrap()[0]) - { - let sum: usize = term - .field_positions_vec - .iter() - .enumerate() - .filter(|&x| self.indexed_schema_vec[x.0].dictionary_source) - .map(|field| field.1.len()) - .sum(); - if sum > 0 { - _ = self - .level_terms - .entry((term.key_hash >> 32) as u32) - .or_insert(term.term.clone()); - } - }; - - let mut positions_count_sum = 0; - let mut field_positions_vec: Vec> = Vec::new(); - for positions_uncompressed in term.field_positions_vec.iter() { - positions_count_sum += positions_uncompressed.len(); - let mut positions: Vec = Vec::new(); - let mut previous_position: u16 = 0; - for pos in positions_uncompressed.iter() { - if positions.is_empty() { - positions.push(*pos); - } else { - positions.push(*pos - previous_position - 1); - } - previous_position = *pos; - } - field_positions_vec.push(positions); - } - - if positions_count_sum == 0 { - println!("empty posting {} docid {}", term.term, doc_id); - return; - } - - if self.postings_buffer_pointer > self.postings_buffer.len() - (POSTING_BUFFER_SIZE >> 4) { - self.postings_buffer - .resize(self.postings_buffer.len() + (POSTING_BUFFER_SIZE >> 2), 0); - } - - let strip_object0 = self.segments_level0.get_mut(term.key0 as usize).unwrap(); - - let value = strip_object0 - .segment - .entry(term.key_hash) - .or_insert(PostingListObject0 { - posting_count_ngram_1_compressed, - posting_count_ngram_2_compressed, - posting_count_ngram_3_compressed, - ..Default::default() - }); - let exists: bool = value.posting_count > 0; - - if self.is_last_level_incomplete && !exists && !restore { - if self.meta.access_type == AccessType::Mmap { - let pointer = self.segments_index[term.key0 as usize] - .byte_array_blocks_pointer - .last() - .unwrap(); - - let key_count = pointer.2 as usize; - - let byte_array_keys = - &self.index_file_mmap[pointer.0 - (key_count * self.key_head_size)..pointer.0]; - let key_index = binary_search( - byte_array_keys, - key_count, - term.key_hash, - self.key_head_size, - ); - - if key_index >= 0 { - let key_address = key_index as usize * self.key_head_size; - let compression_type_pointer = - read_u32(byte_array_keys, key_address + self.key_head_size - 4); - let rank_position_pointer_range = - compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; - - let position_range_previous = if key_index == 0 { - 0 - } else { - let posting_count_previous = - read_u16(byte_array_keys, key_address + 8 - self.key_head_size) - as usize - + 1; - let pointer_pivot_p_docid_previous = - read_u16(byte_array_keys, key_address - 6); - - let posting_pointer_size_sum_previous = pointer_pivot_p_docid_previous - as usize - * 2 - + if (pointer_pivot_p_docid_previous as usize) < posting_count_previous - { - (posting_count_previous - pointer_pivot_p_docid_previous as usize) - * 3 - } else { - 0 - }; - - let compression_type_pointer_previous = - read_u32(byte_array_keys, key_address + 18 - self.key_head_size); - let rank_position_pointer_range_previous = compression_type_pointer_previous - & 0b0011_1111_1111_1111_1111_1111_1111_1111; - let compression_type_previous: CompressionType = FromPrimitive::from_i32( - (compression_type_pointer_previous >> 30) as i32, - ) - .unwrap(); - - let compressed_docid_previous = match compression_type_previous { - CompressionType::Array => posting_count_previous * 2, - CompressionType::Bitmap => 8192, - CompressionType::Rle => { - let block_id = doc_id >> 16; - let segment: &crate::index::SegmentIndex = - &self.segments_index[term.key0 as usize]; - let byte_array_docid = &self.index_file_mmap[segment - .byte_array_blocks_pointer[block_id] - .0 - ..segment.byte_array_blocks_pointer[block_id].0 - + segment.byte_array_blocks_pointer[block_id].1]; - - 4 * read_u16( - byte_array_docid, - rank_position_pointer_range_previous as usize - + posting_pointer_size_sum_previous, - ) as usize - + 2 - } - _ => 0, - }; - - rank_position_pointer_range_previous - + (posting_pointer_size_sum_previous + compressed_docid_previous) as u32 - }; - - value.size_compressed_positions_key = - (rank_position_pointer_range - position_range_previous) as usize; - } - } else { - let posting_list_object_index_option = self.segments_index[term.key0 as usize] - .segment - .get(&term.key_hash); - - if let Some(plo) = posting_list_object_index_option { - let block = plo.blocks.last().unwrap(); - if block.block_id as usize == self.level_index.len() - 1 { - let rank_position_pointer_range: u32 = block.compression_type_pointer - & 0b0011_1111_1111_1111_1111_1111_1111_1111; - - value.size_compressed_positions_key = - (rank_position_pointer_range - plo.position_range_previous) as usize; - } - }; - } - } - - let mut posting_pointer_size = - if value.size_compressed_positions_key < 32_768 && value.posting_count < 65_535 { - value.pointer_pivot_p_docid = value.posting_count as u16 + 1; - 2u8 - } else { - 3u8 - }; - - let mut nonempty_field_count = 0; - let mut only_longest_field = true; - for (field_id, item) in field_positions_vec.iter().enumerate() { - if !item.is_empty() { - nonempty_field_count += 1; - - if !self.indexed_field_vec[field_id].is_longest_field { - only_longest_field = false; - } - } - } - - let mut positions_meta_compressed_nonembedded_size = 0; - - match term.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - for (i, field) in term.field_vec_ngram1.iter().enumerate() { - if field_positions_vec.len() == 1 { - positions_meta_compressed_nonembedded_size += if field.1 < 128 { - 1 - } else if field.1 < 16_384 { - 2 - } else { - 3 - }; - } else if term.field_vec_ngram1.len() == 1 - && term.field_vec_ngram1[0].0 == self.longest_field_id - { - positions_meta_compressed_nonembedded_size += if field.1 < 64 { - 1 - } else if field.1 < 8_192 { - 2 - } else { - 3 - }; - } else { - let required_position_count_bits = u32::BITS - field.1.leading_zeros(); - let only_longest_field_bit = if i == 0 { 1 } else { 0 }; - let meta_bits = only_longest_field_bit - + required_position_count_bits - + self.indexed_field_id_bits as u32; - - if meta_bits <= 6 { - positions_meta_compressed_nonembedded_size += 1; - } else if meta_bits <= 13 { - positions_meta_compressed_nonembedded_size += 2; - } else if meta_bits <= 20 { - positions_meta_compressed_nonembedded_size += 3; - } - } - } - for (i, field) in term.field_vec_ngram2.iter().enumerate() { - if field_positions_vec.len() == 1 { - positions_meta_compressed_nonembedded_size += if field.1 < 128 { - 1 - } else if field.1 < 16_384 { - 2 - } else { - 3 - }; - } else if term.field_vec_ngram2.len() == 1 - && term.field_vec_ngram2[0].0 == self.longest_field_id - { - positions_meta_compressed_nonembedded_size += if field.1 < 64 { - 1 - } else if field.1 < 8_192 { - 2 - } else { - 3 - }; - } else { - let required_position_count_bits = u32::BITS - field.1.leading_zeros(); - let only_longest_field_bit = if i == 0 { 1 } else { 0 }; - let meta_bits = only_longest_field_bit - + required_position_count_bits - + self.indexed_field_id_bits as u32; - - if meta_bits <= 6 { - positions_meta_compressed_nonembedded_size += 1; - } else if meta_bits <= 13 { - positions_meta_compressed_nonembedded_size += 2; - } else if meta_bits <= 20 { - positions_meta_compressed_nonembedded_size += 3; - } - } - } - } - _ => { - for (i, field) in term.field_vec_ngram1.iter().enumerate() { - if field_positions_vec.len() == 1 { - positions_meta_compressed_nonembedded_size += if field.1 < 128 { - 1 - } else if field.1 < 16_384 { - 2 - } else { - 3 - }; - } else if term.field_vec_ngram1.len() == 1 - && term.field_vec_ngram1[0].0 == self.longest_field_id - { - positions_meta_compressed_nonembedded_size += if field.1 < 64 { - 1 - } else if field.1 < 8_192 { - 2 - } else { - 3 - }; - } else { - let required_position_count_bits = u32::BITS - field.1.leading_zeros(); - let only_longest_field_bit = if i == 0 { 1 } else { 0 }; - let meta_bits = only_longest_field_bit - + required_position_count_bits - + self.indexed_field_id_bits as u32; - - if meta_bits <= 6 { - positions_meta_compressed_nonembedded_size += 1; - } else if meta_bits <= 13 { - positions_meta_compressed_nonembedded_size += 2; - } else if meta_bits <= 20 { - positions_meta_compressed_nonembedded_size += 3; - } - } - } - for (i, field) in term.field_vec_ngram2.iter().enumerate() { - if field_positions_vec.len() == 1 { - positions_meta_compressed_nonembedded_size += if field.1 < 128 { - 1 - } else if field.1 < 16_384 { - 2 - } else { - 3 - }; - } else if term.field_vec_ngram2.len() == 1 - && term.field_vec_ngram2[0].0 == self.longest_field_id - { - positions_meta_compressed_nonembedded_size += if field.1 < 64 { - 1 - } else if field.1 < 8_192 { - 2 - } else { - 3 - }; - } else { - let required_position_count_bits = u32::BITS - field.1.leading_zeros(); - let only_longest_field_bit = if i == 0 { 1 } else { 0 }; - let meta_bits = only_longest_field_bit - + required_position_count_bits - + self.indexed_field_id_bits as u32; - - if meta_bits <= 6 { - positions_meta_compressed_nonembedded_size += 1; - } else if meta_bits <= 13 { - positions_meta_compressed_nonembedded_size += 2; - } else if meta_bits <= 20 { - positions_meta_compressed_nonembedded_size += 3; - } - } - } - for (i, field) in term.field_vec_ngram3.iter().enumerate() { - if field_positions_vec.len() == 1 { - positions_meta_compressed_nonembedded_size += if field.1 < 128 { - 1 - } else if field.1 < 16_384 { - 2 - } else { - 3 - }; - } else if term.field_vec_ngram3.len() == 1 - && term.field_vec_ngram3[0].0 == self.longest_field_id - { - positions_meta_compressed_nonembedded_size += if field.1 < 64 { - 1 - } else if field.1 < 8_192 { - 2 - } else { - 3 - }; - } else { - let required_position_count_bits = u32::BITS - field.1.leading_zeros(); - let only_longest_field_bit = if i == 0 { 1 } else { 0 }; - let meta_bits = only_longest_field_bit - + required_position_count_bits - + self.indexed_field_id_bits as u32; - - if meta_bits <= 6 { - positions_meta_compressed_nonembedded_size += 1; - } else if meta_bits <= 13 { - positions_meta_compressed_nonembedded_size += 2; - } else if meta_bits <= 20 { - positions_meta_compressed_nonembedded_size += 3; - } - } - } - } - } - - let mut positions_sum = 0; - let mut positions_vec: Vec = Vec::new(); - let mut field_vec: Vec<(usize, u32)> = Vec::new(); - for (field_id, field) in field_positions_vec.iter().enumerate() { - if !field.is_empty() { - if field_positions_vec.len() == 1 { - positions_meta_compressed_nonembedded_size += if field.len() < 128 { - 1 - } else if field.len() < 16_384 { - 2 - } else { - 3 - }; - } else if only_longest_field { - positions_meta_compressed_nonembedded_size += if field.len() < 64 { - 1 - } else if field.len() < 8_192 { - 2 - } else { - 3 - }; - } else { - let required_position_count_bits = usize::BITS - field.len().leading_zeros(); - let only_longest_field_bit = if field_vec.is_empty() { 1 } else { 0 }; - - let meta_bits = only_longest_field_bit - + required_position_count_bits - + self.indexed_field_id_bits as u32; - - if meta_bits <= 6 { - positions_meta_compressed_nonembedded_size += 1; - } else if meta_bits <= 13 { - positions_meta_compressed_nonembedded_size += 2; - } else if meta_bits <= 20 { - positions_meta_compressed_nonembedded_size += 3; - } - } - - positions_sum += field.len(); - if self.indexed_field_vec.len() > 1 && field.len() <= 4 { - positions_vec.append(&mut field.clone()) - }; - - field_vec.push((field_id, field.len() as u32)); - } - } - - let mut embed_flag = term.ngram_type == NgramType::SingleTerm; - - if self.indexed_field_vec.len() == 1 { - if posting_pointer_size == 2 { - embed_flag &= positions_sum <= 2 - && ((positions_sum == 1 - && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 14) - || (positions_sum == 2 - && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 7 - && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 7)); - } else { - embed_flag &= positions_sum <= 4 - && ((positions_sum == 1 - && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 21) - || (positions_sum == 2 - && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 10 - && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 11) - || (positions_sum == 3 - && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 7 - && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 7 - && u16::BITS - field_positions_vec[0][2].leading_zeros() <= 7) - || (positions_sum == 4 - && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 5 - && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 5 - && u16::BITS - field_positions_vec[0][2].leading_zeros() <= 5 - && u16::BITS - field_positions_vec[0][3].leading_zeros() <= 6)); - } - } else if only_longest_field { - if posting_pointer_size == 2 { - embed_flag &= positions_sum <= 2 - && ((positions_sum == 1 && u16::BITS - positions_vec[0].leading_zeros() <= 13) - || (positions_sum == 2 - && u16::BITS - positions_vec[0].leading_zeros() <= 6 - && u16::BITS - positions_vec[1].leading_zeros() <= 7)); - } else { - embed_flag &= positions_sum <= 4 - && ((positions_sum == 1 && u16::BITS - positions_vec[0].leading_zeros() <= 20) - || (positions_sum == 2 - && u16::BITS - positions_vec[0].leading_zeros() <= 10 - && u16::BITS - positions_vec[1].leading_zeros() <= 10) - || (positions_sum == 3 - && u16::BITS - positions_vec[0].leading_zeros() <= 6 - && u16::BITS - positions_vec[1].leading_zeros() <= 7 - && u16::BITS - positions_vec[2].leading_zeros() <= 7) - || (positions_sum == 4 - && u16::BITS - positions_vec[0].leading_zeros() <= 5 - && u16::BITS - positions_vec[1].leading_zeros() <= 5 - && u16::BITS - positions_vec[2].leading_zeros() <= 5 - && u16::BITS - positions_vec[3].leading_zeros() <= 5)); - } - } else { - let used_bits = nonempty_field_count * self.indexed_field_id_bits as u32; - let bits = if posting_pointer_size == 2 { 12 } else { 19 }; - let remaining_bits_new = if used_bits < bits { - bits - used_bits - } else { - embed_flag = false; - 0 - }; - - if posting_pointer_size == 2 { - embed_flag &= positions_sum <= 3 - && ((positions_sum == 1 - && u16::BITS - positions_vec[0].leading_zeros() <= remaining_bits_new) - || (positions_sum == 2 - && u16::BITS - positions_vec[0].leading_zeros() - <= remaining_bits_new / 2 - && u16::BITS - positions_vec[1].leading_zeros() - <= remaining_bits_new - remaining_bits_new / 2) - || (positions_sum == 3 - && nonempty_field_count == 1 - && u16::BITS - positions_vec[0].leading_zeros() - <= remaining_bits_new / 3 - && u16::BITS - positions_vec[1].leading_zeros() - <= (remaining_bits_new - remaining_bits_new / 3) / 2 - && u16::BITS - positions_vec[2].leading_zeros() - <= remaining_bits_new - - (remaining_bits_new - remaining_bits_new / 3) / 2 - - (remaining_bits_new / 3))); - } else { - embed_flag &= positions_sum <= 4 - && ((positions_sum == 1 - && u16::BITS - positions_vec[0].leading_zeros() <= remaining_bits_new) - || (positions_sum == 2 - && u16::BITS - positions_vec[0].leading_zeros() - <= remaining_bits_new / 2 - && u16::BITS - positions_vec[1].leading_zeros() - <= remaining_bits_new - remaining_bits_new / 2) - || (positions_sum == 3 - && u16::BITS - positions_vec[0].leading_zeros() - <= remaining_bits_new / 3 - && u16::BITS - positions_vec[1].leading_zeros() - <= (remaining_bits_new - remaining_bits_new / 3) / 2 - && u16::BITS - positions_vec[2].leading_zeros() - <= remaining_bits_new - - (remaining_bits_new - remaining_bits_new / 3) / 2 - - (remaining_bits_new / 3)) - || (positions_sum == 4 - && nonempty_field_count == 1 - && u16::BITS - positions_vec[0].leading_zeros() - <= remaining_bits_new / 4 - && u16::BITS - positions_vec[1].leading_zeros() - <= (remaining_bits_new - remaining_bits_new / 4) / 3 - && u16::BITS - positions_vec[2].leading_zeros() - <= (remaining_bits_new - - (remaining_bits_new - remaining_bits_new / 4) / 3 - - (remaining_bits_new / 4)) - / 2 - && u16::BITS - positions_vec[3].leading_zeros() - <= remaining_bits_new - - remaining_bits_new / 4 - - (remaining_bits_new - remaining_bits_new / 4) / 3 - - (remaining_bits_new - - (remaining_bits_new - remaining_bits_new / 4) / 3 - - (remaining_bits_new / 4)) - / 2)); - } - }; - - let mut write_pointer_base = self.postings_buffer_pointer; - let mut write_pointer = self.postings_buffer_pointer + 8; - - let mut positions_compressed_pointer = 0usize; - let positions_stack = if embed_flag { - 0 - } else { - for field_positions in field_positions_vec.iter() { - compress_positions( - field_positions, - &mut strip_object0.positions_compressed, - &mut positions_compressed_pointer, - ); - } - - let exceeded = posting_pointer_size == 2 - && (value.size_compressed_positions_key - + positions_meta_compressed_nonembedded_size - + positions_compressed_pointer - >= 32_768); - if exceeded { - posting_pointer_size = 3; - value.pointer_pivot_p_docid = value.posting_count as u16; - } - - positions_meta_compressed_nonembedded_size + positions_compressed_pointer - }; - - let compressed_position_size = if embed_flag { - let mut positions_vec: Vec = Vec::new(); - let mut data: u32 = 0; - for field in field_vec.iter() { - for pos in field_positions_vec[field.0].iter() { - positions_vec.push(*pos); - } - if self.indexed_field_vec.len() > 1 && !only_longest_field { - data <<= self.indexed_field_id_bits; - data |= field.0 as u32; - } - } - - let mut remaining_bits = posting_pointer_size as usize * 8 - - if posting_pointer_size == 2 { 0 } else { 1 } - - if self.indexed_field_vec.len() == 1 { - 2 - } else if only_longest_field { - 3 - } else { - 4 + nonempty_field_count as usize * self.indexed_field_id_bits - }; - for (i, position) in positions_vec.iter().enumerate() { - let position_bits = remaining_bits / (positions_vec.len() - i); - remaining_bits -= position_bits; - data <<= position_bits; - data |= *position as u32; - } - - if posting_pointer_size == 2 { - self.postings_buffer[write_pointer] = (data & 0b11111111) as u8; - if self.indexed_field_vec.len() == 1 { - self.postings_buffer[write_pointer + 1] = - (data >> 8) as u8 | 0b10000000 | ((positions_vec.len() - 1) << 6) as u8; - } else if only_longest_field { - self.postings_buffer[write_pointer + 1] = - (data >> 8) as u8 | 0b11000000 | ((positions_vec.len() - 1) << 5) as u8; - } else if nonempty_field_count == 1 { - self.postings_buffer[write_pointer + 1] = - (data >> 8) as u8 | 0b10000000 | ((positions_vec.len() - 1) << 4) as u8; - } else { - self.postings_buffer[write_pointer + 1] = (data >> 8) as u8 | 0b10110000; - }; - } else { - self.postings_buffer[write_pointer] = (data & 0b11111111) as u8; - self.postings_buffer[write_pointer + 1] = ((data >> 8) & 0b11111111) as u8; - if self.indexed_field_vec.len() == 1 { - self.postings_buffer[write_pointer + 2] = - (data >> 16) as u8 | 0b10000000 | ((positions_vec.len() - 1) << 5) as u8; - } else if only_longest_field { - self.postings_buffer[write_pointer + 2] = - (data >> 16) as u8 | 0b11000000 | ((positions_vec.len() - 1) << 4) as u8; - } else { - self.postings_buffer[write_pointer + 2] = (data >> 16) as u8 - | 0b10000000 - | if nonempty_field_count == 1 { - ((positions_vec.len() - 1) << 3) as u8 - } else if nonempty_field_count == 3 { - 0b00111000 - } else if field_vec[0].1 == 1 && field_vec[1].1 == 1 { - 0b00100000 - } else if field_vec[0].1 == 1 && field_vec[1].1 == 2 { - 0b00101000 - } else { - 0b00110000 - }; - } - } - - write_pointer += posting_pointer_size as usize; - posting_pointer_size as usize - } else { - let write_pointer_start = write_pointer; - - match term.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - write_field_vec( - &mut self.postings_buffer, - &mut write_pointer, - &term.field_vec_ngram1, - self.indexed_field_vec.len(), - term.field_vec_ngram1.len() == 1 - && term.field_vec_ngram1[0].0 == self.longest_field_id, - term.field_vec_ngram1.len() as u32, - self.indexed_field_id_bits as u32, - ); - write_field_vec( - &mut self.postings_buffer, - &mut write_pointer, - &term.field_vec_ngram2, - self.indexed_field_vec.len(), - term.field_vec_ngram2.len() == 1 - && term.field_vec_ngram2[0].0 == self.longest_field_id, - term.field_vec_ngram2.len() as u32, - self.indexed_field_id_bits as u32, - ); - } - _ => { - write_field_vec( - &mut self.postings_buffer, - &mut write_pointer, - &term.field_vec_ngram1, - self.indexed_field_vec.len(), - term.field_vec_ngram1.len() == 1 - && term.field_vec_ngram1[0].0 == self.longest_field_id, - term.field_vec_ngram1.len() as u32, - self.indexed_field_id_bits as u32, - ); - write_field_vec( - &mut self.postings_buffer, - &mut write_pointer, - &term.field_vec_ngram2, - self.indexed_field_vec.len(), - term.field_vec_ngram2.len() == 1 - && term.field_vec_ngram2[0].0 == self.longest_field_id, - term.field_vec_ngram2.len() as u32, - self.indexed_field_id_bits as u32, - ); - write_field_vec( - &mut self.postings_buffer, - &mut write_pointer, - &term.field_vec_ngram3, - self.indexed_field_vec.len(), - term.field_vec_ngram3.len() == 1 - && term.field_vec_ngram3[0].0 == self.longest_field_id, - term.field_vec_ngram3.len() as u32, - self.indexed_field_id_bits as u32, - ); - } - } - - write_field_vec( - &mut self.postings_buffer, - &mut write_pointer, - &field_vec, - self.indexed_field_vec.len(), - only_longest_field, - nonempty_field_count, - self.indexed_field_id_bits as u32, - ); - - block_copy_mut( - &mut strip_object0.positions_compressed, - 0, - &mut self.postings_buffer, - write_pointer, - positions_compressed_pointer, - ); - - write_pointer += positions_compressed_pointer; - write_pointer - write_pointer_start - }; - - let docid_lsb = (doc_id & 0xFFFF) as u16; - if exists { - value.posting_count += 1; - value.position_count += positions_count_sum; - value.size_compressed_positions_key += positions_stack; - if docid_lsb > value.docid_old { - value.docid_delta_max = - cmp::max(value.docid_delta_max, docid_lsb - value.docid_old - 1); - } - value.docid_old = docid_lsb; - - write_u32( - write_pointer_base as u32, - &mut self.postings_buffer, - value.pointer_last, - ); - - value.pointer_last = write_pointer_base; - } else if term.ngram_type == NgramType::NgramFF - || term.ngram_type == NgramType::NgramRF - || term.ngram_type == NgramType::NgramFR - { - *value = PostingListObject0 { - pointer_first: write_pointer_base, - pointer_last: write_pointer_base, - posting_count: 1, - position_count: positions_count_sum, - ngram_type: term.ngram_type.clone(), - term_ngram1: term.term_ngram_1, - term_ngram2: term.term_ngram_0, - term_ngram3: term.term_ngram_2, - size_compressed_positions_key: value.size_compressed_positions_key - + positions_stack, - docid_delta_max: docid_lsb, - docid_old: docid_lsb, - ..*value - }; - } else { - *value = PostingListObject0 { - pointer_first: write_pointer_base, - pointer_last: write_pointer_base, - posting_count: 1, - position_count: positions_count_sum, - ngram_type: term.ngram_type.clone(), - term_ngram1: term.term_ngram_2, - term_ngram2: term.term_ngram_1, - term_ngram3: term.term_ngram_0, - size_compressed_positions_key: value.size_compressed_positions_key - + positions_stack, - docid_delta_max: docid_lsb, - docid_old: docid_lsb, - ..*value - }; - } - - write_pointer_base += 4; - - write_u16_ref( - docid_lsb, - &mut self.postings_buffer, - &mut write_pointer_base, - ); - - if positions_compressed_pointer + 2 > ROARING_BLOCK_SIZE { - println!( - "compressed positions size exceeded: {}", - positions_compressed_pointer + 2 - ) - }; - - if !embed_flag && positions_stack != compressed_position_size { - println!( - "size conflict: embed {} term {} ngram_type {:?} frequent {} pos_count {} : positions_stack {} compressed_position_size {} : positions_compressed_pointer {} posting_pointer_size {} docid {}", - embed_flag, - term.term, - term.ngram_type, - only_longest_field, - positions_count_sum, - positions_stack, - compressed_position_size, - positions_compressed_pointer, - posting_pointer_size, - doc_id - ); - } - - write_u16_ref( - if embed_flag { - compressed_position_size | 0b10000000_00000000 - } else { - compressed_position_size & 0b01111111_11111111 - } as u16, - &mut self.postings_buffer, - &mut write_pointer_base, - ); - - self.postings_buffer_pointer = write_pointer; - } -} - -pub(crate) fn write_field_vec( - postings_buffer: &mut [u8], - write_pointer: &mut usize, - field_vec: &[(usize, u32)], - indexed_field_vec_len: usize, - only_longest_field: bool, - nonempty_field_count: u32, - indexed_field_id_bits: u32, -) { - for (i, field) in field_vec.iter().enumerate() { - if indexed_field_vec_len == 1 { - if field.1 < 128 { - postings_buffer[*write_pointer] = field.1 as u8 | STOP_BIT; - *write_pointer += 1; - } else if field.1 < 16_384 { - postings_buffer[*write_pointer] = (field.1 >> 7) as u8; - *write_pointer += 1; - postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; - *write_pointer += 1; - } else if field.1 < 2_097_152 { - postings_buffer[*write_pointer] = (field.1 >> 14) as u8; - *write_pointer += 1; - postings_buffer[*write_pointer] = ((field.1 >> 7) & 0b01111111) as u8; - *write_pointer += 1; - - postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; - *write_pointer += 1; - } else { - println!("positionCount exceeded1: {}", field.1); - } - } else if only_longest_field { - if field.1 < 64 { - postings_buffer[*write_pointer] = field.1 as u8 | 0b11000000; - *write_pointer += 1; - } else if field.1 < 8_192 { - postings_buffer[*write_pointer] = (field.1 >> 7) as u8 | 0b01000000; - *write_pointer += 1; - postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; - *write_pointer += 1; - } else if field.1 < 1_048_576 { - postings_buffer[*write_pointer] = (field.1 >> 14) as u8 | 0b01000000; - *write_pointer += 1; - postings_buffer[*write_pointer] = ((field.1 >> 7) & 0b01111111) as u8; - *write_pointer += 1; - - postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; - *write_pointer += 1; - } else { - println!("positionCount exceeded2: {}", field.1); - } - } else { - let field_stop_bit = if i == nonempty_field_count as usize - 1 { - if i == 0 { - FIELD_STOP_BIT_1 - } else { - FIELD_STOP_BIT_2 - } - } else { - 0b00000000 - }; - - let required_position_count_bits = u32::BITS - field.1.leading_zeros(); - - let field_id_position_count = ((field.1 as usize) << indexed_field_id_bits) | field.0; - let only_longest_field_bit = if i == 0 { 1 } else { 0 }; - let meta_bits = - only_longest_field_bit + required_position_count_bits + indexed_field_id_bits; - - if meta_bits <= 6 { - postings_buffer[*write_pointer] = - field_stop_bit | field_id_position_count as u8 | STOP_BIT; - *write_pointer += 1; - } else if meta_bits <= 13 { - postings_buffer[*write_pointer] = - field_stop_bit | (field_id_position_count >> 7) as u8; - *write_pointer += 1; - postings_buffer[*write_pointer] = - (field_id_position_count & 0b01111111) as u8 | STOP_BIT; - *write_pointer += 1; - } else if meta_bits <= 20 { - postings_buffer[*write_pointer] = - field_stop_bit | (field_id_position_count >> 14) as u8; - *write_pointer += 1; - postings_buffer[*write_pointer] = - ((field_id_position_count >> 7) & 0b01111111) as u8; - *write_pointer += 1; - postings_buffer[*write_pointer] = - (field_id_position_count & 0b01111111) as u8 | STOP_BIT; - *write_pointer += 1; - } else { - println!("positionCount exceeded3: {} ", field_id_position_count); - } - } - } -} diff --git a/mobile_app/rust/src/seekstorm/ingest.rs b/mobile_app/rust/src/seekstorm/ingest.rs deleted file mode 100644 index 11c137f..0000000 --- a/mobile_app/rust/src/seekstorm/ingest.rs +++ /dev/null @@ -1,756 +0,0 @@ -use std::{ - collections::HashMap, - ffi::OsStr, - fs::{File, metadata}, - io::{self, BufReader, Read}, - path::PathBuf, - sync::Arc, - time::{Instant, SystemTime}, -}; - -use chrono::{DateTime, NaiveDateTime, TimeZone, Utc}; -use colored::Colorize; -use csv::{ReaderBuilder, Terminator}; -use num_format::{Locale, ToFormattedString}; -#[cfg(feature = "pdf")] -use pdfium_render::prelude::{PdfDocumentMetadataTagType, Pdfium}; -use serde_json::{Deserializer, json}; -use tokio::sync::RwLock; -use walkdir::WalkDir; - -use crate::{ - commit::Commit, - index::{Document, FileType, Index, IndexArc, IndexDocument}, - utils::truncate, -}; - -use lazy_static::lazy_static; - -#[cfg(feature = "pdf")] -type PdfDocument<'a> = pdfium_render::prelude::PdfDocument<'a>; -#[cfg(not(feature = "pdf"))] -type PdfDocument<'a> = (); - -#[cfg(feature = "pdf")] -lazy_static! { - pub(crate) static ref pdfium_option: Option = if let Ok(pdfium) = - Pdfium::bind_to_library(Pdfium::pdfium_platform_library_name_at_path("./")) - .or_else(|_| Pdfium::bind_to_system_library()) - { - Some(Pdfium::new(pdfium)) - } else { - None - }; -} - -fn read_skipping_ws(mut reader: impl Read) -> io::Result { - loop { - let mut byte = 0u8; - reader.read_exact(std::slice::from_mut(&mut byte))?; - if !byte.is_ascii_whitespace() { - return Ok(byte); - } - } -} - -/// Index PDF file from local disk. -/// - converts pdf to text and indexes it -/// - extracts title from metatag, or first line of text, or from filename -/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) -/// - copies all ingested pdf files to "files" subdirectory in index -/// # Arguments -/// * `file_path` - PathBuf to the file -/// # Returns -/// * `Result<(), String>` - Ok(()) or Err(String) -#[allow(clippy::too_many_arguments)] -#[allow(async_fn_in_trait)] -pub trait IndexPdfFile { - /// Index PDF file from local disk. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - /// # Arguments - /// * `file_path` - PathBuf to the file - /// # Returns - /// * `Result<(), String>` - Ok(()) or Err(String) - async fn index_pdf_file(&self, file_path: &PathBuf) -> Result<(), String>; -} - -impl IndexPdfFile for IndexArc { - /// Index PDF file from local disk. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - async fn index_pdf_file(&self, file_path: &PathBuf) -> Result<(), String> { - #[cfg(feature = "pdf")] - { - if let Some(pdfium) = pdfium_option.as_ref() { - let file_size = file_path.metadata().unwrap().len() as usize; - - let date: DateTime = if let Ok(metadata) = metadata(file_path) { - if let Ok(time) = metadata.created() { - time - } else { - SystemTime::now() - } - } else { - SystemTime::now() - } - .into(); - let file_date = date.timestamp(); - - if let Ok(pdf) = pdfium.load_pdf_from_file(file_path, None) { - self.index_pdf( - file_path, - file_size, - file_date, - FileType::PathBuf(file_path.into()), - pdf, - ) - .await; - Ok(()) - } else { - println!("can't read PDF {} {}", file_path.display(), file_size); - Err("can't read PDF".to_string()) - } - } else { - println!( - "Pdfium library not found: download and copy into the same folder as the seekstorm_server.exe: https://github.com/bblanchon/pdfium-binaries" - ); - Err("Pdfium library not found".to_string()) - } - } - #[cfg(not(feature = "pdf"))] - { - println!("pdf feature flag not enabled"); - Err("pdf feature flag not enabled".to_string()) - } - } -} - -/// Index PDF file from byte array. -/// - converts pdf to text and indexes it -/// - extracts title from metatag, or first line of text, or from filename -/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) -/// - copies all ingested pdf files to "files" subdirectory in index -/// # Arguments -/// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) -/// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) -/// * `file_bytes` - Byte array of the file -#[allow(clippy::too_many_arguments)] -#[allow(async_fn_in_trait)] -pub trait IndexPdfBytes { - /// Index PDF file from byte array. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - /// # Arguments - /// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) - /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) - /// * `file_bytes` - Byte array of the file - async fn index_pdf_bytes( - &self, - file_path: &PathBuf, - file_date: i64, - file_bytes: &[u8], - ) -> Result<(), String>; -} - -#[cfg(feature = "pdf")] -impl IndexPdfBytes for IndexArc { - /// Index PDF file from byte array. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - /// # Arguments - /// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) - /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) - /// * `file_bytes` - Byte array of the file - async fn index_pdf_bytes( - &self, - file_path: &PathBuf, - file_date: i64, - file_bytes: &[u8], - ) -> Result<(), String> { - if let Some(pdfium) = pdfium_option.as_ref() { - let file_size = file_bytes.len(); - if let Ok(pdf) = pdfium.load_pdf_from_byte_slice(file_bytes, None) { - self.index_pdf( - file_path, - file_size, - file_date, - FileType::Bytes(file_path.into(), file_bytes.into()), - pdf, - ) - .await; - Ok(()) - } else { - println!("can't read PDF {} {}", file_path.display(), file_size); - Err("can't read PDF".to_string()) - } - } else { - println!( - "Pdfium library not found: download and copy into the same folder as the seekstorm_server.exe: https://github.com/bblanchon/pdfium-binaries" - ); - Err("Pdfium library not found".to_string()) - } - } -} - -#[cfg(not(feature = "pdf"))] -impl IndexPdfBytes for IndexArc { - /// Index PDF file from byte array. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - /// # Arguments - /// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) - /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) - /// * `file_bytes` - Byte array of the file - async fn index_pdf_bytes( - &self, - file_path: &PathBuf, - file_date: i64, - file_bytes: &[u8], - ) -> Result<(), String> { - println!("pdf feature flag not enabled"); - Err("pdf feature flag not enabled".to_string()) - } -} - -/// Index PDF file from local disk or byte array. -/// - converts pdf to text and indexes it -/// - extracts title from metatag, or first line of text, or from filename -/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) -/// - copies all ingested pdf files to "files" subdirectory in index -/// # Arguments -/// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) -/// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) -/// * `file` - FileType::PathBuf or FileType::Bytes -/// * `pdf` - pdfium_render::prelude::PdfDocument -#[allow(clippy::too_many_arguments)] -#[allow(async_fn_in_trait)] -trait IndexPdf { - async fn index_pdf( - &self, - file_path: &PathBuf, - file_size: usize, - file_date: i64, - file: FileType, - pdf: PdfDocument<'_>, - ); -} - -#[cfg(feature = "pdf")] -impl IndexPdf for IndexArc { - /// Index PDF file from local disk or byte array. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - async fn index_pdf( - &self, - file_path: &PathBuf, - file_size: usize, - file_date: i64, - file: FileType, - pdf: PdfDocument<'_>, - ) { - let mut text = String::with_capacity(file_size); - - pdf.pages().iter().for_each(|page| { - text.push_str(&page.text().unwrap().all()); - text.push_str(" \n"); - }); - - if text.is_empty() { - println!("can't extract text from PDF {}", file_path.display(),); - } else { - let meta = pdf.metadata(); - - let title = if let Some(title) = meta.get(PdfDocumentMetadataTagType::Title) { - title.value().to_owned() - } else { - let mut i = 0; - let mut lines = text.lines(); - loop { - i += 1; - if let Some(title) = lines.next() { - if title.trim().len() > 1 { - break truncate(title, 160).trim().to_owned(); - } else if i < 10 { - continue; - } - } - - break file_path - .file_stem() - .unwrap() - .to_string_lossy() - .to_string() - .replace("_", ""); - } - }; - - let mut creation_timestamp = - if let Some(date) = meta.get(PdfDocumentMetadataTagType::CreationDate) { - let mut date_string = if date.value().starts_with("D:") { - &date.value()[2..] - } else { - &date.value()[0..] - }; - - if date_string.len() > 14 - && date_string - .chars() - .nth(14) - .unwrap() - .eq_ignore_ascii_case(&'z') - { - date_string = &date_string[0..14]; - } - - if date_string.len() == 14 - || date_string.len() == 19 - || date_string.len() == 20 - || date_string.len() == 21 - { - let mut date_string2 = String::with_capacity(23); - date_string2.push_str(&date_string[0..4]); - date_string2.push('-'); - date_string2.push_str(&date_string[4..6]); - date_string2.push('-'); - date_string2.push_str(&date_string[6..8]); - date_string2.push('T'); - date_string2.push_str(&date_string[8..10]); - date_string2.push(':'); - date_string2.push_str(&date_string[10..12]); - date_string2.push(':'); - date_string2.push_str(&date_string[12..14]); - if date_string.len() == 14 { - date_string2.push_str("+00:00") - } else if date_string.chars().nth(17).unwrap() == '\'' { - date_string2.push_str(&date_string[14..17]); - date_string2.push(':'); - date_string2.push_str(&date_string[18..20]); - } else { - date_string2.push_str(&date_string[14..17]); - date_string2.push(':'); - date_string2.push_str(&date_string[17..19]); - } - - if let Ok(date) = DateTime::parse_from_rfc3339(&date_string2) { - date.timestamp() - } else { - file_date - } - } else if let Ok(date) = - NaiveDateTime::parse_from_str(date.value(), "%a %b %e %H:%M:%S %Y") - .map(|ndt| Utc.from_utc_datetime(&ndt)) - { - date.timestamp() - } else if let Ok(date) = - NaiveDateTime::parse_from_str(date.value(), "%Y/%m/%d %H:%M:%S") - .map(|ndt| Utc.from_utc_datetime(&ndt)) - { - date.timestamp() - } else if let Ok(date) = - NaiveDateTime::parse_from_str(date.value(), "%m/%e/%Y %H:%M:%S") - .map(|ndt| Utc.from_utc_datetime(&ndt)) - { - date.timestamp() - } else { - file_date - } - } else { - file_date - }; - - if creation_timestamp > Utc::now().timestamp() || creation_timestamp < 0 { - creation_timestamp = file_date; - } - - let document: Document = HashMap::from([ - ("title".to_string(), json!(title)), - ("body".to_string(), json!(text)), - ("url".to_string(), json!(&file_path.display().to_string())), - ("date".to_string(), json!(creation_timestamp)), - ]); - - self.index_document(document, file).await; - - let date_time = Utc.timestamp_opt(creation_timestamp, 0).unwrap(); - println!( - "indexed {} {} {} {}", - date_time.format("%d/%m/%Y %H:%M"), - file_path.display(), - text.len().to_formatted_string(&Locale::en), - title - ); - } - } -} - -#[cfg(not(feature = "pdf"))] -impl IndexPdf for IndexArc { - /// Index PDF file from local disk or byte array. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - async fn index_pdf( - &self, - file_path: &PathBuf, - file_size: usize, - file_date: i64, - file: FileType, - pdf: PdfDocument<'_>, - ) { - println!("pdf feature flag not enabled"); - } -} - -pub(crate) async fn path_recurse( - index_arc: &Arc>, - data_path: &PathBuf, - docid: &mut usize, -) { - for entry in WalkDir::new(data_path) { - let entry = entry.unwrap(); - let path = entry.path(); - - let md = metadata(path).unwrap(); - if md.is_file() - && let Some(extension) = path.extension().and_then(OsStr::to_str) - && extension.to_lowercase() == "pdf" - && index_arc.index_pdf_file(path).await.is_ok() - { - *docid += 1; - }; - } -} - -/// Index PDF files from local disk directory and sub-directories or from file. -/// - converts pdf to text and indexes it -/// - extracts title from metatag, or first line of text, or from filename -/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) -/// - copies all ingested pdf files to "files" subdirectory in index -/// # Arguments -/// * `file_path` - PathBuf to the file -#[allow(clippy::too_many_arguments)] -#[allow(async_fn_in_trait)] -pub trait IngestPdf { - /// Index PDF files from local disk directory and sub-directories or from file. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - /// # Arguments - /// * `file_path` - PathBuf to the file - async fn ingest_pdf(&mut self, file_path: &PathBuf); -} - -#[cfg(feature = "pdf")] -impl IngestPdf for IndexArc { - /// Index PDF files from local disk directory and sub-directories or from file. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - async fn ingest_pdf(&mut self, data_path: &PathBuf) { - if pdfium_option.is_some() { - match data_path.exists() { - true => { - println!("ingesting PDF from: {}", data_path.display()); - - let start_time = Instant::now(); - let mut docid = 0usize; - - let index_ref = self.read().await; - drop(index_ref); - - let md = metadata(data_path).unwrap(); - if md.is_file() { - if let Some(extension) = PathBuf::new(&data_path.display().to_string()) - .extension() - .and_then(OsStr::to_str) - && extension.to_lowercase() == "pdf" - && self.index_pdf_file(data_path).await.is_ok() - { - docid += 1; - } - } else { - path_recurse(self, data_path, &mut docid).await; - } - - self.commit().await; - - let elapsed_time = start_time.elapsed().as_nanos(); - - println!( - "{}: docs {} docs/sec {} docs/day {} minutes {:.2} seconds {}", - "Indexing finished".green(), - docid.to_formatted_string(&Locale::en), - (docid as u128 * 1_000_000_000 / elapsed_time) - .to_formatted_string(&Locale::en), - ((docid as u128 * 1_000_000_000 / elapsed_time) * 3600 * 24) - .to_formatted_string(&Locale::en), - elapsed_time as f64 / 1_000_000_000.0 / 60.0, - elapsed_time / 1_000_000_000 - ); - } - false => { - println!("data file not found: {}", data_path.display()); - } - } - } else { - println!( - "Pdfium library not found: download and copy into the same folder as the seekstorm_server.exe: https://github.com/bblanchon/pdfium-binaries" - ) - } - } -} - -#[cfg(not(feature = "pdf"))] -impl IngestPdf for IndexArc { - /// Index PDF files from local disk directory and sub-directories or from file. - /// - converts pdf to text and indexes it - /// - extracts title from metatag, or first line of text, or from filename - /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) - /// - copies all ingested pdf files to "files" subdirectory in index - async fn ingest_pdf(&mut self, data_path: &PathBuf) { - println!("pdf feature flag not enabled"); - } -} - -/// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. -/// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. -#[allow(clippy::too_many_arguments)] -#[allow(async_fn_in_trait)] -pub trait IngestJson { - /// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. - /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. - async fn ingest_json(&mut self, data_path: &PathBuf); -} - -impl IngestJson for IndexArc { - /// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. - /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. - async fn ingest_json(&mut self, data_path: &PathBuf) { - match data_path.exists() { - true => { - println!("ingesting data from: {}", data_path.display()); - - let start_time = Instant::now(); - let mut docid: i64 = 0; - - let index_arc_clone2 = self.clone(); - let index_ref = index_arc_clone2.read().await; - drop(index_ref); - - let index_arc_clone = self.clone(); - let file = File::open(data_path).unwrap(); - let mut reader = BufReader::new(file); - - let is_vector = read_skipping_ws(&mut reader).unwrap() == b'['; - - if !is_vector { - println!("Newline-delimited JSON (ndjson) or Concatenated JSON detected"); - reader.seek_relative(-1).unwrap(); - - for doc_object in Deserializer::from_reader(reader).into_iter::() { - let index_arc_clone_clone = index_arc_clone.clone(); - - index_arc_clone_clone - .index_document(doc_object.unwrap(), FileType::None) - .await; - docid += 1; - } - } else { - println!("JSON detected"); - - let index_arc_clone_clone = index_arc_clone.clone(); - loop { - let next_obj = Deserializer::from_reader(reader.by_ref()) - .into_iter::() - .next(); - match next_obj { - Some(doc_object) => { - index_arc_clone_clone - .index_document(doc_object.unwrap(), FileType::None) - .await - } - None => break, - } - - docid += 1; - - match read_skipping_ws(reader.by_ref()).unwrap() { - b',' => {} - b']' => break, - _ => break, - } - } - } - - self.commit().await; - - let elapsed_time = start_time.elapsed().as_nanos(); - - let date: DateTime = DateTime::from(SystemTime::now()); - - let index_ref = self.read().await; - - println!( - "{}: {} shards {} levels {} ngrams {:08b} docs {} docs/sec {} docs/day {} dictionary {} {} completions {} minutes {:.2} seconds {}", - "Indexing finished".green(), - date.format("%D"), - index_ref.shard_count().await, - index_ref.shard_vec[0].read().await.level_index.len(), - index_ref.meta.ngram_indexing, - docid.to_formatted_string(&Locale::en), - (docid as u128 * 1_000_000_000 / elapsed_time).to_formatted_string(&Locale::en), - ((docid as u128 * 1_000_000_000 / elapsed_time) * 3600 * 24) - .to_formatted_string(&Locale::en), - if let Some(symspell) = index_ref.symspell_option.as_ref() { - symspell - .read() - .await - .get_dictionary_size() - .to_formatted_string(&Locale::en) - } else { - "None".to_string() - }, - if let Some(symspell) = index_ref.symspell_option.as_ref() { - symspell - .read() - .await - .get_candidates_size() - .to_formatted_string(&Locale::en) - } else { - "None".to_string() - }, - if let Some(completions) = index_ref.completion_option.as_ref() { - completions - .read() - .await - .len() - .to_formatted_string(&Locale::en) - } else { - "None".to_string() - }, - elapsed_time as f64 / 1_000_000_000.0 / 60.0, - elapsed_time / 1_000_000_000 - ); - } - false => { - println!("data file not found: {}", data_path.display()); - } - } - } -} - -#[allow(async_fn_in_trait)] -/// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). -/// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. -pub trait IngestCsv { - /// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). - /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. - async fn ingest_csv( - &mut self, - data_path: &PathBuf, - has_header: bool, - quoting: bool, - delimiter: u8, - skip_docs: Option, - num_docs: Option, - ); -} - -impl IngestCsv for IndexArc { - /// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). - /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. - async fn ingest_csv( - &mut self, - data_path: &PathBuf, - has_header: bool, - quoting: bool, - delimiter: u8, - skip_docs: Option, - num_docs: Option, - ) { - match data_path.exists() { - true => { - println!("ingesting data from: {}", data_path.display()); - - let start_time = Instant::now(); - let mut docid: usize = 0; - - let index_arc_clone2 = self.clone(); - let index_ref = index_arc_clone2.read().await; - drop(index_ref); - - let index_arc_clone = self.clone(); - let index_arc_clone_clone = index_arc_clone.clone(); - - let index_ref = index_arc_clone.read().await; - let mut schema_vec: Vec = vec!["".to_string(); index_ref.schema_map.len()]; - for (key, value) in index_ref.schema_map.iter() { - schema_vec[value.field_id] = key.clone(); - } - drop(index_ref); - - let mut rdr = ReaderBuilder::new() - .has_headers(has_header) - .quoting(quoting) - .delimiter(delimiter) - .terminator(Terminator::CRLF) - .from_path(data_path) - .unwrap(); - - let skip = skip_docs.unwrap_or(0); - let max = num_docs.unwrap_or(usize::MAX); - let mut i: usize = 0; - let mut record = csv::StringRecord::new(); - while rdr.read_record(&mut record).unwrap() && docid < max { - if i < skip { - i += 1; - continue; - } - let mut document: Document = HashMap::new(); - for (i, element) in record.iter().enumerate() { - document.insert(schema_vec[i].clone(), json!(element)); - } - - index_arc_clone_clone - .index_document(document, FileType::None) - .await; - docid += 1; - } - - self.commit().await; - - let elapsed_time = start_time.elapsed().as_nanos(); - - println!( - "{}: docs {} docs/sec {} docs/day {} minutes {:.2} seconds {}", - "Indexing finished".green(), - docid.to_formatted_string(&Locale::en), - (docid as u128 * 1_000_000_000 / elapsed_time).to_formatted_string(&Locale::en), - ((docid as u128 * 1_000_000_000 / elapsed_time) * 3600 * 24) - .to_formatted_string(&Locale::en), - elapsed_time as f64 / 1_000_000_000.0 / 60.0, - elapsed_time / 1_000_000_000 - ); - } - false => { - println!("data file not found: {}", data_path.display()); - } - } - } -} diff --git a/mobile_app/rust/src/seekstorm/intersection.rs b/mobile_app/rust/src/seekstorm/intersection.rs deleted file mode 100644 index 671996c..0000000 --- a/mobile_app/rust/src/seekstorm/intersection.rs +++ /dev/null @@ -1,2300 +0,0 @@ -use crate::{ - add_result::add_result_multiterm_multifield, - compatible::{_blsr_u64, _mm_tzcnt_64}, - index::{ - AccessType, CompressionType, NonUniquePostingListObjectQuery, PostingListObjectQuery, - SORT_FLAG, SPEEDUP_FLAG, Shard, - }, - intersection_simd::intersection_vector16, - search::{FilterSparse, ResultType, SearchResult}, - utils::{read_u16, read_u64}, -}; -use ahash::AHashSet; -use num_traits::FromPrimitive; -use std::{ - cmp, - cmp::Ordering as OtherOrdering, - sync::{ - Arc, - atomic::{AtomicUsize, Ordering}, - }, -}; - -pub(crate) fn bitpacking32_get_delta(body: &[u8], bitposition: u32, rangebits: u32) -> u16 { - let bodyspan = &body[((bitposition >> 3) as usize)..]; - let bodyspan_4: &[u8; 4] = bodyspan.try_into().unwrap(); - let source_bytes = u32::from_be_bytes(*bodyspan_4); - ((source_bytes >> (32 - rangebits - (bitposition & 7)) as i32) - & (0b1111_1111_1111_1111_1111_1111_1111_1111 >> (32 - rangebits as i32))) as u16 -} - -#[allow(clippy::too_many_arguments)] -pub(crate) fn intersection_bitmap_2( - result_count: &mut i32, - block_id: usize, - shard: &Shard, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - non_unique_query_list: &mut [NonUniquePostingListObjectQuery], - query_list: &mut [PostingListObjectQuery], - not_query_list: &mut [PostingListObjectQuery], - phrase_query: bool, - filtered: bool, - block_score: f32, - all_terms_frequent: bool, -) { - for ulong_pos in 0..1024 { - let mut bits1 = read_u64( - &query_list[0].byte_array[query_list[0].compressed_doc_id_range..], - ulong_pos * 8, - ); - let mut bits2 = read_u64( - &query_list[1].byte_array[query_list[1].compressed_doc_id_range..], - ulong_pos * 8, - ); - - let mut intersect = bits1 & bits2; - - if !filtered && result_type == &ResultType::Count { - *result_count += u64::count_ones(intersect) as i32; - } else if !filtered - && search_result.topk_candidates.current_heap_size == top_k - && block_score <= search_result.topk_candidates._elements[0].score - { - if result_type != &ResultType::Topk { - *result_count += u64::count_ones(intersect) as i32; - } - } else { - while intersect != 0 { - let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as usize; - let doc_id1 = (ulong_pos << 6) + bit_pos; - - if bit_pos > 0 { - let mask2 = u64::MAX << bit_pos; - let mask1 = !mask2; - query_list[0].p_docid += (bits1 & mask1).count_ones() as usize; - query_list[1].p_docid += (bits2 & mask1).count_ones() as usize; - bits1 &= mask2; - bits2 &= mask2; - } - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id1, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - intersect = unsafe { _blsr_u64(intersect) }; - } - query_list[0].p_docid += bits1.count_ones() as usize; - query_list[1].p_docid += bits2.count_ones() as usize; - } - } -} - -#[allow(clippy::too_many_arguments)] -#[allow(clippy::never_loop)] -pub(crate) async fn intersection_docid( - shard: &Shard, - non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'_>], - query_list: &mut [PostingListObjectQuery<'_>], - not_query_list: &mut [PostingListObjectQuery<'_>], - block_id: usize, - result_count: &mut i32, - search_result: &mut SearchResult<'_>, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - phrase_query: bool, - block_score: f32, -) { - let t1 = 0; - let mut t2 = 1; - - let filtered = !not_query_list.is_empty() - || phrase_query - || !field_filter_set.is_empty() - || !search_result.topk_candidates.result_sort.is_empty() - || (!search_result.query_facets.is_empty() || !facet_filter.is_empty()) - && (!search_result.skip_facet_count || !facet_filter.is_empty()); - - for plo in not_query_list.iter_mut() { - let query_list_item_mut = plo; - - let result = query_list_item_mut - .blocks - .binary_search_by(|block| block.block_id.cmp(&(block_id as u32))); - match result { - Ok(p_block) => { - query_list_item_mut.bm25_flag = true; - query_list_item_mut.p_block = p_block as i32 - } - Err(_) => { - query_list_item_mut.bm25_flag = false; - continue; - } - }; - - let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; - - query_list_item_mut.compression_type = - FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); - - query_list_item_mut.rank_position_pointer_range = - blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; - - let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 - + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { - ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 - } else { - 0 - }; - query_list_item_mut.compressed_doc_id_range = - query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; - - query_list_item_mut.p_docid = 0; - query_list_item_mut.p_docid_count = blo.posting_count as usize + 1; - - query_list_item_mut.pointer_pivot_p_docid = blo.pointer_pivot_p_docid; - - query_list_item_mut.docid = 0; - - if query_list_item_mut.compression_type == CompressionType::Rle { - query_list_item_mut.p_run_count = read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range, - ) as i32; - let startdocid = read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range + 2, - ); - let runlength = read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range + 4, - ); - query_list_item_mut.docid = startdocid as i32; - query_list_item_mut.run_end = (startdocid + runlength) as i32; - query_list_item_mut.p_run_sum = runlength as i32; - query_list_item_mut.p_run = 6; - } - } - - let mut all_terms_frequent = shard.indexed_doc_count > (top_k << 8); - for query_list_item_mut in query_list.iter_mut() { - let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; - - query_list_item_mut.p_docid = 0; - query_list_item_mut.p_docid_count = blo.posting_count as usize + 1; - - if query_list_item_mut.bm25_flag - && (query_list_item_mut.posting_count as f32) / (shard.indexed_doc_count as f32) < 0.5 - { - all_terms_frequent = false; - } - - query_list_item_mut.compression_type = - FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); - - query_list_item_mut.rank_position_pointer_range = - blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; - - query_list_item_mut.pointer_pivot_p_docid = blo.pointer_pivot_p_docid; - - let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 - + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { - ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 - } else { - 0 - }; - query_list_item_mut.compressed_doc_id_range = - query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; - - query_list_item_mut.docid = 0; - query_list_item_mut.p_run = 0; - query_list_item_mut.p_run_count = 0; - - query_list_item_mut.p_run_sum = - if query_list_item_mut.compression_type == CompressionType::Rle { - query_list_item_mut.p_run_count = read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range, - ) as i32; - - read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range + 4, - ) - .into() - } else { - 0 - }; - } - - if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && (result_type == &ResultType::Topk) - && (search_result.topk_candidates.current_heap_size == top_k) - && (block_score <= search_result.topk_candidates._elements[0].score) - { - return; - } - - query_list.sort_unstable_by(|x, y| { - if (x.compression_type == CompressionType::Bitmap) - != (y.compression_type == CompressionType::Bitmap) - { - if x.compression_type == CompressionType::Bitmap { - OtherOrdering::Greater - } else { - OtherOrdering::Less - } - } else { - x.blocks[x.p_block as usize] - .posting_count - .partial_cmp(&y.blocks[y.p_block as usize].posting_count) - .unwrap() - } - }); - - 'restart: loop { - match ( - &query_list[t1].compression_type, - &query_list[t2].compression_type, - ) { - (CompressionType::Array, CompressionType::Array) => 'exit: loop { - let mut doc_id1: u16 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - query_list[t1].p_docid * 2, - ); - let mut doc_id2: u16 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - query_list[t2].p_docid * 2, - ); - - if query_list.len() == 2 - && cfg!(any(target_arch = "x86_64", target_arch = "aarch64")) - { - intersection_vector16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - query_list[0].p_docid_count, - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - query_list[1].p_docid_count, - result_count, - block_id, - shard, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - all_terms_frequent, - ); - - break 'exit; - } - - loop { - match doc_id1.cmp(&doc_id2) { - cmp::Ordering::Less => { - if t2 > 1 { - t2 = 1; - if query_list[t2].compression_type != CompressionType::Array { - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break; - } - continue 'restart; - } else { - doc_id2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - query_list[t2].p_docid * 2, - ); - } - } - - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break; - } - doc_id1 = read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - query_list[t1].p_docid * 2, - ); - } - cmp::Ordering::Greater => { - query_list[t2].p_docid += 1; - if query_list[t2].p_docid == query_list[t2].p_docid_count { - break; - } - - let mut bound = 2; - while (query_list[t2].p_docid + bound < query_list[t2].p_docid_count) - && (read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (query_list[t2].p_docid + bound) * 2, - ) < doc_id1) - { - query_list[t2].p_docid += bound; - bound <<= 1; - } - - doc_id2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - query_list[t2].p_docid * 2, - ); - } - cmp::Ordering::Equal => { - if t2 + 1 < query_list.len() { - t2 += 1; - if query_list[t2].compression_type != CompressionType::Array { - continue 'restart; - } else { - doc_id2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - query_list[t2].p_docid * 2, - ); - continue; - } - } - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id1 as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break 'exit; - } - for item in query_list.iter_mut().skip(1) { - if item.compression_type == CompressionType::Array { - item.p_docid += 1; - if item.p_docid == item.p_docid_count { - break 'exit; - } - } else if (item.compression_type == CompressionType::Rle) - && (doc_id1 == item.run_end as u16) - { - item.p_run += 1; - if item.p_run == item.p_run_count { - break 'exit; - } - item.p_run_sum += read_u16( - item.byte_array, - item.compressed_doc_id_range - + 4 - + (item.p_run << 2) as usize, - ) as i32; - } - } - - t2 = 1; - if query_list[t2].compression_type != CompressionType::Array { - continue 'restart; - } - doc_id1 = read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - query_list[t1].p_docid * 2, - ); - doc_id2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - query_list[t2].p_docid * 2, - ); - } - } - } - - break; - }, - - (CompressionType::Array, CompressionType::Delta) => 'exit: loop { - let mut doc_id1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - query_list[t1].p_docid * 2, - ); - let mut doc_id2: u16 = query_list[t2].docid as u16; - - loop { - match doc_id1.cmp(&doc_id2) { - cmp::Ordering::Less => { - if t2 > 1 { - t2 = 1; - if query_list[t2].compression_type != CompressionType::Delta { - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break; - } - continue 'restart; - } else { - doc_id2 = query_list[t2].docid as u16; - } - } - - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break; - } - doc_id1 = read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - query_list[t1].p_docid * 2, - ); - } - cmp::Ordering::Greater => { - query_list[t2].p_docid += 1; - if query_list[t2].p_docid == query_list[t2].p_docid_count { - break; - } - - query_list[t2].bitposition += query_list[t2].rangebits as u32; - doc_id2 = query_list[t2].docid as u16 - + bitpacking32_get_delta( - query_list[t2].byte_array, - query_list[t2].bitposition, - query_list[t2].rangebits as u32, - ) - + 1; - query_list[t2].docid = doc_id2 as i32; - } - cmp::Ordering::Equal => { - if t2 + 1 < query_list.len() { - t2 += 1; - if query_list[t2].compression_type != CompressionType::Delta { - continue 'restart; - } else { - doc_id2 = query_list[t2].docid as u16; - continue; - } - } - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id1 as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - for item in query_list.iter_mut() { - if item.compression_type == CompressionType::Array { - item.p_docid += 1; - if item.p_docid == item.p_docid_count { - break 'exit; - } - } else if (item.compression_type == CompressionType::Rle) - && (doc_id1 == item.run_end as u16) - { - item.p_run += 1; - if item.p_run == item.p_run_count { - break 'exit; - } - item.p_run_sum += read_u16( - item.byte_array, - item.compressed_doc_id_range - + 4 - + (item.p_run << 2) as usize, - ) as i32; - } - } - - t2 = 1; - if query_list[t2].compression_type != CompressionType::Delta { - continue 'restart; - } - doc_id1 = read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - query_list[t1].p_docid * 2, - ); - doc_id2 = query_list[t2].docid as u16; - } - } - } - - break; - }, - (CompressionType::Bitmap, CompressionType::Bitmap) => 'exit: loop { - if query_list.len() == 2 && SPEEDUP_FLAG { - intersection_bitmap_2( - result_count, - block_id, - shard, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - filtered, - block_score, - all_terms_frequent, - ); - break 'exit; - } - - let mut intersect_mask: u64 = u64::MAX << (query_list[t1].docid & 63); - - for ulong_pos in (query_list[t1].docid as usize >> 6)..1024 { - let ulong_1 = read_u64( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - ulong_pos * 8, - ); - let ulong_2 = read_u64( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - ulong_pos * 8, - ); - let mut intersect: u64 = ulong_1 & ulong_2 & intersect_mask; - - while intersect != 0 { - let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as usize; - let doc_id1 = (ulong_pos << 6) + bit_pos; - - if t2 + 1 < query_list.len() { - for i in (query_list[t2].p_run as usize)..ulong_pos { - query_list[t2].p_run_sum += read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - i * 8, - ) - .count_ones() - as i32 - } - query_list[t2].p_docid = if bit_pos == 0 { - query_list[t2].p_run_sum as usize - } else { - query_list[t2].p_run_sum as usize - + (read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - ulong_pos * 8, - ) << (64 - bit_pos)) - .count_ones() as usize - }; - - query_list[t2].p_run = ulong_pos as i32; - - t2 += 1; - - intersect &= read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - ulong_pos * 8, - ); - - if ((1u64 << bit_pos) & intersect) == 0 { - t2 = 1; - } - - query_list[t1].docid = doc_id1 as i32; - - continue; - } - - intersect = unsafe { _blsr_u64(intersect) }; - - if SPEEDUP_FLAG - && !filtered - && (result_type == &ResultType::Count - || ((search_result.topk_candidates.current_heap_size == top_k) - && (block_score - <= search_result.topk_candidates._elements[0].score))) - { - if result_type != &ResultType::Topk { - *result_count += 1; - } - } else { - for i in (query_list[t1].p_run as usize)..ulong_pos { - query_list[t1].p_run_sum += read_u64( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - i * 8, - ) - .count_ones() - as i32 - } - query_list[t1].p_docid = if bit_pos == 0 { - query_list[t1].p_run_sum as usize - } else { - query_list[t1].p_run_sum as usize - + (read_u64( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - ulong_pos * 8, - ) << (64 - bit_pos)) - .count_ones() as usize - }; - query_list[t1].p_run = ulong_pos as i32; - - for i in (query_list[t2].p_run as usize)..ulong_pos { - query_list[t2].p_run_sum += read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - i * 8, - ) - .count_ones() - as i32 - } - query_list[t2].p_docid = if bit_pos == 0 { - query_list[t2].p_run_sum as usize - } else { - query_list[t2].p_run_sum as usize - + (read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - ulong_pos * 8, - ) << (64 - bit_pos)) - .count_ones() as usize - }; - query_list[t2].p_run = ulong_pos as i32; - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id1, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - for item in query_list.iter_mut().skip(1) { - if item.compression_type == CompressionType::Array { - item.p_docid += 1; - if item.p_docid == item.p_docid_count { - break 'exit; - } - } else if (item.compression_type == CompressionType::Rle) - && (doc_id1 == item.run_end as usize) - { - item.p_run += 1; - if item.p_run == item.p_run_count { - break 'exit; - } - item.p_run_sum += read_u16( - item.byte_array, - item.compressed_doc_id_range - + 4 - + (item.p_run << 2) as usize, - ) as i32; - } - } - } - - t2 = 1; - if query_list[t2].compression_type != CompressionType::Bitmap { - query_list[t1].docid = doc_id1 as i32 + 1; - continue 'restart; - } - } - - intersect_mask = u64::MAX; - } - - break; - }, - - (CompressionType::Array, CompressionType::Bitmap) => 'exit: loop { - if query_list.len() == 2 { - let block_id_bits = block_id << 16; - let mut p_docid = query_list[0].p_docid; - let compressed_doc_id_range = query_list[1].compressed_doc_id_range; - let p_docid_count = query_list[0].p_docid_count; - loop { - let doc_id1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - p_docid * 2, - ); - if (query_list[1].byte_array - [compressed_doc_id_range + (doc_id1 >> 3) as usize] - & (1u32 << (doc_id1 & 7)) as u8) - > 0 - { - query_list[0].p_docid = p_docid; - - let byte_pos = (doc_id1 >> 6) << 3; - let bit_pos = doc_id1 & 63; - for i in (((query_list[t2].p_run << 3) as usize)..byte_pos as usize) - .step_by(8) - { - query_list[t2].p_run_sum += read_u64( - query_list[t2].byte_array, - query_list[t2].compressed_doc_id_range + i, - ) - .count_ones() - as i32; - } - - query_list[t2].p_docid = if bit_pos == 0 { - query_list[t2].p_run_sum as usize - } else { - query_list[t2].p_run_sum as usize - + (read_u64( - query_list[t2].byte_array, - query_list[t2].compressed_doc_id_range + byte_pos as usize, - ) << (64 - bit_pos)) - .count_ones() as usize - }; - - query_list[t2].p_run = (doc_id1 >> 6) as i32; - add_result_multiterm_multifield( - shard, - block_id_bits | doc_id1 as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - } - - p_docid += 1; - if p_docid == p_docid_count { - break 'exit; - } - } - } - - loop { - let doc_id1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - query_list[t1].p_docid * 2, - ); - - if (query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range + (doc_id1 >> 3) as usize] - & (1u32 << (doc_id1 & 7)) as u8) - > 0 - { - let byte_pos2 = (doc_id1 >> 6) << 3; - let bit_pos2 = doc_id1 & 63; - - if t2 + 1 < query_list.len() { - for i in (((query_list[t2].p_run << 3) as usize)..byte_pos2 as usize) - .step_by(8) - { - query_list[t2].p_run_sum += read_u64( - query_list[t2].byte_array, - query_list[t2].compressed_doc_id_range + i, - ) - .count_ones() - as i32; - } - query_list[t2].p_docid = if bit_pos2 == 0 { - query_list[t2].p_run_sum as usize - } else { - query_list[t2].p_run_sum as usize - + (read_u64( - query_list[t2].byte_array, - query_list[t2].compressed_doc_id_range + byte_pos2 as usize, - ) << (64 - bit_pos2)) - .count_ones() as usize - }; - query_list[t2].p_run = (doc_id1 >> 6) as i32; - - t2 += 1; - continue; - } - - for i in - (((query_list[t2].p_run << 3) as usize)..byte_pos2 as usize).step_by(8) - { - query_list[t2].p_run_sum += (read_u64( - query_list[t2].byte_array, - query_list[t2].compressed_doc_id_range + i, - )) - .count_ones() - as i32; - } - query_list[t2].p_docid = if bit_pos2 == 0 { - query_list[t2].p_run_sum as usize - } else { - query_list[t2].p_run_sum as usize - + (read_u64( - query_list[t2].byte_array, - query_list[t2].compressed_doc_id_range + byte_pos2 as usize, - ) << (64 - bit_pos2)) - .count_ones() as usize - }; - query_list[t2].p_run = (doc_id1 >> 6) as i32; - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id1 as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - for item in query_list.iter_mut().skip(1) { - if item.compression_type == CompressionType::Array { - item.p_docid += 1; - if item.p_docid == item.p_docid_count { - break 'exit; - } - } else if (item.compression_type == CompressionType::Rle) - && (doc_id1 as i32 == item.run_end) - { - item.p_run += 1; - if item.p_run == item.p_run_count { - break 'exit; - } - item.p_run_sum += read_u16( - item.byte_array, - item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, - ) as i32; - } - } - } - - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break 'exit; - } - t2 = 1; - if query_list[t2].compression_type != CompressionType::Bitmap { - continue 'restart; - } - } - }, - - (CompressionType::Array, CompressionType::Rle) => 'exit: loop { - query_list[t2].p_run_count = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - 0, - ) as i32; - let mut doc_id1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - query_list[t1].p_docid * 2, - ); - let mut run_start2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ); - let mut run_length2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - (2 + query_list[t2].p_run * 2) as usize * 2, - ); - - let mut run_end2 = run_start2 + run_length2; - query_list[t2].run_end = run_end2 as i32; - - loop { - if doc_id1 > run_end2 { - query_list[t2].p_run += 1; - if query_list[t2].p_run == query_list[t2].p_run_count { - break; - } - - if false { - let mut bound: i32 = 2; - while (query_list[t2].p_run + bound < query_list[t2].p_run_count) - && (read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (1 + ((query_list[t2].p_run + bound) << 1) as usize) * 2, - ) + read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (2 + ((query_list[t2].p_run + bound) << 1) as usize) * 2, - ) < doc_id1) - { - query_list[t2].p_run += bound; - bound <<= 1; - } - } - - run_start2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ); - run_length2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - (2 + query_list[t2].p_run * 2) as usize * 2, - ); - - run_end2 = run_start2 + run_length2; - query_list[t2].p_run_sum += run_length2 as i32; - query_list[t2].run_end = run_end2 as i32; - } else if doc_id1 < run_start2 { - if t2 > 1 { - t2 = 1; - if query_list[t2].compression_type != CompressionType::Rle { - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break; - } - continue 'restart; - } else { - run_start2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ); - run_end2 = query_list[t2].run_end as u16; - } - } - - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break; - } - doc_id1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - query_list[t1].p_docid * 2, - ); - } else { - if t2 + 1 < query_list.len() { - run_length2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (2 + query_list[t2].p_run * 2) as usize * 2, - ); - - query_list[t2].p_docid = query_list[t2].p_run_sum as usize - - run_length2 as usize - + doc_id1 as usize - - run_start2 as usize - + query_list[t2].p_run as usize; - - t2 += 1; - if query_list[t2].compression_type != CompressionType::Rle { - continue 'restart; - } else { - query_list[t2].p_run_count = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - 0, - ) - as i32; - run_start2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ); - run_length2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (2 + query_list[t2].p_run * 2) as usize * 2, - ); - - run_end2 = run_start2 + run_length2; - query_list[t2].run_end = run_end2 as i32; - - continue; - } - } - - query_list[t2].p_docid = query_list[t2].p_run_sum as usize - - run_length2 as usize - + doc_id1 as usize - - run_start2 as usize - + query_list[t2].p_run as usize; - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id1 as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break 'exit; - } - for item in query_list.iter_mut().skip(1) { - if item.compression_type == CompressionType::Array { - item.p_docid += 1; - if item.p_docid == item.p_docid_count { - break 'exit; - } - } else if (item.compression_type == CompressionType::Rle) - && (doc_id1 as i32 == item.run_end) - { - item.p_run += 1; - if item.p_run == item.p_run_count { - break 'exit; - } - item.p_run_sum += read_u16( - item.byte_array, - item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, - ) as i32; - } - } - - t2 = 1; - if query_list[t2].compression_type != CompressionType::Rle { - continue 'restart; - } - - doc_id1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - query_list[t1].p_docid * 2, - ); - - run_start2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ); - run_length2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - (2 + query_list[t2].p_run * 2) as usize * 2, - ); - run_end2 = run_start2 + run_length2; - query_list[t2].run_end = run_end2 as i32; - } - } - - break; - }, - - (CompressionType::Delta, CompressionType::Delta) => 'exit: loop { - let mut doc_id1: u16 = query_list[t1].docid as u16; - let mut doc_id2: u16 = query_list[t2].docid as u16; - - loop { - match doc_id1.cmp(&doc_id2) { - cmp::Ordering::Less => { - if t2 > 1 { - t2 = 1; - if query_list[t2].compression_type != CompressionType::Delta { - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break; - } - continue 'restart; - } else { - doc_id2 = query_list[t2].docid as u16; - } - } - - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].p_docid_count { - break; - } - - query_list[t1].bitposition += query_list[t1].rangebits as u32; - doc_id1 = query_list[t1].docid as u16 - + bitpacking32_get_delta( - query_list[t1].byte_array, - query_list[t1].bitposition, - query_list[t1].rangebits as u32, - ) - + 1; - query_list[t1].docid = doc_id1 as i32; - } - cmp::Ordering::Greater => { - query_list[t2].p_docid += 1; - if query_list[t2].p_docid == query_list[t2].p_docid_count { - break; - } - - query_list[t2].bitposition += query_list[t2].rangebits as u32; - doc_id2 = query_list[t2].docid as u16 - + bitpacking32_get_delta( - query_list[t2].byte_array, - query_list[t2].bitposition, - query_list[t2].rangebits as u32, - ) - + 1; - query_list[t2].docid = doc_id2 as i32; - } - cmp::Ordering::Equal => { - if t2 + 1 < query_list.len() { - t2 += 1; - if query_list[t2].compression_type != CompressionType::Delta { - continue 'restart; - } else { - doc_id2 = query_list[t2].docid as u16; - continue; - } - } - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id1 as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - for item in query_list.iter_mut() { - if item.compression_type == CompressionType::Array { - item.p_docid += 1; - if item.p_docid == item.p_docid_count { - break 'exit; - } - } else if (item.compression_type == CompressionType::Rle) - && (doc_id1 == item.run_end as u16) - { - item.p_run += 1; - if item.p_run == item.p_run_count { - break 'exit; - } - item.p_run_sum += read_u16( - item.byte_array, - item.compressed_doc_id_range - + 4 - + (item.p_run << 2) as usize, - ) as i32; - } - } - - t2 = 1; - if query_list[t2].compression_type != CompressionType::Delta { - continue 'restart; - } - doc_id1 = query_list[t1].docid as u16; - doc_id2 = query_list[t2].docid as u16; - } - } - } - - break; - }, - - (CompressionType::Bitmap, CompressionType::Delta) => 'exit: loop { - loop { - let doc_id2 = query_list[t2].docid as u16; - let byte_pos = doc_id2 >> 3; - let bit_pos = doc_id2 & 7; - - if (query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range + byte_pos as usize] - & (1u32 << bit_pos) as u8) - > 0 - { - if t2 + 1 < query_list.len() { - t2 += 1; - if query_list[t2].compression_type != CompressionType::Delta { - continue 'restart; - } else { - continue; - } - } - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id2 as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - for item in query_list.iter_mut().skip(1) { - if item.compression_type == CompressionType::Array { - item.p_docid += 1; - if item.p_docid == item.p_docid_count { - break 'exit; - } - } else if (item.compression_type == CompressionType::Rle) - && (doc_id2 == item.run_end as u16) - { - item.p_run += 1; - if item.p_run == item.p_run_count { - break 'exit; - } - item.p_run_sum += read_u16( - item.byte_array, - item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, - ) as i32; - } - } - - t2 = 1; - if query_list[t2].compression_type != CompressionType::Delta { - continue 'restart; - } - } else { - query_list[t2].p_docid += 1; - if query_list[t2].p_docid == query_list[t2].p_docid_count { - break 'exit; - } - } - } - }, - - (CompressionType::Rle, CompressionType::Rle) => 'exit: loop { - query_list[t1].p_run_count = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - 0, - ) as i32; - let mut runstart1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (1 + query_list[t1].p_run * 2) as usize * 2, - ); - let mut runlength1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (2 + query_list[t1].p_run * 2) as usize * 2, - ); - - let mut runend1 = runstart1 + runlength1; - query_list[t1].run_end = runend1 as i32; - - query_list[t2].p_run_count = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - 0, - ) as i32; - let mut runstart2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ); - let mut runlength2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - (2 + query_list[t2].p_run * 2) as usize * 2, - ); - - let mut runend2 = runstart2 + runlength2; - query_list[t2].run_end = runend2 as i32; - - 'start: loop { - if query_list[t1].docid < runstart2 as i32 && t2 > 1 { - query_list[t1].docid = runstart2 as i32; - - t2 = 1; - - continue 'restart; - } - - if runstart1 > runend2 { - query_list[t2].p_run += 1; - if query_list[t2].p_run == query_list[t2].p_run_count { - break 'exit; - } - - runstart2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ); - runlength2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - (2 + query_list[t2].p_run * 2) as usize * 2, - ); - runend2 = runstart2 + runlength2; - - query_list[t2].p_run_sum += runlength2 as i32; - query_list[t2].run_end = runend2 as i32; - } else if runend1 < runstart2 { - if t2 > 1 { - t2 = 1; - if query_list[t2].compression_type != CompressionType::Rle { - query_list[t1].p_run += 1; - if query_list[t1].p_run == query_list[t1].p_run_count { - break 'exit; - } - - query_list[t1].p_run_sum += read_u16( - query_list[t1].byte_array, - query_list[t1].compressed_doc_id_range - + 4 - + (query_list[t1].p_run << 2) as usize, - ) - as i32; - - continue 'restart; - } else { - runstart2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ); - runlength2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (2 + query_list[t2].p_run * 2) as usize * 2, - ); - runend2 = query_list[t2].run_end as u16; - } - } - - query_list[t1].p_run += 1; - if query_list[t1].p_run == query_list[t1].p_run_count { - break 'exit; - } - runstart1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (1 + query_list[t1].p_run * 2) as usize * 2, - ); - runlength1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (2 + query_list[t1].p_run * 2) as usize * 2, - ); - runend1 = runstart1 + runlength1; - - query_list[t1].p_run_sum += runlength1 as i32; - query_list[t1].run_end = runend1 as i32; - } else { - for doc_id in cmp::max( - query_list[t1].docid, - cmp::max(runstart1 as i32, runstart2 as i32), - ) - ..=(cmp::min(runend1 as i32, runend2 as i32)) - { - if t2 + 1 < query_list.len() { - query_list[t2].p_docid = query_list[t2].p_run_sum as usize - - runlength2 as usize - + doc_id as usize - - read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ) as usize - + query_list[t2].p_run as usize; - - t2 += 1; - if query_list[t2].compression_type != CompressionType::Rle { - query_list[t1].docid = doc_id; - - continue 'restart; - } else { - query_list[t2].p_run_count = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - 0, - ) - as i32; - runstart2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ); - runlength2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (2 + query_list[t2].p_run * 2) as usize * 2, - ); - - runend2 = runstart2 + runlength2; - query_list[t2].run_end = runend2 as i32; - - query_list[t1].docid = doc_id; - - continue 'start; - } - } - - query_list[t1].p_docid = query_list[t1].p_run_sum as usize - - runlength1 as usize - + doc_id as usize - - read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - (1 + query_list[t1].p_run * 2) as usize * 2, - ) as usize - + query_list[t1].p_run as usize; - - query_list[t2].p_docid = query_list[t2].p_run_sum as usize - - runlength2 as usize - + doc_id as usize - - read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ) as usize - + query_list[t2].p_run as usize; - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - query_list[t1].docid = doc_id + 1; - - let mut flag = false; - for item in query_list.iter_mut() { - if item.compression_type == CompressionType::Array { - item.p_docid += 1; - if item.p_docid == item.p_docid_count { - break 'exit; - } - } else if (item.compression_type == CompressionType::Rle) - && (doc_id >= item.run_end) - { - item.p_run += 1; - if item.p_run == item.p_run_count { - break 'exit; - } - - item.p_run_sum += read_u16( - item.byte_array, - item.compressed_doc_id_range - + 4 - + (item.p_run << 2) as usize, - ) as i32; - - flag = true; - } - } - - t2 = 1; - if query_list[t2].compression_type != CompressionType::Rle { - continue 'restart; - } else if flag || (query_list.len() > 2) { - continue 'exit; - } - } - - if query_list[t1].docid > query_list[t1].run_end { - query_list[t1].p_run += 1; - if query_list[t1].p_run == query_list[t1].p_run_count { - break 'exit; - } - runstart1 = read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - (1 + query_list[t1].p_run * 2) as usize * 2, - ); - runlength1 = read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - (2 + query_list[t1].p_run * 2) as usize * 2, - ); - runend1 = runstart1 + runlength1; - query_list[t1].p_run_sum += runlength1 as i32; - query_list[t1].run_end = runend1 as i32; - } - - if query_list[t1].docid > query_list[t2].run_end { - query_list[t2].p_run += 1; - if query_list[t2].p_run == query_list[t2].p_run_count { - break 'exit; - } - runstart2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (1 + query_list[t2].p_run * 2) as usize * 2, - ); - runlength2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (2 + query_list[t2].p_run * 2) as usize * 2, - ); - runend2 = runstart2 + runlength2; - query_list[t2].p_run_sum += runlength2 as i32; - query_list[t2].run_end = runend2 as i32; - } - } - } - - #[allow(unreachable_code)] - break; - }, - - (CompressionType::Rle, CompressionType::Bitmap) => 'exit: loop { - query_list[t1].p_run_count = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - 0, - ) as i32; - - loop { - let mut runstart1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (1 + (query_list[t1].p_run * 2) as usize) * 2, - ); - let runlength1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (2 + (query_list[t1].p_run * 2) as usize) * 2, - ); - - let runend1 = runstart1 + runlength1; - query_list[t1].run_end = runend1 as i32; - - runstart1 = cmp::max(runstart1, query_list[t1].docid as u16); - - let mut intersect_mask: u64 = if (query_list[t1].docid as u16) < runstart1 { - u64::MAX - } else { - u64::MAX << (query_list[t1].docid & 63) - }; - - let byte_pos_start = runstart1 >> 6; - let byte_pos_end = runend1 >> 6; - - for ulong_pos in byte_pos_start..=byte_pos_end { - let mut intersect: u64 = read_u64( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - ulong_pos as usize * 8, - ) & intersect_mask; - - if ulong_pos == byte_pos_start { - intersect &= u64::MAX << (runstart1 & 63); - } - if ulong_pos == byte_pos_end { - intersect &= u64::MAX >> (63 - (runend1 & 63)); - } - - while intersect != 0 { - let bit_pos = unsafe { _mm_tzcnt_64(intersect) }; - let doc_id = ((ulong_pos as u32) << 6) + bit_pos as u32; - - query_list[t1].docid = doc_id as i32; - - if t2 + 1 < query_list.len() { - for i in (query_list[t2].p_run as usize)..ulong_pos as usize { - query_list[t2].p_run_sum += read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - i * 8, - ) - .count_ones() - as i32 - } - query_list[t2].p_docid = if bit_pos == 0 { - query_list[t2].p_run_sum as usize - } else { - query_list[t2].p_run_sum as usize - + (read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - ulong_pos as usize * 8, - ) << (64 - bit_pos)) - .count_ones() - as usize - }; - query_list[t2].p_run = ulong_pos as i32; - - t2 += 1; - intersect &= read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - ulong_pos as usize * 8, - ); - - continue; - } - - intersect = unsafe { _blsr_u64(intersect) }; - - query_list[t1].p_docid = query_list[t1].p_run_sum as usize - - runlength1 as usize - + doc_id as usize - - read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - (1 + (query_list[t1].p_run * 2)) as usize * 2, - ) as usize - + query_list[t1].p_run as usize; - - for i in (query_list[t2].p_run as usize)..ulong_pos as usize { - query_list[t2].p_run_sum += read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - i * 8, - ) - .count_ones() - as i32 - } - query_list[t2].p_docid = if bit_pos == 0 { - query_list[t2].p_run_sum as usize - } else { - query_list[t2].p_run_sum as usize - + (read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - ulong_pos as usize * 8, - ) << (64 - bit_pos)) - .count_ones() as usize - }; - - query_list[t2].p_run = ulong_pos as i32; - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - for item in query_list.iter_mut().skip(1) { - if item.compression_type == CompressionType::Array { - item.p_docid += 1; - if item.p_docid == item.p_docid_count { - break 'exit; - }; - } else if (item.compression_type == CompressionType::Rle) - && (doc_id == item.run_end as u32) - { - item.p_run += 1; - if item.p_run == item.p_run_count { - break 'exit; - }; - - item.p_run_sum += read_u16( - item.byte_array, - item.compressed_doc_id_range - + 4 - + (item.p_run << 2) as usize, - ) as i32; - } - } - - t2 = 1; - if query_list[t2].compression_type != CompressionType::Bitmap { - if doc_id == query_list[t1].run_end as u32 { - query_list[t1].p_run += 1; - if query_list[t1].p_run == query_list[t1].p_run_count { - break 'exit; - } - query_list[t1].p_run_sum += read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - (2 + (query_list[t1].p_run * 2)) as usize * 2, - ) - as i32; - } - if doc_id == 65_535 { - break 'exit; - } - query_list[t1].docid = doc_id as i32 + 1; - continue 'restart; - } - intersect &= read_u64( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - ulong_pos as usize * 8, - ); - - intersect_mask = u64::MAX; - } - - t2 = 1; - if query_list[t2].compression_type != CompressionType::Bitmap { - if query_list[t1].docid == 65_535 { - break 'exit; - } - - query_list[t1].docid = cmp::max( - query_list[t1].docid + 1, - cmp::min(((ulong_pos + 1) << 6) as i32, runend1 as i32 + 1), - ); - - continue 'restart; - } - } - - query_list[t1].p_run += 1; - if query_list[t1].p_run == query_list[t1].p_run_count { - break 'exit; - } - query_list[t1].p_run_sum += read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (2 + (query_list[t1].p_run * 2)) as usize * 2, - ) as i32; - } - }, - - (CompressionType::Rle, CompressionType::Array) => 'exit: loop { - query_list[t1].p_run_count = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - 0, - ) as i32; - let mut runstart1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (1 + query_list[t1].p_run * 2) as usize * 2, - ); - let mut runlength1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (2 + query_list[t1].p_run * 2) as usize * 2, - ); - - let mut runend1 = runstart1 + runlength1; - query_list[t1].run_end = runend1 as i32; - - runstart1 = cmp::max(runstart1, query_list[t1].docid as u16); - - let mut doc_id2: u16 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - query_list[t2].p_docid * 2, - ); - - loop { - if doc_id2 > runend1 { - if t2 > 1 { - t2 = 1; - if query_list[t2].compression_type != CompressionType::Array { - query_list[t1].p_run += 1; - if query_list[t1].p_run == query_list[t1].p_run_count { - break; - } - query_list[t1].p_run_sum += read_u16( - query_list[t1].byte_array, - query_list[t1].compressed_doc_id_range - + 4 - + (query_list[t1].p_run << 2) as usize, - ) - as i32; - - continue 'restart; - } else { - doc_id2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - query_list[t2].p_docid * 2, - ); - } - } - - query_list[t1].p_run += 1; - if query_list[t1].p_run == query_list[t1].p_run_count { - break; - } - - runstart1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (1 + query_list[t1].p_run * 2) as usize * 2, - ); - runlength1 = read_u16( - &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], - (2 + query_list[t1].p_run * 2) as usize * 2, - ); - runend1 = runstart1 + runlength1; - query_list[t1].p_run_sum += runlength1 as i32; - query_list[t1].run_end = runend1 as i32; - } else if doc_id2 < runstart1 { - query_list[t2].p_docid += 1; - if query_list[t2].p_docid == query_list[t2].p_docid_count { - break; - } - - if true { - let mut bound = 2; - while (query_list[t2].p_docid + bound < query_list[t2].p_docid_count) - && (read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - (query_list[t2].p_docid + bound) * 2, - ) < runstart1) - { - query_list[t2].p_docid += bound; - bound <<= 1; - } - } - doc_id2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - query_list[t2].p_docid * 2, - ); - } else { - if t2 + 1 < query_list.len() { - t2 += 1; - if query_list[t2].compression_type != CompressionType::Array { - query_list[t1].docid = doc_id2 as i32; - continue 'restart; - } else { - doc_id2 = read_u16( - &query_list[t2].byte_array - [query_list[t2].compressed_doc_id_range..], - query_list[t2].p_docid * 2, - ); - continue; - } - } - - query_list[t1].p_docid = query_list[t1].p_run_sum as usize - - runlength1 as usize - + doc_id2 as usize - - runstart1 as usize - + query_list[t1].p_run as usize; - - add_result_multiterm_multifield( - shard, - (block_id << 16) | doc_id2 as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - block_score, - all_terms_frequent, - ); - - for item in query_list.iter_mut().skip(1) { - if item.compression_type == CompressionType::Array { - item.p_docid += 1; - if item.p_docid == item.p_docid_count { - break 'exit; - } - } else if (item.compression_type == CompressionType::Rle) - && (doc_id2 == item.run_end as u16) - { - item.p_run += 1; - if item.p_run == item.p_run_count { - break 'exit; - } - item.p_run_sum += read_u16( - item.byte_array, - item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, - ) as i32; - } - } - - t2 = 1; - if query_list[t2].compression_type != CompressionType::Array { - query_list[t1].docid = doc_id2 as i32 + 1; - - continue 'restart; - } - - if doc_id2 == query_list[t1].run_end as u16 { - query_list[t1].p_run += 1; - if query_list[t1].p_run == query_list[t1].p_run_count { - break 'exit; - } - runstart1 = read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - (1 + query_list[t1].p_run * 2) as usize * 2, - ); - runlength1 = read_u16( - &query_list[t1].byte_array - [query_list[t1].compressed_doc_id_range..], - (2 + query_list[t1].p_run * 2) as usize * 2, - ); - runend1 = runstart1 + runlength1; - query_list[t1].p_run_sum += runlength1 as i32; - query_list[t1].run_end = runend1 as i32; - } - doc_id2 = read_u16( - &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], - query_list[t2].p_docid * 2, - ); - } - } - - break; - }, - - _ => { - println!( - "invalid compression combination: block: {} t1: {} {} {} {:?} t2: {} {} {} {:?} {} ", - block_id, - t1, - query_list[t1].term, - query_list[t1].blocks[query_list[t1].p_block as usize].posting_count, - query_list[t1].compression_type, - t2, - query_list[t2].term, - query_list[t2].blocks[query_list[t2].p_block as usize].posting_count, - query_list[t2].compression_type, - query_list.len() - ); - } - } - - break; - } -} - -pub(crate) struct BlockObject { - pub block_id: usize, - pub block_score: f32, - pub p_block_vec: Vec, -} - -/// Intersection between blocks of 64k docids of a posting list -#[allow(clippy::too_many_arguments)] -pub(crate) async fn intersection_blockid<'a>( - shard: &'a Shard, - non_unique_query_list: &mut Vec>, - query_list: &mut Vec>, - not_query_list: &mut [PostingListObjectQuery<'a>], - result_count_arc: &Arc, - search_result: &mut SearchResult<'_>, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - matching_blocks: &mut i32, - phrase_query: bool, - query_term_count: usize, -) { - let item_0 = &query_list[0]; - let enable_inter_query_threading_multi = - if !shard.enable_search_quality_test && shard.enable_inter_query_threading_auto { - item_0.posting_count / item_0.p_block_max as u32 > 10 - } else { - shard.enable_inter_query_threading - }; - - let mut task_list = Vec::new(); - - let t1: i32 = 0; - let mut t2: i32 = 1; - - let item_1 = &query_list[t1 as usize]; - let item_2 = &query_list[t2 as usize]; - let mut block_id1 = item_1.blocks[item_1.p_block as usize].block_id; - let mut block_id2 = item_2.blocks[item_2.p_block as usize].block_id; - - let mut block_vec: Vec = Vec::new(); - - 'exit: loop { - match block_id1.cmp(&block_id2) { - cmp::Ordering::Less => { - let item_1 = &mut query_list[t1 as usize]; - item_1.p_block += 1; - if item_1.p_block == item_1.p_block_max { - break; - } - block_id1 = item_1.blocks[item_1.p_block as usize].block_id; - - t2 = 1; - let item_2 = &query_list[t2 as usize]; - block_id2 = item_2.blocks[item_2.p_block as usize].block_id; - } - cmp::Ordering::Greater => { - let item_2 = &mut query_list[t2 as usize]; - item_2.p_block += 1; - if item_2.p_block == item_2.p_block_max { - break; - } - block_id2 = item_2.blocks[item_2.p_block as usize].block_id; - } - cmp::Ordering::Equal => { - if t2 + 1 < query_list.len() as i32 { - t2 += 1; - let item_2 = &query_list[t2 as usize]; - block_id2 = item_2.blocks[item_2.p_block as usize].block_id; - - continue; - } - - if !enable_inter_query_threading_multi { - let mut block_score = 0.0; - if SPEEDUP_FLAG && result_type != &ResultType::Count { - for query_list_item_mut in query_list.iter_mut() { - block_score += query_list_item_mut.blocks - [query_list_item_mut.p_block as usize] - .max_block_score; - } - } - - if SPEEDUP_FLAG && SORT_FLAG && result_type != &ResultType::Count { - let mut p_block_vec: Vec = vec![0; query_term_count]; - for i in 0..query_list.len() { - p_block_vec[query_list[i].term_index_unique] = query_list[i].p_block - } - let block_object = BlockObject { - block_id: block_id1 as usize, - block_score, - p_block_vec, - }; - block_vec.push(block_object); - } else if !SPEEDUP_FLAG - || result_type == &ResultType::Count - || search_result.topk_candidates.current_heap_size < top_k - || block_score > search_result.topk_candidates._elements[0].score - { - if shard.meta.access_type == AccessType::Mmap { - for query_list_item_mut in query_list.iter_mut() { - let segment = - &shard.segments_index[query_list_item_mut.key0 as usize]; - query_list_item_mut.byte_array = &shard.index_file_mmap[segment - .byte_array_blocks_pointer - [block_id1 as usize] - .0 - ..segment.byte_array_blocks_pointer[block_id1 as usize].0 - + segment.byte_array_blocks_pointer[block_id1 as usize].1]; - } - for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { - let segment = &shard.segments_index - [nonunique_query_list_item_mut.key0 as usize]; - nonunique_query_list_item_mut.byte_array = &shard.index_file_mmap - [segment.byte_array_blocks_pointer[block_id1 as usize].0 - ..segment.byte_array_blocks_pointer[block_id1 as usize].0 - + segment.byte_array_blocks_pointer - [block_id1 as usize] - .1]; - } - for not_query_list_item_mut in not_query_list.iter_mut() { - let segment = - &shard.segments_index[not_query_list_item_mut.key0 as usize]; - not_query_list_item_mut.byte_array = &shard.index_file_mmap[segment - .byte_array_blocks_pointer - [block_id1 as usize] - .0 - ..segment.byte_array_blocks_pointer[block_id1 as usize].0 - + segment.byte_array_blocks_pointer[block_id1 as usize].1]; - } - } else { - for query_list_item_mut in query_list.iter_mut() { - query_list_item_mut.byte_array = &shard.segments_index - [query_list_item_mut.key0 as usize] - .byte_array_blocks[block_id1 as usize]; - } - for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { - nonunique_query_list_item_mut.byte_array = &shard.segments_index - [nonunique_query_list_item_mut.key0 as usize] - .byte_array_blocks[block_id1 as usize]; - } - for not_query_list_item_mut in not_query_list.iter_mut() { - not_query_list_item_mut.byte_array = &shard.segments_index - [not_query_list_item_mut.key0 as usize] - .byte_array_blocks[block_id1 as usize]; - } - } - - let mut result_count_local = 0; - intersection_docid( - shard, - non_unique_query_list, - query_list, - not_query_list, - block_id1 as usize, - &mut result_count_local, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - phrase_query, - block_score, - ) - .await; - - result_count_arc.fetch_add(result_count_local as usize, Ordering::Relaxed); - } - } else { - let mut query_list_copy: Vec = Vec::new(); - let mut non_unique_query_list_copy: Vec = - Vec::new(); - - for x in &mut *query_list { - query_list_copy.push(x.clone()); - } - - for x in &mut *non_unique_query_list { - let y = x.clone(); - non_unique_query_list_copy.push(y); - } - - let result_count_clone = result_count_arc.clone(); - task_list.push(tokio::spawn(async move { - let result_count_local = 1; - result_count_clone.fetch_add(result_count_local, Ordering::Relaxed); - })); - } - - *matching_blocks += 1; - - t2 = 1; - - for item in query_list.iter_mut() { - item.p_block += 1; - if item.p_block == item.p_block_max { - break 'exit; - } - } - - let item_1 = &query_list[t1 as usize]; - let item_2 = &query_list[t2 as usize]; - block_id1 = item_1.blocks[item_1.p_block as usize].block_id; - block_id2 = item_2.blocks[item_2.p_block as usize].block_id; - } - } - } - - if SORT_FLAG && SPEEDUP_FLAG && (result_type != &ResultType::Count) { - block_vec.sort_unstable_by(|x, y| y.block_score.partial_cmp(&x.block_score).unwrap()); - for block in block_vec { - if (result_type == &ResultType::Topk) - && search_result.topk_candidates.result_sort.is_empty() - && (search_result.topk_candidates.current_heap_size == top_k) - && (block.block_score <= search_result.topk_candidates._elements[0].score) - { - break; - } - - for item in query_list.iter_mut() { - item.p_block = block.p_block_vec[item.term_index_unique]; - } - - if shard.meta.access_type == AccessType::Mmap { - for query_list_item_mut in query_list.iter_mut() { - let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; - query_list_item_mut.byte_array = - &shard.index_file_mmap[segment.byte_array_blocks_pointer[block.block_id].0 - ..segment.byte_array_blocks_pointer[block.block_id].0 - + segment.byte_array_blocks_pointer[block.block_id].1]; - } - for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { - let segment = - &shard.segments_index[nonunique_query_list_item_mut.key0 as usize]; - nonunique_query_list_item_mut.byte_array = - &shard.index_file_mmap[segment.byte_array_blocks_pointer[block.block_id].0 - ..segment.byte_array_blocks_pointer[block.block_id].0 - + segment.byte_array_blocks_pointer[block.block_id].1]; - } - for not_query_list_item_mut in not_query_list.iter_mut() { - let segment = &shard.segments_index[not_query_list_item_mut.key0 as usize]; - not_query_list_item_mut.byte_array = - &shard.index_file_mmap[segment.byte_array_blocks_pointer[block.block_id].0 - ..segment.byte_array_blocks_pointer[block.block_id].0 - + segment.byte_array_blocks_pointer[block.block_id].1]; - } - } else { - for query_list_item_mut in query_list.iter_mut() { - query_list_item_mut.byte_array = &shard.segments_index - [query_list_item_mut.key0 as usize] - .byte_array_blocks[block.block_id]; - } - for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { - nonunique_query_list_item_mut.byte_array = &shard.segments_index - [nonunique_query_list_item_mut.key0 as usize] - .byte_array_blocks[block.block_id]; - } - for not_query_list_item_mut in not_query_list.iter_mut() { - not_query_list_item_mut.byte_array = &shard.segments_index - [not_query_list_item_mut.key0 as usize] - .byte_array_blocks[block.block_id]; - } - } - - let mut result_count_local = 0; - intersection_docid( - shard, - non_unique_query_list, - query_list, - not_query_list, - block.block_id, - &mut result_count_local, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - phrase_query, - block.block_score, - ) - .await; - - result_count_arc.fetch_add(result_count_local as usize, Ordering::Relaxed); - } - } -} diff --git a/mobile_app/rust/src/seekstorm/intersection_simd.rs b/mobile_app/rust/src/seekstorm/intersection_simd.rs deleted file mode 100644 index 6fd0489..0000000 --- a/mobile_app/rust/src/seekstorm/intersection_simd.rs +++ /dev/null @@ -1,178 +0,0 @@ -#[cfg(target_arch = "aarch64")] -use std::{ - arch::aarch64::{uint16x8_t, vceqq_u16, vld1q_dup_u16, vld1q_u16, vst1q_u16}, - mem::{self}, -}; - -use crate::index::Shard; -use crate::{ - add_result::add_result_multiterm_multifield, - index::{NonUniquePostingListObjectQuery, PostingListObjectQuery}, - search::{FilterSparse, ResultType, SearchResult}, - utils::read_u16, -}; -use ahash::AHashSet; - - - -#[cfg(target_arch = "aarch64")] -pub(crate) fn intersection_vector16( - a: &[u8], - s_a: usize, - b: &[u8], - s_b: usize, - result_count: &mut i32, - block_id: usize, - index: &Shard, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - non_unique_query_list: &mut [NonUniquePostingListObjectQuery], - query_list: &mut [PostingListObjectQuery], - not_query_list: &mut [PostingListObjectQuery], - phrase_query: bool, - all_terms_frequent: bool, -) { - unsafe { - let mut i_a = 0; - let mut i_b = 0; - let vectorlength = mem::size_of::() / mem::size_of::(); - let st_b = (s_b / vectorlength) * vectorlength; - while i_a < s_a && i_b < st_b { - if read_u16(&a[..], i_a * 2) < read_u16(&b[..], i_b * 2) { - i_a += 1; - continue; - } else if read_u16(&a[..], i_a * 2) > read_u16(&b[..], (i_b + vectorlength - 1) * 2) { - i_b += vectorlength; - continue; - } - - let v_a = vld1q_dup_u16(a[(i_a * 2)..].as_ptr() as *const _); - let v_b = vld1q_u16(b[(i_b * 2)..].as_ptr() as *const _); - let res_v = vceqq_u16(v_a, v_b); - let mut res = [0u16; 8]; - vst1q_u16(res.as_mut_ptr(), res_v); - for i in 0..res.len() { - if res[i] == 0 { - continue; - } - query_list[0].p_docid = i_a; - query_list[1].p_docid = i_b + i; - add_result_multiterm_multifield( - index, - (block_id << 16) | read_u16(&a[..], i_a * 2) as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - f32::MAX, - all_terms_frequent, - ); - break; - } - i_a += 1; - } - while i_a < s_a && i_b < s_b { - let a = read_u16(&a[..], i_a * 2); - let b = read_u16(&b[..], i_b * 2); - match a.cmp(&b) { - std::cmp::Ordering::Less => { - i_a += 1; - } - std::cmp::Ordering::Greater => { - i_b += 1; - } - std::cmp::Ordering::Equal => { - query_list[0].p_docid = i_a; - query_list[1].p_docid = i_b; - add_result_multiterm_multifield( - index, - (block_id << 16) | a as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - f32::MAX, - all_terms_frequent, - ); - - i_a += 1; - i_b += 1; - } - } - } - } -} - -#[cfg(not(any(target_arch = "x86_64", target_arch = "aarch64")))] -pub(crate) fn intersection_vector16( - a: &[u8], - s_a: usize, - b: &[u8], - s_b: usize, - result_count: &mut i32, - block_id: usize, - index: &Shard, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - non_unique_query_list: &mut [NonUniquePostingListObjectQuery], - query_list: &mut [PostingListObjectQuery], - not_query_list: &mut [PostingListObjectQuery], - phrase_query: bool, - all_terms_frequent: bool, -) { - let mut i_a = 0; - let mut i_b = 0; - while i_a < s_a && i_b < s_b { - let a = read_u16(&a[..], i_a * 2); - let b = read_u16(&b[..], i_b * 2); - match a.cmp(&b) { - std::cmp::Ordering::Less => { - i_a += 1; - } - std::cmp::Ordering::Greater => { - i_b += 1; - } - std::cmp::Ordering::Equal => { - query_list[0].p_docid = i_a; - query_list[1].p_docid = i_b; - add_result_multiterm_multifield( - index, - (block_id << 16) | a as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - f32::MAX, - all_terms_frequent, - ); - - i_a += 1; - i_b += 1; - } - } - } -} diff --git a/mobile_app/rust/src/seekstorm/lib.rs b/mobile_app/rust/src/seekstorm/lib.rs deleted file mode 100644 index 2538c60..0000000 --- a/mobile_app/rust/src/seekstorm/lib.rs +++ /dev/null @@ -1,517 +0,0 @@ -#![crate_type = "lib"] -#![crate_name = "seekstorm"] -#![doc(html_logo_url = "http://seekstorm.com/assets/logo.svg")] -#![doc(html_favicon_url = "http://seekstorm.com/favicon.ico")] - -//! # `seekstorm` -//! SeekStorm is an open-source, sub-millisecond full-text search library & multi-tenancy server written in Rust. -//! The **SeekStorm library** can be embedded into your program, while the **SeekStorm server** is a standalone search server to be accessed via HTTP. -//! ### Add required crates to your project -//! ```text -//! cargo add seekstorm -//! cargo add tokio -//! cargo add serde_json -//! ``` -//! ### use an asynchronous Rust runtime -//! ```no_run -//! use std::error::Error; -//! #[tokio::main] -//! async fn main() -> Result<(), Box> { -//! -//! // your SeekStorm code here -//! -//! Ok(()) -//! } -//! ``` -//! ### create index -//! ```no_run -//! # tokio_test::block_on(async { -//! use std::path::PathBuf; -//! use std::sync::{Arc, RwLock}; -//! use seekstorm::index::{IndexMetaObject, SimilarityType,TokenizerType,StopwordType,FrequentwordType,AccessType,StemmerType,NgramSet,create_index}; -//! -//! let index_path=PathBuf::new("C:/index/"); -//! let schema_json = r#" -//! [{"field":"title","field_type":"Text","stored":false,"indexed":false}, -//! {"field":"body","field_type":"Text","stored":true,"indexed":true}, -//! {"field":"url","field_type":"Text","stored":false,"indexed":false}]"#; -//! let schema=serde_json::from_str(schema_json).unwrap(); -//! let meta = IndexMetaObject { -//! id: 0, -//! name: "test_index".into(), -//! similarity:SimilarityType::Bm25f, -//! tokenizer:TokenizerType::AsciiAlphabetic, -//! stemmer:StemmerType::None, -//! stop_words: StopwordType::None, -//! frequent_words:FrequentwordType::English, -//! ngram_indexing:NgramSet::NgramFF as u8, -//! access_type: AccessType::Mmap, -//! spelling_correction: None, -//! query_completion: None, -//! }; -//! let segment_number_bits1=11; -//! let serialize_schema=true; -//! let index_arc=create_index(index_path,meta,&schema,&Vec::new(),segment_number_bits1,false,None).await.unwrap(); -//! # }); -//! ``` -//! ### open index (alternatively to create index) -//! ```no_run -//! # tokio_test::block_on(async { -//! use seekstorm::index::open_index; -//! use std::path::PathBuf; -//! -//! let index_path=PathBuf::new("C:/index/"); -//! let index_arc=open_index(index_path,false).await.unwrap(); -//! # }); -//! ``` -//! ### index document -//! ```no_run -//! # tokio_test::block_on(async { -//! # use std::path::PathBuf; -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let index_arc=open_index(index_path,false).await.unwrap(); -//! use seekstorm::index::IndexDocument; -//! use seekstorm::index::FileType; -//! -//! let document_json = r#" -//! {"title":"title1 test","body":"body1","url":"url1"}"#; -//! let document=serde_json::from_str(document_json).unwrap(); -//! index_arc.index_document(document,FileType::None).await; -//! # }); -//! ``` -//! ### index documents -//! ```no_run -//! # tokio_test::block_on(async { -//! # use std::path::PathBuf; -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let index_arc=open_index(index_path,false).await.unwrap(); -//! use seekstorm::index::IndexDocuments; -//! let documents_json = r#" -//! [{"title":"title1 test","body":"body1","url":"url1"}, -//! {"title":"title2","body":"body2 test","url":"url2"}, -//! {"title":"title3 test","body":"body3 test","url":"url3"}]"#; -//! let documents_vec=serde_json::from_str(documents_json).unwrap(); -//! index_arc.index_documents(documents_vec).await; -//! # }); -//! ``` -//! ### delete documents by document id -//! ```no_run -//! # tokio_test::block_on(async { -//! # use std::path::PathBuf; -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let index_arc=open_index(index_path,false).await.unwrap(); -//! use seekstorm::index::DeleteDocuments; -//! -//! let docid_vec=vec![1,2]; -//! index_arc.delete_documents(docid_vec).await; -//! # }); -//! ``` -//! ### delete documents by query -//! ```no_run -//! # tokio_test::block_on(async { -//! # use std::path::PathBuf; -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let index_arc=open_index(index_path,false).await.unwrap(); -//! use seekstorm::search::QueryType; -//! use seekstorm::index::DeleteDocumentsByQuery; -//! -//! let query="test".to_string(); -//! let offset=0; -//! let length=10; -//! let query_type=QueryType::Intersection; -//! let include_uncommitted=false; -//! let field_filter=Vec::new(); -//! let facet_filter=Vec::new(); -//! let result_sort=Vec::new(); -//! index_arc.delete_documents_by_query(query, query_type, offset, length, include_uncommitted,field_filter,facet_filter,result_sort).await; -//! # }); -//! ``` -//! ### update documents -//! ```no_run -//! # tokio_test::block_on(async { -//! # use std::path::PathBuf; -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let index_arc=open_index(index_path,false).await.unwrap(); -//! use seekstorm::index::UpdateDocuments; -//! use seekstorm::commit::Commit; -//! -//! let id_document_vec_json = r#" -//! [[1,{"title":"title1 test","body":"body1","url":"url1"}], -//! [2,{"title":"title3 test","body":"body3 test","url":"url3"}]]"#; -//! let id_document_vec=serde_json::from_str(id_document_vec_json).unwrap(); -//! index_arc.update_documents(id_document_vec).await; -//! -//! // ### commit documents -//! -//! index_arc.commit().await; -//! # }); -//! ``` -//! ### search index -//! ```no_run -//! # tokio_test::block_on(async { -//! # use std::path::PathBuf; -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let index_arc=open_index(index_path,false).await.unwrap(); -//! use seekstorm::search::{Search, QueryType, ResultType, QueryRewriting}; -//! -//! let query="test".to_string(); -//! let offset=10; -//! let length=10; -//! let query_type=QueryType::Intersection; -//! let result_type=ResultType::TopkCount; -//! let include_uncommitted=false; -//! let field_filter=Vec::new(); -//! let query_facets=Vec::new(); -//! let facet_filter=Vec::new(); -//! let result_sort=Vec::new(); -//! let result_object = index_arc.search(query, query_type, offset, length, result_type,include_uncommitted,field_filter,query_facets,facet_filter,result_sort,QueryRewriting::SearchOnly).await; -//! -//! // ### display results -//! -//! use seekstorm::highlighter::{Highlight, highlighter}; -//! use std::collections::HashSet; -//! -//! let highlights:Vec= vec![ -//! Highlight { -//! field: "body".to_string(), -//! name:String::new(), -//! fragment_number: 2, -//! fragment_size: 160, -//! highlight_markup: true, -//! ..Default::default() -//! }, -//! ]; -//! let highlighter=Some(highlighter(&index_arc,highlights, result_object.query_terms).await); -//! let return_fields_filter= HashSet::new(); -//! let distance_fields=Vec::new(); -//! let index=index_arc.read().await; -//! for result in result_object.results.iter() { -//! let doc=index.get_document(result.doc_id,false,&highlighter,&return_fields_filter,&distance_fields).await.unwrap(); -//! println!("result {} rank {} body field {:?}" , result.doc_id,result.score, doc.get("body")); -//! } -//! println!("result counts {} {} {}",result_object.results.len(), result_object.result_count, result_object.result_count_total); -//! # }); -//! ``` -//! ### get document -//! ```no_run -//! # tokio_test::block_on(async { -//! # use std::path::PathBuf; -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let index_arc=open_index(index_path,false).await.unwrap(); -//! use std::collections::HashSet; -//! -//! let doc_id=0; -//! let highlighter=None; -//! let return_fields_filter= HashSet::new(); -//! let distance_fields=Vec::new(); -//! let index=index_arc.read().await; -//! let doc=index.get_document(doc_id,false,&highlighter,&return_fields_filter,&distance_fields).await.unwrap(); -//! # }); -//! ``` -//! ### index JSON file in JSON, Newline-delimited JSON and Concatenated JSON format -//! ```no_run -//! # tokio_test::block_on(async { -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let mut index_arc=open_index(index_path,false).await.unwrap(); -//! use seekstorm::ingest::IngestJson; -//! use std::path::PathBuf; -//! -//! let file_path=PathBuf::new("wiki-articles.json"); -//! let _ =index_arc.ingest_json(file_path).await; -//! # }); -//! ``` -//! ### index all PDF files in directory and sub-directories -//! - converts pdf to text and indexes it -//! - extracts title from metatag, or first line of text, or from filename -//! - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) -//! - copies all ingested pdf files to "files" subdirectory in index -//! - the following index schema is required (and automatically created by the console `ingest` command): -//! ```no_run -//! let schema_json = r#" -//! [ -//! { -//! "field": "title", -//! "stored": true, -//! "indexed": true, -//! "field_type": "Text", -//! "boost": 10 -//! }, -//! { -//! "field": "body", -//! "stored": true, -//! "indexed": true, -//! "field_type": "Text" -//! }, -//! { -//! "field": "url", -//! "stored": true, -//! "indexed": false, -//! "field_type": "Text" -//! }, -//! { -//! "field": "date", -//! "stored": true, -//! "indexed": false, -//! "field_type": "Timestamp", -//! "facet": true -//! } -//! ]"#; -//! ``` -//! ```no_run -//! # tokio_test::block_on(async { -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let mut index_arc=open_index(index_path,false).await.unwrap(); -//! use std::path::PathBuf; -//! use seekstorm::ingest::IngestPdf; -//! -//! let file_path=PathBuf::new("C:/Users/johndoe/Downloads"); -//! let _ =index_arc.ingest_pdf(file_path).await; -//! # }); -//! ``` -//! ### index PDF file -//! ```no_run -//! # tokio_test::block_on(async { -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let mut index_arc=open_index(index_path,false).await.unwrap(); -//! use std::path::PathBuf; -//! use seekstorm::ingest::IndexPdfFile; -//! -//! let file_path=PathBuf::new("C:/test.pdf"); -//! let _ =index_arc.index_pdf_file(file_path).await; -//! # }); -//! ``` -//! ### index PDF file bytes -//! ```no_run -//! # tokio_test::block_on(async { -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let mut index_arc=open_index(index_path,false).await.unwrap(); -//! use std::path::PathBuf; -//! use std::fs; -//! use chrono::Utc; -//! use seekstorm::ingest::IndexPdfBytes; -//! -//! let file_date=Utc::now().timestamp(); -//! let file_path=PathBuf::new("C:/test.pdf"); -//! let document = fs::read(file_path).unwrap(); -//! let _ =index_arc.index_pdf_bytes(file_path, file_date, &document).await; -//! # }); -//! ``` -//! ### get PDF file bytes -//! ```no_run -//! # tokio_test::block_on(async { -//! # use seekstorm::index::open_index; -//! # use std::path::PathBuf; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let mut index_arc=open_index(index_path,false).await.unwrap(); -//! let doc_id=0; -//! let _file=index_arc.read().await.get_file(doc_id).await.unwrap(); -//! # }); -//! ``` -//! ### clear index -//! ```no_run -//! # tokio_test::block_on(async { -//! # use seekstorm::index::open_index; -//! # use std::path::PathBuf; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let mut index_arc=open_index(index_path,false).await.unwrap(); -//! index_arc.write().await.clear_index().await; -//! # }); -//! ``` -//! ### delete index -//! ```no_run -//! # tokio_test::block_on(async { -//! # use seekstorm::index::open_index; -//! # use std::path::PathBuf; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let mut index_arc=open_index(index_path,false).await.unwrap(); -//! index_arc.write().await.delete_index(); -//! # }); -//! ``` -//! ### close index -//! ```no_run -//! # tokio_test::block_on(async { -//! # use seekstorm::index::open_index; -//! # use std::path::PathBuf; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let mut index_arc=open_index(index_path,false).await.unwrap(); -//! use seekstorm::index::Close; -//! -//! index_arc.close().await; -//! # }); -//! ``` -//! ### seekstorm library version string -//! ```no_run -//! use seekstorm::index::version; -//! -//! let version=version(); -//! println!("version {}",version); -//! ``` -//! -//! ---------------- -//! ### Faceted search - Quick start -//! **Facets are defined in 3 different places:** -//! 1. the facet fields are defined in schema at create_index, -//! 2. the facet field values are set in index_document at index time, -//! 3. the query_facets/facet_filter search parameters are specified at query time. -//! Facets are then returned in the search result object. -//! -//! A minimal working example of faceted indexing & search requires just 60 lines of code. But to puzzle it all together from the documentation alone might be tedious. -//! This is why we provide a quick start example here: -//! ### create index -//! ```no_run -//! # tokio_test::block_on(async { -//! use std::path::PathBuf; -//! use seekstorm::index::{IndexMetaObject, SimilarityType,TokenizerType,StopwordType,FrequentwordType,AccessType,StemmerType,NgramSet,create_index}; -//! -//! let index_path=PathBuf::new("C:/index/"); -//! let schema_json = r#" -//! [{"field":"title","field_type":"Text","stored":false,"indexed":false}, -//! {"field":"body","field_type":"Text","stored":true,"indexed":true}, -//! {"field":"url","field_type":"Text","stored":true,"indexed":false}, -//! {"field":"town","field_type":"String15","stored":false,"indexed":false,"facet":true}]"#; -//! let schema=serde_json::from_str(schema_json).unwrap(); -//! let meta = IndexMetaObject { -//! id: 0, -//! name: "test_index".into(), -//! similarity:SimilarityType::Bm25f, -//! tokenizer:TokenizerType::AsciiAlphabetic, -//! stemmer:StemmerType::None, -//! stop_words: StopwordType::None, -//! frequent_words:FrequentwordType::English, -//! ngram_indexing:NgramSet::NgramFF as u8, -//! access_type: AccessType::Mmap, -//! spelling_correction: None, -//! query_completion: None, -//! }; -//! let serialize_schema=true; -//! let segment_number_bits1=11; -//! let index_arc=create_index(index_path,meta,&schema,&Vec::new(),segment_number_bits1,false,None).await.unwrap(); -//! # }); -//! ``` -//! ### index documents -//! ```no_run -//! # tokio_test::block_on(async { -//! # use std::path::PathBuf; -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let index_arc=open_index(index_path,false).await.unwrap(); -//! use seekstorm::index::IndexDocuments; -//! use seekstorm::commit::Commit; -//! use seekstorm::search::{QueryType, ResultType, QueryFacet, FacetFilter}; -//! -//! let documents_json = r#" -//! [{"title":"title1 test","body":"body1","url":"url1","town":"Berlin"}, -//! {"title":"title2","body":"body2 test","url":"url2","town":"Warsaw"}, -//! {"title":"title3 test","body":"body3 test","url":"url3","town":"New York"}]"#; -//! let documents_vec=serde_json::from_str(documents_json).unwrap(); -//! index_arc.index_documents(documents_vec).await; -//! -//! // ### commit documents -//! -//! index_arc.commit().await; -//! # }); -//! ``` -//! ### search index -//! ```no_run -//! # tokio_test::block_on(async { -//! # use std::path::PathBuf; -//! # use seekstorm::index::open_index; -//! # let index_path=PathBuf::new("C:/index/"); -//! # let index_arc=open_index(index_path,false).await.unwrap(); -//! use seekstorm::search::{QueryType, ResultType, QueryFacet, FacetFilter, QueryRewriting,Search}; -//! -//! let query="test".to_string(); -//! let offset=0; -//! let length=10; -//! let query_type=QueryType::Intersection; -//! let result_type=ResultType::TopkCount; -//! let include_uncommitted=false; -//! let field_filter=Vec::new(); -//! let query_facets = vec![QueryFacet::String16 {field: "town".to_string(),prefix: "".to_string(),length: u16::MAX}]; -//! let facet_filter=Vec::new(); -//! //let facet_filter = vec![FacetFilter {field: "town".to_string(), filter:Filter::String(vec!["Berlin".to_string()])}]; -//! let result_sort=Vec::new(); -//! let result_object = index_arc.search(query, query_type, offset, length, result_type,include_uncommitted,field_filter,query_facets,facet_filter,result_sort,QueryRewriting::SearchOnly).await; -//! -//! // ### display results -//! -//! use std::collections::HashSet; -//! use seekstorm::highlighter::{highlighter, Highlight}; -//! -//! let highlights:Vec= vec![ -//! Highlight { -//! field: "body".to_owned(), -//! name:String::new(), -//! fragment_number: 2, -//! fragment_size: 160, -//! highlight_markup: true, -//! ..Default::default() -//! }, -//! ]; -//! let highlighter=Some(highlighter(&index_arc,highlights, result_object.query_terms).await); -//! let return_fields_filter= HashSet::new(); -//! let distance_fields=Vec::new(); -//! let index=index_arc.write().await; -//! for result in result_object.results.iter() { -//! let doc=index.get_document(result.doc_id,false,&highlighter,&return_fields_filter,&distance_fields).await.unwrap(); -//! println!("result {} rank {} body field {:?}" , result.doc_id,result.score, doc.get("body")); -//! } -//! println!("result counts {} {} {}",result_object.results.len(), result_object.result_count, result_object.result_count_total); -//! -//! // ### display facets -//! -//! println!("{}", serde_json::to_string_pretty(&result_object.facets).unwrap()); -//! # }); -//! ``` - -/// include README.md in documentation -#[cfg_attr(doctest, doc = include_str!("../../README.md"))] -pub struct ReadmeDoctests; - -/// include FACETED_SEARCH.md in documentation -#[cfg_attr(doctest, doc = include_str!("../../FACETED_SEARCH.md"))] -pub struct ReadmeDoctests2; - -pub(crate) mod add_result; -/// Commit moves indexed documents from the intermediate uncompressed data structure in RAM -/// to the final compressed data structure on disk. -pub mod commit; -pub(crate) mod compatible; -pub(crate) mod compress_postinglist; -pub(crate) mod doc_store; -/// Geo search by indexing geo points (latitude, longitude), proximity searching for points within a specified radius, and proximity sorting. -pub mod geo_search; -/// Extracts the most relevant fragments (snippets, summaries) from specified fields of the document to provide a "keyword in context" (KWIC) functionality. -/// With highlight_markup the matching query terms within the fragments can be highlighted with HTML markup. -pub mod highlighter; -/// Operate the index: reate_index, open_index, clear_index, close_index, delete_index, index_document(s) -pub mod index; -pub(crate) mod index_posting; -/// Ingest JSON, Newline-delimited JSON, Concatenated JSON files, and PDF files into the index. -pub mod ingest; -pub(crate) mod intersection; -pub(crate) mod intersection_simd; -pub(crate) mod min_heap; -pub(crate) mod realtime_search; -/// Search the index for all indexed documents, both for committed and uncommitted documents. -/// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. -pub mod search; -pub(crate) mod single; -/// Tokenizes text into tokens (words), supports Chinese word segmentation, folds (converts) diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters into their basic representation. -pub(crate) mod tokenizer; -pub(crate) mod union; -/// Utils `truncate()` and `substring()` -pub mod utils; -#[cfg(feature = "zh")] -pub(crate) mod word_segmentation; diff --git a/mobile_app/rust/src/seekstorm/min_heap.rs b/mobile_app/rust/src/seekstorm/min_heap.rs deleted file mode 100644 index dd12ddb..0000000 --- a/mobile_app/rust/src/seekstorm/min_heap.rs +++ /dev/null @@ -1,1167 +0,0 @@ -use tokio::sync::RwLockReadGuard; - -use ahash::AHashMap; -use serde::{Deserialize, Serialize}; - -use crate::{ - geo_search::morton_ordering, - index::{FieldType, Shard}, - search::{FacetValue, ResultSortIndex, SortOrder}, - utils::{ - read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u16, read_u32, read_u64, - }, -}; - -#[derive(Clone, Debug, Copy, Default, Deserialize, Serialize)] -pub struct Result { - pub doc_id: usize, - pub score: f32, -} - -/// MinHeap implements an min-heap, which is a binary heap used as priority queue. -/// Maintains a list of the top-k most relevant result candidates. -/// Better performance than a ordered list with binary search, inserts, and deletes -pub(crate) struct MinHeap<'a> { - pub _elements: Vec, - pub current_heap_size: usize, - pub docid_hashset: AHashMap, - - pub index: &'a Shard, - pub result_sort: &'a Vec>, -} - -#[inline] -pub(crate) fn result_ordering_root( - shard_vec: &[RwLockReadGuard<'_, Shard>], - shard_bits: usize, - result_sort: &Vec>, - result1: Result, - result2: Result, -) -> core::cmp::Ordering { - let shard_id1 = result1.doc_id & ((1 << shard_bits) - 1); - let doc_id1 = result1.doc_id >> shard_bits; - let shard1 = &shard_vec[shard_id1]; - - let shard_id2 = result2.doc_id & ((1 << shard_bits) - 1); - let doc_id2 = result2.doc_id >> shard_bits; - let shard2 = &shard_vec[shard_id2]; - - for field in result_sort.iter() { - match shard1.facets[field.idx].field_type { - FieldType::U8 => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = - &shard1.facets_file_mmap[(shard1.facets_size_sum * doc_id1) + offset]; - - let facet_value_2 = - &shard2.facets_file_mmap[(shard2.facets_size_sum * doc_id2) + offset]; - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(facet_value_2) - } else { - facet_value_2.cmp(facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::U16 => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_u16( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_u16( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - FieldType::U32 => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_u32( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_u32( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - FieldType::U64 => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_u64( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_u64( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::I8 => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_i8( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_i8( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::I16 => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_i16( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_i16( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - FieldType::I32 => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_i32( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_i32( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - FieldType::I64 => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_i64( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_i64( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::Timestamp => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_i64( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_i64( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::F32 => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_f32( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_f32( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1 - .partial_cmp(&facet_value_2) - .unwrap_or(core::cmp::Ordering::Equal) - } else { - facet_value_2 - .partial_cmp(&facet_value_1) - .unwrap_or(core::cmp::Ordering::Equal) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::F64 => { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_f64( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_f64( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1 - .partial_cmp(&facet_value_2) - .unwrap_or(core::cmp::Ordering::Equal) - } else { - facet_value_2 - .partial_cmp(&facet_value_1) - .unwrap_or(core::cmp::Ordering::Equal) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::String16 => { - let offset = shard1.facets[field.idx].offset; - - let facet_id_1 = read_u16( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_id_2 = read_u16( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let facet_value_1 = shard1.facets[field.idx] - .values - .get_index((facet_id_1).into()) - .unwrap() - .1 - .0[0] - .clone(); - - let facet_value_2 = shard2.facets[field.idx] - .values - .get_index((facet_id_2).into()) - .unwrap() - .1 - .0[0] - .clone(); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::StringSet16 => { - let offset = shard1.facets[field.idx].offset; - - let facet_id_1 = read_u16( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_id_2 = read_u16( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let facet_value_1 = shard1.facets[field.idx] - .values - .get_index((facet_id_1).into()) - .unwrap() - .1 - .0[0] - .clone(); - - let facet_value_2 = shard2.facets[field.idx] - .values - .get_index((facet_id_2).into()) - .unwrap() - .1 - .0[0] - .clone(); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::String32 => { - let offset = shard1.facets[field.idx].offset; - - let facet_id_1 = read_u32( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_id_2 = read_u32( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let facet_value_1 = shard1.facets[field.idx] - .values - .get_index(facet_id_1 as usize) - .unwrap() - .1 - .0[0] - .clone(); - - let facet_value_2 = shard2.facets[field.idx] - .values - .get_index(facet_id_2 as usize) - .unwrap() - .1 - .0[0] - .clone(); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::StringSet32 => { - let offset = shard1.facets[field.idx].offset; - - let facet_id_1 = read_u32( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_id_2 = read_u32( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let facet_value_1 = shard1.facets[field.idx] - .values - .get_index(facet_id_1 as usize) - .unwrap() - .1 - .0[0] - .clone(); - - let facet_value_2 = shard2.facets[field.idx] - .values - .get_index(facet_id_2 as usize) - .unwrap() - .1 - .0[0] - .clone(); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::Point => { - if let FacetValue::Point(base) = &field.base { - let offset = shard1.facets[field.idx].offset; - - let facet_value_1 = read_u64( - &shard1.facets_file_mmap, - (shard1.facets_size_sum * doc_id1) + offset, - ); - let facet_value_2 = read_u64( - &shard2.facets_file_mmap, - (shard2.facets_size_sum * doc_id2) + offset, - ); - - let order = morton_ordering(facet_value_1, facet_value_2, base, &field.order); - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - } - - _ => {} - } - } - - result1 - .score - .partial_cmp(&result2.score) - .unwrap_or(core::cmp::Ordering::Equal) -} - -impl<'a> MinHeap<'a> { - #[inline(always)] - pub(crate) fn new( - size: usize, - index: &'a Shard, - result_sort: &'a Vec, - ) -> MinHeap<'a> { - MinHeap { - current_heap_size: 0, - docid_hashset: AHashMap::new(), - _elements: vec![ - Result { - doc_id: 0, - score: 0.0, - }; - size - ], - index, - result_sort, - } - } - - #[inline] - pub(crate) fn result_ordering_shard( - &self, - result1: Result, - result2: Result, - ) -> core::cmp::Ordering { - for field in self.result_sort.iter() { - match self.index.facets[field.idx].field_type { - FieldType::U8 => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = &self.index.facets_file_mmap - [(self.index.facets_size_sum * result1.doc_id) + offset]; - - let facet_value_2 = &self.index.facets_file_mmap - [(self.index.facets_size_sum * result2.doc_id) + offset]; - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(facet_value_2) - } else { - facet_value_2.cmp(facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::U16 => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_u16( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_u16( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - FieldType::U32 => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_u32( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_u32( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - FieldType::U64 => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_u64( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_u64( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::I8 => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_i8( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_i8( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::I16 => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_i16( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_i16( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - FieldType::I32 => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_i32( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_i32( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - FieldType::I64 => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_i64( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_i64( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::Timestamp => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_i64( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_i64( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::F32 => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_f32( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_f32( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1 - .partial_cmp(&facet_value_2) - .unwrap_or(core::cmp::Ordering::Equal) - } else { - facet_value_2 - .partial_cmp(&facet_value_1) - .unwrap_or(core::cmp::Ordering::Equal) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::F64 => { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_f64( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_f64( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = if field.order == SortOrder::Descending { - facet_value_1 - .partial_cmp(&facet_value_2) - .unwrap_or(core::cmp::Ordering::Equal) - } else { - facet_value_2 - .partial_cmp(&facet_value_1) - .unwrap_or(core::cmp::Ordering::Equal) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::String16 => { - let offset = self.index.facets[field.idx].offset; - - let facet_id_1 = read_u16( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_id_2 = read_u16( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let facet_value_1 = self.index.facets[field.idx] - .values - .get_index((facet_id_1).into()) - .unwrap() - .1 - .0[0] - .clone(); - - let facet_value_2 = self.index.facets[field.idx] - .values - .get_index((facet_id_2).into()) - .unwrap() - .1 - .0[0] - .clone(); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::StringSet16 => { - let offset = self.index.facets[field.idx].offset; - - let facet_id_1 = read_u16( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_id_2 = read_u16( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let facet_value_1 = self.index.facets[field.idx] - .values - .get_index((facet_id_1).into()) - .unwrap() - .1 - .0[0] - .clone(); - - let facet_value_2 = self.index.facets[field.idx] - .values - .get_index((facet_id_2).into()) - .unwrap() - .1 - .0[0] - .clone(); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::String32 => { - let offset = self.index.facets[field.idx].offset; - - let facet_id_1 = read_u32( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_id_2 = read_u32( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let facet_value_1 = self.index.facets[field.idx] - .values - .get_index(facet_id_1 as usize) - .unwrap() - .1 - .0[0] - .clone(); - - let facet_value_2 = self.index.facets[field.idx] - .values - .get_index(facet_id_2 as usize) - .unwrap() - .1 - .0[0] - .clone(); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::StringSet32 => { - let offset = self.index.facets[field.idx].offset; - - let facet_id_1 = read_u32( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_id_2 = read_u32( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let facet_value_1 = self.index.facets[field.idx] - .values - .get_index(facet_id_1 as usize) - .unwrap() - .1 - .0[0] - .clone(); - - let facet_value_2 = self.index.facets[field.idx] - .values - .get_index(facet_id_2 as usize) - .unwrap() - .1 - .0[0] - .clone(); - - let order = if field.order == SortOrder::Descending { - facet_value_1.cmp(&facet_value_2) - } else { - facet_value_2.cmp(&facet_value_1) - }; - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - - FieldType::Point => { - if let FacetValue::Point(base) = &field.base { - let offset = self.index.facets[field.idx].offset; - - let facet_value_1 = read_u64( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result1.doc_id) + offset, - ); - let facet_value_2 = read_u64( - &self.index.facets_file_mmap, - (self.index.facets_size_sum * result2.doc_id) + offset, - ); - - let order = - morton_ordering(facet_value_1, facet_value_2, base, &field.order); - - if order != core::cmp::Ordering::Equal { - return order; - }; - } - } - - _ => {} - } - } - - result1 - .score - .partial_cmp(&result2.score) - .unwrap_or(core::cmp::Ordering::Equal) - } - - #[inline(always)] - fn get_left_child_index(element_index: usize) -> usize { - 2 * element_index + 1 - } - - #[inline(always)] - fn get_right_child_index(element_index: usize) -> usize { - 2 * element_index + 2 - } - - #[inline(always)] - fn get_parent_index(element_index: usize) -> usize { - (element_index - 1) / 2 - } - - #[inline(always)] - fn has_left_child(&self, element_index: usize) -> bool { - Self::get_left_child_index(element_index) < self.current_heap_size - } - - #[inline(always)] - fn has_right_child(&self, element_index: usize) -> bool { - Self::get_right_child_index(element_index) < self.current_heap_size - } - - #[inline(always)] - fn is_root(element_index: usize) -> bool { - element_index == 0 - } - - #[inline(always)] - fn get_left_child(&self, element_index: usize) -> &Result { - &self._elements[Self::get_left_child_index(element_index)] - } - - #[inline(always)] - fn get_right_child(&self, element_index: usize) -> &Result { - &self._elements[Self::get_right_child_index(element_index)] - } - - #[inline(always)] - fn get_parent(&self, element_index: usize) -> &Result { - &self._elements[Self::get_parent_index(element_index)] - } - - #[inline(always)] - fn swap(&mut self, first_index: usize, second_index: usize) { - self._elements.swap(first_index, second_index); - } - - #[inline(always)] - fn add(&mut self, result: &Result) { - self._elements[self.current_heap_size].score = result.score; - self._elements[self.current_heap_size].doc_id = result.doc_id; - self.current_heap_size += 1; - - self.heapify_up(); - } - - #[inline(always)] - fn pop_add(&mut self, score: f32, doc_id: usize) { - if !self.docid_hashset.is_empty() { - self.docid_hashset.remove(&self._elements[0].doc_id); - } - - self._elements[0].score = score; - self._elements[0].doc_id = doc_id; - self.heapify_down(); - } - - #[inline(always)] - fn heapify_up(&mut self) { - let mut index = self.current_heap_size - 1; - while !Self::is_root(index) - && self - .result_ordering_shard(self._elements[index], *Self::get_parent(self, index)) - .is_lt() - { - let parent_index = Self::get_parent_index(index); - self.swap(parent_index, index); - index = parent_index; - } - } - - #[inline(always)] - fn heapify_down(&mut self) { - let mut index: usize = 0; - while self.has_left_child(index) { - let mut smaller_index = Self::get_left_child_index(index); - if self.has_right_child(index) - && self - .result_ordering_shard( - *self.get_right_child(index), - *self.get_left_child(index), - ) - .is_lt() - { - smaller_index = Self::get_right_child_index(index); - } - if self - .result_ordering_shard(self._elements[smaller_index], self._elements[index]) - .is_ge() - { - break; - } - - self.swap(smaller_index, index); - index = smaller_index; - } - } - - #[inline(always)] - fn heapify_down_index(&mut self, index: usize) { - let mut index: usize = index; - while self.has_left_child(index) { - let mut smaller_index = Self::get_left_child_index(index); - if self.has_right_child(index) - && self - .result_ordering_shard( - *self.get_right_child(index), - *self.get_left_child(index), - ) - .is_lt() - { - smaller_index = Self::get_right_child_index(index); - } - - if self - .result_ordering_shard(self._elements[smaller_index], self._elements[index]) - .is_ge() - { - break; - } - - self.swap(smaller_index, index); - index = smaller_index; - } - } - - #[inline(always)] - pub(crate) fn add_topk(&mut self, result: Result, top_k: usize) -> bool { - if self.current_heap_size > top_k - && self - .result_ordering_shard(self._elements[0], result) - .is_ge() - { - return false; - } - - if !self.docid_hashset.is_empty() && self.docid_hashset.contains_key(&result.doc_id) { - if self._elements[0].doc_id == result.doc_id { - if self - .result_ordering_shard(result, self._elements[0]) - .is_gt() - { - self._elements[0].score = result.score; - self.heapify_down(); - return true; - } else { - return false; - } - } else { - if self - .result_ordering_shard( - Result { - doc_id: result.doc_id, - score: self.docid_hashset[&result.doc_id], - }, - result, - ) - .is_ge() - { - return false; - } - - let mut index = 0; - while result.doc_id != self._elements[index].doc_id { - if index == self.current_heap_size - 1 { - self.pop_add(result.score, result.doc_id); - return true; - } - index += 1; - } - - self._elements[index].score = result.score; - self.heapify_down_index(index); - return true; - } - } - - if self.current_heap_size < top_k { - self.add(&result); - true - } else if self - .result_ordering_shard(result, self._elements[0]) - .is_gt() - { - self.pop_add(result.score, result.doc_id); - true - } else { - false - } - } -} diff --git a/mobile_app/rust/src/seekstorm/realtime_search.rs b/mobile_app/rust/src/seekstorm/realtime_search.rs deleted file mode 100644 index ff7daad..0000000 --- a/mobile_app/rust/src/seekstorm/realtime_search.rs +++ /dev/null @@ -1,2077 +0,0 @@ -use std::sync::{ - Arc, - atomic::{AtomicUsize, Ordering}, -}; - -use ahash::{AHashMap, AHashSet}; -use smallvec::SmallVec; - -use crate::{ - add_result::{B, K, SIGMA, facet_count, is_facet_filter, read_multifield_vec}, - index::{ - AccessType, DOCUMENT_LENGTH_COMPRESSION, DUMMY_VEC_8, NgramType, - NonUniquePostingListObjectQuery, NonUniqueTermObject, PostingListObjectQuery, STOP_BIT, - Shard, SimilarityType, TermObject, hash32, hash64, - }, - min_heap, - search::{FilterSparse, QueryType, ResultType, SearchResult, decode_posting_list_counts}, - utils::{read_u16, read_u16_ref, read_u32, read_u32_ref}, -}; - -#[inline(always)] -pub(crate) fn get_next_position_uncommitted( - shard: &Shard, - plo: &mut NonUniquePostingListObjectQuery, -) -> u32 { - if plo.is_embedded { - return plo.embedded_positions[if plo.p_field == 0 { - plo.p_pos as usize - } else { - plo.field_vec[plo.p_field - 1].1 + plo.p_pos as usize - }]; - } - - if (shard.postings_buffer[plo.positions_pointer] & STOP_BIT) != 0 { - let position = (shard.postings_buffer[plo.positions_pointer] & 0b0111_1111) as u32; - plo.positions_pointer += 1; - position - } else if (shard.postings_buffer[plo.positions_pointer + 1] & STOP_BIT) != 0 { - let position = ((shard.postings_buffer[plo.positions_pointer] as u32) << 7) - | (shard.postings_buffer[plo.positions_pointer + 1] & 0b0111_1111) as u32; - plo.positions_pointer += 2; - position - } else { - let position = ((shard.postings_buffer[plo.positions_pointer] as u32) << 13) - | ((shard.postings_buffer[plo.positions_pointer + 1] as u32) << 7) - | (shard.postings_buffer[plo.positions_pointer + 2] & 0b0111_1111) as u32; - plo.positions_pointer += 3; - position - } -} - -#[allow(clippy::too_many_arguments)] -pub(crate) fn add_result_singleterm_uncommitted( - shard: &Shard, - docid: usize, - result_count: &mut i32, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - - plo_single: &mut PostingListObjectQuery, - not_query_list: &mut [PostingListObjectQuery], -) { - if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { - return; - } - - for plo in not_query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - let local_docid = docid & 0b11111111_11111111; - - while plo.p_docid < plo.p_docid_count - && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) - { - let mut read_pointer = plo.posting_pointer; - - plo.posting_pointer = read_u32_ref(&shard.postings_buffer, &mut read_pointer) as usize; - plo.docid = read_u16_ref(&shard.postings_buffer, &mut read_pointer) as i32; - - plo.p_docid += 1; - } - if (plo.docid as usize) == local_docid { - return; - } - } - - if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { - return; - }; - - let filtered = !not_query_list.is_empty() - || !field_filter_set.is_empty() - || !shard.delete_hashset.is_empty() - || !facet_filter.is_empty(); - - shard.decode_positions_uncommitted(plo_single, false); - - if !field_filter_set.is_empty() - && plo_single.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() - { - let mut match_flag = false; - for field in plo_single.field_vec.iter() { - if field_filter_set.contains(&field.0) { - match_flag = true; - } - } - if !match_flag { - return; - } - } - - match *result_type { - ResultType::Count => { - if filtered { - facet_count(shard, search_result, docid); - - *result_count += 1; - } - return; - } - ResultType::Topk => {} - ResultType::TopkCount => { - if filtered { - facet_count(shard, search_result, docid); - - *result_count += 1; - } - } - } - - let bm25 = get_bm25f_singleterm_multifield_uncommitted(shard, docid, plo_single); - - search_result.topk_candidates.add_topk( - min_heap::Result { - doc_id: docid, - score: bm25, - }, - top_k, - ); -} - -#[allow(clippy::too_many_arguments)] -#[inline(always)] -pub(crate) fn add_result_multiterm_uncommitted( - shard: &Shard, - docid: usize, - result_count: &mut i32, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - non_unique_query_list: &mut [NonUniquePostingListObjectQuery], - query_list: &mut [PostingListObjectQuery], - not_query_list: &mut [PostingListObjectQuery], - phrase_query: bool, -) { - if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { - return; - } - - for plo in not_query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - let local_docid = docid & 0b11111111_11111111; - - while plo.p_docid < plo.p_docid_count - && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) - { - let mut read_pointer = plo.posting_pointer; - - plo.posting_pointer = read_u32_ref(&shard.postings_buffer, &mut read_pointer) as usize; - plo.docid = read_u16_ref(&shard.postings_buffer, &mut read_pointer) as i32; - - plo.p_docid += 1; - } - if (plo.docid as usize) == local_docid { - return; - } - } - - if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { - return; - }; - - let filtered = phrase_query - || !field_filter_set.is_empty() - || !shard.delete_hashset.is_empty() - || !facet_filter.is_empty(); - - if !filtered && result_type == &ResultType::Count { - facet_count(shard, search_result, docid); - - *result_count += 1; - return; - } - - for plo in query_list.iter_mut() { - shard.decode_positions_uncommitted(plo, phrase_query); - - if !field_filter_set.is_empty() - && plo.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() - { - let mut match_flag = false; - for field in plo.field_vec.iter() { - if field_filter_set.contains(&field.0) { - match_flag = true; - } - } - if !match_flag { - return; - } - } - } - - if phrase_query { - let len = query_list.len(); - let mut index_transpose = vec![0; len]; - for i in 0..len { - index_transpose[query_list[i].term_index_unique] = i; - } - - let mut phrasematch_count = 0; - if shard.indexed_field_vec.len() == 1 { - for plo in non_unique_query_list.iter_mut() { - plo.p_pos = 0; - let item = &query_list[index_transpose[plo.term_index_unique]]; - plo.positions_pointer = item.positions_pointer as usize; - plo.positions_count = item.positions_count; - - plo.is_embedded = item.is_embedded; - plo.embedded_positions = item.embedded_positions; - - plo.pos = get_next_position_uncommitted(shard, plo); - } - - non_unique_query_list - .sort_by(|x, y| x.positions_count.partial_cmp(&y.positions_count).unwrap()); - - let t1 = 0; - let mut t2 = 1; - let mut pos1 = non_unique_query_list[t1].pos; - let mut pos2 = non_unique_query_list[t2].pos; - - loop { - match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) - .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) - { - std::cmp::Ordering::Less => { - if t2 > 1 { - t2 = 1; - pos2 = non_unique_query_list[t2].pos; - } - - non_unique_query_list[t1].p_pos += 1; - if non_unique_query_list[t1].p_pos - == non_unique_query_list[t1].positions_count as i32 - { - break; - } - pos1 += - get_next_position_uncommitted(shard, &mut non_unique_query_list[t1]) - + 1; - } - std::cmp::Ordering::Greater => { - non_unique_query_list[t2].p_pos += 1; - if non_unique_query_list[t2].p_pos - == non_unique_query_list[t2].positions_count as i32 - { - break; - } - pos2 = non_unique_query_list[t2].pos - + get_next_position_uncommitted(shard, &mut non_unique_query_list[t2]) - + 1; - non_unique_query_list[t2].pos = pos2; - } - std::cmp::Ordering::Equal => { - if t2 + 1 < non_unique_query_list.len() { - t2 += 1; - pos2 = non_unique_query_list[t2].pos; - continue; - } - - phrasematch_count += 1; - if phrasematch_count >= 1 { - break; - } - - t2 = 1; - non_unique_query_list[t1].p_pos += 1; - if non_unique_query_list[t1].p_pos - == non_unique_query_list[t1].positions_count as i32 - { - break; - } - non_unique_query_list[t2].p_pos += 1; - if non_unique_query_list[t2].p_pos - == non_unique_query_list[t2].positions_count as i32 - { - break; - } - - pos1 += - get_next_position_uncommitted(shard, &mut non_unique_query_list[t1]) - + 1; - pos2 = non_unique_query_list[t2].pos - + get_next_position_uncommitted(shard, &mut non_unique_query_list[t2]) - + 1; - non_unique_query_list[t2].pos = pos2; - } - } - } - } else { - for plo in non_unique_query_list.iter_mut() { - let item = &query_list[index_transpose[plo.term_index_unique]]; - plo.positions_pointer = item.positions_pointer as usize; - plo.is_embedded = item.is_embedded; - plo.embedded_positions = item.embedded_positions; - plo.field_vec.clone_from(&item.field_vec); - plo.p_pos = 0; - plo.positions_count = item.positions_count; - plo.p_field = 0; - } - - 'main: for i in 0..shard.indexed_field_vec.len() as u16 { - for plo in non_unique_query_list.iter_mut() { - while plo.field_vec[plo.p_field].0 < i { - if !plo.is_embedded { - for _ in plo.p_pos..plo.field_vec[plo.p_field].1 as i32 { - get_next_position_uncommitted(shard, plo); - } - } - if plo.p_field < plo.field_vec.len() - 1 { - plo.p_field += 1; - plo.p_pos = 0; - } else { - break 'main; - } - } - if plo.field_vec[plo.p_field].0 > i { - continue 'main; - } - } - - for plo in non_unique_query_list.iter_mut() { - plo.p_pos = 0; - plo.positions_count = plo.field_vec[plo.p_field].1 as u32; - plo.pos = get_next_position_uncommitted(shard, plo); - } - - if !field_filter_set.is_empty() && !field_filter_set.contains(&i) { - continue; - } - - non_unique_query_list - .sort_by(|x, y| x.positions_count.partial_cmp(&y.positions_count).unwrap()); - - let t1 = 0; - let mut t2 = 1; - let mut pos1 = non_unique_query_list[t1].pos; - let mut pos2 = non_unique_query_list[t2].pos; - - loop { - match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) - .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) - { - std::cmp::Ordering::Less => { - if t2 > 1 { - t2 = 1; - pos2 = non_unique_query_list[t2].pos; - } - - non_unique_query_list[t1].p_pos += 1; - if non_unique_query_list[t1].p_pos - == non_unique_query_list[t1].positions_count as i32 - { - if (i as usize) < shard.indexed_field_vec.len() - 1 { - for item in non_unique_query_list.iter_mut().skip(1) { - item.p_pos += 1 - } - } - break; - } - pos1 += get_next_position_uncommitted( - shard, - &mut non_unique_query_list[t1], - ) + 1; - } - std::cmp::Ordering::Greater => { - non_unique_query_list[t2].p_pos += 1; - if non_unique_query_list[t2].p_pos - == non_unique_query_list[t2].positions_count as i32 - { - if (i as usize) < shard.indexed_field_vec.len() - 1 { - for (j, item) in non_unique_query_list.iter_mut().enumerate() { - if j != t2 { - item.p_pos += 1 - } - } - } - break; - } - pos2 = non_unique_query_list[t2].pos - + get_next_position_uncommitted( - shard, - &mut non_unique_query_list[t2], - ) - + 1; - non_unique_query_list[t2].pos = pos2; - } - std::cmp::Ordering::Equal => { - if t2 + 1 < non_unique_query_list.len() { - t2 += 1; - pos2 = non_unique_query_list[t2].pos; - continue; - } - - phrasematch_count += 1; - if phrasematch_count >= 1 { - break 'main; - } - - t2 = 1; - non_unique_query_list[t1].p_pos += 1; - if non_unique_query_list[t1].p_pos - == non_unique_query_list[t1].positions_count as i32 - { - if (i as usize) < shard.indexed_field_vec.len() - 1 { - for item in non_unique_query_list.iter_mut().skip(1) { - item.p_pos += 1 - } - } - break; - } - non_unique_query_list[t2].p_pos += 1; - if non_unique_query_list[t2].p_pos - == non_unique_query_list[t2].positions_count as i32 - { - if (i as usize) < shard.indexed_field_vec.len() - 1 { - for item in non_unique_query_list.iter_mut().skip(2) { - item.p_pos += 1 - } - } - break; - } - - pos1 += get_next_position_uncommitted( - shard, - &mut non_unique_query_list[t1], - ) + 1; - pos2 = non_unique_query_list[t2].pos - + get_next_position_uncommitted( - shard, - &mut non_unique_query_list[t2], - ) - + 1; - non_unique_query_list[t2].pos = pos2; - } - } - } - } - } - - if phrase_query && (phrasematch_count == 0) { - return; - } - } - - match *result_type { - ResultType::Count => { - facet_count(shard, search_result, docid); - - *result_count += 1; - return; - } - ResultType::Topk => {} - ResultType::TopkCount => { - facet_count(shard, search_result, docid); - - *result_count += 1; - } - } - - let bm25 = get_bm25f_multiterm_multifield_uncommitted(shard, docid, query_list); - - search_result.topk_candidates.add_topk( - min_heap::Result { - doc_id: docid, - score: bm25, - }, - top_k, - ); -} - -#[inline(always)] -pub(crate) fn get_bm25f_singleterm_multifield_uncommitted( - shard: &Shard, - docid: usize, - plo_single: &PostingListObjectQuery, -) -> f32 { - let mut bm25f = 0.0; - - let document_length_normalized_average = if shard.document_length_normalized_average == 0.0 { - shard.positions_sum_normalized as f32 / shard.indexed_doc_count as f32 - } else { - shard.document_length_normalized_average - }; - - if shard.indexed_field_vec.len() == 1 { - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION - [shard.document_length_compressed_array[0][docid & 0b11111111_11111111] as usize] - as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - match plo_single.ngram_type { - NgramType::SingleTerm => { - let tf = plo_single.field_vec[0].1 as f32; - - bm25f = plo_single.idf - * ((tf * (K + 1.0) / (tf + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - let tf_ngram1 = plo_single.field_vec_ngram1[0].1 as f32; - let tf_ngram2 = plo_single.field_vec_ngram2[0].1 as f32; - bm25f = plo_single.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA) - + plo_single.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - _ => { - let tf_ngram1 = plo_single.field_vec_ngram1[0].1 as f32; - let tf_ngram2 = plo_single.field_vec_ngram2[0].1 as f32; - let tf_ngram3 = plo_single.field_vec_ngram3[0].1 as f32; - bm25f = plo_single.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA) - + plo_single.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA) - + plo_single.idf_ngram3 - * ((tf_ngram3 * (K + 1.0) - / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } - } else { - match plo_single.ngram_type { - NgramType::SingleTerm => { - for field in plo_single.field_vec.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf = field.1 as f32; - - bm25f += plo_single.idf - * ((tf * (K + 1.0) - / (tf + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - for field in plo_single.field_vec_ngram1.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf_ngram1 = field.1 as f32; - - bm25f += plo_single.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - - for field in plo_single.field_vec_ngram2.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf_ngram2 = field.1 as f32; - - bm25f += plo_single.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } - _ => { - for field in plo_single.field_vec_ngram1.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf_ngram1 = field.1 as f32; - - bm25f += plo_single.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - - for field in plo_single.field_vec_ngram2.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf_ngram2 = field.1 as f32; - - bm25f += plo_single.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - - for field in plo_single.field_vec_ngram3.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf_ngram3 = field.1 as f32; - - bm25f += plo_single.idf_ngram3 - * ((tf_ngram3 * (K + 1.0) - / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } - } - } - - bm25f -} - -#[inline(always)] -pub(crate) fn get_bm25f_multiterm_multifield_uncommitted( - shard: &Shard, - docid: usize, - query_list: &mut [PostingListObjectQuery], -) -> f32 { - let mut bm25f = 0.0; - - let document_length_normalized_average = if shard.document_length_normalized_average == 0.0 { - shard.positions_sum_normalized as f32 / shard.indexed_doc_count as f32 - } else { - shard.document_length_normalized_average - }; - - if shard.indexed_field_vec.len() == 1 { - let mut document_length_quotient = 0.0; - - for plo in query_list.iter() { - if !plo.bm25_flag { - continue; - } - - if document_length_quotient == 0.0 { - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[0][docid & 0b11111111_11111111] - as usize] as f32; - - document_length_quotient = - document_length_normalized / document_length_normalized_average; - } - - match plo.ngram_type { - NgramType::SingleTerm => { - let tf = plo.field_vec[0].1 as f32; - - bm25f += plo.idf - * ((tf * (K + 1.0) - / (tf + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - let tf_ngram1 = plo.field_vec_ngram1[0].1 as f32; - let tf_ngram2 = plo.field_vec_ngram2[0].1 as f32; - - bm25f += plo.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA) - + plo.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - _ => { - let tf_ngram1 = plo.field_vec_ngram1[0].1 as f32; - let tf_ngram2 = plo.field_vec_ngram2[0].1 as f32; - let tf_ngram3 = plo.field_vec_ngram3[0].1 as f32; - - bm25f += plo.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA) - + plo.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA) - + plo.idf_ngram3 - * ((tf_ngram3 * (K + 1.0) - / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } - } - } else { - for plo in query_list.iter() { - if !plo.bm25_flag { - continue; - } - - match plo.ngram_type { - NgramType::SingleTerm => { - for field in plo.field_vec.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] - as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf - * ((tf * (K + 1.0) - / (tf + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - for field in plo.field_vec_ngram1.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] - as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf_ngram1 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - - for field in plo.field_vec_ngram2.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] - as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf_ngram2 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } - _ => { - for field in plo.field_vec_ngram1.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] - as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf_ngram1 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf_ngram1 - * ((tf_ngram1 * (K + 1.0) - / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - - for field in plo.field_vec_ngram2.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] - as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf_ngram2 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf_ngram2 - * ((tf_ngram2 * (K + 1.0) - / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - - for field in plo.field_vec_ngram3.iter() { - let field_id = field.0 as usize; - - let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard - .document_length_compressed_array[field_id][docid & 0b11111111_11111111] - as usize] - as f32; - - let document_length_quotient = - document_length_normalized / document_length_normalized_average; - - let tf_ngram3 = field.1 as f32; - - let weight = shard.indexed_schema_vec[field.0 as usize].boost; - - bm25f += weight - * plo.idf_ngram3 - * ((tf_ngram3 * (K + 1.0) - / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) - + SIGMA); - } - } - } - } - } - - bm25f -} - -impl Shard { - pub(crate) fn get_posting_count_uncommited(&self, term_string: &str) -> usize { - let term_bytes = term_string.as_bytes(); - let key0 = hash32(term_bytes) & self.segment_number_mask1; - let key_hash = hash64(term_bytes); - - match self.segments_level0[key0 as usize].segment.get(&key_hash) { - Some(value1) => value1.posting_count, - - None => 0, - } - } - - #[allow(clippy::too_many_arguments)] - pub(crate) fn search_uncommitted( - &self, - unique_terms: &AHashMap, - non_unique_terms: &[NonUniqueTermObject], - query_type_mut: &mut QueryType, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - - search_result: &mut SearchResult, - result_count_arc: &Arc, - top_k: usize, - ) { - let mut query_list_map: AHashMap = AHashMap::new(); - let mut query_list: Vec; - - let mut not_query_list_map: AHashMap = AHashMap::new(); - let mut not_query_list: Vec; - - let mut non_unique_query_list: Vec = Vec::new(); - - let block_id = if self.is_last_level_incomplete { - self.level_index.len() - 1 - } else { - self.level_index.len() - }; - let mut preceding_ngram_count = 0; - - for non_unique_term in non_unique_terms.iter() { - let term = unique_terms.get(&non_unique_term.term).unwrap(); - let key0: u32 = term.key0; - let key_hash: u64 = term.key_hash; - - match self.segments_level0[key0 as usize].segment.get(&key_hash) { - Some(value1) => { - let mut idf = 0.0; - let mut idf_ngram1 = 0.0; - let mut idf_ngram2 = 0.0; - let mut idf_ngram3 = 0.0; - if result_type != &ResultType::Count { - let posting_counts_option = if self.meta.access_type == AccessType::Mmap { - decode_posting_list_counts( - &self.segments_index[key0 as usize], - self, - key_hash, - ) - } else { - let posting_list_object_index_option = - self.segments_index[key0 as usize].segment.get(&key_hash); - posting_list_object_index_option.map(|plo| { - ( - plo.posting_count, - plo.posting_count_ngram_1, - plo.posting_count_ngram_2, - plo.posting_count_ngram_3, - ) - }) - }; - - if non_unique_term.ngram_type == NgramType::SingleTerm - || self.meta.similarity == SimilarityType::Bm25fProximity - { - let posting_count = if let Some(posting_count) = posting_counts_option { - posting_count.0 as usize + value1.posting_count - } else { - value1.posting_count - }; - - idf = (((self.indexed_doc_count as f32 - posting_count as f32 + 0.5) - / (posting_count as f32 + 0.5)) - + 1.0) - .ln(); - } else if term.ngram_type == NgramType::NgramFF - || term.ngram_type == NgramType::NgramRF - || term.ngram_type == NgramType::NgramFR - { - let posting_count_ngram_1 = - if let Some(posting_count) = posting_counts_option { - posting_count.1 - } else { - 0 - } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_1) - as u32; - - let posting_count_ngram_2 = - if let Some(posting_count) = posting_counts_option { - posting_count.2 - } else { - 0 - } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_0) - as u32; - - idf_ngram1 = (((self.indexed_doc_count as f32 - - posting_count_ngram_1 as f32 - + 0.5) - / (posting_count_ngram_1 as f32 + 0.5)) - + 1.0) - .ln(); - - idf_ngram2 = (((self.indexed_doc_count as f32 - - posting_count_ngram_2 as f32 - + 0.5) - / (posting_count_ngram_2 as f32 + 0.5)) - + 1.0) - .ln(); - } else { - let posting_count_ngram_1 = - if let Some(posting_count) = posting_counts_option { - posting_count.1 - } else { - 0 - } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_1) - as u32; - - let posting_count_ngram_2 = - if let Some(posting_count) = posting_counts_option { - posting_count.2 - } else { - 0 - } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_0) - as u32; - - let posting_count_ngram_3 = - if let Some(posting_count) = posting_counts_option { - posting_count.3 - } else { - 0 - } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_0) - as u32; - - idf_ngram1 = (((self.indexed_doc_count as f32 - - posting_count_ngram_1 as f32 - + 0.5) - / (posting_count_ngram_1 as f32 + 0.5)) - + 1.0) - .ln(); - - idf_ngram2 = (((self.indexed_doc_count as f32 - - posting_count_ngram_2 as f32 - + 0.5) - / (posting_count_ngram_2 as f32 + 0.5)) - + 1.0) - .ln(); - - idf_ngram3 = (((self.indexed_doc_count as f32 - - posting_count_ngram_3 as f32 - + 0.5) - / (posting_count_ngram_3 as f32 + 0.5)) - + 1.0) - .ln(); - } - } - - let term_index_unique = if non_unique_term.op == QueryType::Not { - let query_list_map_len = not_query_list_map.len(); - let value = - not_query_list_map - .entry(key_hash) - .or_insert(PostingListObjectQuery { - posting_count: value1.posting_count as u32, - posting_pointer: value1.pointer_first, - term: non_unique_term.term.clone(), - key0, - term_index_unique: query_list_map_len, - - p_docid: 0, - p_docid_count: value1.posting_count, - docid: 0, - - idf, - idf_ngram1, - idf_ngram2, - idf_ngram3, - ngram_type: non_unique_term.ngram_type.clone(), - ..Default::default() - }); - value.term_index_unique - } else { - let query_list_map_len = query_list_map.len(); - let value = - query_list_map - .entry(key_hash) - .or_insert(PostingListObjectQuery { - posting_count: value1.posting_count as u32, - posting_pointer: value1.pointer_first, - term: non_unique_term.term.clone(), - key0, - term_index_unique: query_list_map_len, - - pointer_pivot_p_docid: value1.pointer_pivot_p_docid, - p_docid: 0, - p_docid_count: value1.posting_count, - docid: 0, - - idf, - idf_ngram1, - idf_ngram2, - idf_ngram3, - ngram_type: non_unique_term.ngram_type.clone(), - ..Default::default() - }); - value.term_index_unique - }; - - if non_unique_term.op == QueryType::Phrase { - let nu_plo = NonUniquePostingListObjectQuery { - term_index_unique, - term_index_nonunique: non_unique_query_list.len() - + preceding_ngram_count, - pos: 0, - p_pos: 0, - positions_pointer: 0, - positions_count: 0, - byte_array: &DUMMY_VEC_8, - key0, - is_embedded: false, - p_field: 0, - field_vec: SmallVec::new(), - embedded_positions: [0; 4], - }; - - non_unique_query_list.push(nu_plo); - } - - match non_unique_term.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { - preceding_ngram_count += 1 - } - _ => preceding_ngram_count += 2, - }; - } - None => { - if non_unique_term.op == QueryType::Intersection - || non_unique_term.op == QueryType::Phrase - { - return; - } - } - } - } - - not_query_list = not_query_list_map.into_values().collect(); - query_list = query_list_map.into_values().collect(); - let query_list_len = query_list.len(); - - let non_unique_query_list_count = non_unique_query_list.len(); - - if query_list_len == 0 { - } else if query_list_len == 1 { - self.single_docid_uncommitted( - block_id, - &mut non_unique_query_list, - &mut query_list, - &mut not_query_list, - 0, - result_type, - field_filter_set, - facet_filter, - search_result, - result_count_arc, - top_k, - ); - } else if query_type_mut == &QueryType::Union { - self.union_docid_uncommitted( - &mut non_unique_query_list, - &mut query_list, - &mut not_query_list, - block_id, - result_count_arc, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - ); - } else { - self.intersection_docid_uncommitted( - &mut non_unique_query_list, - &mut query_list, - &mut not_query_list, - block_id, - result_count_arc, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - query_type_mut == &mut QueryType::Phrase && non_unique_query_list_count >= 2, - ); - } - } - - #[allow(clippy::too_many_arguments)] - pub(crate) fn single_docid_uncommitted<'a>( - self: &Shard, - block_id: usize, - non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], - query_list: &mut [PostingListObjectQuery<'a>], - not_query_list: &mut [PostingListObjectQuery<'a>], - term_index: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - - search_result: &mut SearchResult, - result_count_arc: &Arc, - top_k: usize, - ) { - let filtered = !not_query_list.is_empty() - || !field_filter_set.is_empty() - || !self.delete_hashset.is_empty() - || !facet_filter.is_empty(); - - if (self.enable_single_term_topk || (result_type == &ResultType::Count)) - && (non_unique_query_list.len() <= 1 && !filtered) - { - result_count_arc.fetch_add( - query_list[term_index].posting_count as usize, - Ordering::Relaxed, - ); - - return; - } - - let plo1 = &mut query_list[term_index]; - - let mut result_count_local = 0; - for i in 0..plo1.posting_count { - plo1.p_docid = i as usize; - - self.get_next_docid_uncommitted(plo1); - - add_result_singleterm_uncommitted( - self, - (block_id << 16) | plo1.docid as usize, - &mut result_count_local, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - plo1, - not_query_list, - ); - } - - if result_type != &ResultType::Topk { - let filtered = !not_query_list.is_empty() || !field_filter_set.is_empty(); - result_count_arc.fetch_add( - if filtered { - result_count_local as usize - } else { - plo1.posting_count as usize - }, - Ordering::Relaxed, - ); - } - } - - pub(crate) fn get_next_docid_uncommitted(self: &Shard, plo: &mut PostingListObjectQuery) { - plo.posting_pointer_previous = plo.posting_pointer; - - let mut read_pointer = plo.posting_pointer; - - plo.posting_pointer = read_u32_ref(&self.postings_buffer, &mut read_pointer) as usize; - - plo.docid = read_u16_ref(&self.postings_buffer, &mut read_pointer) as i32; - } - - #[inline(always)] - pub(crate) fn decode_positions_uncommitted( - self: &Shard, - plo: &mut PostingListObjectQuery, - phrase_query: bool, - ) { - let mut read_pointer = plo.posting_pointer_previous + 6; - - let position_size_byte_temp: u16 = read_u16_ref(&self.postings_buffer, &mut read_pointer); - - let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); - plo.is_embedded = position_size_byte_temp & 0b10000000_00000000 > 0; - - if !plo.is_embedded { - match plo.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { - plo.field_vec_ngram1 = SmallVec::new(); - plo.field_vec_ngram2 = SmallVec::new(); - read_multifield_vec( - self.indexed_field_vec.len(), - self.indexed_field_id_bits, - self.indexed_field_id_mask, - self.longest_field_id, - &mut plo.field_vec_ngram1, - &self.postings_buffer, - &mut read_pointer, - ); - read_multifield_vec( - self.indexed_field_vec.len(), - self.indexed_field_id_bits, - self.indexed_field_id_mask, - self.longest_field_id, - &mut plo.field_vec_ngram2, - &self.postings_buffer, - &mut read_pointer, - ); - } - _ => { - plo.field_vec_ngram1 = SmallVec::new(); - plo.field_vec_ngram2 = SmallVec::new(); - plo.field_vec_ngram3 = SmallVec::new(); - read_multifield_vec( - self.indexed_field_vec.len(), - self.indexed_field_id_bits, - self.indexed_field_id_mask, - self.longest_field_id, - &mut plo.field_vec_ngram1, - &self.postings_buffer, - &mut read_pointer, - ); - read_multifield_vec( - self.indexed_field_vec.len(), - self.indexed_field_id_bits, - self.indexed_field_id_mask, - self.longest_field_id, - &mut plo.field_vec_ngram2, - &self.postings_buffer, - &mut read_pointer, - ); - read_multifield_vec( - self.indexed_field_vec.len(), - self.indexed_field_id_bits, - self.indexed_field_id_mask, - self.longest_field_id, - &mut plo.field_vec_ngram3, - &self.postings_buffer, - &mut read_pointer, - ); - } - } - - read_multifield_vec( - self.indexed_field_vec.len(), - self.indexed_field_id_bits, - self.indexed_field_id_mask, - self.longest_field_id, - &mut field_vec, - &self.postings_buffer, - &mut read_pointer, - ); - } else { - let field_id; - - if plo.p_docid < plo.pointer_pivot_p_docid as usize { - let rank_position_pointer = read_u16(&self.postings_buffer, read_pointer) as u32; - - match ( - self.indexed_field_vec.len() == 1, - rank_position_pointer >> 12, - ) { - (true, 0b1000..=0b1011) => { - if phrase_query { - plo.embedded_positions = - [rank_position_pointer & 0b00111111_11111111, 0, 0, 0]; - }; - field_vec.push((0, 1)); - } - (true, 0b1100..=0b1111) => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 7) & 0b00000000_01111111, - rank_position_pointer & 0b00000000_01111111, - 0, - 0, - ]; - }; - field_vec.push((0, 2)); - } - - (false, 0b1100 | 0b1101) => { - if phrase_query { - plo.embedded_positions = - [rank_position_pointer & 0b00011111_11111111, 0, 0, 0]; - }; - field_id = self.longest_field_id as u16; - field_vec.push((field_id, 1)); - } - (false, 0b1110 | 0b1111) => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 7) & 0b00000000_00111111, - rank_position_pointer & 0b00000000_01111111, - 0, - 0, - ]; - }; - field_id = self.longest_field_id as u16; - field_vec.push((field_id, 2)); - } - - (false, 0b1000) => { - let position_bits = 12 - self.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.push((field_id, 1)); - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer & ((1 << position_bits) - 1)), - 0, - 0, - 0, - ]; - }; - } - (false, 0b1001) => { - let position_bits = 12 - self.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.push((field_id, 2)); - if phrase_query { - let position_bits_1 = position_bits >> 1; - let position_bits_2 = position_bits - position_bits_1; - plo.embedded_positions = [ - ((rank_position_pointer >> position_bits_2) - & ((1 << position_bits_1) - 1)), - (rank_position_pointer & ((1 << position_bits_2) - 1)), - 0, - 0, - ]; - }; - } - (false, 0b1010) => { - let position_bits = 12 - self.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.push((field_id, 3)); - if phrase_query { - let position_bits_1 = position_bits / 3; - let position_bits_2 = (position_bits - position_bits_1) >> 1; - let position_bits_3 = position_bits - position_bits_1 - position_bits_2; - plo.embedded_positions = [ - ((rank_position_pointer >> (position_bits_2 + position_bits_3)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> position_bits_3) - & ((1 << position_bits_2) - 1)), - (rank_position_pointer & ((1 << position_bits_3) - 1)), - 0, - ]; - }; - } - (false, 0b1011) => { - let position_bits = - 12 - self.indexed_field_id_bits - self.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + self.indexed_field_id_bits)) - & self.indexed_field_id_mask as u32) - as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1)]); - if phrase_query { - let position_bits_1 = position_bits >> 1; - let position_bits_2 = position_bits - position_bits_1; - plo.embedded_positions = [ - ((rank_position_pointer >> position_bits_2) - & ((1 << position_bits_1) - 1)), - (rank_position_pointer & ((1 << position_bits_2) - 1)), - 0, - 0, - ]; - }; - } - - (_, _) => { - if phrase_query { - println!("unsupported 2 byte pointer embedded"); - plo.embedded_positions = [0, 0, 0, 0] - }; - } - } - } else { - let rank_position_pointer = read_u32(&self.postings_buffer, read_pointer); - - match ( - self.indexed_field_vec.len() == 1, - (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, - ) { - (true, 0b10000..=0b10011) => { - if phrase_query { - plo.embedded_positions = [ - rank_position_pointer & 0b00011111_11111111_11111111, - 0, - 0, - 0, - ]; - }; - field_vec.push((0, 1)); - } - (true, 0b10100..=0b10111) => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 11) & 0b00000000_00000011_11111111, - rank_position_pointer & 0b00000000_00000111_11111111, - 0, - 0, - ]; - }; - field_vec.push((0, 2)); - } - (true, 0b11000..=0b11011) => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 14) & 0b00000000_00000000_01111111, - (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, - rank_position_pointer & 0b00000000_00000000_01111111, - 0, - ]; - }; - field_vec.push((0, 3)); - } - (true, 0b11100..=0b11111) => { - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 16) & 0b00000000_00000000_00011111, - (rank_position_pointer >> 11) & 0b00000000_00000000_00011111, - (rank_position_pointer >> 6) & 0b00000000_00000000_00011111, - rank_position_pointer & 0b00000000_00000000_00111111, - ]; - }; - field_vec.push((0, 4)); - } - - (false, 0b11000 | 0b11001) => { - field_id = self.longest_field_id as u16; - field_vec.push((field_id, 1)); - if phrase_query { - plo.embedded_positions = [ - rank_position_pointer & 0b00001111_11111111_11111111, - 0, - 0, - 0, - ]; - }; - } - (false, 0b11010 | 0b11011) => { - field_id = self.longest_field_id as u16; - field_vec.push((field_id, 2)); - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 10) & 0b00000000_00000011_11111111, - rank_position_pointer & 0b00000000_00000011_11111111, - 0, - 0, - ]; - }; - } - (false, 0b11100 | 0b11101) => { - field_id = self.longest_field_id as u16; - field_vec.push((field_id, 3)); - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 14) & 0b00000000_00000000_00111111, - (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, - rank_position_pointer & 0b00000000_00000000_01111111, - 0, - ]; - }; - } - (false, 0b11110 | 0b11111) => { - field_id = self.longest_field_id as u16; - field_vec.push((field_id, 4)); - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer >> 15) & 0b00000000_00000000_00011111, - (rank_position_pointer >> 10) & 0b00000000_00000000_00011111, - (rank_position_pointer >> 5) & 0b00000000_00000000_00011111, - rank_position_pointer & 0b00000000_00000000_00011111, - ]; - }; - } - - (false, 0b10000) => { - let position_bits = 19 - self.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.push((field_id, 1)); - if phrase_query { - plo.embedded_positions = [ - (rank_position_pointer & ((1 << position_bits) - 1)), - 0, - 0, - 0, - ]; - }; - } - - (false, 0b10001) => { - let position_bits = 19 - self.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.push((field_id, 2)); - if phrase_query { - let position_bits_1 = position_bits >> 1; - let position_bits_2 = position_bits - position_bits_1; - plo.embedded_positions = [ - ((rank_position_pointer >> position_bits_2) - & ((1 << position_bits_1) - 1)), - (rank_position_pointer & ((1 << position_bits_2) - 1)), - 0, - 0, - ]; - }; - } - (false, 0b10010) => { - let position_bits = 19 - self.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.push((field_id, 3)); - if phrase_query { - let position_bits_1 = position_bits / 3; - let position_bits_2 = (position_bits - position_bits_1) >> 1; - let position_bits_3 = position_bits - position_bits_1 - position_bits_2; - plo.embedded_positions = [ - ((rank_position_pointer >> (position_bits_2 + position_bits_3)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> position_bits_3) - & ((1 << position_bits_2) - 1)), - (rank_position_pointer & ((1 << position_bits_3) - 1)), - 0, - ]; - }; - } - (false, 0b10011) => { - let position_bits = 19 - self.indexed_field_id_bits; - field_id = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.push((field_id, 4)); - if phrase_query { - let position_bits_1 = position_bits >> 2; - let position_bits_2 = (position_bits - position_bits_1) / 3; - let position_bits_3 = - (position_bits - position_bits_1 - position_bits_2) >> 1; - let position_bits_4 = - position_bits - position_bits_1 - position_bits_2 - position_bits_3; - plo.embedded_positions = [ - ((rank_position_pointer - >> (position_bits_2 + position_bits_3 + position_bits_4)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> (position_bits_3 + position_bits_4)) - & ((1 << position_bits_2) - 1)), - ((rank_position_pointer >> position_bits_4) - & ((1 << position_bits_3) - 1)), - (rank_position_pointer & ((1 << position_bits_4) - 1)), - ]; - }; - } - (false, 0b10100) => { - let position_bits = - 19 - self.indexed_field_id_bits - self.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + self.indexed_field_id_bits)) - & self.indexed_field_id_mask as u32) - as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1)]); - if phrase_query { - let position_bits_1 = position_bits >> 1; - let position_bits_2 = position_bits - position_bits_1; - plo.embedded_positions = [ - ((rank_position_pointer >> position_bits_2) - & ((1 << position_bits_1) - 1)), - (rank_position_pointer & ((1 << position_bits_2) - 1)), - 0, - 0, - ]; - }; - } - (false, 0b10101) => { - let position_bits = - 19 - self.indexed_field_id_bits - self.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + self.indexed_field_id_bits)) - & self.indexed_field_id_mask as u32) - as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 2)]); - if phrase_query { - let position_bits_1 = position_bits / 3; - let position_bits_2 = (position_bits - position_bits_1) >> 1; - let position_bits_3 = position_bits - position_bits_1 - position_bits_2; - plo.embedded_positions = [ - ((rank_position_pointer >> (position_bits_2 + position_bits_3)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> position_bits_3) - & ((1 << position_bits_2) - 1)), - (rank_position_pointer & ((1 << position_bits_3) - 1)), - 0, - ]; - }; - } - (false, 0b10110) => { - let position_bits = - 19 - self.indexed_field_id_bits - self.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits + self.indexed_field_id_bits)) - & self.indexed_field_id_mask as u32) - as u16; - let field_id_2 = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 2), (field_id_2, 1)]); - if phrase_query { - let position_bits_1 = position_bits / 3; - let position_bits_2 = (position_bits - position_bits_1) >> 1; - let position_bits_3 = position_bits - position_bits_1 - position_bits_2; - plo.embedded_positions = [ - ((rank_position_pointer >> (position_bits_2 + position_bits_3)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> position_bits_3) - & ((1 << position_bits_2) - 1)), - (rank_position_pointer & ((1 << position_bits_3) - 1)), - 0, - ]; - }; - } - (false, 0b10111) => { - let position_bits = 19 - - self.indexed_field_id_bits - - self.indexed_field_id_bits - - self.indexed_field_id_bits; - field_id = ((rank_position_pointer - >> (position_bits - + self.indexed_field_id_bits - + self.indexed_field_id_bits)) - & self.indexed_field_id_mask as u32) - as u16; - let field_id_2 = ((rank_position_pointer - >> (position_bits + self.indexed_field_id_bits)) - & self.indexed_field_id_mask as u32) - as u16; - let field_id_3 = ((rank_position_pointer >> position_bits) - & self.indexed_field_id_mask as u32) - as u16; - field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); - - if phrase_query { - let position_bits_1 = position_bits / 3; - let position_bits_2 = (position_bits - position_bits_1) >> 1; - let position_bits_3 = position_bits - position_bits_1 - position_bits_2; - plo.embedded_positions = [ - ((rank_position_pointer >> (position_bits_2 + position_bits_3)) - & ((1 << position_bits_1) - 1)), - ((rank_position_pointer >> position_bits_3) - & ((1 << position_bits_2) - 1)), - (rank_position_pointer & ((1 << position_bits_3) - 1)), - 0, - ]; - }; - } - - (_, _) => { - if phrase_query { - println!("unsupported 3 byte pointer embedded"); - plo.embedded_positions = [0, 0, 0, 0] - }; - } - } - }; - } - - plo.positions_count = field_vec[0].1 as u32; - plo.field_vec = field_vec; - plo.positions_pointer = read_pointer as u32; - } - - #[allow(clippy::too_many_arguments)] - pub(crate) fn intersection_docid_uncommitted( - self: &Shard, - non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'_>], - query_list: &mut [PostingListObjectQuery<'_>], - not_query_list: &mut [PostingListObjectQuery<'_>], - block_id: usize, - result_count_arc: &Arc, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - phrase_query: bool, - ) { - let mut result_count = 0; - let t1 = 0; - let mut t2 = 1; - - query_list.sort_by(|x, y| x.posting_count.partial_cmp(&y.posting_count).unwrap()); - - for plo in query_list.iter_mut() { - plo.p_docid = 0; - self.get_next_docid_uncommitted(plo); - } - - 'outer: loop { - match query_list[t1].docid.cmp(&query_list[t2].docid) { - std::cmp::Ordering::Less => { - if t2 > 1 { - t2 = 1; - } - - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].posting_count as usize { - break; - } - self.get_next_docid_uncommitted(&mut query_list[t1]); - } - std::cmp::Ordering::Greater => { - query_list[t2].p_docid += 1; - if query_list[t2].p_docid == query_list[t2].posting_count as usize { - break; - } - - self.get_next_docid_uncommitted(&mut query_list[t2]); - } - std::cmp::Ordering::Equal => { - if t2 + 1 < query_list.len() { - t2 += 1; - continue; - } - - add_result_multiterm_uncommitted( - self, - (block_id << 16) | query_list[t1].docid as usize, - &mut result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - phrase_query, - ); - - query_list[t1].p_docid += 1; - if query_list[t1].p_docid == query_list[t1].posting_count as usize { - break; - } - for item in query_list.iter_mut().skip(1) { - item.p_docid += 1; - if item.p_docid == item.posting_count as usize { - break 'outer; - } - self.get_next_docid_uncommitted(item); - } - - t2 = 1; - self.get_next_docid_uncommitted(&mut query_list[t1]); - } - } - } - - if result_type != &ResultType::Topk { - result_count_arc.fetch_add(result_count as usize, Ordering::Relaxed); - } - } - - #[allow(clippy::too_many_arguments)] - pub(crate) fn union_docid_uncommitted( - &self, - non_unique_query_list: &mut [NonUniquePostingListObjectQuery], - query_list: &mut [PostingListObjectQuery], - not_query_list: &mut [PostingListObjectQuery], - block_id: usize, - result_count_arc: &Arc, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - ) { - let mut result_count: i32 = 0; - - if result_type == &ResultType::Count { - self.union_count_uncommitted(&mut result_count, query_list); - result_count_arc.fetch_add(result_count as usize, Ordering::Relaxed); - return; - } - - self.union_scan_uncommitted( - &mut result_count, - block_id, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - ); - - result_count_arc.fetch_add(result_count as usize, Ordering::Relaxed); - } - - pub(crate) fn union_count_uncommitted( - &self, - result_count: &mut i32, - query_list: &mut [PostingListObjectQuery], - ) { - query_list.sort_by(|a, b| b.posting_count.partial_cmp(&a.posting_count).unwrap()); - - let mut result_count_local = query_list[0].posting_count; - let mut bitmap_0: [u8; 8192] = [0u8; 8192]; - - for (i, item) in query_list.iter_mut().enumerate() { - if item.end_flag { - continue; - } - - if i == 0 { - for _p_docid in 0..item.posting_count { - self.get_next_docid_uncommitted(item); - let docid = item.docid as usize; - let byte_index = docid >> 3; - let bit_index = docid & 7; - - bitmap_0[byte_index] |= 1 << bit_index; - } - } else { - for _p_docid in 0..item.posting_count { - self.get_next_docid_uncommitted(item); - let docid = item.docid as usize; - let byte_index = docid >> 3; - let bit_index = docid & 7; - - if bitmap_0[byte_index] & (1 << bit_index) == 0 { - bitmap_0[byte_index] |= 1 << bit_index; - result_count_local += 1; - } - } - } - } - - *result_count += result_count_local as i32; - } - - #[allow(clippy::too_many_arguments)] - pub(crate) fn union_scan_uncommitted( - &self, - result_count: &mut i32, - block_id: usize, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - non_unique_query_list: &mut [NonUniquePostingListObjectQuery], - query_list: &mut [PostingListObjectQuery], - not_query_list: &mut [PostingListObjectQuery], - ) { - for plo in query_list.iter_mut() { - if !plo.end_flag { - self.get_next_docid_uncommitted(plo); - } - } - - loop { - let mut break_loop = true; - let mut docid_min = u16::MAX; - - for plo in query_list.iter_mut() { - if !plo.end_flag && (plo.docid as u16) < docid_min { - docid_min = plo.docid as u16; - } - } - - if result_type != &ResultType::Count { - let mut term_match_count = 0; - let mut term_index = 0; - for (i, plo) in query_list.iter_mut().enumerate() { - if !plo.end_flag && (plo.docid as u16 == docid_min) { - plo.bm25_flag = true; - term_match_count += 1; - term_index = i; - } else { - plo.bm25_flag = false; - } - } - - if term_match_count == 1 { - add_result_singleterm_uncommitted( - self, - (block_id << 16) | docid_min as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - &mut query_list[term_index], - not_query_list, - ); - if not_query_list.is_empty() && result_type != &ResultType::Topk { - *result_count += 1; - } - } else { - add_result_multiterm_uncommitted( - self, - (block_id << 16) | docid_min as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - false, - ); - } - } else { - *result_count += 1; - } - - for plo in query_list.iter_mut() { - if !plo.end_flag { - let doc_id = plo.docid as u16; - if doc_id == docid_min { - if plo.p_docid < plo.posting_count as usize - 1 { - plo.p_docid += 1; - self.get_next_docid_uncommitted(plo); - break_loop = false; - } else { - plo.end_flag = true; - } - } else { - break_loop = false; - } - } - } - - if break_loop { - break; - } - } - } -} diff --git a/mobile_app/rust/src/seekstorm/search.rs b/mobile_app/rust/src/seekstorm/search.rs deleted file mode 100644 index 7bc184c..0000000 --- a/mobile_app/rust/src/seekstorm/search.rs +++ /dev/null @@ -1,3243 +0,0 @@ -use crate::geo_search::{decode_morton_2_d, point_distance_to_morton_range}; -use crate::index::{ - DOCUMENT_LENGTH_COMPRESSION, DistanceUnit, Facet, FieldType, NgramType, ResultFacet, Shard, - ShardArc, hash64, -}; -use crate::min_heap::{Result, result_ordering_root}; -use crate::tokenizer::{tokenizer, tokenizer_lite}; -use crate::union::{union_docid_2, union_docid_3}; -use crate::utils::{ - read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u8, read_u16, read_u32, - read_u64, -}; -use crate::{ - index::{ - AccessType, BlockObjectIndex, DUMMY_VEC, DUMMY_VEC_8, Index, IndexArc, - MAX_POSITIONS_PER_TERM, NonUniquePostingListObjectQuery, NonUniqueTermObject, - PostingListObjectIndex, PostingListObjectQuery, QueueObject, SPEEDUP_FLAG, SegmentIndex, - SimilarityType, TermObject, get_max_score, - }, - intersection::intersection_blockid, - min_heap::MinHeap, - single::single_blockid, - union::union_blockid, -}; - -use ahash::{AHashMap, AHashSet}; -use itertools::Itertools; -use num::FromPrimitive; -use serde::{Deserialize, Serialize}; -use smallvec::SmallVec; -use std::mem::discriminant; -use std::ops::Range; -use std::sync::{ - Arc, - atomic::{AtomicUsize, Ordering}, -}; -use std::{cmp, mem}; -use utoipa::ToSchema; - -use symspell_complete_rs::Suggestion; - -/// Specifies the default QueryType: The following query types are supported: -/// - **Union** (OR, disjunction), -/// - **Intersection** (AND, conjunction), -/// - **Phrase** (""), -/// - **Not** (-). -/// -/// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (+ - ""). -#[derive(Default, PartialEq, Clone, Debug, Serialize, Deserialize, ToSchema)] -pub enum QueryType { - /// Union (OR, disjunction) - #[default] - Union = 0, - /// Intersection (AND, conjunction) - Intersection = 1, - /// Phrase ("") - Phrase = 2, - /// Not (-) - Not = 3, -} - -/// Specifies whether query rewriting is enabled or disabled -#[derive(Default, PartialEq, Clone, Debug, Serialize, Deserialize, ToSchema)] -pub enum QueryRewriting { - /// Query rewriting disabled, returns query results for query as-is, returns no suggestions for corrected or completed query. - /// No performance overhead for spelling correction and suggestions. - #[default] - SearchOnly, - /// Query rewriting disabled, returns query results for original query string, returns suggestions for corrected or completed query. - /// Additional latency for spelling suggestions. - SearchSuggest { - /// Enable query correction, for queries with query string length >= threshold - /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. - correct: Option, - /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. - distance: usize, - /// Term length thresholds for each edit distance. - /// None: max_dictionary_edit_distance for all terms lengths - /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, - /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 - term_length_threshold: Option>, - /// Enable query completions, for queries with query string length >= threshold, in addition to spelling corrections - /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. - complete: Option, - /// An option to limit maximum number of returned suggestions. - length: Option, - }, - /// Query rewriting enabled, returns query results for spelling corrected or completed query string (=instant search), returns suggestions for corrected or completed query. - /// Additional latency for spelling correction and suggestions. - SearchRewrite { - /// Enable query correction, for queries with query string length >= threshold - /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. - correct: Option, - /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. - distance: usize, - /// Term length thresholds for each edit distance. - /// None: max_dictionary_edit_distance for all terms lengths - /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, - /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 - term_length_threshold: Option>, - /// Enable query completions, for queries with query string length >= threshold, in addition to spelling corrections - /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. - complete: Option, - /// An option to limit maximum number of returned suggestions. - length: Option, - }, - /// Search disabled, returns no query results, only returns suggestions for corrected or completed query. - SuggestOnly { - /// Enable query correction, for queries with query string length >= threshold - /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. - correct: Option, - /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. - distance: usize, - /// Term length thresholds for each edit distance. - /// None: max_dictionary_edit_distance for all terms lengths - /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, - /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 - term_length_threshold: Option>, - /// Enable query completions, for queries with query string length >= threshold, in addition to spelling corrections - /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. - complete: Option, - /// An option to limit maximum number of returned suggestions. - length: Option, - }, -} - -/// The following result types are supported: -/// - **Count** (count all results that match the query, but returning top-k results is not required) -/// - **Topk** (returns the top-k results per query, but counting all results that match the query is not required) -/// - **TopkCount** (returns the top-k results per query + count all results that match the query) -#[derive(Default, PartialEq, Clone, Debug, Serialize, Deserialize, ToSchema)] -pub enum ResultType { - /// Count all results that match the query, without returning top-k results - Count = 0, - /// Return the top-k results per query, without counting all results that match the query - Topk = 1, - /// Return the top-k results per query and count all results that match the query - #[default] - TopkCount = 2, -} - -pub(crate) struct SearchResult<'a> { - pub topk_candidates: MinHeap<'a>, - pub query_facets: Vec, - pub skip_facet_count: bool, -} - -/// Contains the results returned when searching the index. -#[derive(Default, Debug, Deserialize, Serialize, Clone)] -pub struct ResultObject { - /// Search query string - pub original_query: String, - /// Search query string after any automatic query correction or completion - pub query: String, - /// Vector of search query terms. Can be used e.g. for custom highlighting. - pub query_terms: Vec, - /// Number of returned search results. Identical to results.len() - pub result_count: usize, - - /// Total number of search results that match the query - /// result_count_total is only accurate if result_type=TopkCount or ResultType=Count, but not for ResultType=Topk - pub result_count_total: usize, - - /// List of search results: doc ID and BM25 score - pub results: Vec, - /// List of facet fields: field name and vector of unique values and their counts. - /// Unique values and their counts are only accurate if result_type=TopkCount or ResultType=Count, but not for ResultType=Topk - pub facets: AHashMap, - ///Suggestions for auto complete and spelling correction. - pub suggestions: Vec, -} - -/// specifies how to count the frequency of numerical facet field values -#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq, ToSchema)] -pub enum RangeType { - /// within the specified range - #[default] - CountWithinRange, - /// within the range and all ranges above - CountAboveRange, - /// within the range and all ranges below - CountBelowRange, -} - -/// Defines the query facets: -/// - string facet field values -/// - range segments for numerical facet field values -#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq, ToSchema)] -pub enum QueryFacet { - /// Range segment definition for numerical facet field values of type u8 - U8 { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, u8)>, - }, - /// Range segment definition for numerical facet field values of type u16 - U16 { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, u16)>, - }, - /// Range segment definition for numerical facet field values of type u32 - U32 { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, u32)>, - }, - /// Range segment definition for numerical facet field values of type u64 - U64 { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, u64)>, - }, - /// Range segment definition for numerical facet field values of type i8 - I8 { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, i8)>, - }, - /// Range segment definition for numerical facet field values of type i16 - I16 { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, i16)>, - }, - /// Range segment definition for numerical facet field values of type i32 - I32 { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, i32)>, - }, - /// Range segment definition for numerical facet field values of type i64 - I64 { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, i64)>, - }, - /// Range segment definition for numerical facet field values of type Unix timestamp - Timestamp { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, i64)>, - }, - /// Range segment definition for numerical facet field values of type f32 - F32 { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, f32)>, - }, - /// Range segment definition for numerical facet field values of type f64 - F64 { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, f64)>, - }, - /// Facet field values of type string - String16 { - /// field name - field: String, - /// Prefix filter of facet values to return - prefix: String, - /// maximum number of facet values to return - length: u16, - }, - /// Facet field values of type string - String32 { - /// field name - field: String, - /// Prefix filter of facet values to return - prefix: String, - /// maximum number of facet values to return - length: u32, - }, - /// Facet field values of type string set - StringSet16 { - /// field name - field: String, - /// Prefix filter of facet values to return - prefix: String, - /// maximum number of facet values to return - length: u16, - }, - /// Facet field values of type string set - StringSet32 { - /// field name - field: String, - /// Prefix filter of facet values to return - prefix: String, - /// maximum number of facet values to return - length: u32, - }, - /// Range segment definition for numerical facet field values of type Point (distance between base of type Point and facet field of type Point) - Point { - /// field name - field: String, - /// range type (CountWithinRange,CountBelowRange,CountAboveRange) - range_type: RangeType, - /// range label, range start - ranges: Vec<(String, f64)>, - /// base point (latitude/lat, longitude/lon) - base: Point, - /// distance unit (kilometers/miles) - unit: DistanceUnit, - }, - /// No query facet - #[default] - None, -} - -/// Defines the range segments for numerical facet field values -#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq)] -pub enum Ranges { - /// U8 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - U8(RangeType, Vec<(String, u8)>), - /// U16 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - U16(RangeType, Vec<(String, u16)>), - /// U32 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - U32(RangeType, Vec<(String, u32)>), - /// U64 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - U64(RangeType, Vec<(String, u64)>), - /// I8 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - I8(RangeType, Vec<(String, i8)>), - /// I16 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - I16(RangeType, Vec<(String, i16)>), - /// I32 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - I32(RangeType, Vec<(String, i32)>), - /// I64 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - I64(RangeType, Vec<(String, i64)>), - /// Unix timestamp (number of seconds since 1 January 1970) range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - Timestamp(RangeType, Vec<(String, i64)>), - /// F32 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - F32(RangeType, Vec<(String, f32)>), - /// F64 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start - F64(RangeType, Vec<(String, f64)>), - /// Proximity range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, base point (longitude/lon, latitude/lat), distance unit - Point(RangeType, Vec<(String, f64)>, Point, DistanceUnit), - #[default] - /// No range filter - None, -} - -/// FacetValue: Facet field value types -#[derive(Clone, PartialEq, Serialize, Deserialize, ToSchema)] -pub enum FacetValue { - /// Boolean value - Bool(bool), - /// Unsigned 8-bit integer - U8(u8), - /// Unsigned 16-bit integer - U16(u16), - /// Unsigned 32-bit integer - U32(u32), - /// Unsigned 64-bit integer - U64(u64), - /// Signed 8-bit integer - I8(i8), - /// Signed 16-bit integer - I16(i16), - /// Signed 32-bit integer - I32(i32), - /// Signed 64-bit integer - I64(i64), - /// Unix timestamp: the number of seconds since 1 January 1970 - Timestamp(i64), - /// 32-bit floating point number - F32(f32), - /// 64-bit floating point number - F64(f64), - /// String value - String(String), - /// String set value - StringSet(Vec), - /// Point value: latitude/lat, longitude/lon - Point(Point), - /// No value - None, -} - -impl Index { - /// get_facet_value: Returns value from facet field for a doc_id even if schema stored=false (field not stored in document JSON). - /// Facet fields are more compact than fields stored in document JSON. - /// Strings are stored more compact as indices to a unique term dictionary. Numbers are stored binary, not as strings. - /// Facet fields are faster because no document loading, decompression and JSON decoding is required. - /// Facet fields are always memory mapped, internally always stored with fixed byte length layout, regardless of string size. - #[inline] - pub async fn get_facet_value(self: &Index, field: &str, doc_id: usize) -> FacetValue { - let shard_id = doc_id & ((1 << self.shard_bits) - 1); - let doc_id = doc_id >> self.shard_bits; - self.shard_vec[shard_id] - .read() - .await - .get_facet_value_shard(field, doc_id) - } -} - -impl Shard { - #[inline] - pub(crate) fn get_facet_value_shard(self: &Shard, field: &str, doc_id: usize) -> FacetValue { - if let Some(field_idx) = self.facets_map.get(field) { - match &self.facets[*field_idx].field_type { - FieldType::U8 => { - let facet_value = &self.facets_file_mmap - [(self.facets_size_sum * doc_id) + self.facets[*field_idx].offset]; - FacetValue::U8(*facet_value) - } - FieldType::U16 => { - let facet_value = read_u16( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - FacetValue::U16(facet_value) - } - FieldType::U32 => { - let facet_value = read_u32( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - FacetValue::U32(facet_value) - } - FieldType::U64 => { - let facet_value = read_u64( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - FacetValue::U64(facet_value) - } - FieldType::I8 => { - let facet_value = read_i8( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - FacetValue::I8(facet_value) - } - FieldType::I16 => { - let facet_value = read_i16( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - FacetValue::I16(facet_value) - } - FieldType::I32 => { - let facet_value = read_i32( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - FacetValue::I32(facet_value) - } - FieldType::I64 => { - let facet_value = read_i64( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - FacetValue::I64(facet_value) - } - FieldType::Timestamp => { - let facet_value = read_i64( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - FacetValue::Timestamp(facet_value) - } - FieldType::F32 => { - let facet_value = read_f32( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - FacetValue::F32(facet_value) - } - FieldType::F64 => { - let facet_value = read_f64( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - FacetValue::F64(facet_value) - } - - FieldType::String16 => { - let facet_id = read_u16( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - - let facet_value = self.facets[*field_idx] - .values - .get_index((facet_id).into()) - .unwrap(); - - FacetValue::String(facet_value.1.0[0].clone()) - } - - FieldType::StringSet16 => { - let facet_id = read_u16( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - - let facet_value = self.facets[*field_idx] - .values - .get_index((facet_id).into()) - .unwrap(); - - FacetValue::StringSet(facet_value.1.0.clone()) - } - - FieldType::String32 => { - let facet_id = read_u32( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - - let facet_value = self.facets[*field_idx] - .values - .get_index(facet_id as usize) - .unwrap(); - - FacetValue::String(facet_value.1.0[0].clone()) - } - - FieldType::StringSet32 => { - let facet_id = read_u32( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - - let facet_value = self.facets[*field_idx] - .values - .get_index(facet_id as usize) - .unwrap(); - - FacetValue::StringSet(facet_value.1.0.clone()) - } - - FieldType::Point => { - let code = read_u64( - &self.facets_file_mmap, - (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, - ); - - let x = decode_morton_2_d(code); - - FacetValue::Point(x.clone()) - } - - _ => FacetValue::None, - } - } else { - FacetValue::None - } - } -} - -/// U8 range filter -#[allow(dead_code)] -#[derive(ToSchema)] -pub struct RangeU8 { - /// range start - pub start: u8, - /// range end - pub end: u8, -} - -/// U16 range filter -#[allow(dead_code)] -#[derive(ToSchema)] -pub struct RangeU16 { - /// range start - pub start: u16, - /// range end - pub end: u16, -} - -/// U32 range filter -#[allow(dead_code)] -#[derive(ToSchema)] -pub struct RangeU32 { - /// range start - pub start: u32, - /// range end - pub end: u32, -} - -/// U64 range filter -#[allow(dead_code)] -#[derive(ToSchema)] -pub struct RangeU64 { - /// range start - pub start: u64, - /// range end - pub end: u64, -} - -/// I8 range filter -#[allow(dead_code)] -#[derive(ToSchema)] -pub struct RangeI8 { - /// range start - pub start: i8, - /// range end - pub end: i8, -} - -/// I16 range filter -#[allow(dead_code)] -#[derive(ToSchema)] -pub struct RangeI16 { - /// range start - pub start: i16, - /// range end - pub end: i16, -} - -/// I32 range filter -#[allow(dead_code)] -#[derive(ToSchema)] -pub struct RangeI32 { - /// range start - pub start: i32, - /// range end - pub end: i32, -} - -/// I64 range filter -#[allow(dead_code)] -#[derive(ToSchema)] -pub struct RangeI64 { - /// range start - pub start: i64, - /// range end - pub end: i64, -} - -/// F32 range filter -#[allow(dead_code)] -#[derive(ToSchema)] -pub struct RangeF32 { - /// range start - pub start: f32, - /// range end - pub end: f32, -} - -/// F64 range filter -#[allow(dead_code)] -#[derive(ToSchema)] -pub struct RangeF64 { - /// range start - pub start: f64, - /// range end - pub end: f64, -} - -/// FacetFilter: -/// either numerical range facet filter (range start/end) or -/// string facet filter (vector of strings) at least one (boolean OR) must match. -#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ToSchema)] -pub enum FacetFilter { - /// U8 range filter - U8 { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeU8)] - filter: Range, - }, - /// U16 range filter - U16 { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeU16)] - filter: Range, - }, - /// U32 range filter - U32 { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeU32)] - filter: Range, - }, - /// U64 range filter - U64 { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeU64)] - filter: Range, - }, - /// I8 range filter - I8 { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeI8)] - filter: Range, - }, - /// I16 range filter - I16 { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeI16)] - filter: Range, - }, - /// I32 range filter - I32 { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeI32)] - filter: Range, - }, - /// I64 range filter - I64 { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeI64)] - filter: Range, - }, - /// Timestamp range filter, Unix timestamp: the number of seconds since 1 January 1970 - Timestamp { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeI64)] - filter: Range, - }, - /// F32 range filter - F32 { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeF32)] - filter: Range, - }, - /// F64 range filter - F64 { - /// field name - field: String, - /// filter: range start, range end - #[schema(value_type=RangeF64)] - filter: Range, - }, - /// String16 filter - String16 { - /// field name - field: String, - /// filter: array of facet string values - filter: Vec, - }, - /// StringSet16 filter - StringSet16 { - /// field name - field: String, - /// filter: array of facet string values - filter: Vec, - }, - /// String32 filter - String32 { - /// field name - field: String, - /// filter: array of facet string values - filter: Vec, - }, - /// StringSet32 filter - StringSet32 { - /// field name - field: String, - /// filter: array of facet string values - filter: Vec, - }, - /// Point proximity range filter - Point { - /// field name - field: String, - /// filter: base point (latitude/lat, longitude/lon), proximity range start, proximity range end, distance unit - #[schema(value_type=(Point, RangeF64, DistanceUnit))] - filter: (Point, Range, DistanceUnit), - }, -} - -#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq)] -pub(crate) enum FilterSparse { - U8(Range), - U16(Range), - U32(Range), - U64(Range), - I8(Range), - I16(Range), - I32(Range), - I64(Range), - /// Unix timestamp: the number of seconds since 1 January 1970 - Timestamp(Range), - F32(Range), - F64(Range), - String16(Vec), - String32(Vec), - Point(Point, Range, DistanceUnit, Range), - #[default] - None, -} - -/// Specifies the sort order for the search results. -#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, ToSchema)] -pub enum SortOrder { - /// Ascending sort order - Ascending = 0, - /// Descending sort order - Descending = 1, -} - -/// Specifies the sort order for the search results. -#[derive(Clone, Deserialize, Serialize, ToSchema)] -pub struct ResultSort { - /// name of the facet field to sort by - pub field: String, - /// Sort order: Ascending or Descending - pub order: SortOrder, - /// Base value/point for (geo) proximity sorting - pub base: FacetValue, -} - -/// Specifies the sort order for the search results. -#[derive(Clone, Serialize)] -pub(crate) struct ResultSortIndex<'a> { - /// Index/ID of the facet field to sort by - pub idx: usize, - /// Sort order: Ascending or Descending - pub order: SortOrder, - /// Base value/point for (geo) proximity sorting - pub base: &'a FacetValue, -} - -/// latitude lat -/// longitude lon -pub type Point = Vec; - -#[allow(clippy::too_many_arguments)] -#[allow(async_fn_in_trait)] -/// Search the index for all indexed documents, both for committed and uncommitted documents. -/// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. -/// Arguments: -/// * `query_string`: query string `+` `-` `""` search operators are recognized. -/// * `query_type_default`: Specifiy default QueryType: -/// * **Union**, disjunction, OR, -/// * **Intersection**, conjunction, AND, `+`, -/// * **Phrase** `""`, -/// * **Not**, except, minus `-`. -/// -/// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (`+` `-` `""`). -/// -/// Boolean queries are specified in the search method either via the query_type parameter or via operator chars within the query parameter. -/// The interpretation of operator chars within the query string (set `query_type=QueryType::Union`) allows to specify advanced search operations via a simple search box. -/// -/// Intersection, AND `+` -/// ```rust ,no_run -/// use seekstorm::search::QueryType; -/// let query_type=QueryType::Union; -/// let query_string="+red +apple".to_string(); -/// ``` -/// ```rust ,no_run -/// use seekstorm::search::QueryType; -/// let query_type=QueryType::Intersection; -/// let query_string="red apple".to_string(); -/// ``` -/// Union, OR -/// ```rust ,no_run -/// use seekstorm::search::QueryType; -/// let query_type=QueryType::Union; -/// let query_string="red apple".to_string(); -/// ``` -/// Phrase `""` -/// ```rust ,no_run -/// use seekstorm::search::QueryType; -/// let query_type=QueryType::Union; -/// let query_string="\"red apple\"".to_string(); -/// ``` -/// ```rust ,no_run -/// use seekstorm::search::QueryType; -/// let query_type=QueryType::Phrase; -/// let query_string="red apple".to_string(); -/// ``` -/// Except, minus, NOT `-` -/// ```rust ,no_run -/// use seekstorm::search::QueryType; -/// let query_type=QueryType::Union; -/// let query_string="apple -red".to_string(); -/// ``` -/// Mixed phrase and intersection -/// ```rust ,no_run -/// use seekstorm::search::QueryType; -/// let query_type=QueryType::Union; -/// let query_string="+\"the who\" +uk".to_string(); -/// ``` -/// * `offset`: offset of search results to return. -/// * `length`: number of search results to return. -/// With length=0, resultType::TopkCount will be automatically downgraded to resultType::Count, returning the number of results only, without returning the results itself. -/// * `result_type`: type of search results to return: Count, Topk, TopkCount. -/// * `include_uncommited`: true realtime search: include indexed documents which where not yet committed into search results. -/// * `field_filter`: Specify field names where to search at querytime, whereas SchemaField.indexed is set at indextime. If set to Vec::new() then all indexed fields are searched. -/// * `query_facets`: Must be set if facets should be returned in ResultObject. If set to Vec::new() then no facet fields are returned. -/// Facet fields are only collected, counted and returned for ResultType::Count and ResultType::TopkCount, but not for ResultType::Topk. -/// The prefix property of a QueryFacet allows at query time to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. -/// The length property of a QueryFacet allows at query time limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. -/// If the length property of a QueryFacet is set to 0 then no facet values for that facet are collected, counted and returned at query time. That decreases the query latency significantly. -/// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. -/// Examples: -/// query_facets = vec![QueryFacet::String16 {field: "language".into(),prefix: "ger".into(),length: 5},QueryFacet::String16 {field: "brand".into(),prefix: "a".into(),length: 5}]; -/// query_facets = vec![QueryFacet::U8 {field: "age".into(), range_type: RangeType::CountWithinRange, ranges: vec![("0-20".into(), 0),("20-40".into(), 20), ("40-60".into(), 40),("60-80".into(), 60), ("80-100".into(), 80)]}]; -/// query_facets = vec![QueryFacet::Point {field: "location".into(),base:vec![38.8951, -77.0364],unit:DistanceUnit::Kilometers,range_type: RangeType::CountWithinRange,ranges: vec![ ("0-200".into(), 0.0),("200-400".into(), 200.0), ("400-600".into(), 400.0), ("600-800".into(), 600.0), ("800-1000".into(), 800.0)]}]; -/// * `facet_filter`: Search results are filtered to documents matching specific string values or numerical ranges in the facet fields. If set to Vec::new() then result are not facet filtered. -/// The filter parameter filters the returned results to those documents both matching the query AND matching for all (boolean AND) stated facet filter fields at least one (boolean OR) of the stated values. -/// If the query is changed then both facet counts and search results are changed. If the facet filter is changed then only the search results are changed, while facet counts remain unchanged. -/// The facet counts depend only from the query and not which facet filters are selected. -/// Examples: -/// facet_filter=vec![FacetFilter::String{field:"language".into(),filter:vec!["german".into()]},FacetFilter::String{field:"brand".into(),filter:vec!["apple".into(),"google".into()]}]; -/// facet_filter=vec![FacetFilter::U8{field:"age".into(),filter: 21..65}]; -/// facet_filter = vec![FacetFilter::Point {field: "location".into(),filter: (vec![38.8951, -77.0364], 0.0..1000.0, DistanceUnit::Kilometers)}]; -/// * `result_sort`: Sort field and order: Search results are sorted by the specified facet field, either in ascending or descending order. -/// If no sort field is specified, then the search results are sorted by rank in descending order per default. -/// Multiple sort fields are combined by a "sort by, then sort by"-method ("tie-breaking"-algorithm). -/// The results are sorted by the first field, and only for those results where the first field value is identical (tie) the results are sub-sorted by the second field, -/// until the n-th field value is either not equal or the last field is reached. -/// A special _score field (BM25x), reflecting how relevant the result is for a given search query (phrase match, match in title etc.) can be combined with any of the other sort fields as primary, secondary or n-th search criterium. -/// Sort is only enabled on facet fields that are defined in schema at create_index! -/// Examples: -/// result_sort = vec![ResultSort {field: "price".into(), order: SortOrder::Descending, base: FacetValue::None},ResultSort {field: "language".into(), order: SortOrder::Ascending, base: FacetValue::None}]; -/// result_sort = vec![ResultSort {field: "location".into(),order: SortOrder::Ascending, base: FacetValue::Point(vec![38.8951, -77.0364])}]; -/// -/// If query_string is empty, then index facets (collected at index time) are returned, otherwise query facets (collected at query time) are returned. -/// Facets are defined in 3 different places: -/// the facet fields are defined in schema at create_index, -/// the facet field values are set in index_document at index time, -/// the query_facets/facet_filter search parameters are specified at query time. -/// Facets are then returned in the search result object. -pub trait Search { - /// Search the index for all indexed documents, both for committed and uncommitted documents. - /// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. - /// Arguments: - /// * `query_string`: query string `+` `-` `""` search operators are recognized. - /// * `query_type_default`: Specifiy default QueryType: - /// * **Union**, disjunction, OR, - /// * **Intersection**, conjunction, AND, `+`, - /// * **Phrase** `""`, - /// * **Not**, except, minus `-`. - /// - /// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (`+` `-` `""`). - /// - /// Boolean queries are specified in the search method either via the query_type parameter or via operator chars within the query parameter. - /// The interpretation of operator chars within the query string (set `query_type=QueryType::Union`) allows to specify advanced search operations via a simple search box. - /// - /// Intersection, AND `+` - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Union; - /// let query_string="+red +apple".to_string(); - /// ``` - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Intersection; - /// let query_string="red apple".to_string(); - /// ``` - /// Union, OR - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Union; - /// let query_string="red apple".to_string(); - /// ``` - /// Phrase `""` - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Union; - /// let query_string="\"red apple\"".to_string(); - /// ``` - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Phrase; - /// let query_string="red apple".to_string(); - /// ``` - /// Except, minus, NOT `-` - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Union; - /// let query_string="apple -red".to_string(); - /// ``` - /// Mixed phrase and intersection - /// ```rust ,no_run - /// use seekstorm::search::QueryType; - /// let query_type=QueryType::Union; - /// let query_string="+\"the who\" +uk".to_string(); - /// ``` - /// * `offset`: offset of search results to return. - /// * `length`: number of search results to return. - /// With length=0, resultType::TopkCount will be automatically downgraded to resultType::Count, returning the number of results only, without returning the results itself. - /// * `result_type`: type of search results to return: Count, Topk, TopkCount. - /// * `include_uncommited`: true realtime search: include indexed documents which where not yet committed into search results. - /// * `field_filter`: Specify field names where to search at querytime, whereas SchemaField.indexed is set at indextime. If set to Vec::new() then all indexed fields are searched. - /// * `query_facets`: Must be set if facets should be returned in ResultObject. If set to Vec::new() then no facet fields are returned. - /// Facet fields are only collected, counted and returned for ResultType::Count and ResultType::TopkCount, but not for ResultType::Topk. - /// The prefix property of a QueryFacet allows at query time to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. - /// The length property of a QueryFacet allows at query time limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. - /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are collected, counted and returned at query time. That decreases the query latency significantly. - /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. - /// Examples: - /// query_facets = vec![QueryFacet::String16 {field: "language".into(),prefix: "ger".into(),length: 5},QueryFacet::String16 {field: "brand".into(),prefix: "a".into(),length: 5}]; - /// query_facets = vec![QueryFacet::U8 {field: "age".into(), range_type: RangeType::CountWithinRange, ranges: vec![("0-20".into(), 0),("20-40".into(), 20), ("40-60".into(), 40),("60-80".into(), 60), ("80-100".into(), 80)]}]; - /// query_facets = vec![QueryFacet::Point {field: "location".into(),base:vec![38.8951, -77.0364],unit:DistanceUnit::Kilometers,range_type: RangeType::CountWithinRange,ranges: vec![ ("0-200".into(), 0.0),("200-400".into(), 200.0), ("400-600".into(), 400.0), ("600-800".into(), 600.0), ("800-1000".into(), 800.0)]}]; - /// * `facet_filter`: Search results are filtered to documents matching specific string values or numerical ranges in the facet fields. If set to Vec::new() then result are not facet filtered. - /// The filter parameter filters the returned results to those documents both matching the query AND matching for all (boolean AND) stated facet filter fields at least one (boolean OR) of the stated values. - /// If the query is changed then both facet counts and search results are changed. If the facet filter is changed then only the search results are changed, while facet counts remain unchanged. - /// The facet counts depend only from the query and not which facet filters are selected. - /// Examples: - /// facet_filter=vec![FacetFilter::String{field:"language".into(),filter:vec!["german".into()]},FacetFilter::String{field:"brand".into(),filter:vec!["apple".into(),"google".into()]}]; - /// facet_filter=vec![FacetFilter::U8{field:"age".into(),filter: 21..65}]; - /// facet_filter = vec![FacetFilter::Point {field: "location".into(),filter: (vec![38.8951, -77.0364], 0.0..1000.0, DistanceUnit::Kilometers)}]; - /// * `result_sort`: Sort field and order: Search results are sorted by the specified facet field, either in ascending or descending order. - /// If no sort field is specified, then the search results are sorted by rank in descending order per default. - /// Multiple sort fields are combined by a "sort by, then sort by"-method ("tie-breaking"-algorithm). - /// The results are sorted by the first field, and only for those results where the first field value is identical (tie) the results are sub-sorted by the second field, - /// until the n-th field value is either not equal or the last field is reached. - /// A special _score field (BM25x), reflecting how relevant the result is for a given search query (phrase match, match in title etc.) can be combined with any of the other sort fields as primary, secondary or n-th search criterium. - /// Sort is only enabled on facet fields that are defined in schema at create_index! - /// Examples: - /// result_sort = vec![ResultSort {field: "price".into(), order: SortOrder::Descending, base: FacetValue::None},ResultSort {field: "language".into(), order: SortOrder::Ascending, base: FacetValue::None}]; - /// result_sort = vec![ResultSort {field: "location".into(),order: SortOrder::Ascending, base: FacetValue::Point(vec![38.8951, -77.0364])}]; - /// * `query_rewriting`: Enables query rewriting features such as spelling correction and query auto-completion (QAC). - /// The spelling correction of multi-term query strings handles three cases: - /// 1. mistakenly inserted space into a correct term led to two incorrect terms: `hels inki` -> `helsinki` - /// 2. mistakenly omitted space between two correct terms led to one incorrect combined term: `modernart` -> `modern art` - /// 3. multiple independent input terms with/without spelling errors: `cinese indastrialication` -> `chinese industrialization` - /// - /// Query correction/completion supports phrases "", but is disabled, if +- operators are used, or if a opening quote is used after the first term, or if a closing quote is used before the last term. - /// See QueryRewriting enum for details. - /// ⚠️ In addition to setting the query_rewriting parameter per query, the incremental creation of the Symspell dictionary during the indexing of documents has to be enabled via the create_index parameter `meta.spelling_correction`. - /// - /// Facets: - /// If query_string is empty, then index facets (collected at index time) are returned, otherwise query facets (collected at query time) are returned. - /// Facets are defined in 3 different places: - /// the facet fields are defined in schema at create_index, - /// the facet field values are set in index_document at index time, - /// the query_facets/facet_filter search parameters are specified at query time. - /// Facets are then returned in the search result object. - async fn search( - &self, - query_string: String, - query_type_default: QueryType, - offset: usize, - length: usize, - result_type: ResultType, - include_uncommited: bool, - field_filter: Vec, - query_facets: Vec, - facet_filter: Vec, - result_sort: Vec, - query_rewriting: QueryRewriting, - ) -> ResultObject; -} - -impl Search for IndexArc { - async fn search( - &self, - query_string: String, - query_type_default: QueryType, - offset: usize, - length: usize, - result_type: ResultType, - include_uncommited: bool, - field_filter: Vec, - query_facets: Vec, - facet_filter: Vec, - result_sort: Vec, - query_rewriting: QueryRewriting, - ) -> ResultObject { - let index_ref = self.read().await; - let original_query = query_string.clone(); - - let (edit_distance_max, term_length_threshold, correct, complete, suggestion_length) = - match &query_rewriting { - QueryRewriting::SearchSuggest { - distance, - term_length_threshold, - correct, - complete, - length, - } => (distance, term_length_threshold, correct, complete, length), - QueryRewriting::SuggestOnly { - distance, - term_length_threshold, - correct, - complete, - length, - } => (distance, term_length_threshold, correct, complete, length), - QueryRewriting::SearchRewrite { - distance, - term_length_threshold, - correct, - complete, - length, - } => (distance, term_length_threshold, correct, complete, length), - _ => (&0, &None, &None, &None, &None), - }; - - let (query_string, suggestions) = if correct.is_some() || complete.is_some() { - let mut query_string = query_string; - let mut allow_loop = true; - let mut previous_qac: Option<(String, Vec)> = None; - loop { - let shard = index_ref.shard_vec[0].read().await; - let query_terms = tokenizer_lite(&query_string, &index_ref.meta.tokenizer, &shard); - drop(shard); - - let qac = if !query_terms.is_empty() { - let query_terms_vec: Vec = - query_terms.iter().map(|s| s.0.to_string()).collect(); - - let suffix = if query_string.ends_with(" ") { " " } else { "" }; - let (query_terms_prefix, query_terms_str) = if query_terms.len() + suffix.len() - > 3 - { - ( - query_terms_vec[..query_terms.len() - 3 + suffix.len()].join(" ") + " ", - query_terms_vec[query_terms.len() - 3 + suffix.len()..].join(" ") - + suffix, - ) - } else { - (String::new(), query_terms_vec.join(" ") + suffix) - }; - let is_phrase = - !query_terms.is_empty() && query_terms[0].1 == QueryType::Phrase; - - let qac: Option<(String, Vec)> = if let Some(completion_option) = - index_ref.completion_option.as_ref() - && complete.is_some() - && query_string.len() >= complete.unwrap() - && query_rewriting != QueryRewriting::SearchOnly - { - let trie = completion_option.read().await; - let completions = - trie.lookup_completions(&query_terms_str, suggestion_length.to_owned()); - - if completions.is_empty() { - previous_qac.clone() - } else { - let mut suggestions: Vec = Vec::new(); - for qc in completions.iter() { - suggestions.push(Suggestion { - term: if is_phrase { - ["\"", &query_terms_prefix, &qc.term, "\""].join("") - } else { - [query_terms_prefix.as_str(), &qc.term].join("") - }, - distance: qc.term.len() - query_string.len(), - count: *qc.count, - }); - } - - if let Some(suggestion_length) = suggestion_length.as_ref() - && suggestions.len() < *suggestion_length - && query_terms.len() >= 2 - { - let mut position = 0; - let mut completion_term_vec = Vec::new(); - for (i, completion) in completions.iter().enumerate() { - completion_term_vec = - completion.term.split(" ").collect::>(); - if completion_term_vec.len() >= 3 { - position = i + 1; - break; - } - } - - if completion_term_vec.len() >= 3 { - let completion_term_str = - completion_term_vec[1..].join(" ") + " "; - let additional_completions = trie.lookup_completions( - &completion_term_str, - Some(suggestion_length - suggestions.len() + 5), - ); - - let query_terms_prefix = query_terms_vec[..query_terms.len() - - if query_terms.len() == 2 { 1 } else { 2 }] - .join(" ") - + " "; - - let mut j = 0; - for qc in additional_completions.iter() { - if let Some(p) = qc.term.rfind(' ') - && p + 1 < qc.term.len() - { - let suffix = qc.term[p + 1..].to_string(); - let hash = hash64(suffix.as_bytes()); - if index_ref.frequent_hashset.contains(&hash) { - continue; - } - }; - - suggestions.insert( - position + j, - Suggestion { - term: if is_phrase { - ["\"", &query_terms_prefix, &qc.term, "\""] - .join("") - } else { - [query_terms_prefix.as_str(), &qc.term].join("") - }, - distance: qc.term.len() - query_string.len(), - count: *qc.count, - }, - ); - - j += 1; - - if suggestions.len() >= *suggestion_length { - break; - } - } - } - } - - let completed_query = suggestions[0].term.to_string(); - - Some((completed_query, suggestions)) - } - } else { - previous_qac.clone() - }; - - let qac: Option<(String, Vec)> = if let Some(symspell) = - &index_ref.symspell_option - && correct.is_some() - && query_string.len() >= correct.unwrap() - && query_rewriting != QueryRewriting::SearchOnly - && qac.is_none() - && allow_loop - { - if let Ok(symspell) = symspell.try_read() - && (term_length_threshold.is_none() - || term_length_threshold.as_ref().unwrap().is_empty() - || query_string.len() >= term_length_threshold.as_ref().unwrap()[0]) - { - let mut corrections = symspell.lookup_compound_vec( - &query_terms_vec, - edit_distance_max.to_owned(), - term_length_threshold, - false, - ); - - if corrections.is_empty() { - None - } else { - if is_phrase { - for suggestion in corrections.iter_mut() { - suggestion.term = ["\"", &suggestion.term, "\""].join(""); - } - } - - query_string = corrections[0].term.clone(); - allow_loop = false; - previous_qac = Some((corrections[0].term.clone(), corrections)); - continue; - } - } else { - None - } - } else { - qac - }; - - if let Some((corrected_query, suggestions)) = qac { - if discriminant(&query_rewriting) - == discriminant(&QueryRewriting::SearchRewrite { - distance: 0, - term_length_threshold: None, - correct: None, - complete: None, - length: None, - }) - { - (corrected_query, Some(suggestions)) - } else { - (query_string, Some(suggestions)) - } - } else { - (query_string, None) - } - } else { - (query_string, None) - }; - - break qac; - } - } else { - (query_string, None) - }; - - if discriminant(&query_rewriting) - == discriminant(&QueryRewriting::SuggestOnly { - distance: 0, - term_length_threshold: None, - correct: None, - complete: None, - length: None, - }) - { - let mut result_object = ResultObject { - original_query, - query: query_string.clone(), - ..Default::default() - }; - if let Some(suggestions) = suggestions.as_ref() { - result_object.suggestions = suggestions.iter().map(|s| s.term.clone()).collect(); - } - return result_object; - } - - if index_ref.shard_vec.len() == 1 { - let mut result_object = index_ref.shard_vec[0] - .search_shard( - query_string.clone(), - query_type_default, - offset, - length, - result_type, - include_uncommited, - field_filter, - query_facets, - facet_filter, - result_sort, - ) - .await; - result_object.original_query = original_query; - result_object.query = query_string.clone(); - if let Some(suggestions) = suggestions.as_ref() { - result_object.suggestions = suggestions.iter().map(|s| s.term.clone()).collect(); - } - return result_object; - } - - let mut result_object_list = Vec::new(); - let shard_bits = index_ref.shard_bits; - let aggregate_results = result_type != ResultType::Count; - - for shard in index_ref.shard_vec.iter() { - let query_string_clone = query_string.clone(); - let shard_clone = shard.clone(); - let query_type_clone = query_type_default.clone(); - let result_type_clone = result_type.clone(); - let field_filter_clone = field_filter.clone(); - let query_facets_clone = query_facets.clone(); - let facet_filter_clone = facet_filter.clone(); - let result_sort_clone = result_sort.clone(); - let shard_id = shard.read().await.meta.id; - - result_object_list.push(tokio::spawn(async move { - let mut rlo = shard_clone - .search_shard( - query_string_clone, - query_type_clone, - 0, - offset + length, - result_type_clone, - include_uncommited, - field_filter_clone, - query_facets_clone, - facet_filter_clone, - result_sort_clone, - ) - .await; - - if aggregate_results { - for result in rlo.results.iter_mut() { - result.doc_id = (result.doc_id << shard_bits) | shard_id as usize; - } - } - - rlo - })); - } - - let mut result_object: ResultObject = Default::default(); - - let mut result_facets: AHashMap, u32)> = AHashMap::new(); - if result_type != ResultType::Topk { - for query_facet in query_facets.iter() { - match query_facet { - QueryFacet::String16 { - field, - prefix: _, - length, - } => { - result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); - } - QueryFacet::StringSet16 { - field, - prefix: _, - length, - } => { - result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); - } - QueryFacet::String32 { - field, - prefix: _, - length, - } => { - result_facets.insert(field.into(), (AHashMap::new(), *length)); - } - QueryFacet::StringSet32 { - field, - prefix: _, - length, - } => { - result_facets.insert(field.into(), (AHashMap::new(), *length)); - } - QueryFacet::Timestamp { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - - QueryFacet::U8 { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - QueryFacet::U16 { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - QueryFacet::U32 { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - QueryFacet::U64 { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - QueryFacet::I8 { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - QueryFacet::I16 { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - QueryFacet::I32 { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - QueryFacet::I64 { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - QueryFacet::F32 { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - QueryFacet::F64 { - field, - range_type: _, - ranges: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - QueryFacet::Point { - field, - range_type: _, - ranges: _, - base: _, - unit: _, - } => { - result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); - } - - _ => {} - } - } - } - - for result_object_shard in result_object_list { - let mut rlo_shard = result_object_shard.await.unwrap(); - - result_object.result_count_total += rlo_shard.result_count_total; - if aggregate_results { - result_object.results.append(&mut rlo_shard.results); - } - - if result_object.query_terms.is_empty() { - result_object.query_terms = rlo_shard.query_terms - }; - - if !rlo_shard.facets.is_empty() { - for facet in rlo_shard.facets.iter() { - if let Some(existing) = result_facets.get_mut(facet.0) { - for (key, value) in facet.1.iter() { - *existing.0.entry(key.clone()).or_insert(0) += value; - } - }; - } - } - } - - for (key, value) in result_facets.iter_mut() { - let sum = value - .0 - .iter() - .sorted_unstable_by(|a, b| b.1.cmp(a.1)) - .map(|(a, c)| (a.clone(), *c)) - .take(value.1 as usize) - .collect::>(); - result_object.facets.insert(key.clone(), sum); - } - - if aggregate_results { - let mut result_sort_index: Vec = Vec::new(); - if !result_sort.is_empty() { - for rs in result_sort.iter() { - if let Some(idx) = index_ref.shard_vec[0] - .read() - .await - .facets_map - .get(&rs.field) - { - result_sort_index.push(ResultSortIndex { - idx: *idx, - order: rs.order.clone(), - base: &rs.base, - }); - } - } - let shard_vec = - futures::future::join_all(index_ref.shard_vec.iter().map(|s| s.read())).await; - - result_object.results.sort_by(|a, b| { - result_ordering_root( - &shard_vec, - index_ref.shard_bits, - &result_sort_index, - *b, - *a, - ) - }); - } else { - result_object - .results - .sort_by(|a, b| b.score.partial_cmp(&a.score).unwrap()); - } - - if offset > 0 { - result_object.results = if offset >= result_object.results.len() { - Vec::new() - } else { - result_object.results.split_off(offset) - }; - } - - if result_object.results.len() > length { - result_object.results.truncate(length); - } - - result_object.result_count = result_object.results.len(); - } - - result_object.original_query = original_query; - result_object.query = query_string.clone(); - if let Some(suggestions) = suggestions { - result_object.suggestions = suggestions.into_iter().map(|s| s.term.clone()).collect(); - } - - result_object - } -} - -#[allow(clippy::too_many_arguments)] -#[allow(async_fn_in_trait)] -pub(crate) trait SearchShard { - async fn search_shard( - &self, - query_string: String, - query_type_default: QueryType, - offset: usize, - length: usize, - result_type: ResultType, - include_uncommited: bool, - field_filter: Vec, - query_facets: Vec, - facet_filter: Vec, - result_sort: Vec, - ) -> ResultObject; -} - -/// Non-recursive binary search of non-consecutive u64 values in a slice of bytes -#[inline(never)] -pub(crate) fn binary_search( - byte_array: &[u8], - len: usize, - key_hash: u64, - key_head_size: usize, -) -> i64 { - let mut left = 0i64; - let mut right = len as i64 - 1; - while left <= right { - let mid = (left + right) / 2; - - let pivot = read_u64(byte_array, mid as usize * key_head_size); - match pivot.cmp(&key_hash) { - cmp::Ordering::Equal => { - return mid; - } - cmp::Ordering::Less => left = mid + 1, - cmp::Ordering::Greater => right = mid - 1, - } - } - - -1 -} - -/// Decode posting_list_object and blocks on demand from mmap, instead keepping all posting_list_object and blocks for all keys in ram -#[inline(always)] -pub(crate) fn decode_posting_list_count( - segment: &SegmentIndex, - index: &Shard, - key_hash1: u64, - previous: bool, -) -> Option { - let offset = if previous { 1 } else { 0 }; - - let mut posting_count_list = 0u32; - let mut found = false; - - if segment.byte_array_blocks_pointer.len() <= offset { - return None; - } - - let block_id_last = segment.byte_array_blocks_pointer.len() - 1 - offset; - for pointer in segment - .byte_array_blocks_pointer - .iter() - .take(block_id_last + 1) - { - let key_count = pointer.2 as usize; - - let byte_array = - &index.index_file_mmap[pointer.0 - (key_count * index.key_head_size)..pointer.0]; - let key_index = binary_search(byte_array, key_count, key_hash1, index.key_head_size); - - if key_index >= 0 { - found = true; - let key_address = key_index as usize * index.key_head_size; - let posting_count = read_u16(byte_array, key_address + 8); - posting_count_list += posting_count as u32 + 1; - } - } - - if found { - Some(posting_count_list) - } else { - None - } -} - -#[inline(always)] -pub(crate) fn decode_posting_list_counts( - segment: &SegmentIndex, - index: &Shard, - key_hash1: u64, -) -> Option<(u32, u32, u32, u32)> { - let mut posting_count_list = 0u32; - let mut posting_count_ngram_1_compressed = 0; - let mut posting_count_ngram_2_compressed = 0; - let mut posting_count_ngram_3_compressed = 0; - let mut posting_count_ngram_1 = 0; - let mut posting_count_ngram_2 = 0; - let mut posting_count_ngram_3 = 0; - let mut found = false; - - let read_flag = key_hash1 & 0b111 > 0; - - if segment.byte_array_blocks_pointer.is_empty() { - return None; - } - - for pointer in segment.byte_array_blocks_pointer.iter() { - let key_count = pointer.2 as usize; - - let byte_array = - &index.index_file_mmap[pointer.0 - (key_count * index.key_head_size)..pointer.0]; - let key_index = binary_search(byte_array, key_count, key_hash1, index.key_head_size); - - if key_index >= 0 { - found = true; - let key_address = key_index as usize * index.key_head_size; - let posting_count = read_u16(byte_array, key_address + 8); - - match index.key_head_size { - 20 => {} - 22 => { - if read_flag { - posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); - posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); - } - } - _ => { - if read_flag { - posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); - posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); - posting_count_ngram_3_compressed = read_u8(byte_array, key_address + 16); - } - } - } - - posting_count_list += posting_count as u32 + 1; - } - } - - if found { - match index.key_head_size { - 20 => {} - 22 => { - if read_flag { - posting_count_ngram_1 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; - posting_count_ngram_2 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; - } - } - _ => { - if read_flag { - posting_count_ngram_1 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; - posting_count_ngram_2 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; - posting_count_ngram_3 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_3_compressed as usize]; - } - } - } - - Some(( - posting_count_list, - posting_count_ngram_1, - posting_count_ngram_2, - posting_count_ngram_3, - )) - } else { - None - } -} - -/// Decode posting_list_object and blocks on demand from mmap, instead keepping all posting_list_object and blocks for all keys in ram -#[inline(always)] -pub(crate) fn decode_posting_list_object( - segment: &SegmentIndex, - shard: &Shard, - key_hash1: u64, - calculate_score: bool, -) -> Option { - let mut posting_count_list = 0u32; - let mut max_list_score = 0.0; - let mut blocks_owned: Vec = Vec::new(); - let mut posting_count_ngram_1_compressed = 0; - let mut posting_count_ngram_2_compressed = 0; - let mut posting_count_ngram_3_compressed = 0; - let mut posting_count_ngram_1 = 0; - let mut posting_count_ngram_2 = 0; - let mut posting_count_ngram_3 = 0; - - let read_flag = key_hash1 & 0b111 > 0; - - for (block_id, pointer) in segment.byte_array_blocks_pointer.iter().enumerate() { - let key_count = pointer.2 as usize; - - let byte_array = - &shard.index_file_mmap[pointer.0 - (key_count * shard.key_head_size)..pointer.0]; - let key_index = binary_search(byte_array, key_count, key_hash1, shard.key_head_size); - - if key_index >= 0 { - let key_address = key_index as usize * shard.key_head_size; - let posting_count = read_u16(byte_array, key_address + 8); - - let max_docid = read_u16(byte_array, key_address + 10); - let max_p_docid = read_u16(byte_array, key_address + 12); - - match shard.key_head_size { - 20 => {} - 22 => { - if read_flag { - posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); - posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); - } - } - _ => { - if read_flag { - posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); - posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); - posting_count_ngram_3_compressed = read_u8(byte_array, key_address + 16); - } - } - } - - let pointer_pivot_p_docid = read_u16(byte_array, key_address + shard.key_head_size - 6); - let compression_type_pointer = - read_u32(byte_array, key_address + shard.key_head_size - 4); - - posting_count_list += posting_count as u32 + 1; - - let block_object_index = BlockObjectIndex { - max_block_score: 0.0, - block_id: block_id as u32, - posting_count, - max_docid, - max_p_docid, - pointer_pivot_p_docid, - compression_type_pointer, - }; - blocks_owned.push(block_object_index); - } - } - - if !blocks_owned.is_empty() { - if calculate_score { - match shard.key_head_size { - 20 => {} - 22 => { - if read_flag { - posting_count_ngram_1 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; - posting_count_ngram_2 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; - } - } - _ => { - if read_flag { - posting_count_ngram_1 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; - posting_count_ngram_2 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; - posting_count_ngram_3 = - DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_3_compressed as usize]; - } - } - } - - let ngram_type = - FromPrimitive::from_u64(key_hash1 & 0b111).unwrap_or(NgramType::SingleTerm); - - for block in blocks_owned.iter_mut() { - block.max_block_score = get_max_score( - shard, - segment, - posting_count_ngram_1, - posting_count_ngram_2, - posting_count_ngram_3, - posting_count_list, - block.block_id as usize, - block.max_docid as usize, - block.max_p_docid as usize, - block.pointer_pivot_p_docid as usize, - block.compression_type_pointer, - &ngram_type, - ); - - if block.max_block_score > max_list_score { - max_list_score = block.max_block_score - } - } - } - - let posting_list_object_index = PostingListObjectIndex { - posting_count: posting_count_list, - posting_count_ngram_1, - posting_count_ngram_2, - posting_count_ngram_3, - max_list_score, - blocks: blocks_owned, - position_range_previous: 0, - ..Default::default() - }; - - Some(posting_list_object_index) - } else { - None - } -} - -impl SearchShard for ShardArc { - async fn search_shard( - &self, - query_string: String, - query_type_default: QueryType, - offset: usize, - length: usize, - result_type: ResultType, - include_uncommited: bool, - field_filter: Vec, - query_facets: Vec, - facet_filter: Vec, - result_sort: Vec, - ) -> ResultObject { - let shard_ref = self.read().await; - let mut query_type_mut = query_type_default; - - let facet_cap = if shard_ref.shard_number == 1 { - 0 - } else { - u32::MAX - }; - - let mut result_object: ResultObject = Default::default(); - - let mut result_type = result_type; - if length == 0 && result_type != ResultType::Count { - if result_type == ResultType::Topk { - return result_object; - } - result_type = ResultType::Count; - } - - if shard_ref.segments_index.is_empty() { - return result_object; - } - - let mut field_filter_set: AHashSet = AHashSet::new(); - for item in field_filter.iter() { - match shard_ref.schema_map.get(item) { - Some(value) => { - if value.indexed { - field_filter_set.insert(value.indexed_field_id as u16); - } - } - None => { - println!("field not found: {}", item) - } - } - } - - let mut result_sort_index: Vec = Vec::new(); - if !result_sort.is_empty() && result_type != ResultType::Count { - for rs in result_sort.iter() { - if let Some(idx) = shard_ref.facets_map.get(&rs.field) { - result_sort_index.push(ResultSortIndex { - idx: *idx, - order: rs.order.clone(), - base: &rs.base, - }); - } - } - } - - let heap_size = if result_type != ResultType::Count { - cmp::min(offset + length, shard_ref.indexed_doc_count) - } else { - 0 - }; - let mut search_result = SearchResult { - topk_candidates: MinHeap::new(heap_size, &shard_ref, &result_sort_index), - query_facets: Vec::new(), - skip_facet_count: false, - }; - - let mut facet_filter_sparse: Vec = Vec::new(); - if !facet_filter.is_empty() { - facet_filter_sparse = vec![FilterSparse::None; shard_ref.facets.len()]; - for facet_filter_item in facet_filter.iter() { - match &facet_filter_item { - FacetFilter::U8 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::U8 - { - facet_filter_sparse[*idx] = FilterSparse::U8(filter.clone()) - } - } - FacetFilter::U16 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::U16 - { - facet_filter_sparse[*idx] = FilterSparse::U16(filter.clone()) - } - } - FacetFilter::U32 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::U32 - { - facet_filter_sparse[*idx] = FilterSparse::U32(filter.clone()) - } - } - FacetFilter::U64 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::U64 - { - facet_filter_sparse[*idx] = FilterSparse::U64(filter.clone()) - } - } - FacetFilter::I8 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::I8 - { - facet_filter_sparse[*idx] = FilterSparse::I8(filter.clone()) - } - } - FacetFilter::I16 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::I16 - { - facet_filter_sparse[*idx] = FilterSparse::I16(filter.clone()) - } - } - FacetFilter::I32 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::I32 - { - facet_filter_sparse[*idx] = FilterSparse::I32(filter.clone()) - } - } - FacetFilter::I64 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::I64 - { - facet_filter_sparse[*idx] = FilterSparse::I64(filter.clone()) - } - } - FacetFilter::Timestamp { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::Timestamp - { - facet_filter_sparse[*idx] = FilterSparse::Timestamp(filter.clone()) - } - } - FacetFilter::F32 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::F32 - { - facet_filter_sparse[*idx] = FilterSparse::F32(filter.clone()) - } - } - FacetFilter::F64 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::F64 - { - facet_filter_sparse[*idx] = FilterSparse::F64(filter.clone()) - } - } - - FacetFilter::String16 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) { - let facet = &shard_ref.facets[*idx]; - if shard_ref.facets[*idx].field_type == FieldType::String16 { - let mut string_id_vec = Vec::new(); - for value in filter.iter() { - let key = [value.clone()]; - if let Some(facet_value_id) = facet.values.get_index_of(&key[0]) - { - string_id_vec.push(facet_value_id as u16); - } - } - facet_filter_sparse[*idx] = FilterSparse::String16(string_id_vec); - } - } - } - - FacetFilter::StringSet16 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) { - let facet = &shard_ref.facets[*idx]; - if shard_ref.facets[*idx].field_type == FieldType::StringSet16 { - let mut string_id_vec = Vec::new(); - for value in filter.iter() { - let key = [value.clone()]; - if let Some(facet_value_id) = - facet.values.get_index_of(&key.join("_")) - { - string_id_vec.push(facet_value_id as u16); - } - - if let Some(facet_value_ids) = shard_ref - .string_set_to_single_term_id_vec[*idx] - .get(&value.clone()) - { - for code in facet_value_ids.iter() { - string_id_vec.push(*code as u16); - } - } - } - facet_filter_sparse[*idx] = FilterSparse::String16(string_id_vec); - } - } - } - - FacetFilter::String32 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) { - let facet = &shard_ref.facets[*idx]; - - if shard_ref.facets[*idx].field_type == FieldType::String32 { - let mut string_id_vec = Vec::new(); - for value in filter.iter() { - let key = [value.clone()]; - if let Some(facet_value_id) = facet.values.get_index_of(&key[0]) - { - string_id_vec.push(facet_value_id as u32); - } - } - facet_filter_sparse[*idx] = FilterSparse::String32(string_id_vec); - } - } - } - - FacetFilter::StringSet32 { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) { - let facet = &shard_ref.facets[*idx]; - if shard_ref.facets[*idx].field_type == FieldType::StringSet32 { - let mut string_id_vec = Vec::new(); - for value in filter.iter() { - let key = [value.clone()]; - if let Some(facet_value_id) = - facet.values.get_index_of(&key.join("_")) - { - string_id_vec.push(facet_value_id as u32); - } - - if let Some(facet_value_ids) = shard_ref - .string_set_to_single_term_id_vec[*idx] - .get(&value.clone()) - { - for code in facet_value_ids.iter() { - string_id_vec.push(*code); - } - } - } - facet_filter_sparse[*idx] = FilterSparse::String32(string_id_vec); - } - } - } - - FacetFilter::Point { field, filter } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::Point - { - facet_filter_sparse[*idx] = FilterSparse::Point( - filter.0.clone(), - filter.1.clone(), - filter.2.clone(), - point_distance_to_morton_range(&filter.0, filter.1.end, &filter.2), - ); - } - } - } - } - } - - let mut is_range_facet = false; - if !query_facets.is_empty() { - search_result.query_facets = vec![ResultFacet::default(); shard_ref.facets.len()]; - for query_facet in query_facets.iter() { - match &query_facet { - QueryFacet::U8 { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::U8 - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::U8(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::U16 { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::U16 - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::U16(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::U32 { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::U32 - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::U32(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::U64 { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::U64 - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::U64(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::I8 { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::I8 - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::I8(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::I16 { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::I16 - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::I16(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::I32 { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::I32 - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::I32(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::I64 { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::I64 - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::I64(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::Timestamp { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::Timestamp - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::Timestamp(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::F32 { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::F32 - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::F32(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::F64 { - field, - range_type, - ranges, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::F64 - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::F64(range_type.clone(), ranges.clone()), - ..Default::default() - }; - } - } - QueryFacet::String16 { - field, - prefix, - length, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::String16 - { - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - prefix: prefix.clone(), - length: *length as u32, - ..Default::default() - } - } - } - QueryFacet::StringSet16 { - field, - prefix, - length, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::StringSet16 - { - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - prefix: prefix.clone(), - length: *length as u32, - ..Default::default() - } - } - } - - QueryFacet::String32 { - field, - prefix, - length, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::String32 - { - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - prefix: prefix.clone(), - length: *length, - ..Default::default() - } - } - } - QueryFacet::StringSet32 { - field, - prefix, - length, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::StringSet32 - { - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - prefix: prefix.clone(), - length: *length, - ..Default::default() - } - } - } - - QueryFacet::Point { - field, - range_type, - ranges, - base, - unit, - } => { - if let Some(idx) = shard_ref.facets_map.get(field) - && shard_ref.facets[*idx].field_type == FieldType::Point - { - is_range_facet = true; - search_result.query_facets[*idx] = ResultFacet { - field: field.clone(), - length: u16::MAX as u32, - ranges: Ranges::Point( - range_type.clone(), - ranges.clone(), - base.clone(), - unit.clone(), - ), - ..Default::default() - }; - } - } - - QueryFacet::None => {} - }; - } - } - - let result_count_arc = Arc::new(AtomicUsize::new(0)); - let result_count_uncommitted_arc = Arc::new(AtomicUsize::new(0)); - - 'fallback: loop { - let mut unique_terms: AHashMap = AHashMap::new(); - let mut non_unique_terms: Vec = Vec::new(); - let mut nonunique_terms_count = 0u32; - - tokenizer( - &shard_ref, - &query_string, - &mut unique_terms, - &mut non_unique_terms, - shard_ref.meta.tokenizer, - shard_ref.segment_number_mask1, - &mut nonunique_terms_count, - u16::MAX as u32, - MAX_POSITIONS_PER_TERM, - true, - &mut query_type_mut, - shard_ref.meta.ngram_indexing, - 0, - 1, - ) - .await; - - if include_uncommited && shard_ref.uncommitted { - shard_ref.search_uncommitted( - &unique_terms, - &non_unique_terms, - &mut query_type_mut, - &result_type, - &field_filter_set, - &facet_filter_sparse, - &mut search_result, - &result_count_uncommitted_arc, - offset + length, - ); - } - - let mut query_list_map: AHashMap = AHashMap::new(); - let mut query_list: Vec; - - let mut not_query_list_map: AHashMap = AHashMap::new(); - let mut not_query_list: Vec; - - let mut non_unique_query_list: Vec = Vec::new(); - let mut preceding_ngram_count = 0; - - let mut blocks_vec: Vec> = Vec::new(); - - let mut not_found_terms_hashset: AHashSet = AHashSet::new(); - - for non_unique_term in non_unique_terms.iter() { - let term = unique_terms.get(&non_unique_term.term).unwrap(); - let key0: u32 = term.key0; - let key_hash: u64 = term.key_hash; - let term_no_diacritics_umlaut_case = &non_unique_term.term; - - let mut idf = 0.0; - let mut idf_ngram1 = 0.0; - let mut idf_ngram2 = 0.0; - let mut idf_ngram3 = 0.0; - - let mut term_index_unique = 0; - if non_unique_term.op == QueryType::Not { - let query_list_map_len = not_query_list_map.len(); - let not_query_list_option = not_query_list_map.get(&key_hash); - if not_query_list_option.is_none() - && !not_found_terms_hashset.contains(&key_hash) - { - let posting_count; - let max_list_score; - let blocks; - let blocks_len; - let found_plo = if shard_ref.meta.access_type == AccessType::Mmap { - let posting_list_object_index_option = decode_posting_list_object( - &shard_ref.segments_index[key0 as usize], - &shard_ref, - key_hash, - false, - ); - - if let Some(plo) = posting_list_object_index_option { - posting_count = plo.posting_count; - max_list_score = plo.max_list_score; - blocks = &DUMMY_VEC; - blocks_len = plo.blocks.len(); - blocks_vec.push(plo.blocks); - true - } else { - posting_count = 0; - max_list_score = 0.0; - blocks = &DUMMY_VEC; - blocks_len = 0; - false - } - } else { - let posting_list_object_index_option = shard_ref.segments_index - [key0 as usize] - .segment - .get(&key_hash); - - if let Some(plo) = posting_list_object_index_option { - posting_count = plo.posting_count; - max_list_score = plo.max_list_score; - blocks_len = plo.blocks.len(); - blocks = &plo.blocks; - true - } else { - posting_count = 0; - max_list_score = 0.0; - blocks = &DUMMY_VEC; - blocks_len = 0; - false - } - }; - - if found_plo { - let value_new = PostingListObjectQuery { - posting_count, - max_list_score, - blocks, - blocks_index: blocks_vec.len(), - p_block_max: blocks_len as i32, - term: term_no_diacritics_umlaut_case.clone(), - key0, - term_index_unique: query_list_map_len, - idf, - idf_ngram1, - idf_ngram2, - idf_ngram3, - ngram_type: non_unique_term.ngram_type.clone(), - ..Default::default() - }; - not_query_list_map.insert(key_hash, value_new); - } else { - not_found_terms_hashset.insert(key_hash); - } - } - } else { - let query_list_map_len = query_list_map.len(); - let mut found = true; - let query_list_option = query_list_map.get(&key_hash); - match query_list_option { - None => { - if !not_found_terms_hashset.contains(&key_hash) { - let posting_count; - let posting_count_ngram_1; - let posting_count_ngram_2; - let posting_count_ngram_3; - let max_list_score; - let blocks; - let blocks_len; - let found_plo = if shard_ref.meta.access_type == AccessType::Mmap { - let posting_list_object_index_option = - decode_posting_list_object( - &shard_ref.segments_index[key0 as usize], - &shard_ref, - key_hash, - true, - ); - - if let Some(plo) = posting_list_object_index_option { - posting_count = plo.posting_count; - posting_count_ngram_1 = plo.posting_count_ngram_1; - posting_count_ngram_2 = plo.posting_count_ngram_2; - posting_count_ngram_3 = plo.posting_count_ngram_3; - max_list_score = plo.max_list_score; - blocks = &DUMMY_VEC; - blocks_len = plo.blocks.len(); - blocks_vec.push(plo.blocks); - true - } else { - posting_count = 0; - posting_count_ngram_1 = 0; - posting_count_ngram_2 = 0; - posting_count_ngram_3 = 0; - max_list_score = 0.0; - blocks = &DUMMY_VEC; - blocks_len = 0; - false - } - } else { - let posting_list_object_index_option = shard_ref.segments_index - [key0 as usize] - .segment - .get(&key_hash); - - if let Some(plo) = posting_list_object_index_option { - posting_count = plo.posting_count; - posting_count_ngram_1 = plo.posting_count_ngram_1; - posting_count_ngram_2 = plo.posting_count_ngram_2; - posting_count_ngram_3 = plo.posting_count_ngram_3; - max_list_score = plo.max_list_score; - blocks_len = plo.blocks.len(); - blocks = &plo.blocks; - true - } else { - posting_count = 0; - posting_count_ngram_1 = 0; - posting_count_ngram_2 = 0; - posting_count_ngram_3 = 0; - max_list_score = 0.0; - blocks = &DUMMY_VEC; - blocks_len = 0; - false - } - }; - - if found_plo { - if result_type != ResultType::Count { - if non_unique_term.ngram_type == NgramType::SingleTerm - || shard_ref.meta.similarity - == SimilarityType::Bm25fProximity - { - idf = (((shard_ref.indexed_doc_count as f32 - - posting_count as f32 - + 0.5) - / (posting_count as f32 + 0.5)) - + 1.0) - .ln(); - } else if non_unique_term.ngram_type == NgramType::NgramFF - || non_unique_term.ngram_type == NgramType::NgramRF - || non_unique_term.ngram_type == NgramType::NgramFR - { - idf_ngram1 = (((shard_ref.indexed_doc_count as f32 - - posting_count_ngram_1 as f32 - + 0.5) - / (posting_count_ngram_1 as f32 + 0.5)) - + 1.0) - .ln(); - - idf_ngram2 = (((shard_ref.indexed_doc_count as f32 - - posting_count_ngram_2 as f32 - + 0.5) - / (posting_count_ngram_2 as f32 + 0.5)) - + 1.0) - .ln(); - } else { - idf_ngram1 = (((shard_ref.indexed_doc_count as f32 - - posting_count_ngram_1 as f32 - + 0.5) - / (posting_count_ngram_1 as f32 + 0.5)) - + 1.0) - .ln(); - - idf_ngram2 = (((shard_ref.indexed_doc_count as f32 - - posting_count_ngram_2 as f32 - + 0.5) - / (posting_count_ngram_2 as f32 + 0.5)) - + 1.0) - .ln(); - - idf_ngram3 = (((shard_ref.indexed_doc_count as f32 - - posting_count_ngram_3 as f32 - + 0.5) - / (posting_count_ngram_3 as f32 + 0.5)) - + 1.0) - .ln(); - } - } - - let value_new = PostingListObjectQuery { - posting_count, - max_list_score, - blocks, - blocks_index: blocks_vec.len(), - p_block_max: blocks_len as i32, - term: term_no_diacritics_umlaut_case.clone(), - key0, - term_index_unique: query_list_map_len, - idf, - idf_ngram1, - idf_ngram2, - idf_ngram3, - ngram_type: non_unique_term.ngram_type.clone(), - ..Default::default() - }; - term_index_unique = value_new.term_index_unique; - query_list_map.insert(key_hash, value_new); - } else { - if non_unique_term.op == QueryType::Intersection - || non_unique_term.op == QueryType::Phrase - { - break 'fallback; - } - not_found_terms_hashset.insert(key_hash); - found = false; - } - } - } - Some(value) => { - term_index_unique = value.term_index_unique; - } - } - - if found && non_unique_term.op == QueryType::Phrase { - let nu_plo = NonUniquePostingListObjectQuery { - term_index_unique, - term_index_nonunique: non_unique_query_list.len() - + preceding_ngram_count, - pos: 0, - p_pos: 0, - positions_pointer: 0, - positions_count: 0, - byte_array: &DUMMY_VEC_8, - field_vec: SmallVec::new(), - p_field: 0, - key0, - is_embedded: false, - embedded_positions: [0; 4], - }; - - match non_unique_term.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { - preceding_ngram_count += 1 - } - _ => preceding_ngram_count += 2, - }; - - non_unique_query_list.push(nu_plo); - } - } - match term.ngram_type { - NgramType::SingleTerm => {} - NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { - result_object - .query_terms - .push(term.term_ngram_1.to_string()); - result_object - .query_terms - .push(term.term_ngram_0.to_string()); - } - _ => { - result_object - .query_terms - .push(term.term_ngram_2.to_string()); - result_object - .query_terms - .push(term.term_ngram_1.to_string()); - result_object - .query_terms - .push(term.term_ngram_0.to_string()); - } - }; - { - result_object.query_terms.push(term.term.to_string()); - } - } - - not_query_list = not_query_list_map.into_values().collect(); - query_list = query_list_map.into_values().collect(); - - if shard_ref.meta.access_type == AccessType::Mmap { - for plo in query_list.iter_mut() { - plo.blocks = &blocks_vec[plo.blocks_index - 1] - } - for plo in not_query_list.iter_mut() { - plo.blocks = &blocks_vec[plo.blocks_index - 1] - } - } - - let query_list_len = query_list.len(); - let non_unique_query_list_len = non_unique_query_list.len(); - - let mut matching_blocks: i32 = 0; - let query_term_count = non_unique_terms.len(); - if query_list_len == 0 { - } else if query_list_len == 1 { - if !(shard_ref.uncommitted && include_uncommited) - && offset + length <= 1000 - && not_query_list.is_empty() - && field_filter_set.is_empty() - && shard_ref.delete_hashset.is_empty() - && facet_filter_sparse.is_empty() - && !is_range_facet - && result_sort_index.is_empty() - && let Some(stopword_result_object) = shard_ref - .frequentword_results - .get(&non_unique_terms[0].term) - { - result_object.query = stopword_result_object.query.clone(); - result_object - .query_terms - .clone_from(&stopword_result_object.query_terms); - result_object.result_count = stopword_result_object.result_count; - result_object.result_count_total = stopword_result_object.result_count_total; - - if result_type != ResultType::Count { - result_object - .results - .clone_from(&stopword_result_object.results); - if offset > 0 { - result_object.results.drain(..offset); - } - if length < 1000 { - result_object.results.truncate(length); - } - } - - if !search_result.query_facets.is_empty() && result_type != ResultType::Topk { - let mut facets: AHashMap = AHashMap::new(); - for facet in search_result.query_facets.iter() { - if facet.length == 0 - || stopword_result_object.facets[&facet.field].is_empty() - { - continue; - } - - let v = stopword_result_object.facets[&facet.field] - .iter() - .sorted_unstable_by(|a, b| b.1.cmp(&a.1)) - .map(|(a, c)| (a.clone(), *c)) - .filter(|(a, _c)| { - facet.prefix.is_empty() || a.starts_with(&facet.prefix) - }) - .take(facet.length.max(facet_cap) as usize) - .collect::>(); - - if !v.is_empty() { - facets.insert(facet.field.clone(), v); - } - } - result_object.facets = facets; - }; - - return result_object; - } - - single_blockid( - &shard_ref, - &mut non_unique_query_list, - &mut query_list, - &mut not_query_list, - &result_count_arc, - &mut search_result, - offset + length, - &result_type, - &field_filter_set, - &facet_filter_sparse, - &mut matching_blocks, - ) - .await; - } else if query_type_mut == QueryType::Union { - search_result.skip_facet_count = true; - - if result_type == ResultType::Count && query_list_len != 2 { - union_blockid( - &shard_ref, - &mut non_unique_query_list, - &mut query_list, - &mut not_query_list, - &result_count_arc, - &mut search_result, - offset + length, - &result_type, - &field_filter_set, - &facet_filter_sparse, - ) - .await; - } else if SPEEDUP_FLAG - && query_list_len == 2 - && search_result.query_facets.is_empty() - && facet_filter_sparse.is_empty() - && search_result.topk_candidates.result_sort.is_empty() - { - union_docid_2( - &shard_ref, - &mut non_unique_query_list, - &mut query_list, - &mut not_query_list, - &result_count_arc, - &mut search_result, - offset + length, - &result_type, - &field_filter_set, - &facet_filter_sparse, - &mut matching_blocks, - query_term_count, - ) - .await; - } else if SPEEDUP_FLAG - && search_result.topk_candidates.result_sort.is_empty() - && query_list_len <= 10 - { - union_docid_3( - &shard_ref, - &mut non_unique_query_list, - &mut Vec::from([QueueObject { - query_list: query_list.clone(), - query_index: 0, - max_score: f32::MAX, - }]), - &mut not_query_list, - &result_count_arc, - &mut search_result, - offset + length, - &result_type, - &field_filter_set, - &facet_filter_sparse, - &mut matching_blocks, - 0, - query_term_count, - ) - .await; - } else { - union_blockid( - &shard_ref, - &mut non_unique_query_list, - &mut query_list, - &mut not_query_list, - &result_count_arc, - &mut search_result, - offset + length, - &result_type, - &field_filter_set, - &facet_filter_sparse, - ) - .await; - } - } else { - intersection_blockid( - &shard_ref, - &mut non_unique_query_list, - &mut query_list, - &mut not_query_list, - &result_count_arc, - &mut search_result, - offset + length, - &result_type, - &field_filter_set, - &facet_filter_sparse, - &mut matching_blocks, - query_type_mut == QueryType::Phrase && non_unique_query_list_len >= 2, - query_term_count, - ) - .await; - - if shard_ref.enable_fallback - && (result_count_arc.load(Ordering::Relaxed) < offset + length) - { - continue 'fallback; - } - } - - break; - } - - result_object.result_count = search_result.topk_candidates.current_heap_size; - - if search_result.topk_candidates.current_heap_size > offset { - result_object.results = mem::take(&mut search_result.topk_candidates._elements); - - if search_result.topk_candidates.current_heap_size < offset + length { - result_object - .results - .truncate(search_result.topk_candidates.current_heap_size); - } - - result_object - .results - .sort_by(|a, b| search_result.topk_candidates.result_ordering_shard(*b, *a)); - - if offset > 0 { - result_object.results.drain(..offset); - } - } - - result_object.result_count_total = result_count_uncommitted_arc.load(Ordering::Relaxed) - + result_count_arc.load(Ordering::Relaxed); - - if !search_result.query_facets.is_empty() { - result_object.facets = if result_object.query_terms.is_empty() { - shard_ref - .get_index_string_facets_shard(query_facets) - .unwrap_or_default() - } else { - let mut facets: AHashMap = AHashMap::new(); - for (i, facet) in search_result.query_facets.iter_mut().enumerate() { - if facet.length == 0 || facet.values.is_empty() { - continue; - } - - let v = if facet.ranges == Ranges::None { - if shard_ref.facets[i].values.is_empty() { - continue; - } - - if shard_ref.facets[i].field_type == FieldType::StringSet16 - || shard_ref.facets[i].field_type == FieldType::StringSet32 - { - let mut hash_map: AHashMap = AHashMap::new(); - for value in facet.values.iter() { - let value2 = shard_ref.facets[i] - .values - .get_index(*value.0 as usize) - .unwrap(); - - for term in value2.1.0.iter() { - *hash_map.entry(term.clone()).or_insert(0) += value.1; - } - } - - hash_map - .iter() - .sorted_unstable_by(|a, b| b.1.cmp(a.1)) - .map(|(a, c)| (a.clone(), *c)) - .filter(|(a, _c)| { - facet.prefix.is_empty() || a.starts_with(&facet.prefix) - }) - .take(facet.length.max(facet_cap) as usize) - .collect::>() - } else { - facet - .values - .iter() - .sorted_unstable_by(|a, b| b.1.cmp(a.1)) - .map(|(a, c)| { - ( - shard_ref.facets[i] - .values - .get_index(*a as usize) - .unwrap() - .0 - .clone(), - *c, - ) - }) - .filter(|(a, _c)| { - facet.prefix.is_empty() || a.starts_with(&facet.prefix) - }) - .take(facet.length.max(facet_cap) as usize) - .collect::>() - } - } else { - let range_type = match &facet.ranges { - Ranges::U8(range_type, _ranges) => range_type.clone(), - Ranges::U16(range_type, _ranges) => range_type.clone(), - Ranges::U32(range_type, _ranges) => range_type.clone(), - Ranges::U64(range_type, _ranges) => range_type.clone(), - Ranges::I8(range_type, _ranges) => range_type.clone(), - Ranges::I16(range_type, _ranges) => range_type.clone(), - Ranges::I32(range_type, _ranges) => range_type.clone(), - Ranges::I64(range_type, _ranges) => range_type.clone(), - Ranges::Timestamp(range_type, _ranges) => range_type.clone(), - Ranges::F32(range_type, _ranges) => range_type.clone(), - Ranges::F64(range_type, _ranges) => range_type.clone(), - Ranges::Point(range_type, _ranges, _base, _unit) => range_type.clone(), - _ => RangeType::CountWithinRange, - }; - - match range_type { - RangeType::CountAboveRange => { - let mut sum = 0usize; - for value in facet - .values - .iter_mut() - .sorted_unstable_by(|a, b| b.0.cmp(a.0)) - { - sum += *value.1; - *value.1 = sum; - } - } - RangeType::CountBelowRange => { - let mut sum = 0usize; - for value in facet - .values - .iter_mut() - .sorted_unstable_by(|a, b| a.0.cmp(b.0)) - { - sum += *value.1; - *value.1 = sum; - } - } - RangeType::CountWithinRange => {} - } - - facet - .values - .iter() - .sorted_unstable_by(|a, b| a.0.cmp(b.0)) - .map(|(a, c)| { - ( - match &facet.ranges { - Ranges::U8(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - Ranges::U16(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - Ranges::U32(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - Ranges::U64(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - Ranges::I8(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - Ranges::I16(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - Ranges::I32(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - Ranges::I64(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - Ranges::Timestamp(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - Ranges::F32(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - Ranges::F64(_range_type, ranges) => { - ranges[*a as usize].0.clone() - } - - Ranges::Point(_range_type, ranges, _base, _unit) => { - ranges[*a as usize].0.clone() - } - - _ => "".into(), - }, - *c, - ) - }) - .filter(|(a, _c)| { - facet.prefix.is_empty() || a.starts_with(&facet.prefix) - }) - .collect::>() - }; - - if !v.is_empty() { - facets.insert(facet.field.clone(), v); - } - } - facets - }; - } - - result_object - } -} diff --git a/mobile_app/rust/src/seekstorm/single.rs b/mobile_app/rust/src/seekstorm/single.rs deleted file mode 100644 index 99b47a7..0000000 --- a/mobile_app/rust/src/seekstorm/single.rs +++ /dev/null @@ -1,419 +0,0 @@ -use std::sync::{ - Arc, - atomic::{AtomicUsize, Ordering}, -}; - -use crate::{ - add_result::{PostingListObjectSingle, add_result_singleterm_multifield}, - compatible::{_blsr_u64, _mm_tzcnt_64}, - index::{ - AccessType, BlockObjectIndex, CompressionType, NonUniquePostingListObjectQuery, - PostingListObjectQuery, SORT_FLAG, SPEEDUP_FLAG, Shard, - }, - intersection::{BlockObject, bitpacking32_get_delta}, - search::{FilterSparse, ResultType, SearchResult}, - utils::{read_u16, read_u64}, -}; - -use ahash::AHashSet; -use num_traits::FromPrimitive; - -#[allow(clippy::too_many_arguments)] -#[allow(clippy::ptr_arg)] -#[allow(non_snake_case)] -pub(crate) async fn single_docid<'a>( - shard: &'a Shard, - query_list: &mut Vec>, - not_query_list: &mut [PostingListObjectQuery<'a>], - blo: &BlockObjectIndex, - term_index: usize, - result_count: &mut i32, - search_result: &mut SearchResult<'_>, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], -) { - let block_score = blo.max_block_score; - - let filtered = !not_query_list.is_empty() - || !field_filter_set.is_empty() - || !search_result.topk_candidates.result_sort.is_empty() - || (!search_result.query_facets.is_empty() || !facet_filter.is_empty()) - && result_type != &ResultType::Topk; - if SPEEDUP_FLAG - && (result_type == &ResultType::Count - || (search_result.topk_candidates.current_heap_size == top_k - && block_score <= search_result.topk_candidates._elements[0].score)) - && (!filtered || result_type == &ResultType::Topk) - { - return; - } - - let block_id = blo.block_id; - for plo in not_query_list.iter_mut() { - let query_list_item_mut = plo; - - let result = query_list_item_mut - .blocks - .binary_search_by(|block| block.block_id.cmp(&block_id)); - match result { - Ok(p_block) => { - query_list_item_mut.bm25_flag = true; - query_list_item_mut.p_block = p_block as i32 - } - Err(_) => { - query_list_item_mut.bm25_flag = false; - continue; - } - }; - let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; - - query_list_item_mut.compression_type = - FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); - - query_list_item_mut.rank_position_pointer_range = - blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; - - let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 - + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { - ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 - } else { - 0 - }; - query_list_item_mut.compressed_doc_id_range = - query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; - - if shard.meta.access_type == AccessType::Mmap { - let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; - query_list_item_mut.byte_array = - &shard.index_file_mmap[segment.byte_array_blocks_pointer[blo.block_id as usize].0 - ..segment.byte_array_blocks_pointer[blo.block_id as usize].0 - + segment.byte_array_blocks_pointer[blo.block_id as usize].1]; - } else { - query_list_item_mut.byte_array = &shard.segments_index - [query_list_item_mut.key0 as usize] - .byte_array_blocks[blo.block_id as usize]; - } - - query_list_item_mut.p_docid = 0; - query_list_item_mut.p_docid_count = - query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count as usize - + 1; - - query_list_item_mut.docid = 0; - - if query_list_item_mut.compression_type == CompressionType::Rle { - query_list_item_mut.p_run_count = read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range, - ) as i32; - let startdocid = read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range + 2, - ); - let runlength = read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range + 4, - ); - query_list_item_mut.docid = startdocid as i32; - query_list_item_mut.run_end = (startdocid + runlength) as i32; - query_list_item_mut.p_run_sum = runlength as i32; - query_list_item_mut.p_run = 6; - } - } - - let compression_type: CompressionType = - FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); - - let rank_position_pointer_range: u32 = - blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; - - let posting_pointer_size_sum = blo.pointer_pivot_p_docid as u32 * 2 - + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { - ((blo.posting_count as u32 + 1) - blo.pointer_pivot_p_docid as u32) * 3 - } else { - 0 - }; - let compressed_doc_id_range: u32 = rank_position_pointer_range + posting_pointer_size_sum; - - let query_list_item_mut = &mut query_list[term_index]; - - let byte_array = if shard.meta.access_type == AccessType::Mmap { - let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; - &shard.index_file_mmap[segment.byte_array_blocks_pointer[blo.block_id as usize].0 - ..segment.byte_array_blocks_pointer[blo.block_id as usize].0 - + segment.byte_array_blocks_pointer[blo.block_id as usize].1] - } else { - &shard.segments_index[query_list_item_mut.key0 as usize].byte_array_blocks - [blo.block_id as usize] - }; - - let mut plo = PostingListObjectSingle { - rank_position_pointer_range, - pointer_pivot_p_docid: blo.pointer_pivot_p_docid, - byte_array, - p_docid: 0, - idf: query_list_item_mut.idf, - idf_ngram1: query_list_item_mut.idf_ngram1, - idf_ngram2: query_list_item_mut.idf_ngram2, - idf_ngram3: query_list_item_mut.idf_ngram3, - ngram_type: query_list_item_mut.ngram_type.clone(), - }; - - match compression_type { - CompressionType::Array => { - for i in 0..=blo.posting_count { - plo.p_docid = i as i32; - - add_result_singleterm_multifield( - shard, - ((blo.block_id as usize) << 16) - | read_u16( - byte_array, - compressed_doc_id_range as usize + (i as usize * 2), - ) as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - &plo, - not_query_list, - block_score, - ); - } - } - - CompressionType::Delta => { - let deltasizebits = 4; - let rangebits: i32 = - byte_array[compressed_doc_id_range as usize] as i32 >> (8 - deltasizebits); - - let mut docid_old: i32 = -1; - let mut bitposition: u32 = (compressed_doc_id_range << 3) + deltasizebits; - - for i in 0..=blo.posting_count { - plo.p_docid = i as i32; - let delta = bitpacking32_get_delta(byte_array, bitposition, rangebits as u32); - bitposition += rangebits as u32; - - let doc_id: u16 = (docid_old + delta as i32 + 1) as u16; - docid_old = doc_id as i32; - - add_result_singleterm_multifield( - shard, - ((blo.block_id as usize) << 16) | doc_id as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - &plo, - not_query_list, - block_score, - ); - } - } - - CompressionType::Rle => { - let runs_count = read_u16(&byte_array[compressed_doc_id_range as usize..], 0) as i32; - - plo.p_docid = 0; - for i in (1..(runs_count << 1) + 1).step_by(2) { - let startdocid = read_u16( - &byte_array[compressed_doc_id_range as usize..], - i as usize * 2, - ); - let runlength = read_u16( - &byte_array[compressed_doc_id_range as usize..], - (i + 1) as usize * 2, - ); - - for j in 0..=runlength { - add_result_singleterm_multifield( - shard, - ((blo.block_id as usize) << 16) | (startdocid + j) as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - &plo, - not_query_list, - block_score, - ); - - plo.p_docid += 1; - } - } - } - - CompressionType::Bitmap => { - plo.p_docid = 0; - let block_id_msb = (blo.block_id as usize) << 16; - - for ulong_pos in 0u64..1024 { - let mut intersect: u64 = read_u64( - &byte_array[compressed_doc_id_range as usize..], - ulong_pos as usize * 8, - ); - - while intersect != 0 { - let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; - - intersect = unsafe { _blsr_u64(intersect) }; - - add_result_singleterm_multifield( - shard, - block_id_msb | ((ulong_pos << 6) + bit_pos) as usize, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - &plo, - not_query_list, - block_score, - ); - - plo.p_docid += 1; - } - } - } - - _ => {} - } -} - -#[allow(clippy::too_many_arguments)] -pub(crate) async fn single_blockid<'a>( - index: &'a Shard, - non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], - query_list: &mut Vec>, - not_query_list: &mut [PostingListObjectQuery<'a>], - result_count_arc: &Arc, - search_result: &mut SearchResult<'_>, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - matching_blocks: &mut i32, -) { - let term_index = 0; - let filtered = !not_query_list.is_empty() - || !field_filter_set.is_empty() - || !index.delete_hashset.is_empty() - || !search_result.topk_candidates.result_sort.is_empty() - || (!search_result.query_facets.is_empty() || !facet_filter.is_empty()) - && result_type != &ResultType::Topk; - - if (index.enable_single_term_topk || (result_type == &ResultType::Count)) - && (non_unique_query_list.len() <= 1) - && !filtered - { - result_count_arc.fetch_add( - query_list[term_index].posting_count as usize, - Ordering::Relaxed, - ); - - return; - } - - let mut result_count_local = 0; - - let enable_inter_query_threading_single = - if !index.enable_search_quality_test && index.enable_inter_query_threading_auto { - query_list[term_index].posting_count / query_list[term_index].p_block_max as u32 > 10 - } else { - index.enable_inter_query_threading - }; - - let mut block_vec: Vec = Vec::new(); - - for (p_block, blo) in query_list[term_index].blocks.iter().enumerate() { - if !enable_inter_query_threading_single { - let block_score = blo.max_block_score; - - if SPEEDUP_FLAG && SORT_FLAG { - let p_block_vec: Vec = vec![p_block as i32]; - let block_object = BlockObject { - block_id: blo.block_id as usize, - block_score, - p_block_vec, - }; - - block_vec.push(block_object); - } else if !SPEEDUP_FLAG - || (filtered && result_type != &ResultType::Topk) - || search_result.topk_candidates.current_heap_size < top_k - || block_score > search_result.topk_candidates._elements[0].score - { - single_docid( - index, - query_list, - not_query_list, - blo, - term_index, - &mut result_count_local, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - ) - .await; - } - } - } - - if SORT_FLAG && SPEEDUP_FLAG { - block_vec.sort_unstable_by(|x, y| y.block_score.partial_cmp(&x.block_score).unwrap()); - for (block_index, block) in block_vec.iter().enumerate() { - if !filtered && block_index == top_k { - break; - } - if (search_result.topk_candidates.current_heap_size == top_k) - && (block.block_score <= search_result.topk_candidates._elements[0].score) - { - if !filtered { - break; - } else if result_type == &ResultType::Topk { - continue; - } - } - - let blo = &query_list[term_index].blocks[block.p_block_vec[0] as usize]; - - single_docid( - index, - query_list, - not_query_list, - blo, - term_index, - &mut result_count_local, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - ) - .await; - } - } - - result_count_arc.fetch_add( - if !filtered { - query_list[term_index].posting_count as usize - } else { - result_count_local as usize - }, - Ordering::Relaxed, - ); - - *matching_blocks = query_list[term_index].blocks.len() as i32; -} diff --git a/mobile_app/rust/src/seekstorm/tokenizer.rs b/mobile_app/rust/src/seekstorm/tokenizer.rs deleted file mode 100644 index 5539d1e..0000000 --- a/mobile_app/rust/src/seekstorm/tokenizer.rs +++ /dev/null @@ -1,1680 +0,0 @@ -use std::cmp; - -use ahash::AHashMap; -use finl_unicode::categories::{CharacterCategories, MinorCategory}; - -use crate::{ - index::{ - MAX_QUERY_TERM_NUMBER, NgramSet, NgramType, NonUniqueTermObject, Shard, TermObject, - TokenizerType, hash32, hash64, - }, - search::QueryType, -}; - -const APOSTROPH: [char; 2] = ['\u{2019}', '\u{0027}']; -const ZALGO_CHAR_CATEGORIES: [MinorCategory; 2] = [MinorCategory::Mn, MinorCategory::Me]; - -/// fold_diacritics_accents_zalgo_umlaut() (used by TokenizerType::UnicodeAlphanumericFolded): -/// Converts text with diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters into its basic representation. -/// Unicode UTF-8 has made life so much easier compared to the old code pages, but its endless possibilities also pose challenges in parsing and indexing. -/// The challenge is that the same basic letter might be represented by different UTF8 characters if they contain diacritics, accents, or are bold, italic, or full-width. -/// Sometimes, users can't search because the keyboard doesn't have these letters or they don't know how to enter, or they even don't know what that letter looks like. -/// Sometimes the document to be ingested is already written without diacritics for the same reasons. -/// We don't want to search for every variant separately, most often we even don't know that they exist in the index. -/// We want to have all results, for every variant, no matter which variant is entered in the query, -/// e.g. for indexing LinkedIn posts that make use of external bold/italic formatters or for indexing documents in accented languages. -/// It is important that the search engine supports the character folding rather than external preprocessing, as we want to have both: enter the query in any character form, receive all results independent from their character form, but have them returned in their original, unaltered characters. -pub fn fold_diacritics_accents_ligatures_zalgo_umlaut(string: &str) -> String { - string - .to_lowercase() - .chars() - .fold(String::with_capacity(string.len()), |mut folded, cc| { - let mut base_char = None; - let mut base_char2 = None; - - match cc { - 'ff' => folded.push_str("ff"), - 'ffi' => folded.push_str("ffi"), - 'ffl' => folded.push_str("ffl"), - 'fi' => folded.push_str("fi"), - 'fl' => folded.push_str("fl"), - 'st' => folded.push_str("st"), - 'ſt' => folded.push_str("st"), - - 'ⅰ' => folded.push('i'), - 'ⅱ' => folded.push_str("ii"), - 'ⅲ' => folded.push_str("iii"), - 'ⅳ' => folded.push_str("iv"), - 'ⅴ' => folded.push('v'), - 'ⅵ' => folded.push_str("vi"), - 'ⅶ' => folded.push_str("vii"), - 'ⅷ' => folded.push_str("viii"), - 'ⅸ' => folded.push_str("ix"), - 'ⅹ' => folded.push('x'), - 'ⅺ' => folded.push_str("xi"), - 'ⅻ' => folded.push_str("xii"), - 'ⅼ' => folded.push('l'), - 'ⅽ' => folded.push('c'), - 'ⅾ' => folded.push('d'), - 'ⅿ' => folded.push('m'), - - 'ä' => folded.push_str("ae"), - 'ö' => folded.push_str("oe"), - 'ü' => folded.push_str("ue"), - 'ß' => folded.push_str("ss"), - 'ł' => folded.push('l'), - 'æ' => folded.push('a'), - 'œ' => folded.push('o'), - 'ø' => folded.push('o'), - 'ð' => folded.push('d'), - 'þ' => folded.push('t'), - 'đ' => folded.push('d'), - 'ɖ' => folded.push('d'), - 'ħ' => folded.push('h'), - 'ı' => folded.push('i'), - 'ƿ' => folded.push('w'), - 'ȝ' => folded.push('g'), - 'Ƿ' => folded.push('w'), - 'Ȝ' => folded.push('g'), - - _ => { - unicode_normalization::char::decompose_canonical(cc, |c| { - base_char.get_or_insert(c); - }); - unicode_normalization::char::decompose_compatible(base_char.unwrap(), |c| { - if c.is_alphanumeric() { - base_char2.get_or_insert(c); - } - }); - if base_char2.is_none() { - base_char2 = base_char - } - - if !ZALGO_CHAR_CATEGORIES.contains(&base_char2.unwrap().get_minor_category()) { - match base_char2.unwrap() { - 'ł' => folded.push('l'), - 'æ' => folded.push('a'), - 'œ' => folded.push('o'), - 'ø' => folded.push('o'), - 'ð' => folded.push('d'), - 'þ' => folded.push('t'), - 'đ' => folded.push('d'), - 'ɖ' => folded.push('d'), - 'ħ' => folded.push('h'), - 'ı' => folded.push('i'), - 'ƿ' => folded.push('w'), - 'ȝ' => folded.push('g'), - 'Ƿ' => folded.push('w'), - 'Ȝ' => folded.push('g'), - - _ => folded.push(base_char2.unwrap()), - } - } - } - } - folded - }) -} - -/// Tokenizer splits text to terms -#[allow(clippy::too_many_arguments)] -#[allow(clippy::assigning_clones)] -pub(crate) async fn tokenizer( - index: &Shard, - text: &str, - unique_terms: &mut AHashMap, - non_unique_terms: &mut Vec, - tokenizer: TokenizerType, - segment_number_mask1: u32, - nonunique_terms_count: &mut u32, - token_per_field_max: u32, - position_per_term_max: usize, - is_query: bool, - query_type: &mut QueryType, - ngram_indexing: u8, - indexed_field_id: usize, - indexed_field_number: usize, -) { - let (max_completion_entries, completion_len) = if is_query { - (0, 0) - } else { - let root_index = &index.index_option.as_ref().unwrap().read().await; - if let Some(v) = root_index.completion_option.as_ref() { - (root_index.max_completion_entries, v.read().await.len()) - } else { - (0, 0) - } - }; - - let token_per_field_max_capped = cmp::max(token_per_field_max, 65_536); - - let text_normalized; - let mut non_unique_terms_line: Vec<&str> = Vec::new(); - let mut non_unique_terms_line_string: Vec = Vec::new(); - - let mut start = false; - let mut start_pos = 0; - let mut first_part = &text[0..0]; - - if is_query { - match tokenizer { - TokenizerType::AsciiAlphabetic => { - text_normalized = text.to_ascii_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - 'a'..='z' | '"' | '+' | '-' => { - if !start { - start_pos = char.0; - } - true - } - - _ => { - if start { - non_unique_terms_line.push(&text_normalized[start_pos..char.0]); - } - false - } - }; - } - } - - TokenizerType::UnicodeAlphanumeric => { - text_normalized = text.to_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if regex_syntax::is_word_character(token) => { - if !start { - start_pos = char.0; - } - true - } - - '"' | '+' | '-' | '#' => { - if !start { - start_pos = char.0; - } - true - } - _ => { - if start { - non_unique_terms_line.push(&text_normalized[start_pos..char.0]); - } - false - } - }; - } - } - TokenizerType::UnicodeAlphanumericFolded => { - text_normalized = fold_diacritics_accents_ligatures_zalgo_umlaut(text); - for char in text_normalized.char_indices() { - start = match char.1 { - token if regex_syntax::is_word_character(token) => { - if !start { - start_pos = char.0; - } - true - } - '"' | '+' | '-' | '#' => { - if !start { - start_pos = char.0; - } - true - } - - _ => { - let apostroph = APOSTROPH.contains(&char.1); - if start { - if apostroph { - first_part = &text_normalized[start_pos..char.0]; - } else { - if first_part.len() >= 2 { - non_unique_terms_line.push(first_part) - } else { - non_unique_terms_line - .push(&text_normalized[start_pos..char.0]); - } - first_part = &text_normalized[0..0]; - } - } else if !apostroph && !first_part.is_empty() { - non_unique_terms_line.push(first_part); - first_part = &text_normalized[0..0]; - } - - false - } - }; - } - } - - TokenizerType::Whitespace => { - text_normalized = text.to_owned(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if !token.is_whitespace() => { - if !start { - start_pos = char.0; - } - true - } - - _ => { - if start { - non_unique_terms_line.push(&text_normalized[start_pos..char.0]); - } - false - } - }; - } - } - - TokenizerType::WhitespaceLowercase => { - text_normalized = text.to_ascii_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if !token.is_whitespace() => { - if !start { - start_pos = char.0; - } - true - } - - _ => { - if start { - non_unique_terms_line.push(&text_normalized[start_pos..char.0]); - } - false - } - }; - } - } - - #[cfg(feature = "zh")] - TokenizerType::UnicodeAlphanumericZH => { - text_normalized = text.to_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if regex_syntax::is_word_character(token) => { - if !start { - start_pos = char.0; - } - true - } - - '"' | '+' | '-' | '#' => { - if !start { - start_pos = char.0; - } - true - } - _ => { - if start { - let result = index - .word_segmentation_option - .as_ref() - .unwrap() - .segment(&text_normalized[start_pos..char.0], true); - non_unique_terms_line_string.extend(result.0); - } - false - } - }; - } - } - } - } else { - match tokenizer { - TokenizerType::AsciiAlphabetic => { - text_normalized = text.to_ascii_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - 'a'..='z' => { - if !start { - start_pos = char.0; - } - true - } - _ => { - if start { - non_unique_terms_line.push(&text_normalized[start_pos..char.0]); - } - false - } - }; - } - } - TokenizerType::UnicodeAlphanumeric => { - text_normalized = text.to_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if regex_syntax::is_word_character(token) => { - if !start { - start_pos = char.0; - } - true - } - - '+' | '-' | '#' => start, - - _ => { - if start { - non_unique_terms_line.push(&text_normalized[start_pos..char.0]); - } - false - } - }; - } - } - - TokenizerType::UnicodeAlphanumericFolded => { - text_normalized = fold_diacritics_accents_ligatures_zalgo_umlaut(text); - - for char in text_normalized.char_indices() { - start = match char.1 { - token if regex_syntax::is_word_character(token) => { - if !start { - start_pos = char.0; - } - true - } - - '+' | '-' | '#' => start, - - _ => { - let apostroph = APOSTROPH.contains(&char.1); - if start { - if apostroph { - first_part = &text_normalized[start_pos..char.0]; - } else { - if first_part.len() >= 2 { - non_unique_terms_line.push(first_part) - } else { - non_unique_terms_line - .push(&text_normalized[start_pos..char.0]); - } - first_part = &text_normalized[0..0]; - } - } else if !apostroph && !first_part.is_empty() { - non_unique_terms_line.push(first_part); - first_part = &text_normalized[0..0]; - } - - false - } - }; - } - } - - TokenizerType::Whitespace => { - text_normalized = text.to_owned(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if !token.is_whitespace() => { - if !start { - start_pos = char.0; - } - true - } - _ => { - if start { - non_unique_terms_line.push(&text_normalized[start_pos..char.0]); - } - false - } - }; - } - } - - TokenizerType::WhitespaceLowercase => { - text_normalized = text.to_ascii_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if !token.is_whitespace() => { - if !start { - start_pos = char.0; - } - true - } - _ => { - if start { - non_unique_terms_line.push(&text_normalized[start_pos..char.0]); - } - false - } - }; - } - } - - #[cfg(feature = "zh")] - TokenizerType::UnicodeAlphanumericZH => { - text_normalized = text.to_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if regex_syntax::is_word_character(token) => { - if !start { - start_pos = char.0; - } - true - } - - '+' | '-' | '#' => start, - - _ => { - if start { - let result = index - .word_segmentation_option - .as_ref() - .unwrap() - .segment(&text_normalized[start_pos..char.0], true); - non_unique_terms_line_string.extend(result.0); - } - false - } - }; - } - } - } - } - - #[cfg(feature = "zh")] - if tokenizer == TokenizerType::UnicodeAlphanumericZH { - if start { - if first_part.len() >= 2 { - let result = index - .word_segmentation_option - .as_ref() - .unwrap() - .segment(first_part, true); - non_unique_terms_line_string.extend(result.0); - } else { - non_unique_terms_line.push(&text_normalized[start_pos..text_normalized.len()]); - let result = index - .word_segmentation_option - .as_ref() - .unwrap() - .segment(&text_normalized[start_pos..text_normalized.len()], true); - non_unique_terms_line_string.extend(result.0); - } - } else if !first_part.is_empty() { - let result = index - .word_segmentation_option - .as_ref() - .unwrap() - .segment(first_part, true); - non_unique_terms_line_string.extend(result.0); - } - non_unique_terms_line = non_unique_terms_line_string - .iter() - .map(|s| s.as_str()) - .collect(); - } - - if tokenizer == TokenizerType::AsciiAlphabetic - || tokenizer == TokenizerType::UnicodeAlphanumeric - || tokenizer == TokenizerType::UnicodeAlphanumericFolded - || tokenizer == TokenizerType::Whitespace - || tokenizer == TokenizerType::WhitespaceLowercase - { - if start { - if first_part.len() >= 2 { - non_unique_terms_line.push(first_part) - } else { - non_unique_terms_line.push(&text_normalized[start_pos..text_normalized.len()]); - } - } else if !first_part.is_empty() { - non_unique_terms_line.push(first_part) - } - } - - if is_query && non_unique_terms_line.len() > MAX_QUERY_TERM_NUMBER { - non_unique_terms_line.truncate(MAX_QUERY_TERM_NUMBER); - } - - let mut position: u32 = 0; - let mut is_phrase = query_type == &QueryType::Phrase; - let mut term_string_1 = "".to_string(); - let mut term_frequent_1 = false; - let mut term_string_2 = "".to_string(); - let mut term_frequent_2 = false; - - let mut term_len_1 = 0; - let mut term_len_2 = 0; - - let mut non_unique_terms_raw = Vec::new(); - - for term_string in non_unique_terms_line.iter_mut() { - if is_query { - let mut query_type_term = if is_phrase { - QueryType::Phrase - } else { - query_type.clone() - }; - if term_string.starts_with('+') { - if query_type != &QueryType::Phrase { - *query_type = QueryType::Intersection; - } - query_type_term = QueryType::Intersection; - *term_string = &term_string[1..]; - } else if term_string.starts_with('-') { - query_type_term = QueryType::Not; - *term_string = &term_string[1..]; - } - if term_string.starts_with('\"') { - is_phrase = true; - *query_type = QueryType::Phrase; - query_type_term = QueryType::Phrase; - *term_string = &term_string[1..]; - } - if term_string.ends_with('\"') { - *query_type = QueryType::Phrase; - *term_string = &term_string[0..term_string.len() - 1]; - is_phrase = false; - } - - if term_string.is_empty() { - continue; - } - - if !index.stop_words.is_empty() && index.stop_words.contains(*term_string) { - continue; - } - - let term_string = if let Some(stemmer) = index.stemmer.as_ref() { - stemmer.stem(term_string).to_string() - } else { - term_string.to_string() - }; - - non_unique_terms_raw.push((term_string, query_type_term)); - } else { - if !index.stop_words.is_empty() && index.stop_words.contains(*term_string) { - continue; - } - - let term_string_0 = if let Some(stemmer) = index.stemmer.as_ref() { - stemmer.stem(term_string).to_string() - } else { - term_string.to_string() - }; - - let mut term_positions_len; - let term_hash_0 = hash64(term_string_0.as_bytes()); - let term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); - - let term_number_0 = term_string_0.chars().next().unwrap().is_ascii_digit() - && term_string_0.chars().last().unwrap().is_ascii_digit(); - let term_len_0 = term_string_0.chars().count(); - - if index.indexed_schema_vec[indexed_field_id].completion_source { - let mut level_completions = index.level_completions.write().await; - - if !term_number_0 && term_len_0 > 1 { - let unigram_string = vec![term_string_0.clone()]; - if completion_len < max_completion_entries { - level_completions - .entry(unigram_string) - .and_modify(|v| { - *v += 1; - }) - .or_insert(1); - } - } - - if !term_string_1.is_empty() { - if term_len_1 > 1 { - let bigram_string = vec![term_string_1.clone(), term_string_0.clone()]; - if completion_len < max_completion_entries { - level_completions - .entry(bigram_string) - .and_modify(|v| { - *v += 1; - }) - .or_insert(1); - } - } - - if !term_string_2.is_empty() && term_len_2 > 1 { - let trigram_string = vec![ - term_string_2.clone(), - term_string_1.clone(), - term_string_0.clone(), - ]; - if completion_len < max_completion_entries { - level_completions - .entry(trigram_string) - .and_modify(|v| { - *v += 1; - }) - .or_insert(1); - } - } - } - - drop(level_completions); - - term_len_2 = term_len_1; - term_len_1 = term_len_0; - } - - let term_object = unique_terms - .entry(term_string_0.clone()) - .or_insert_with(|| { - let term_bytes = term_string_0.as_bytes(); - TermObject { - term: term_string_0.clone(), - - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes), - - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::SingleTerm, - - ..Default::default() - } - }); - - term_object.field_positions_vec[indexed_field_id].push(position as u16); - term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); - - if !term_string_1.is_empty() - && (ngram_indexing & NgramSet::NgramFF as u8 != 0 - && term_frequent_1 - && term_frequent_0) - { - let term_string = [term_string_1.as_str(), term_string_0.as_str()].join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramFF as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramFF, - term_ngram_1: term_string_1.clone(), - term_ngram_0: term_string_0.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16 - 1); - term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); - } - - if !term_string_1.is_empty() - && (ngram_indexing & NgramSet::NgramRF as u8 != 0 - && !term_frequent_1 - && term_frequent_0) - { - let term_string = [term_string_1.as_str(), term_string_0.as_str()].join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramRF as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramRF, - term_ngram_1: term_string_1.clone(), - term_ngram_0: term_string_0.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16 - 1); - term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); - } - - if !term_string_1.is_empty() - && (ngram_indexing & NgramSet::NgramFR as u8 != 0 - && term_frequent_1 - && !term_frequent_0) - { - let term_string = [term_string_1.as_str(), term_string_0.as_str()].join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramFR as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramFR, - term_ngram_1: term_string_1.clone(), - term_ngram_0: term_string_0.clone(), - - ..Default::default() - } - }); - - term_object.field_positions_vec[indexed_field_id].push(position as u16 - 1); - term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); - } - - if !term_string_2.is_empty() - && !term_string_1.is_empty() - && (ngram_indexing & NgramSet::NgramFFF as u8 != 0 - && term_frequent_2 - && term_frequent_1 - && term_frequent_0) - { - let term_string = [ - term_string_2.as_str(), - term_string_1.as_str(), - term_string_0.as_str(), - ] - .join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramFFF as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramFFF, - term_ngram_2: term_string_2.clone(), - term_ngram_1: term_string_1.clone(), - term_ngram_0: term_string_0.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); - term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); - } - - if !term_string_2.is_empty() - && !term_string_1.is_empty() - && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 - && !term_frequent_2 - && term_frequent_1 - && term_frequent_0) - { - let term_string = [ - term_string_2.as_str(), - term_string_1.as_str(), - term_string_0.as_str(), - ] - .join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramRFF as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramRFF, - term_ngram_2: term_string_2.clone(), - term_ngram_1: term_string_1.clone(), - term_ngram_0: term_string_0.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); - term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); - } - - if !term_string_2.is_empty() - && !term_string_1.is_empty() - && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 - && term_frequent_2 - && term_frequent_1 - && !term_frequent_0) - { - let term_string = [ - term_string_2.as_str(), - term_string_1.as_str(), - term_string_0.as_str(), - ] - .join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramFFR as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramFFR, - term_ngram_2: term_string_2.clone(), - term_ngram_1: term_string_1.clone(), - term_ngram_0: term_string_0.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); - term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); - } - - if !term_string_2.is_empty() - && !term_string_1.is_empty() - && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 - && term_frequent_2 - && !term_frequent_1 - && term_frequent_0) - { - let term_string = [ - term_string_2.as_str(), - term_string_1.as_str(), - term_string_0.as_str(), - ] - .join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramFRF as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramFRF, - term_ngram_2: term_string_2, - term_ngram_1: term_string_1.clone(), - term_ngram_0: term_string_0.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); - term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); - } - - term_string_2 = term_string_1; - term_string_1 = term_string_0; - - term_frequent_2 = term_frequent_1; - term_frequent_1 = term_frequent_0; - - position += 1; - - if position >= token_per_field_max_capped { - break; - } - if term_positions_len >= position_per_term_max { - continue; - } - }; - } - - if is_query { - let len = non_unique_terms_raw.len(); - - let mut term_0; - let mut term_frequent_0; - let mut term_phrase_0; - - if len > 0 { - let item = &non_unique_terms_raw[0]; - term_0 = item.0.clone(); - let term_hash_0 = hash64(term_0.as_bytes()); - term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); - term_phrase_0 = item.1 == QueryType::Phrase; - } else { - term_0 = "".to_string(); - term_frequent_0 = false; - term_phrase_0 = false; - } - - let mut term_1; - let mut term_frequent_1; - let mut term_phrase_1; - if len > 1 { - let item = &non_unique_terms_raw[1]; - term_1 = item.0.clone(); - let term_hash_1 = hash64(term_1.as_bytes()); - term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); - term_phrase_1 = item.1 == QueryType::Phrase; - } else { - term_1 = "".to_string(); - term_frequent_1 = false; - term_phrase_1 = false; - } - - let len = non_unique_terms_raw.len(); - let mut i = 0; - while i < len { - let term_2; - let term_frequent_2; - let term_phrase_2; - if len > i + 2 { - let item = &non_unique_terms_raw[i + 2]; - term_2 = item.0.clone(); - let term_hash_2 = hash64(term_2.as_bytes()); - term_frequent_2 = index.frequent_hashset.contains(&term_hash_2); - term_phrase_2 = item.1 == QueryType::Phrase; - } else { - term_2 = "".to_string(); - term_frequent_2 = false; - term_phrase_2 = false; - } - if i + 2 < len - && (ngram_indexing & NgramSet::NgramFFF as u8 != 0 - && term_frequent_0 - && term_frequent_1 - && term_frequent_2 - && term_phrase_0 - && term_phrase_1 - && term_phrase_2) - { - let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramFFF as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramFFF, - term_ngram_2: term_0.clone(), - term_ngram_1: term_1.clone(), - term_ngram_0: term_2.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16); - - non_unique_terms.push(NonUniqueTermObject { - term: term_string, - ngram_type: NgramType::NgramFFF, - op: QueryType::Phrase, - term_ngram_2: term_0.clone(), - term_ngram_1: term_1.clone(), - term_ngram_0: term_2.clone(), - }); - - i += 3; - - if len > i { - let item = &non_unique_terms_raw[i]; - term_0 = item.0.clone(); - let term_hash_0 = hash64(term_0.as_bytes()); - term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); - term_phrase_0 = item.1 == QueryType::Phrase; - } else { - term_0 = "".to_string(); - term_frequent_0 = false; - term_phrase_0 = false; - } - - if len > i + 1 { - let item = &non_unique_terms_raw[i + 1]; - term_1 = item.0.clone(); - let term_hash_1 = hash64(term_1.as_bytes()); - term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); - term_phrase_1 = item.1 == QueryType::Phrase; - } else { - term_1 = "".to_string(); - term_frequent_1 = false; - term_phrase_1 = false; - } - } else if i + 2 < len - && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 - && !term_frequent_0 - && term_frequent_1 - && term_frequent_2 - && term_phrase_0 - && term_phrase_1 - && term_phrase_2) - { - let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramRFF as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramRFF, - term_ngram_2: term_0.clone(), - term_ngram_1: term_1.clone(), - term_ngram_0: term_2.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16); - - non_unique_terms.push(NonUniqueTermObject { - term: term_string, - ngram_type: NgramType::NgramRFF, - op: QueryType::Phrase, - term_ngram_2: term_0.clone(), - term_ngram_1: term_1.clone(), - term_ngram_0: term_2.clone(), - }); - - i += 3; - - if len > i { - let item = &non_unique_terms_raw[i]; - term_0 = item.0.clone(); - let term_hash_0 = hash64(term_0.as_bytes()); - term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); - term_phrase_0 = item.1 == QueryType::Phrase; - } else { - term_0 = "".to_string(); - term_frequent_0 = false; - term_phrase_0 = false; - } - - if len > i + 1 { - let item = &non_unique_terms_raw[i + 1]; - term_1 = item.0.clone(); - let term_hash_1 = hash64(term_1.as_bytes()); - term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); - term_phrase_1 = item.1 == QueryType::Phrase; - } else { - term_1 = "".to_string(); - term_frequent_1 = false; - term_phrase_1 = false; - } - } else if i + 2 < len - && (ngram_indexing & NgramSet::NgramFFR as u8 != 0 - && term_frequent_0 - && term_frequent_1 - && !term_frequent_2 - && term_phrase_0 - && term_phrase_1 - && term_phrase_2) - { - let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramFFR as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramFFR, - term_ngram_2: term_0.clone(), - term_ngram_1: term_1.clone(), - term_ngram_0: term_2.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16); - - non_unique_terms.push(NonUniqueTermObject { - term: term_string, - ngram_type: NgramType::NgramFFR, - op: QueryType::Phrase, - term_ngram_2: term_0.clone(), - term_ngram_1: term_1.clone(), - term_ngram_0: term_2.clone(), - }); - - i += 3; - - if len > i { - let item = &non_unique_terms_raw[i]; - term_0 = item.0.clone(); - let term_hash_0 = hash64(term_0.as_bytes()); - term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); - term_phrase_0 = item.1 == QueryType::Phrase; - } else { - term_0 = "".to_string(); - term_frequent_0 = false; - term_phrase_0 = false; - } - - if len > i + 1 { - let item = &non_unique_terms_raw[i + 1]; - term_1 = item.0.clone(); - let term_hash_1 = hash64(term_1.as_bytes()); - term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); - term_phrase_1 = item.1 == QueryType::Phrase; - } else { - term_1 = "".to_string(); - term_frequent_1 = false; - term_phrase_1 = false; - } - } else if i + 2 < len - && (ngram_indexing & NgramSet::NgramFRF as u8 != 0 - && term_frequent_0 - && !term_frequent_1 - && term_frequent_2 - && term_phrase_0 - && term_phrase_1 - && term_phrase_2) - { - let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramFRF as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramFRF, - term_ngram_2: term_0.clone(), - term_ngram_1: term_1.clone(), - term_ngram_0: term_2.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16); - - non_unique_terms.push(NonUniqueTermObject { - term: term_string, - ngram_type: NgramType::NgramFRF, - op: QueryType::Phrase, - term_ngram_2: term_0.clone(), - term_ngram_1: term_1.clone(), - term_ngram_0: term_2.clone(), - }); - - i += 3; - - if len > i { - let item = &non_unique_terms_raw[i]; - term_0 = item.0.clone(); - let term_hash_0 = hash64(term_0.as_bytes()); - term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); - term_phrase_0 = item.1 == QueryType::Phrase; - } else { - term_0 = "".to_string(); - term_frequent_0 = false; - term_phrase_0 = false; - } - - if len > i + 1 { - let item = &non_unique_terms_raw[i + 1]; - term_1 = item.0.clone(); - let term_hash_1 = hash64(term_1.as_bytes()); - term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); - term_phrase_1 = item.1 == QueryType::Phrase; - } else { - term_1 = "".to_string(); - term_frequent_1 = false; - term_phrase_1 = false; - } - } else if i + 1 < len - && (ngram_indexing & NgramSet::NgramFF as u8 != 0 - && term_frequent_0 - && term_frequent_1 - && term_phrase_0 - && term_phrase_1) - { - let term_string = [term_0.as_str(), term_1.as_str()].join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramFF as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramFF, - term_ngram_1: term_0.clone(), - term_ngram_0: term_1.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16); - - non_unique_terms.push(NonUniqueTermObject { - term: term_string, - ngram_type: NgramType::NgramFF, - op: QueryType::Phrase, - term_ngram_1: term_0.clone(), - term_ngram_0: term_1.clone(), - - ..Default::default() - }); - - i += 2; - - term_0 = term_2.clone(); - term_frequent_0 = term_frequent_2; - - if len > i + 1 { - let item = &non_unique_terms_raw[i + 1]; - term_1 = item.0.clone(); - let term_hash_1 = hash64(term_1.as_bytes()); - term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); - term_phrase_1 = item.1 == QueryType::Phrase; - } else { - term_1 = "".to_string(); - term_frequent_1 = false; - term_phrase_1 = false; - } - } else if i + 1 < len - && (ngram_indexing & NgramSet::NgramRF as u8 != 0 - && !term_frequent_0 - && term_frequent_1 - && term_phrase_0 - && term_phrase_1) - { - let term_string = [term_0.as_str(), term_1.as_str()].join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramRF as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramRF, - term_ngram_1: term_0.clone(), - term_ngram_0: term_1.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16); - - non_unique_terms.push(NonUniqueTermObject { - term: term_string, - ngram_type: NgramType::NgramRF, - op: QueryType::Phrase, - term_ngram_1: term_0.clone(), - term_ngram_0: term_1.clone(), - - ..Default::default() - }); - - i += 2; - - term_0 = term_2.clone(); - term_frequent_0 = term_frequent_2; - - if len > i + 1 { - let item = &non_unique_terms_raw[i + 1]; - term_1 = item.0.clone(); - let term_hash_1 = hash64(term_1.as_bytes()); - term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); - term_phrase_1 = item.1 == QueryType::Phrase; - } else { - term_1 = "".to_string(); - term_frequent_1 = false; - term_phrase_1 = false; - } - } else if i + 1 < len - && (ngram_indexing & NgramSet::NgramFR as u8 != 0 - && term_frequent_0 - && !term_frequent_1 - && term_phrase_0 - && term_phrase_1) - { - let term_string = [term_0.as_str(), term_1.as_str()].join(" "); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.clone(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes) | NgramType::NgramFR as u64, - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::NgramFR, - term_ngram_1: term_0.clone(), - term_ngram_0: term_1.clone(), - - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16); - - non_unique_terms.push(NonUniqueTermObject { - term: term_string, - ngram_type: NgramType::NgramFR, - op: QueryType::Phrase, - term_ngram_1: term_0.clone(), - term_ngram_0: term_1.clone(), - - ..Default::default() - }); - - i += 2; - - term_0 = term_2.clone(); - term_frequent_0 = term_frequent_2; - - if len > i + 1 { - let item = &non_unique_terms_raw[i + 1]; - term_1 = item.0.clone(); - let term_hash_1 = hash64(term_1.as_bytes()); - term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); - term_phrase_1 = item.1 == QueryType::Phrase; - } else { - term_1 = "".to_string(); - term_frequent_1 = false; - term_phrase_1 = false; - } - } else { - let term_string = term_0.clone(); - - let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { - let term_bytes = term_string.as_bytes(); - TermObject { - term: term_string.to_string(), - key0: hash32(term_bytes) & segment_number_mask1, - key_hash: hash64(term_bytes), - field_positions_vec: vec![Vec::new(); indexed_field_number], - ngram_type: NgramType::SingleTerm, - ..Default::default() - } - }); - term_object.field_positions_vec[indexed_field_id].push(position as u16); - - non_unique_terms.push(NonUniqueTermObject { - term: term_string, - ngram_type: NgramType::SingleTerm, - op: non_unique_terms_raw[i].1.clone(), - ..Default::default() - }); - - i += 1; - - term_0.clone_from(&term_1); - term_1.clone_from(&term_2); - - term_frequent_0 = term_frequent_1; - term_frequent_1 = term_frequent_2; - - term_phrase_0 = term_phrase_1; - term_phrase_1 = term_phrase_2; - }; - - position += 1; - } - } - - *nonunique_terms_count = position; -} - -/// Parse a string into words, using the specified tokenizer type. -pub fn tokenizer_lite( - text: &str, - tokenizer: &TokenizerType, - index: &Shard, -) -> Vec<(String, QueryType)> { - let text_normalized; - let mut non_unique_terms_line: Vec = Vec::new(); - - let mut start = false; - let mut start_pos = 0; - let mut first_part = &text[0..0]; - - match tokenizer { - TokenizerType::AsciiAlphabetic => { - text_normalized = text.to_ascii_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - 'a'..='z' | '"' | '+' | '-' => { - if !start { - start_pos = char.0; - } - true - } - - _ => { - if start { - non_unique_terms_line - .push(text_normalized[start_pos..char.0].to_string()); - } - false - } - }; - } - } - TokenizerType::UnicodeAlphanumeric => { - text_normalized = text.to_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if regex_syntax::is_word_character(token) => { - if !start { - start_pos = char.0; - } - true - } - - '"' | '+' | '-' | '#' => { - if !start { - start_pos = char.0; - } - true - } - _ => { - if start { - non_unique_terms_line - .push(text_normalized[start_pos..char.0].to_string()); - } - false - } - }; - } - } - TokenizerType::UnicodeAlphanumericFolded => { - text_normalized = fold_diacritics_accents_ligatures_zalgo_umlaut(text); - for char in text_normalized.char_indices() { - start = match char.1 { - token if regex_syntax::is_word_character(token) => { - if !start { - start_pos = char.0; - } - true - } - '"' | '+' | '-' | '#' => { - if !start { - start_pos = char.0; - } - true - } - - _ => { - let apostroph = APOSTROPH.contains(&char.1); - if start { - if apostroph { - first_part = &text_normalized[start_pos..char.0]; - } else { - if first_part.len() >= 2 { - non_unique_terms_line.push(first_part.to_string()) - } else { - non_unique_terms_line - .push(text_normalized[start_pos..char.0].to_string()); - } - first_part = &text_normalized[0..0]; - } - } else if !apostroph && !first_part.is_empty() { - non_unique_terms_line.push(first_part.to_string()); - first_part = &text_normalized[0..0]; - } - - false - } - }; - } - } - - TokenizerType::Whitespace => { - text_normalized = text.to_owned(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if !token.is_whitespace() => { - if !start { - start_pos = char.0; - } - true - } - - _ => { - if start { - non_unique_terms_line - .push(text_normalized[start_pos..char.0].to_string()); - } - false - } - }; - } - } - - TokenizerType::WhitespaceLowercase => { - text_normalized = text.to_ascii_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if !token.is_whitespace() => { - if !start { - start_pos = char.0; - } - true - } - - _ => { - if start { - non_unique_terms_line - .push(text_normalized[start_pos..char.0].to_string()); - } - false - } - }; - } - } - - #[cfg(feature = "zh")] - TokenizerType::UnicodeAlphanumericZH => { - text_normalized = text.to_lowercase(); - for char in text_normalized.char_indices() { - start = match char.1 { - token if regex_syntax::is_word_character(token) => { - if !start { - start_pos = char.0; - } - true - } - - '"' | '+' | '-' | '#' => { - if !start { - start_pos = char.0; - } - true - } - _ => { - if start { - let result = index - .word_segmentation_option - .as_ref() - .unwrap() - .segment(&text_normalized[start_pos..char.0], true); - non_unique_terms_line.extend(result.0); - } - false - } - }; - } - } - } - - #[cfg(feature = "zh")] - if tokenizer == &TokenizerType::UnicodeAlphanumericZH { - if start { - if first_part.len() >= 2 { - let result = index - .word_segmentation_option - .as_ref() - .unwrap() - .segment(first_part, true); - non_unique_terms_line.extend(result.0); - } else { - non_unique_terms_line - .push(text_normalized[start_pos..text_normalized.len()].to_string()); - let result = index - .word_segmentation_option - .as_ref() - .unwrap() - .segment(&text_normalized[start_pos..text_normalized.len()], true); - non_unique_terms_line.extend(result.0); - } - } else if !first_part.is_empty() { - let result = index - .word_segmentation_option - .as_ref() - .unwrap() - .segment(first_part, true); - non_unique_terms_line.extend(result.0); - } - } - - if tokenizer != &TokenizerType::AsciiAlphabetic - || tokenizer == &TokenizerType::UnicodeAlphanumeric - || tokenizer == &TokenizerType::UnicodeAlphanumericFolded - || tokenizer == &TokenizerType::Whitespace - || tokenizer == &TokenizerType::WhitespaceLowercase - { - if start { - if first_part.len() >= 2 { - non_unique_terms_line.push(first_part.to_string()) - } else { - non_unique_terms_line - .push(text_normalized[start_pos..text_normalized.len()].to_string()); - } - } else if !first_part.is_empty() { - non_unique_terms_line.push(first_part.to_string()) - } - } - - let mut non_unique_terms_raw = Vec::new(); - let query_type = &mut QueryType::Union; - let mut is_phrase = query_type == &QueryType::Phrase; - let mut is_endswith_quote = false; - for term_string in non_unique_terms_line.iter_mut() { - if is_endswith_quote { - return Vec::new(); - } - - let mut query_type_term = if is_phrase { - QueryType::Phrase - } else { - query_type.clone() - }; - if term_string.starts_with('+') || term_string.starts_with('-') { - return Vec::new(); - } - if term_string.starts_with('\"') { - if !non_unique_terms_raw.is_empty() { - return Vec::new(); - } - - is_phrase = true; - *query_type = QueryType::Phrase; - query_type_term = QueryType::Phrase; - *term_string = term_string[1..].to_string(); - } - if term_string.ends_with('\"') { - *query_type = QueryType::Phrase; - *term_string = term_string[0..term_string.len() - 1].to_string(); - is_phrase = false; - is_endswith_quote = true; - } - - if term_string.is_empty() { - continue; - } - - if !index.stop_words.is_empty() && index.stop_words.contains(term_string) { - continue; - } - - let term_string = if let Some(stemmer) = index.stemmer.as_ref() { - stemmer.stem(term_string).to_string() - } else { - term_string.to_string() - }; - - non_unique_terms_raw.push((term_string, query_type_term)); - } - - non_unique_terms_raw -} diff --git a/mobile_app/rust/src/seekstorm/union.rs b/mobile_app/rust/src/seekstorm/union.rs deleted file mode 100644 index b2d95f2..0000000 --- a/mobile_app/rust/src/seekstorm/union.rs +++ /dev/null @@ -1,1478 +0,0 @@ -use crate::{ - add_result::{add_result_multiterm_multifield, is_facet_filter}, - compatible::{_blsr_u64, _mm_tzcnt_64}, - geo_search::{decode_morton_2_d, euclidian_distance}, - index::{ - AccessType, CompressionType, FieldType, NonUniquePostingListObjectQuery, - PostingListObjectQuery, QueueObject, ROARING_BLOCK_SIZE, Shard, - }, - intersection::intersection_blockid, - search::{FilterSparse, Ranges, ResultType, SearchResult}, - single::{single_blockid, single_docid}, - utils::{ - block_copy, read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u16, read_u32, - read_u64, write_u64, - }, -}; - -use ahash::AHashSet; -use num_traits::FromPrimitive; - -use std::sync::Arc; -use std::{ - cmp, - sync::atomic::{AtomicUsize, Ordering}, -}; - -use async_recursion::async_recursion; - -/// Union for a single block -#[allow(clippy::too_many_arguments)] -pub(crate) async fn union_docid<'a>( - shard: &'a Shard, - non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], - query_list: &mut Vec>, - not_query_list: &mut [PostingListObjectQuery<'a>], - block_id: usize, - result_count: &mut i32, - search_result: &mut SearchResult<'_>, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], -) { - for plo in not_query_list.iter_mut() { - let query_list_item_mut = plo; - - let result = query_list_item_mut - .blocks - .binary_search_by(|block| block.block_id.cmp(&(block_id as u32))); - match result { - Ok(p_block) => { - query_list_item_mut.bm25_flag = true; - query_list_item_mut.p_block = p_block as i32 - } - Err(_) => { - query_list_item_mut.bm25_flag = false; - continue; - } - }; - let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; - - query_list_item_mut.compression_type = - FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); - - query_list_item_mut.rank_position_pointer_range = - blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; - - let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 - + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { - ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 - } else { - 0 - }; - query_list_item_mut.compressed_doc_id_range = - query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; - - query_list_item_mut.p_docid = 0; - query_list_item_mut.p_docid_count = - query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count as usize - + 1; - - query_list_item_mut.docid = 0; - - if query_list_item_mut.compression_type == CompressionType::Rle { - query_list_item_mut.p_run_count = read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range, - ) as i32; - let startdocid = read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range + 2, - ); - let runlength = read_u16( - query_list_item_mut.byte_array, - query_list_item_mut.compressed_doc_id_range + 4, - ); - query_list_item_mut.docid = startdocid as i32; - query_list_item_mut.run_end = (startdocid + runlength) as i32; - query_list_item_mut.p_run_sum = runlength as i32; - query_list_item_mut.p_run = 6; - } - } - - let mut valid_term_count = 0; - let mut term_index = 0; - let mut single_term_index = 0; - - for query_list_item_mut in query_list.iter_mut() { - query_list_item_mut.end_flag = query_list_item_mut.end_flag_block - || (query_list_item_mut.blocks[query_list_item_mut.p_block as usize].block_id - != block_id as u32); - - if query_list_item_mut.end_flag { - term_index += 1; - continue; - } - - valid_term_count += 1; - single_term_index = term_index; - term_index += 1; - - query_list_item_mut.p_docid = 0; - query_list_item_mut.p_docid_count = - query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count as usize - + 1; - - query_list_item_mut.compression_type = FromPrimitive::from_u32( - query_list_item_mut.blocks[query_list_item_mut.p_block as usize] - .compression_type_pointer - >> 30, - ) - .unwrap(); - - query_list_item_mut.rank_position_pointer_range = query_list_item_mut.blocks - [query_list_item_mut.p_block as usize] - .compression_type_pointer - & 0b0011_1111_1111_1111_1111_1111_1111_1111; - - query_list_item_mut.pointer_pivot_p_docid = - query_list_item_mut.blocks[query_list_item_mut.p_block as usize].pointer_pivot_p_docid; - - let posting_pointer_size_sum = query_list_item_mut.blocks - [query_list_item_mut.p_block as usize] - .pointer_pivot_p_docid as usize - * 2 - + if (query_list_item_mut.blocks[query_list_item_mut.p_block as usize] - .pointer_pivot_p_docid as usize) - <= query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count - as usize - { - ((query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count - as usize - + 1) - - query_list_item_mut.blocks[query_list_item_mut.p_block as usize] - .pointer_pivot_p_docid as usize) - * 3 - } else { - 0 - }; - query_list_item_mut.compressed_doc_id_range = - query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; - query_list_item_mut.docid = 0; - query_list_item_mut.intersect = 0; - query_list_item_mut.ulong_pos = 0; - query_list_item_mut.p_run = -2; - query_list_item_mut.run_end = 0; - } - - if valid_term_count == 0 { - return; - } - - if valid_term_count == 1 { - if result_type == &ResultType::Count && search_result.query_facets.is_empty() { - *result_count += query_list[single_term_index].p_docid_count as i32; - } else { - let skip_facet_count = search_result.skip_facet_count; - search_result.skip_facet_count = false; - - single_docid( - shard, - query_list, - not_query_list, - &query_list[single_term_index].blocks - [query_list[single_term_index].p_block as usize], - single_term_index, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - ) - .await; - - search_result.skip_facet_count = skip_facet_count; - } - return; - }; - - if result_type == &ResultType::Count { - union_count( - shard, - result_count, - search_result, - query_list, - not_query_list, - facet_filter, - block_id, - ) - .await; - return; - } - - if query_list.len() <= 8 { - union_scan_8( - shard, - non_unique_query_list, - query_list, - not_query_list, - block_id, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - ) - .await; - } else { - let mut result_count_local = *result_count; - union_scan_32( - shard, - non_unique_query_list, - query_list, - not_query_list, - block_id, - result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - ) - .await; - - if query_list.len() > 32 && result_type == &ResultType::TopkCount { - union_count( - shard, - &mut result_count_local, - search_result, - query_list, - not_query_list, - facet_filter, - block_id, - ) - .await; - *result_count = result_count_local; - } - } -} - -#[allow(clippy::too_many_arguments)] -pub(crate) async fn union_blockid<'a>( - shard: &'a Shard, - non_unique_query_list: &mut Vec>, - query_list: &mut Vec>, - not_query_list: &mut [PostingListObjectQuery<'a>], - result_count_arc: &Arc, - search_result: &mut SearchResult<'_>, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], -) { - let item_0 = &query_list[0]; - let enable_inter_query_threading_multi = - if !shard.enable_search_quality_test && shard.enable_inter_query_threading_auto { - item_0.posting_count / item_0.p_block_max as u32 > 10 - } else { - shard.enable_inter_query_threading - }; - let mut task_list = Vec::new(); - - loop { - let mut break_loop = true; - let mut block_id_min = usize::MAX; - - for plo in query_list.iter_mut() { - if !plo.end_flag_block { - let block_id = plo.blocks[plo.p_block as usize].block_id as usize; - - if block_id < block_id_min { - block_id_min = block_id; - } - } - } - - if !enable_inter_query_threading_multi { - if shard.meta.access_type == AccessType::Mmap { - for query_list_item_mut in query_list.iter_mut() { - let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; - query_list_item_mut.byte_array = - &shard.index_file_mmap[segment.byte_array_blocks_pointer[block_id_min].0 - ..segment.byte_array_blocks_pointer[block_id_min].0 - + segment.byte_array_blocks_pointer[block_id_min].1]; - } - for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { - let segment = - &shard.segments_index[nonunique_query_list_item_mut.key0 as usize]; - nonunique_query_list_item_mut.byte_array = - &shard.index_file_mmap[segment.byte_array_blocks_pointer[block_id_min].0 - ..segment.byte_array_blocks_pointer[block_id_min].0 - + segment.byte_array_blocks_pointer[block_id_min].1]; - } - for not_query_list_item_mut in not_query_list.iter_mut() { - let segment = &shard.segments_index[not_query_list_item_mut.key0 as usize]; - not_query_list_item_mut.byte_array = - &shard.index_file_mmap[segment.byte_array_blocks_pointer[block_id_min].0 - ..segment.byte_array_blocks_pointer[block_id_min].0 - + segment.byte_array_blocks_pointer[block_id_min].1]; - } - } else { - for query_list_item_mut in query_list.iter_mut() { - query_list_item_mut.byte_array = &shard.segments_index - [query_list_item_mut.key0 as usize] - .byte_array_blocks[block_id_min]; - } - for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { - nonunique_query_list_item_mut.byte_array = &shard.segments_index - [nonunique_query_list_item_mut.key0 as usize] - .byte_array_blocks[block_id_min]; - } - for not_query_list_item_mut in not_query_list.iter_mut() { - not_query_list_item_mut.byte_array = &shard.segments_index - [not_query_list_item_mut.key0 as usize] - .byte_array_blocks[block_id_min]; - } - } - - let mut result_count_local = 0; - union_docid( - shard, - non_unique_query_list, - query_list, - not_query_list, - block_id_min, - &mut result_count_local, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - ) - .await; - - result_count_arc.fetch_add(result_count_local as usize, Ordering::Relaxed); - } else { - let mut query_list_copy: Vec = Vec::new(); - let mut non_unique_query_list_copy: Vec = Vec::new(); - - for x in &mut *query_list { - query_list_copy.push(x.clone()); - } - - for x in &mut *non_unique_query_list { - let y = x.clone(); - non_unique_query_list_copy.push(y); - } - - let result_count_clone = result_count_arc.clone(); - - task_list.push(tokio::spawn(async move { - let result_count_local = 1; - result_count_clone.fetch_add(result_count_local, Ordering::Relaxed); - })); - } - - for plo in query_list.iter_mut() { - if !plo.end_flag_block { - let block_id = plo.blocks[plo.p_block as usize].block_id as usize; - if block_id == block_id_min { - if plo.p_block < plo.p_block_max - 1 { - plo.p_block += 1; - break_loop = false; - } else { - plo.end_flag_block = true; - } - } else { - break_loop = false; - } - } - } - - if break_loop { - break; - } - } -} - -#[allow(clippy::too_many_arguments)] -pub(crate) async fn union_scan_8<'a>( - shard: &'a Shard, - non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], - query_list: &mut [PostingListObjectQuery<'a>], - not_query_list: &mut [PostingListObjectQuery<'a>], - block_id: usize, - result_count: &mut i32, - search_result: &mut SearchResult<'_>, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], -) { - let union_max = 8usize; - - let mut query_terms_bitset_table: [u8; ROARING_BLOCK_SIZE] = [0u8; ROARING_BLOCK_SIZE]; - let mut result_count_local = 0; - - query_list.sort_by(|a, b| { - b.blocks[b.p_block as usize] - .max_block_score - .partial_cmp(&a.blocks[a.p_block as usize].max_block_score) - .unwrap() - }); - - let mut max_score = 0.0; - - for (i, plo) in query_list.iter_mut().take(union_max).enumerate() { - if plo.end_flag { - continue; - } - - plo.p_docid = 0; - let mask = 1 << i; - max_score += plo.blocks[plo.p_block as usize].max_block_score; - - if plo.compression_type == CompressionType::Bitmap { - for ulong_pos in 0u64..1024 { - let mut intersect: u64 = read_u64( - &plo.byte_array[plo.compressed_doc_id_range..], - ulong_pos as usize * 8, - ); - - while intersect != 0 { - let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; - intersect = unsafe { _blsr_u64(intersect) }; - - let docid = ((ulong_pos << 6) + bit_pos) as usize; - query_terms_bitset_table[docid] |= mask; - } - } - } else if plo.compression_type == CompressionType::Array { - for i in 0..plo.p_docid_count { - let docid = - read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; - - query_terms_bitset_table[docid] |= mask; - } - } else { - let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; - - for ii in (1..(runs_count << 1) + 1).step_by(2) { - let startdocid = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - ii as usize * 2, - ) as usize; - let runlength = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - (ii + 1) as usize * 2, - ) as usize; - - for j in 0..=runlength { - let docid = startdocid + j; - - query_terms_bitset_table[docid] |= mask; - } - } - } - } - - for plo in not_query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - if plo.compression_type == CompressionType::Bitmap { - for ulong_pos in 0u64..1024 { - let mut intersect: u64 = read_u64( - &plo.byte_array[plo.compressed_doc_id_range..], - ulong_pos as usize * 8, - ); - - while intersect != 0 { - let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; - intersect = unsafe { _blsr_u64(intersect) }; - - let docid = ((ulong_pos << 6) + bit_pos) as usize; - query_terms_bitset_table[docid] = 0; - } - } - } else if plo.compression_type == CompressionType::Array { - for i in 0..plo.p_docid_count { - let docid = - read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; - - query_terms_bitset_table[docid] = 0; - } - } else { - let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; - - for ii in (1..(runs_count << 1) + 1).step_by(2) { - let startdocid = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - ii as usize * 2, - ) as usize; - let runlength = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - (ii + 1) as usize * 2, - ) as usize; - - for j in 0..=runlength { - let docid = startdocid + j; - - query_terms_bitset_table[docid] = 0; - } - } - } - } - - let block_skip = search_result.topk_candidates.current_heap_size >= top_k - && max_score <= search_result.topk_candidates._elements[0].score - && search_result.topk_candidates.result_sort.is_empty(); - - let query_list_len = cmp::min(query_list.len(), union_max); - - let query_combination_count = 1 << query_list_len; - let mut query_terms_max_score_sum_table: Vec = vec![0.0; query_combination_count]; - for (i, max_score) in query_terms_max_score_sum_table.iter_mut().enumerate() { - for (j, term) in query_list.iter().enumerate().take(query_list_len) { - if ((1 << j) & i) > 0 { - *max_score += term.blocks[term.p_block as usize].max_block_score - } - } - } - - let mut p_docid_array = vec![0u16; union_max]; - - let mut _result_count = 0; - let block_id_msb = block_id << 16; - - for (i, query_terms_bitset) in query_terms_bitset_table.iter().enumerate() { - if *query_terms_bitset > 0 { - result_count_local += 1; - - if !block_skip - && (search_result.topk_candidates.current_heap_size < top_k - || query_terms_max_score_sum_table[*query_terms_bitset as usize] - > search_result.topk_candidates._elements[0].score) - { - for (j, query_term) in query_list.iter_mut().take(query_list_len).enumerate() { - query_term.bm25_flag = (query_terms_bitset & (1 << j)) > 0; - - query_term.p_docid = p_docid_array[j] as usize; - } - - add_result_multiterm_multifield( - shard, - block_id_msb | i, - &mut _result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - false, - f32::MAX, - false, - ); - } - - if !block_skip { - for (j, item) in p_docid_array.iter_mut().take(query_list_len).enumerate() { - *item += ((query_terms_bitset >> j) & 1) as u16 - } - } - } - } - - *result_count += result_count_local; -} - -#[allow(clippy::too_many_arguments)] -pub(crate) async fn union_scan_32<'a>( - shard: &'a Shard, - non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], - query_list: &mut [PostingListObjectQuery<'a>], - not_query_list: &mut [PostingListObjectQuery<'a>], - block_id: usize, - result_count: &mut i32, - search_result: &mut SearchResult<'_>, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], -) { - let union_max = 32usize; - - let mut query_terms_bitset_table: [u32; ROARING_BLOCK_SIZE] = [0u32; ROARING_BLOCK_SIZE]; - let mut result_count_local = 0; - - query_list.sort_by(|a, b| { - b.blocks[b.p_block as usize] - .max_block_score - .partial_cmp(&a.blocks[a.p_block as usize].max_block_score) - .unwrap() - }); - - let mut max_score = 0.0; - let mut mask = u32::MAX >> (32 - query_list.len()); - for plo in query_list.iter_mut().take(union_max).rev() { - if plo.end_flag { - continue; - } - max_score += plo.blocks[plo.p_block as usize].max_block_score; - - if max_score > search_result.topk_candidates._elements[0].score { - break; - } - - mask >>= 1; - } - - let mut max_score = 0.0; - - for (i, plo) in query_list.iter_mut().take(union_max).enumerate() { - if plo.end_flag { - continue; - } - - plo.p_docid = 0; - let mask = 1 << i; - max_score += plo.blocks[plo.p_block as usize].max_block_score; - - if plo.compression_type == CompressionType::Bitmap { - for ulong_pos in 0u64..1024 { - let mut intersect: u64 = read_u64( - &plo.byte_array[plo.compressed_doc_id_range..], - ulong_pos as usize * 8, - ); - - while intersect != 0 { - let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; - intersect = unsafe { _blsr_u64(intersect) }; - - let docid = ((ulong_pos << 6) + bit_pos) as usize; - query_terms_bitset_table[docid] |= mask; - } - } - } else if plo.compression_type == CompressionType::Array { - for i in 0..plo.p_docid_count { - let docid = - read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; - - query_terms_bitset_table[docid] |= mask; - } - } else { - let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; - - for ii in (1..(runs_count << 1) + 1).step_by(2) { - let startdocid = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - ii as usize * 2, - ) as usize; - let runlength = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - (ii + 1) as usize * 2, - ) as usize; - - for j in 0..=runlength { - let docid = startdocid + j; - - query_terms_bitset_table[docid] |= mask; - } - } - } - } - - for plo in not_query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - if plo.compression_type == CompressionType::Bitmap { - for ulong_pos in 0u64..1024 { - let mut intersect: u64 = read_u64( - &plo.byte_array[plo.compressed_doc_id_range..], - ulong_pos as usize * 8, - ); - - while intersect != 0 { - let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; - intersect = unsafe { _blsr_u64(intersect) }; - - let docid = ((ulong_pos << 6) + bit_pos) as usize; - query_terms_bitset_table[docid] = 0; - } - } - } else if plo.compression_type == CompressionType::Array { - for i in 0..plo.p_docid_count { - let docid = - read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; - - query_terms_bitset_table[docid] = 0; - } - } else { - let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; - - for ii in (1..(runs_count << 1) + 1).step_by(2) { - let startdocid = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - ii as usize * 2, - ) as usize; - let runlength = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - (ii + 1) as usize * 2, - ) as usize; - - for j in 0..=runlength { - let docid = startdocid + j; - - query_terms_bitset_table[docid] = 0; - } - } - } - } - - let block_skip = search_result.topk_candidates.current_heap_size >= top_k - && max_score <= search_result.topk_candidates._elements[0].score - && search_result.topk_candidates.result_sort.is_empty(); - - let query_list_len = cmp::min(query_list.len(), union_max); - - let mut p_docid_array = vec![0u16; union_max]; - - let mut _result_count = 0; - let block_id_msb = block_id << 16; - - for (i, query_terms_bitset) in query_terms_bitset_table.iter().enumerate() { - if *query_terms_bitset > 0 { - result_count_local += 1; - - if !block_skip - && (search_result.topk_candidates.current_heap_size < top_k - || query_terms_bitset & mask > 0) - { - let mut query_terms_max_score_sum = 0f32; - for (j, plo) in query_list.iter().enumerate() { - if (query_terms_bitset & (1 << j)) > 0 { - query_terms_max_score_sum += - plo.blocks[plo.p_block as usize].max_block_score; - } - } - if query_terms_max_score_sum > search_result.topk_candidates._elements[0].score { - for (j, query_term) in query_list.iter_mut().take(query_list_len).enumerate() { - query_term.bm25_flag = (query_terms_bitset & (1 << j)) > 0; - - query_term.p_docid = p_docid_array[j] as usize; - } - - add_result_multiterm_multifield( - shard, - block_id_msb | i, - &mut _result_count, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - non_unique_query_list, - query_list, - not_query_list, - false, - f32::MAX, - false, - ); - } - } - - if !block_skip { - for (j, item) in p_docid_array.iter_mut().take(query_list_len).enumerate() { - *item += ((query_terms_bitset >> j) & 1) as u16 - } - } - - continue; - } - } - - *result_count += result_count_local; -} - -pub(crate) async fn union_count<'a>( - shard: &'a Shard, - result_count: &mut i32, - search_result: &mut SearchResult<'_>, - - query_list: &mut [PostingListObjectQuery<'a>], - not_query_list: &mut [PostingListObjectQuery<'a>], - facet_filter: &[FilterSparse], - block_id: usize, -) { - query_list.sort_unstable_by(|a, b| b.p_docid_count.partial_cmp(&a.p_docid_count).unwrap()); - - let mut result_count_local = - query_list[0].blocks[query_list[0].p_block as usize].posting_count as u32 + 1; - - let mut bitmap_0: [u8; 8192] = [0u8; 8192]; - - for (i, plo) in query_list.iter_mut().enumerate() { - if plo.end_flag { - continue; - } - - if plo.compression_type == CompressionType::Bitmap { - if i == 0 { - block_copy( - plo.byte_array, - plo.compressed_doc_id_range, - &mut bitmap_0, - 0, - 8192, - ); - } else { - for i in (0..8192).step_by(8) { - let x1 = read_u64(&bitmap_0, i); - let x2 = read_u64(&plo.byte_array[plo.compressed_doc_id_range..], i); - result_count_local += u64::count_ones(!x1 & x2); - write_u64(x1 | x2, &mut bitmap_0, i); - } - } - } else if plo.compression_type == CompressionType::Array { - if i == 0 { - for i in 0..plo.p_docid_count { - let docid = - read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; - let byte_index = docid >> 3; - let bit_index = docid & 7; - - bitmap_0[byte_index] |= 1 << bit_index; - } - } else { - for i in 0..plo.p_docid_count { - let docid = - read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; - let byte_index = docid >> 3; - let bit_index = docid & 7; - - if bitmap_0[byte_index] & (1 << bit_index) == 0 { - bitmap_0[byte_index] |= 1 << bit_index; - result_count_local += 1; - } - } - } - } else { - let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; - - if i == 0 { - for ii in (1..(runs_count << 1) + 1).step_by(2) { - let startdocid = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - ii as usize * 2, - ) as usize; - let runlength = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - (ii + 1) as usize * 2, - ) as usize; - - for j in 0..=runlength { - let docid = startdocid + j; - let byte_index = docid >> 3; - let bit_index = docid & 7; - - bitmap_0[byte_index] |= 1 << bit_index; - } - } - } else { - for ii in (1..(runs_count << 1) + 1).step_by(2) { - let startdocid = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - ii as usize * 2, - ) as usize; - let runlength = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - (ii + 1) as usize * 2, - ) as usize; - - for j in 0..=runlength { - let docid = startdocid + j; - let byte_index = docid >> 3; - let bit_index = docid & 7; - - if bitmap_0[byte_index] & (1 << bit_index) == 0 { - bitmap_0[byte_index] |= 1 << bit_index; - result_count_local += 1; - } - } - } - } - } - } - - for plo in not_query_list.iter_mut() { - if !plo.bm25_flag { - continue; - } - - match plo.compression_type { - CompressionType::Array => { - for i in 0..plo.p_docid_count { - let docid = - read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; - let byte_index = docid >> 3; - let bit_index = docid & 7; - if bitmap_0[byte_index] & (1 << bit_index) != 0 { - bitmap_0[byte_index] &= !(1 << bit_index); - result_count_local -= 1; - } - } - } - - CompressionType::Rle => { - let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; - - for i in (1..(runs_count << 1) + 1).step_by(2) { - let startdocid = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - i as usize * 2, - ); - let runlength = read_u16( - &plo.byte_array[plo.compressed_doc_id_range..], - (i + 1) as usize * 2, - ); - - for j in 0..=runlength { - let docid = (startdocid + j) as usize; - - let byte_index = docid >> 3; - let bit_index = docid & 7; - if bitmap_0[byte_index] & (1 << bit_index) != 0 { - bitmap_0[byte_index] &= !(1 << bit_index); - result_count_local -= 1; - } - } - } - } - - CompressionType::Bitmap => { - for i in (0..8192).step_by(8) { - let x1 = read_u64(&bitmap_0, i); - let x2 = read_u64(&plo.byte_array[plo.compressed_doc_id_range..], i); - result_count_local -= u64::count_ones(x1 & x2); - write_u64(x1 & !x2, &mut bitmap_0, i); - } - } - - _ => {} - } - } - - if !shard.delete_hashset.is_empty() { - for docid in shard.delete_hashset.iter() { - if block_id == docid >> 16 { - let byte_index = (docid >> 3) & 8191; - let bit_mask = 1 << (docid & 7); - if bitmap_0[byte_index] & bit_mask > 0 { - bitmap_0[byte_index] &= !bit_mask; - result_count_local -= 1; - } - } - } - } - - if !search_result.query_facets.is_empty() || !facet_filter.is_empty() { - let block_id_msb = block_id << 16; - for ulong_pos in 0usize..1024 { - let ulong_pos_msb = block_id_msb | ulong_pos << 6; - let mut intersect = read_u64(&bitmap_0, ulong_pos * 8); - 'next: while intersect != 0 { - let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as usize; - intersect = unsafe { _blsr_u64(intersect) }; - - let docid = ulong_pos_msb | bit_pos; - - if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { - result_count_local -= 1; - continue 'next; - } - - for (i, facet) in shard.facets.iter().enumerate() { - if search_result.query_facets[i].length == 0 { - continue; - } - - let facet_value_id = match &search_result.query_facets[i].ranges { - Ranges::U8(_range_type, ranges) => { - let facet_value = shard.facets_file_mmap - [(shard.facets_size_sum * docid) + facet.offset]; - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::U16(_range_type, ranges) => { - let facet_value = read_u16( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::U32(_range_type, ranges) => { - let facet_value = read_u32( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::U64(_range_type, ranges) => { - let facet_value = read_u64( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::I8(_range_type, ranges) => { - let facet_value = read_i8( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::I16(_range_type, ranges) => { - let facet_value = read_i16( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::I32(_range_type, ranges) => { - let facet_value = read_i32( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::I64(_range_type, ranges) => { - let facet_value = read_i64( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::Timestamp(_range_type, ranges) => { - let facet_value = read_i64( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by_key(&facet_value, |range| range.1) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::F32(_range_type, ranges) => { - let facet_value = read_f32( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by(|range| { - range.1.partial_cmp(&facet_value).unwrap() - }) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::F64(_range_type, ranges) => { - let facet_value = read_f64( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - ranges - .binary_search_by(|range| { - range.1.partial_cmp(&facet_value).unwrap() - }) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - Ranges::Point(_range_type, ranges, base, unit) => { - let facet_value = read_u64( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ); - let facet_value_distance = - euclidian_distance(base, &decode_morton_2_d(facet_value), unit); - ranges - .binary_search_by(|range| { - range.1.partial_cmp(&facet_value_distance).unwrap() - }) - .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) - as u32 - } - - _ => { - if facet.field_type == FieldType::String16 - || facet.field_type == FieldType::StringSet16 - { - read_u16( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ) as u32 - } else { - read_u32( - &shard.facets_file_mmap, - (shard.facets_size_sum * docid) + facet.offset, - ) - } - } - }; - - *search_result.query_facets[i] - .values - .entry(facet_value_id) - .or_insert(0) += 1; - } - } - } - } - - *result_count += result_count_local as i32; -} - -#[allow(clippy::too_many_arguments)] -#[allow(clippy::ptr_arg)] -pub(crate) async fn union_docid_2<'a>( - shard: &'a Shard, - non_unique_query_list: &mut Vec>, - query_list: &mut Vec>, - not_query_list: &mut Vec>, - result_count_arc: &Arc, - search_result: &mut SearchResult<'_>, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - matching_blocks: &mut i32, - query_term_count: usize, -) { - let filtered = !not_query_list.is_empty() || !field_filter_set.is_empty(); - let mut count = 0; - if filtered { - single_blockid( - shard, - non_unique_query_list, - &mut query_list[0..1].to_vec(), - not_query_list, - result_count_arc, - search_result, - top_k, - &ResultType::Count, - field_filter_set, - facet_filter, - matching_blocks, - ) - .await; - - single_blockid( - shard, - non_unique_query_list, - &mut query_list[1..2].to_vec(), - not_query_list, - result_count_arc, - search_result, - top_k, - &ResultType::Count, - field_filter_set, - facet_filter, - matching_blocks, - ) - .await; - - count = result_count_arc.load(Ordering::Relaxed); - result_count_arc.store(0, Ordering::Relaxed); - } - - intersection_blockid( - shard, - non_unique_query_list, - query_list, - not_query_list, - result_count_arc, - search_result, - top_k, - result_type, - field_filter_set, - facet_filter, - matching_blocks, - false, - query_term_count, - ) - .await; - - let mut result_count_local = if filtered { - count - } else { - (query_list[0].posting_count + query_list[1].posting_count) as usize - }; - let result_count_global = result_count_arc.load(Ordering::Relaxed); - if result_count_local > result_count_global { - result_count_local -= result_count_global - } - - if result_type == &ResultType::Count { - result_count_arc.store(result_count_local, Ordering::Relaxed); - return; - } - - if (search_result.topk_candidates.current_heap_size < top_k) - || (query_list[0].max_list_score > search_result.topk_candidates._elements[0].score) - { - for i in 0..search_result.topk_candidates.current_heap_size { - search_result.topk_candidates.docid_hashset.insert( - search_result.topk_candidates._elements[i].doc_id, - search_result.topk_candidates._elements[i].score, - ); - } - - single_blockid( - shard, - non_unique_query_list, - &mut query_list[0..1].to_vec(), - not_query_list, - result_count_arc, - search_result, - top_k, - &ResultType::Topk, - field_filter_set, - facet_filter, - matching_blocks, - ) - .await; - } - - if (search_result.topk_candidates.current_heap_size < top_k) - || (query_list[1].max_list_score > search_result.topk_candidates._elements[0].score) - { - for i in 0..search_result.topk_candidates.current_heap_size { - search_result.topk_candidates.docid_hashset.insert( - search_result.topk_candidates._elements[i].doc_id, - search_result.topk_candidates._elements[i].score, - ); - } - - single_blockid( - shard, - non_unique_query_list, - &mut query_list[1..2].to_vec(), - not_query_list, - result_count_arc, - search_result, - top_k, - &ResultType::Topk, - field_filter_set, - facet_filter, - matching_blocks, - ) - .await; - } - - result_count_arc.store(result_count_local, Ordering::Relaxed); -} - -#[allow(clippy::too_many_arguments)] -#[async_recursion] -pub(crate) async fn union_docid_3<'a>( - shard: &'a Shard, - non_unique_query_list: &mut Vec>, - query_queue: &'a mut Vec>, - not_query_list: &mut Vec>, - - result_count_arc: &Arc, - search_result: &mut SearchResult, - top_k: usize, - result_type: &ResultType, - field_filter_set: &AHashSet, - facet_filter: &[FilterSparse], - matching_blocks: &mut i32, - recursion_count: usize, - query_term_count: usize, -) { - let queue_object = query_queue.remove(0); - - let mut query_list = queue_object.query_list; - - if result_type == &ResultType::Topk || result_type == &ResultType::TopkCount { - if query_list.len() >= 3 { - intersection_blockid( - shard, - non_unique_query_list, - &mut query_list, - not_query_list, - result_count_arc, - search_result, - top_k, - &ResultType::Topk, - field_filter_set, - facet_filter, - matching_blocks, - false, - query_term_count, - ) - .await; - - for j in 0..search_result.topk_candidates.current_heap_size { - search_result.topk_candidates.docid_hashset.insert( - search_result.topk_candidates._elements[j].doc_id, - search_result.topk_candidates._elements[j].score, - ); - } - - { - for i in queue_object.query_index..query_list.len() { - let ii = query_list.len() - 1 - i; - - for plo in query_list.iter_mut() { - plo.p_block = 0; - } - - let list = if ii == 0 { - query_list[1..query_list.len()].to_vec() - } else if ii == query_list.len() - 1 { - query_list[0..query_list.len() - 1].to_vec() - } else { - [&query_list[0..ii], &query_list[ii + 1..query_list.len()]].concat() - }; - - let mut max_score = 0.0; - for term in list.iter() { - max_score += term.max_list_score; - } - - if search_result.topk_candidates.current_heap_size < top_k - || max_score > search_result.topk_candidates._elements[0].score - { - if !query_queue.is_empty() - && max_score > query_queue[query_queue.len() - 1].max_score - { - let pos = query_queue - .binary_search_by(|e| { - e.max_score - .partial_cmp(&max_score) - .expect("Couldn't compare values") - .reverse() - }) - .unwrap_or_else(|e| e); - query_queue.insert( - pos, - QueueObject { - query_list: list, - query_index: i, - max_score, - }, - ); - } else { - query_queue.push(QueueObject { - query_list: list, - query_index: i, - max_score, - }); - } - }; - } - } - } else { - union_docid_2( - shard, - non_unique_query_list, - &mut query_list, - not_query_list, - result_count_arc, - search_result, - top_k, - &ResultType::Topk, - field_filter_set, - facet_filter, - matching_blocks, - query_term_count, - ) - .await; - } - - if !query_queue.is_empty() - && (search_result.topk_candidates.current_heap_size < top_k - || query_queue.first().unwrap().max_score - > search_result.topk_candidates._elements[0].score) - { - for i in 0..search_result.topk_candidates.current_heap_size { - search_result.topk_candidates.docid_hashset.insert( - search_result.topk_candidates._elements[i].doc_id, - search_result.topk_candidates._elements[i].score, - ); - } - - if recursion_count < 200 { - union_docid_3( - shard, - non_unique_query_list, - query_queue, - not_query_list, - result_count_arc, - search_result, - top_k, - &ResultType::Topk, - field_filter_set, - facet_filter, - matching_blocks, - recursion_count + 1, - query_term_count, - ) - .await; - } - } - } - - if result_type == &ResultType::Count || result_type == &ResultType::TopkCount { - for plo in query_list.iter_mut() { - plo.p_block = 0; - } - - result_count_arc.store(0, Ordering::Relaxed); - - union_blockid( - shard, - non_unique_query_list, - &mut query_list, - not_query_list, - result_count_arc, - search_result, - top_k, - &ResultType::Count, - field_filter_set, - facet_filter, - ) - .await; - } -} diff --git a/mobile_app/rust/src/seekstorm/utils.rs b/mobile_app/rust/src/seekstorm/utils.rs deleted file mode 100644 index 0104864..0000000 --- a/mobile_app/rust/src/seekstorm/utils.rs +++ /dev/null @@ -1,167 +0,0 @@ -pub(crate) fn write_u8_ref(value: u8, vec8: &mut [u8], pos: &mut usize) { - vec8[*pos] = value; - *pos += 1; -} - -pub(crate) fn write_u16_ref(value: u16, vec8: &mut [u8], pos: &mut usize) { - vec8[*pos..(*pos + 2)].copy_from_slice(&value.to_le_bytes()); - *pos += 2; -} - -pub(crate) fn write_u32_ref(value: u32, vec8: &mut [u8], pos: &mut usize) { - vec8[*pos..(*pos + 4)].copy_from_slice(&value.to_le_bytes()); - *pos += 4; -} - -pub(crate) fn write_u64_ref(value: u64, vec8: &mut [u8], pos: &mut usize) { - vec8[*pos..(*pos + 8)].copy_from_slice(&value.to_le_bytes()); - *pos += 8; -} - -pub(crate) fn write_u16(value: u16, vec8: &mut [u8], pos: usize) { - vec8[pos..(pos + 2)].copy_from_slice(&value.to_le_bytes()); -} - -pub(crate) fn write_u32(value: u32, vec8: &mut [u8], pos: usize) { - vec8[pos..(pos + 4)].copy_from_slice(&value.to_le_bytes()); -} - -pub(crate) fn write_u64(value: u64, vec8: &mut [u8], pos: usize) { - vec8[pos..(pos + 8)].copy_from_slice(&value.to_le_bytes()); -} - -pub(crate) fn write_i8(value: i8, vec8: &mut [u8], pos: usize) { - vec8[pos..(pos + 1)].copy_from_slice(&value.to_le_bytes()); -} - -pub(crate) fn write_i16(value: i16, vec8: &mut [u8], pos: usize) { - vec8[pos..(pos + 2)].copy_from_slice(&value.to_le_bytes()); -} - -pub(crate) fn write_i32(value: i32, vec8: &mut [u8], pos: usize) { - vec8[pos..(pos + 4)].copy_from_slice(&value.to_le_bytes()); -} - -pub(crate) fn write_i64(value: i64, vec8: &mut [u8], pos: usize) { - vec8[pos..(pos + 8)].copy_from_slice(&value.to_le_bytes()); -} - -pub(crate) fn write_f32(value: f32, vec8: &mut [u8], pos: usize) { - vec8[pos..(pos + 4)].copy_from_slice(&value.to_le_bytes()); -} - -pub(crate) fn write_f64(value: f64, vec8: &mut [u8], pos: usize) { - vec8[pos..(pos + 8)].copy_from_slice(&value.to_le_bytes()); -} - -#[inline] -pub(crate) fn read_u8_ref(vec8: &[u8], pos: &mut usize) -> u8 { - *pos += 1; - vec8[*pos - 1] -} - -#[inline] -pub(crate) fn read_u16_ref(vec8: &[u8], pos: &mut usize) -> u16 { - *pos += 2; - u16::from_le_bytes(vec8[*pos - 2..*pos].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_u32_ref(vec8: &[u8], pos: &mut usize) -> u32 { - *pos += 4; - u32::from_le_bytes(vec8[*pos - 4..*pos].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_u64_ref(vec8: &[u8], pos: &mut usize) -> u64 { - *pos += 8; - u64::from_le_bytes(vec8[*pos - 8..*pos].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_u8(vec8: &[u8], pos: usize) -> u8 { - vec8[pos] -} - -#[inline] -pub(crate) fn read_i8(vec8: &[u8], pos: usize) -> i8 { - i8::from_le_bytes(vec8[pos..pos + 1].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_u16(vec8: &[u8], pos: usize) -> u16 { - u16::from_le_bytes(vec8[pos..pos + 2].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_i16(vec8: &[u8], pos: usize) -> i16 { - i16::from_le_bytes(vec8[pos..pos + 2].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_u32(vec8: &[u8], pos: usize) -> u32 { - u32::from_le_bytes(vec8[pos..pos + 4].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_i32(vec8: &[u8], pos: usize) -> i32 { - i32::from_le_bytes(vec8[pos..pos + 4].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_u64(vec8: &[u8], pos: usize) -> u64 { - u64::from_le_bytes(vec8[pos..pos + 8].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_i64(vec8: &[u8], pos: usize) -> i64 { - i64::from_le_bytes(vec8[pos..pos + 8].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_f32(vec8: &[u8], pos: usize) -> f32 { - f32::from_le_bytes(vec8[pos..pos + 4].try_into().unwrap()) -} - -#[inline] -pub(crate) fn read_f64(vec8: &[u8], pos: usize) -> f64 { - f64::from_le_bytes(vec8[pos..pos + 8].try_into().unwrap()) -} - -pub(crate) fn block_copy_mut( - source: &mut [u8], - source_offset: usize, - destination: &mut [u8], - destination_offset: usize, - len: usize, -) { - destination[destination_offset..(destination_offset + len)] - .copy_from_slice(&source[source_offset..(source_offset + len)]); -} - -pub(crate) fn block_copy( - source: &[u8], - source_offset: usize, - destination: &mut [u8], - destination_offset: usize, - len: usize, -) { - destination[destination_offset..(destination_offset + len)] - .copy_from_slice(&source[source_offset..(source_offset + len)]); -} - -/// Truncates a string to a maximum number of characters. -pub fn truncate(source: &str, max_chars: usize) -> &str { - match source.char_indices().nth(max_chars) { - None => source, - Some((idx, _)) => &source[..idx], - } -} - -/// Returns a substring of the given string, starting at the specified index and with the specified length. -pub fn substring(source: &str, start: usize, length: usize) -> String { - if source.len() <= start + length { - return source.to_string(); - } - source.chars().skip(start).take(length).collect() -} diff --git a/mobile_app/rust/src/seekstorm/word_segmentation.rs b/mobile_app/rust/src/seekstorm/word_segmentation.rs deleted file mode 100644 index 0400eea..0000000 --- a/mobile_app/rust/src/seekstorm/word_segmentation.rs +++ /dev/null @@ -1,185 +0,0 @@ -use std::{ - cmp, - io::{BufRead, BufReader}, -}; - -use ahash::AHashMap; - -#[cfg(feature = "zh")] -static DICTIONARY_TXT: &str = - include_str!("../../assets/dictionaries/frequency_dictionary_zh_cn_349_045.txt"); - -/// word_segmentation_tm: Fast Word Segmentation with Triangular Matrix -/// Rust port of the original C# implementation: https://github.com/wolfgarbe/WordSegmentationTM -/// Copyright (C) 2024 Wolf Garbe -/// Author: Wolf Garbe wolf.garbe@seekstorm.com -/// URL: //https://github.com/wolfgarbe/word_segmentation_tm -/// Description: https://seekstorm.com/blog/fast-word-segmentation-noisy-text/ -/// Find best word segmentation for input string. -/// input_str: The string being word segmented. -/// maximum_dictionary_word_length=max_segmentation_word_length: The maximum word length that should be considered. -/// result: A tuple representing the suggested word segmented text and the sum of logarithmic word occurence probabilities. -#[cfg(feature = "zh")] -pub struct WordSegmentationTM { - pub n: f64, - pub dictionary: AHashMap, f64>, - pub maximum_dictionary_word_length: usize, - pub probability_log_estimation: Vec, -} - -#[cfg(feature = "zh")] -impl WordSegmentationTM { - /// Create a new instanc of WordSegmentationTM - pub(crate) fn new() -> Self { - WordSegmentationTM { - n: 0.0, - dictionary: AHashMap::new(), - maximum_dictionary_word_length: 0usize, - probability_log_estimation: Vec::new(), - } - } - - /// Load multiple dictionary entries from a file of word/frequency count pairs - /// Merges with any dictionary data already loaded. - /// corpus: The path+filename of the file. - /// term_index: The column position of the word. - /// count_index: The column position of the frequency count. - /// result: True if file loaded, or false if file not found. - pub fn load_dictionary( - &mut self, - term_index: usize, - count_index: usize, - skip_ascii: bool, - ) -> bool { - let reader = BufReader::new(DICTIONARY_TXT.as_bytes()); - - let mut count_sum = 0; - - for line in reader.lines() { - let line_string = line.unwrap(); - - let line_parts: Vec<&str> = line_string.split_ascii_whitespace().collect(); - if line_parts.len() >= 2 { - let key = line_parts[term_index]; - if skip_ascii && key.is_ascii() { - continue; - } - - if let Ok(count) = line_parts[count_index].parse::() { - let key_len = key.chars().count(); - - if key_len > self.maximum_dictionary_word_length { - self.maximum_dictionary_word_length = key_len; - } - - self.dictionary.insert(key.chars().collect(), count as f64); - count_sum += count; - } - } - } - - self.n = (count_sum * 3) as f64; - - for item in self.dictionary.iter_mut() { - *item.1 = (*item.1 / self.n).log10(); - } - - for i in 0..self.maximum_dictionary_word_length { - self.probability_log_estimation - .push((10.0f64 / self.n / (i + 1).pow(10) as f64).log10() * 10.0f64); - } - - true - } - - pub fn segment(&self, input: &str, skip_ascii: bool) -> (Vec, f64) { - let mut result_array: Vec = Vec::new(); - let mut probability_log_sum_best = 0.0; - - if !input.is_empty() { - if skip_ascii && input.is_ascii() { - return (vec![input.to_string()], 0.0); - } - - let input_chars: Vec = input.chars().collect(); - - let array_size = cmp::min(self.maximum_dictionary_word_length, input_chars.len()); - let array_width = ((input_chars.len() - 1) >> 6) + 1; - let array_width_byte = array_width << 3; - let mut segmented_space_bits = vec![vec![0usize; array_width]; array_size]; - let mut probability_log_sum = vec![0.0; array_size]; - let mut circular_index = 0usize; - - for j in 0..input_chars.len() { - let space_ulong_index = if j == 0 { 0 } else { (j - 1) >> 6 }; - let array_copy_byte = cmp::min((space_ulong_index + 1) << 3, array_width_byte); - - let array_copy_usize = array_copy_byte >> 3; - - if j > 0 { - segmented_space_bits[circular_index][space_ulong_index] |= - 1usize << ((j - 1) & 0x3f); - } - - let imax = cmp::min(input_chars.len() - j, self.maximum_dictionary_word_length); - - for i in 1..=imax { - let destination_index = (i + circular_index) % array_size; - - let part1_chars = &input_chars[j..(j + i)]; - - let probability_log_part1 = - if let Some(probability_log) = self.dictionary.get(part1_chars) { - *probability_log - } else { - self.probability_log_estimation[part1_chars.len() - 1] - }; - - if j == 0 { - probability_log_sum[destination_index] = probability_log_part1; - } else if (i == self.maximum_dictionary_word_length) - || (probability_log_sum[destination_index] - < probability_log_sum[circular_index] + probability_log_part1) - { - #[allow(clippy::needless_range_loop)] - for i in 0..array_copy_usize { - segmented_space_bits[destination_index][i] = - segmented_space_bits[circular_index][i]; - } - - probability_log_sum[destination_index] = - probability_log_sum[circular_index] + probability_log_part1; - } - } - - circular_index += 1; - if circular_index == array_size { - circular_index = 0; - } - } - - let mut last = 0; - for i in 0..(input_chars.len() - 1) { - if (segmented_space_bits[circular_index][i >> 6] & (1usize << (i & 0x3f))) > 0 { - if !result_array.is_empty() && ['+', '-'].contains(&input_chars[last]) { - result_array.push(input_chars[last..(i + 1)].iter().skip(1).collect()); - } else { - result_array.push(input_chars[last..(i + 1)].iter().collect()); - } - - last = i + 1; - } - } - - if !result_array.is_empty() && ['+', '-'].contains(&input_chars[last]) { - result_array.push(input_chars[last..].iter().skip(1).collect()); - } else { - result_array.push(input_chars[last..].iter().collect()); - } - - probability_log_sum_best += probability_log_sum[circular_index]; - } - - (result_array, probability_log_sum_best) - } -} From e172caf023c65ae4a8c31ec7ba93fd2e3962e5d6 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 27 Jan 2026 11:52:48 +0000 Subject: [PATCH 15/20] Revert "Remove flutter tantivy" This reverts commit a87acff3b28dc8fe1fdff70213380b860982efac. --- mobile_app/flutter_rust_bridge.yaml | 5 + .../lib/src/rust/api/keyword_search.dart | 26 + mobile_app/lib/src/rust/api/simple.dart | 10 + mobile_app/lib/src/rust/frb_generated.dart | 240 + mobile_app/lib/src/rust/frb_generated.io.dart | 84 + .../lib/src/rust/frb_generated.web.dart | 84 + mobile_app/lib/src/rust/lib.dart | 25 + .../rust/third_party/seekstorm/commit.dart | 31 + .../third_party/seekstorm/geo_search.dart | 52 + .../third_party/seekstorm/highlighter.dart | 89 + .../src/rust/third_party/seekstorm/index.dart | 857 +++ .../rust/third_party/seekstorm/ingest.dart | 83 + .../rust/third_party/seekstorm/search.dart | 291 + .../src/rust/third_party/seekstorm/utils.dart | 20 + .../lib/src/rust/third_party/tokio/io.dart | 2712 ++++++++++ .../third_party/tokio/macros/support.dart | 15 + .../lib/src/rust/third_party/tokio/net.dart | 4504 ++++++++++++++++ .../src/rust/third_party/tokio/net/tcp.dart | 297 ++ .../third_party/tokio/net/tcp/listener.dart | 13 + .../tokio/net/tcp/split_owned.dart | 20 + .../src/rust/third_party/tokio/net/udp.dart | 13 + .../src/rust/third_party/tokio/net/unix.dart | 41 + .../tokio/net/unix/datagram/socket.dart | 13 + .../third_party/tokio/net/unix/listener.dart | 13 + .../rust/third_party/tokio/net/unix/pipe.dart | 2871 ++++++++++ .../src/rust/third_party/tokio/process.dart | 426 ++ .../rust/third_party/tokio/process/sys.dart | 12 + .../src/rust/third_party/tokio/runtime.dart | 531 ++ .../src/rust/third_party/tokio/signal.dart | 63 + .../rust/third_party/tokio/signal/unix.dart | 231 + .../lib/src/rust/third_party/tokio/sync.dart | 695 +++ .../third_party/tokio/sync/broadcast.dart | 15 + .../tokio/sync/broadcast/error.dart | 18 + .../third_party/tokio/sync/mpsc/bounded.dart | 19 + .../third_party/tokio/sync/mpsc/error.dart | 25 + .../rust/third_party/tokio/sync/oneshot.dart | 14 + .../rust/third_party/tokio/sync/watch.dart | 15 + .../lib/src/rust/third_party/tokio/task.dart | 83 + .../src/rust/third_party/tokio/task/coop.dart | 157 + .../lib/src/rust/third_party/tokio/time.dart | 734 +++ .../rust/third_party/tokio/time/error.dart | 34 + .../rust/third_party/tokio/time/interval.dart | 12 + mobile_app/pubspec.lock | 16 + mobile_app/pubspec.yaml | 1 + mobile_app/rust/.gitignore | 1 + mobile_app/rust/Cargo.lock | 1748 ++++++ mobile_app/rust/Cargo.toml | 15 + mobile_app/rust/src/api/keyword_search.rs | 0 mobile_app/rust/src/api/mod.rs | 2 + mobile_app/rust/src/api/simple.rs | 10 + mobile_app/rust/src/frb_generated.rs | 276 + mobile_app/rust/src/lib.rs | 2 + mobile_app/rust/src/seekstorm/add_result.rs | 3682 +++++++++++++ mobile_app/rust/src/seekstorm/commit.rs | 1142 ++++ mobile_app/rust/src/seekstorm/compatible.rs | 21 + .../src/seekstorm/compress_postinglist.rs | 978 ++++ mobile_app/rust/src/seekstorm/doc_store.rs | 353 ++ mobile_app/rust/src/seekstorm/geo_search.rs | 144 + mobile_app/rust/src/seekstorm/highlighter.rs | 367 ++ mobile_app/rust/src/seekstorm/index.rs | 4740 +++++++++++++++++ .../rust/src/seekstorm/index_posting.rs | 941 ++++ mobile_app/rust/src/seekstorm/ingest.rs | 756 +++ mobile_app/rust/src/seekstorm/intersection.rs | 2300 ++++++++ .../rust/src/seekstorm/intersection_simd.rs | 178 + mobile_app/rust/src/seekstorm/lib.rs | 517 ++ mobile_app/rust/src/seekstorm/min_heap.rs | 1167 ++++ .../rust/src/seekstorm/realtime_search.rs | 2077 ++++++++ mobile_app/rust/src/seekstorm/search.rs | 3243 +++++++++++ mobile_app/rust/src/seekstorm/single.rs | 419 ++ mobile_app/rust/src/seekstorm/tokenizer.rs | 1680 ++++++ mobile_app/rust/src/seekstorm/union.rs | 1478 +++++ mobile_app/rust/src/seekstorm/utils.rs | 167 + .../rust/src/seekstorm/word_segmentation.rs | 185 + 73 files changed, 44099 insertions(+) create mode 100644 mobile_app/flutter_rust_bridge.yaml create mode 100644 mobile_app/lib/src/rust/api/keyword_search.dart create mode 100644 mobile_app/lib/src/rust/api/simple.dart create mode 100644 mobile_app/lib/src/rust/frb_generated.dart create mode 100644 mobile_app/lib/src/rust/frb_generated.io.dart create mode 100644 mobile_app/lib/src/rust/frb_generated.web.dart create mode 100644 mobile_app/lib/src/rust/lib.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/commit.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/index.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/search.dart create mode 100644 mobile_app/lib/src/rust/third_party/seekstorm/utils.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/io.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/macros/support.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/udp.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/process.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/process/sys.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/runtime.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/signal.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/task.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/task/coop.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/time.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/time/error.dart create mode 100644 mobile_app/lib/src/rust/third_party/tokio/time/interval.dart create mode 100644 mobile_app/rust/.gitignore create mode 100644 mobile_app/rust/Cargo.lock create mode 100644 mobile_app/rust/Cargo.toml create mode 100644 mobile_app/rust/src/api/keyword_search.rs create mode 100644 mobile_app/rust/src/api/mod.rs create mode 100644 mobile_app/rust/src/api/simple.rs create mode 100644 mobile_app/rust/src/frb_generated.rs create mode 100644 mobile_app/rust/src/lib.rs create mode 100644 mobile_app/rust/src/seekstorm/add_result.rs create mode 100644 mobile_app/rust/src/seekstorm/commit.rs create mode 100644 mobile_app/rust/src/seekstorm/compatible.rs create mode 100644 mobile_app/rust/src/seekstorm/compress_postinglist.rs create mode 100644 mobile_app/rust/src/seekstorm/doc_store.rs create mode 100644 mobile_app/rust/src/seekstorm/geo_search.rs create mode 100644 mobile_app/rust/src/seekstorm/highlighter.rs create mode 100644 mobile_app/rust/src/seekstorm/index.rs create mode 100644 mobile_app/rust/src/seekstorm/index_posting.rs create mode 100644 mobile_app/rust/src/seekstorm/ingest.rs create mode 100644 mobile_app/rust/src/seekstorm/intersection.rs create mode 100644 mobile_app/rust/src/seekstorm/intersection_simd.rs create mode 100644 mobile_app/rust/src/seekstorm/lib.rs create mode 100644 mobile_app/rust/src/seekstorm/min_heap.rs create mode 100644 mobile_app/rust/src/seekstorm/realtime_search.rs create mode 100644 mobile_app/rust/src/seekstorm/search.rs create mode 100644 mobile_app/rust/src/seekstorm/single.rs create mode 100644 mobile_app/rust/src/seekstorm/tokenizer.rs create mode 100644 mobile_app/rust/src/seekstorm/union.rs create mode 100644 mobile_app/rust/src/seekstorm/utils.rs create mode 100644 mobile_app/rust/src/seekstorm/word_segmentation.rs diff --git a/mobile_app/flutter_rust_bridge.yaml b/mobile_app/flutter_rust_bridge.yaml new file mode 100644 index 0000000..1b8ad67 --- /dev/null +++ b/mobile_app/flutter_rust_bridge.yaml @@ -0,0 +1,5 @@ +rust_input: crate::api,crate::tantivy +rust_root: rust/ +dart_output: lib/src/rust +#rust_preamble: +# use std::path::PathBuf; \ No newline at end of file diff --git a/mobile_app/lib/src/rust/api/keyword_search.dart b/mobile_app/lib/src/rust/api/keyword_search.dart new file mode 100644 index 0000000..441be26 --- /dev/null +++ b/mobile_app/lib/src/rust/api/keyword_search.dart @@ -0,0 +1,26 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// Rust type: RustOpaqueMoi> +abstract class PathBuf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class SearchFn implements RustOpaqueInterface { + PathBuf get pathToIndex; + + set pathToIndex(PathBuf pathToIndex); + + Future deleteIndex(); + + Future ingestPdfDir({required PathBuf filePath}); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a new SearchFn instance and initializes the index on disk + static Future newInstance({required PathBuf path}) => + RustLib.instance.api.crateApiKeywordSearchSearchFnNew(path: path); +} diff --git a/mobile_app/lib/src/rust/api/simple.dart b/mobile_app/lib/src/rust/api/simple.dart new file mode 100644 index 0000000..b632d8b --- /dev/null +++ b/mobile_app/lib/src/rust/api/simple.dart @@ -0,0 +1,10 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +String greet({required String name}) => + RustLib.instance.api.crateApiSimpleGreet(name: name); diff --git a/mobile_app/lib/src/rust/frb_generated.dart b/mobile_app/lib/src/rust/frb_generated.dart new file mode 100644 index 0000000..50fd264 --- /dev/null +++ b/mobile_app/lib/src/rust/frb_generated.dart @@ -0,0 +1,240 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field + +import 'api/simple.dart'; +import 'dart:async'; +import 'dart:convert'; +import 'frb_generated.dart'; +import 'frb_generated.io.dart' + if (dart.library.js_interop) 'frb_generated.web.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +/// Main entrypoint of the Rust API +class RustLib extends BaseEntrypoint { + @internal + static final instance = RustLib._(); + + RustLib._(); + + /// Initialize flutter_rust_bridge + static Future init({ + RustLibApi? api, + BaseHandler? handler, + ExternalLibrary? externalLibrary, + bool forceSameCodegenVersion = true, + }) async { + await instance.initImpl( + api: api, + handler: handler, + externalLibrary: externalLibrary, + forceSameCodegenVersion: forceSameCodegenVersion, + ); + } + + /// Initialize flutter_rust_bridge in mock mode. + /// No libraries for FFI are loaded. + static void initMock({ + required RustLibApi api, + }) { + instance.initMockImpl( + api: api, + ); + } + + /// Dispose flutter_rust_bridge + /// + /// The call to this function is optional, since flutter_rust_bridge (and everything else) + /// is automatically disposed when the app stops. + static void dispose() => instance.disposeImpl(); + + @override + ApiImplConstructor get apiImplConstructor => + RustLibApiImpl.new; + + @override + WireConstructor get wireConstructor => + RustLibWire.fromExternalLibrary; + + @override + Future executeRustInitializers() async { + await api.crateApiSimpleInitApp(); + } + + @override + ExternalLibraryLoaderConfig get defaultExternalLibraryLoaderConfig => + kDefaultExternalLibraryLoaderConfig; + + @override + String get codegenVersion => '2.11.1'; + + @override + int get rustContentHash => -1918914929; + + static const kDefaultExternalLibraryLoaderConfig = + ExternalLibraryLoaderConfig( + stem: 'rust_lib_mobile_app', + ioDirectory: 'rust/target/release/', + webPrefix: 'pkg/', + ); +} + +abstract class RustLibApi extends BaseApi { + String crateApiSimpleGreet({required String name}); + + Future crateApiSimpleInitApp(); +} + +class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { + RustLibApiImpl({ + required super.handler, + required super.wire, + required super.generalizedFrbRustBinding, + required super.portManager, + }); + + @override + String crateApiSimpleGreet({required String name}) { + return handler.executeSync(SyncTask( + callFfi: () { + final serializer = SseSerializer(generalizedFrbRustBinding); + sse_encode_String(name, serializer); + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 1)!; + }, + codec: SseCodec( + decodeSuccessData: sse_decode_String, + decodeErrorData: null, + ), + constMeta: kCrateApiSimpleGreetConstMeta, + argValues: [name], + apiImpl: this, + )); + } + + TaskConstMeta get kCrateApiSimpleGreetConstMeta => const TaskConstMeta( + debugName: "greet", + argNames: ["name"], + ); + + @override + Future crateApiSimpleInitApp() { + return handler.executeNormal(NormalTask( + callFfi: (port_) { + final serializer = SseSerializer(generalizedFrbRustBinding); + pdeCallFfi(generalizedFrbRustBinding, serializer, + funcId: 2, port: port_); + }, + codec: SseCodec( + decodeSuccessData: sse_decode_unit, + decodeErrorData: null, + ), + constMeta: kCrateApiSimpleInitAppConstMeta, + argValues: [], + apiImpl: this, + )); + } + + TaskConstMeta get kCrateApiSimpleInitAppConstMeta => const TaskConstMeta( + debugName: "init_app", + argNames: [], + ); + + @protected + String dco_decode_String(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return raw as String; + } + + @protected + Uint8List dco_decode_list_prim_u_8_strict(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return raw as Uint8List; + } + + @protected + int dco_decode_u_8(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return raw as int; + } + + @protected + void dco_decode_unit(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return; + } + + @protected + String sse_decode_String(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + var inner = sse_decode_list_prim_u_8_strict(deserializer); + return utf8.decoder.convert(inner); + } + + @protected + Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + var len_ = sse_decode_i_32(deserializer); + return deserializer.buffer.getUint8List(len_); + } + + @protected + int sse_decode_u_8(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return deserializer.buffer.getUint8(); + } + + @protected + void sse_decode_unit(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + } + + @protected + int sse_decode_i_32(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return deserializer.buffer.getInt32(); + } + + @protected + bool sse_decode_bool(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return deserializer.buffer.getUint8() != 0; + } + + @protected + void sse_encode_String(String self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_list_prim_u_8_strict(utf8.encoder.convert(self), serializer); + } + + @protected + void sse_encode_list_prim_u_8_strict( + Uint8List self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_i_32(self.length, serializer); + serializer.buffer.putUint8List(self); + } + + @protected + void sse_encode_u_8(int self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + serializer.buffer.putUint8(self); + } + + @protected + void sse_encode_unit(void self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + } + + @protected + void sse_encode_i_32(int self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + serializer.buffer.putInt32(self); + } + + @protected + void sse_encode_bool(bool self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + serializer.buffer.putUint8(self ? 1 : 0); + } +} diff --git a/mobile_app/lib/src/rust/frb_generated.io.dart b/mobile_app/lib/src/rust/frb_generated.io.dart new file mode 100644 index 0000000..2af216f --- /dev/null +++ b/mobile_app/lib/src/rust/frb_generated.io.dart @@ -0,0 +1,84 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field + +import 'api/simple.dart'; +import 'dart:async'; +import 'dart:convert'; +import 'dart:ffi' as ffi; +import 'frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_io.dart'; + +abstract class RustLibApiImplPlatform extends BaseApiImpl { + RustLibApiImplPlatform({ + required super.handler, + required super.wire, + required super.generalizedFrbRustBinding, + required super.portManager, + }); + + @protected + String dco_decode_String(dynamic raw); + + @protected + Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); + + @protected + int dco_decode_u_8(dynamic raw); + + @protected + void dco_decode_unit(dynamic raw); + + @protected + String sse_decode_String(SseDeserializer deserializer); + + @protected + Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); + + @protected + int sse_decode_u_8(SseDeserializer deserializer); + + @protected + void sse_decode_unit(SseDeserializer deserializer); + + @protected + int sse_decode_i_32(SseDeserializer deserializer); + + @protected + bool sse_decode_bool(SseDeserializer deserializer); + + @protected + void sse_encode_String(String self, SseSerializer serializer); + + @protected + void sse_encode_list_prim_u_8_strict( + Uint8List self, SseSerializer serializer); + + @protected + void sse_encode_u_8(int self, SseSerializer serializer); + + @protected + void sse_encode_unit(void self, SseSerializer serializer); + + @protected + void sse_encode_i_32(int self, SseSerializer serializer); + + @protected + void sse_encode_bool(bool self, SseSerializer serializer); +} + +// Section: wire_class + +class RustLibWire implements BaseWire { + factory RustLibWire.fromExternalLibrary(ExternalLibrary lib) => + RustLibWire(lib.ffiDynamicLibrary); + + /// Holds the symbol lookup function. + final ffi.Pointer Function(String symbolName) + _lookup; + + /// The symbols are looked up in [dynamicLibrary]. + RustLibWire(ffi.DynamicLibrary dynamicLibrary) + : _lookup = dynamicLibrary.lookup; +} diff --git a/mobile_app/lib/src/rust/frb_generated.web.dart b/mobile_app/lib/src/rust/frb_generated.web.dart new file mode 100644 index 0000000..981737f --- /dev/null +++ b/mobile_app/lib/src/rust/frb_generated.web.dart @@ -0,0 +1,84 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field + +// Static analysis wrongly picks the IO variant, thus ignore this +// ignore_for_file: argument_type_not_assignable + +import 'api/simple.dart'; +import 'dart:async'; +import 'dart:convert'; +import 'frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_web.dart'; + +abstract class RustLibApiImplPlatform extends BaseApiImpl { + RustLibApiImplPlatform({ + required super.handler, + required super.wire, + required super.generalizedFrbRustBinding, + required super.portManager, + }); + + @protected + String dco_decode_String(dynamic raw); + + @protected + Uint8List dco_decode_list_prim_u_8_strict(dynamic raw); + + @protected + int dco_decode_u_8(dynamic raw); + + @protected + void dco_decode_unit(dynamic raw); + + @protected + String sse_decode_String(SseDeserializer deserializer); + + @protected + Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer); + + @protected + int sse_decode_u_8(SseDeserializer deserializer); + + @protected + void sse_decode_unit(SseDeserializer deserializer); + + @protected + int sse_decode_i_32(SseDeserializer deserializer); + + @protected + bool sse_decode_bool(SseDeserializer deserializer); + + @protected + void sse_encode_String(String self, SseSerializer serializer); + + @protected + void sse_encode_list_prim_u_8_strict( + Uint8List self, SseSerializer serializer); + + @protected + void sse_encode_u_8(int self, SseSerializer serializer); + + @protected + void sse_encode_unit(void self, SseSerializer serializer); + + @protected + void sse_encode_i_32(int self, SseSerializer serializer); + + @protected + void sse_encode_bool(bool self, SseSerializer serializer); +} + +// Section: wire_class + +class RustLibWire implements BaseWire { + RustLibWire.fromExternalLibrary(ExternalLibrary lib); +} + +@JS('wasm_bindgen') +external RustLibWasmModule get wasmModule; + +@JS() +@anonymous +extension type RustLibWasmModule._(JSObject _) implements JSObject {} diff --git a/mobile_app/lib/src/rust/lib.dart b/mobile_app/lib/src/rust/lib.dart new file mode 100644 index 0000000..5890449 --- /dev/null +++ b/mobile_app/lib/src/rust/lib.dart @@ -0,0 +1,25 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import 'frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// Rust type: RustOpaqueMoi>> +abstract class AHashMapStringFacet implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi >>> +abstract class ArcIndex implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi , usize) >>> +abstract class IndexMapStringVecStringUsize implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Path implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Result implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Value implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/commit.dart b/mobile_app/lib/src/rust/third_party/seekstorm/commit.dart new file mode 100644 index 0000000..59093da --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/commit.dart @@ -0,0 +1,31 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `commit` + +abstract class Commit { + /// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM + /// to the final compressed data structure (roaring bitmap) on Mmap or disk - + /// which is persistent, more compact, with lower query latency and allows search with realtime=false. + /// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). + /// There is no way to prevent this automatic commit by not manually invoking it. + /// But commit can also be invoked manually at any time at any number of newly indexed documents. + /// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability + /// is invoked implicitly with every index_doc, + /// i.e. the document can immediately searched and included in the search results + /// if it matches the query AND the query paramter realtime=true is enabled. + /// **Use commit with caution, as it is an expensive operation**. + /// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. + /// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. + /// There are only 2 reasons that justify a manual commit: + /// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or + /// 2. if after indexing new documents there won't be more documents indexed (for some time), + /// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, + /// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. + Future commit(); +} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart b/mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart new file mode 100644 index 0000000..9447d2b --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/geo_search.dart @@ -0,0 +1,52 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'index.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'search.dart'; + +/// encode 2D-coordinate (lat/lon) into 64-bit Morton code +/// This method is lossy/quantized as two f64 coordinate values are mapped to a single u64 Morton code! +/// The z-value of a point in multidimensions is simply calculated by interleaving the binary representations of its coordinate values. +Future encodeMorton2D({required List point}) => + RustLib.instance.api.seekstormGeoSearchEncodeMorton2D(point: point); + +/// decode 64-bit Morton code into 2D-coordinate (lat/lon) +/// This method is lossy/quantized as a single u64 Morton code is converted to two f64 coordinate values! +Future decodeMorton2D({required BigInt code}) => + RustLib.instance.api.seekstormGeoSearchDecodeMorton2D(code: code); + +/// Comparison of the distances between two morton encoded positions and a base position +Future mortonOrdering( + {required BigInt morton1, + required BigInt morton2, + required List basePoint, + required SortOrder order}) => + RustLib.instance.api.seekstormGeoSearchMortonOrdering( + morton1: morton1, morton2: morton2, basePoint: basePoint, order: order); + +/// calculates distance in kilometers or miles between two 2D-coordinates using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. +Future euclidianDistance( + {required List point1, + required List point2, + required DistanceUnit unit}) => + RustLib.instance.api.seekstormGeoSearchEuclidianDistance( + point1: point1, point2: point2, unit: unit); + +/// Converts a Point and a distance radius into a range of morton_codes for geo search range filtering. +/// The conversion is lossy due to coordinate to Morton code rounding errors and Equirectangular approximation of Euclidian distance. +Future pointDistanceToMortonRange( + {required List point, + required double distance, + required DistanceUnit unit}) => + RustLib.instance.api.seekstormGeoSearchPointDistanceToMortonRange( + point: point, distance: distance, unit: unit); + +// Rust type: RustOpaqueMoi> +abstract class Ordering implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class RangeU64 implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart b/mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart new file mode 100644 index 0000000..cb10c4a --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/highlighter.dart @@ -0,0 +1,89 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Fragment` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `compose`, `fmt`, `fmt`, `name`, `schemas` + +/// Returns the Highlighter object used as get_document parameter for highlighting fields in documents +Future highlighter( + {required ArcIndex indexArc, + required List highlights, + required List queryTermsVec}) => + RustLib.instance.api.seekstormHighlighterHighlighter( + indexArc: indexArc, + highlights: highlights, + queryTermsVec: queryTermsVec); + +// Rust type: RustOpaqueMoi> +abstract class Highlighter implements RustOpaqueInterface {} + +/// Specifies the number and size of fragments (snippets, summaries) to generate from each specified field to provide a "keyword in context" (KWIC) functionality. +/// With highlight_markup the matching query terms within the fragments can be highlighted with HTML markup. +class Highlight { + /// Specifies the field from which the fragments (snippets, summaries) are created. + final String field; + + /// Allows to specifiy multiple highlight result fields from the same source field, leaving the original field intact, + /// Default: if name is empty then field is used instead, i.e the original field is overwritten with the highlight. + final String name; + + /// If 0/default then return the full original text without fragmenting. + final BigInt fragmentNumber; + + /// Specifies the length of a highlight fragment. + /// The default 0 returns the full original text without truncating, but still with highlighting if highlight_markup is enabled. + final BigInt fragmentSize; + + /// if true, the matching query terms within the fragments are highlighted with HTML markup **\term\<\/b\>**. + final bool highlightMarkup; + + /// Specifies the markup tags to insert **before** each highlighted term (e.g. \"\\" or \"\\"). This can be any string, but is most often an HTML or XML tag. + /// Only used when **highlight_markup** is set to true. + final String preTags; + + /// Specifies the markup tags to insert **after** each highlighted term. (e.g. \"\<\/b\>\" or \"\<\/em\>\"). This can be any string, but is most often an HTML or XML tag. + /// Only used when **highlight_markup** is set to true. + final String postTags; + + const Highlight({ + required this.field, + required this.name, + required this.fragmentNumber, + required this.fragmentSize, + required this.highlightMarkup, + required this.preTags, + required this.postTags, + }); + + static Future default_() => + RustLib.instance.api.seekstormHighlighterHighlightDefault(); + + @override + int get hashCode => + field.hashCode ^ + name.hashCode ^ + fragmentNumber.hashCode ^ + fragmentSize.hashCode ^ + highlightMarkup.hashCode ^ + preTags.hashCode ^ + postTags.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is Highlight && + runtimeType == other.runtimeType && + field == other.field && + name == other.name && + fragmentNumber == other.fragmentNumber && + fragmentSize == other.fragmentSize && + highlightMarkup == other.highlightMarkup && + preTags == other.preTags && + postTags == other.postTags; +} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/index.dart b/mobile_app/lib/src/rust/third_party/seekstorm/index.dart new file mode 100644 index 0000000..91550b6 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/index.dart @@ -0,0 +1,857 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'highlighter.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'search.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `BlockObjectIndex`, `IndexedField`, `LevelIndex`, `NgramSet`, `NonUniquePostingListObjectQuery`, `NonUniqueTermObject`, `PostingListObject0`, `PostingListObjectIndex`, `PostingListObjectQuery`, `QueueObject`, `ResultFacet`, `SegmentIndex`, `SegmentLevel0`, `Shard`, `TermObject` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas` +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `close`, `delete_document`, `delete_documents_by_query`, `delete_documents`, `index_document_2`, `index_document_shard`, `index_document`, `index_documents`, `update_document`, `update_documents` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `default`, `default`, `default`, `default`, `default`, `default`, `default`, `default` + +/// Get the version of the SeekStorm search library +Future version() => RustLib.instance.api.seekstormIndexVersion(); + +/// Create index in RAM. +/// Inner data structures for create index and open_index +/// * `index_path` - index path. +/// * `meta` - index meta object. +/// * `schema` - schema. +/// * `synonyms` - vector of synonyms. +/// * `segment_number_bits1` - number of index segments: e.g. 11 bits for 2048 segments. +/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). +/// * `force_shard_number` - set number of shards manually or automatically. +/// - none: number of shards is set automatically = number of physical processor cores (default) +/// - small: slower indexing, higher latency, slightly higher throughput, faster realtime search, lower RAM consumption +/// - large: faster indexing, lower latency, slightly lower throughput, slower realtime search, higher RAM consumption +Future createIndex( + {required Path indexPath, + required IndexMetaObject meta, + required List schema, + required List synonyms, + required BigInt segmentNumberBits1, + required bool mute, + BigInt? forceShardNumber}) => + RustLib.instance.api.seekstormIndexCreateIndex( + indexPath: indexPath, + meta: meta, + schema: schema, + synonyms: synonyms, + segmentNumberBits1: segmentNumberBits1, + mute: mute, + forceShardNumber: forceShardNumber); + +/// Loads the index from disk into RAM or MMAP. +/// * `index_path` - index path. +/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). +Future openIndex({required Path indexPath, required bool mute}) => + RustLib.instance.api + .seekstormIndexOpenIndex(indexPath: indexPath, mute: mute); + +// Rust type: RustOpaqueMoi> +abstract class DocumentItem implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class FacetField implements RustOpaqueInterface { + ValueType get max; + + ValueType get min; + + String get name; + + IndexMapStringVecStringUsize get values; + + set max(ValueType max); + + set min(ValueType min); + + set name(String name); + + set values(IndexMapStringVecStringUsize values); + + static Future default_() => + RustLib.instance.api.seekstormIndexFacetFieldDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class FileType implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class FrequentwordType implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormIndexFrequentwordTypeDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class Index implements RustOpaqueInterface { + /// Add/append/update/merge synonyms in index + /// Affects only subsequently indexed documents + Future addSynonyms({required List synonyms}); + + int get indexFormatVersionMajor; + + int get indexFormatVersionMinor; + + IndexMetaObject get meta; + + Map get schemaMap; + + List get storedFieldNames; + + set indexFormatVersionMajor(int indexFormatVersionMajor); + + set indexFormatVersionMinor(int indexFormatVersionMinor); + + set meta(IndexMetaObject meta); + + set schemaMap(Map schemaMap); + + set storedFieldNames(List storedFieldNames); + + /// Reset index to empty, while maintaining schema + Future clearIndex(); + + /// Get number of indexed documents. + Future committedDocCount(); + + /// Current document count: indexed document count - deleted document count + Future currentDocCount(); + + /// Delete index from disc and ram + Future deleteIndex(); + + /// Get number of facets defined in the index schema. + Future facetsCount(); + + /// Get document for document id + /// Arguments: + /// * `doc_id`: Specifies which document to load from the document store of the index. + /// * `include_uncommited`: Return also documents which have not yet been committed. + /// * `highlighter_option`: Specifies the extraction of keyword-in-context (KWIC) fragments from fields in documents, and the highlighting of the query terms within. + /// * `fields`: Specifies which of the stored fields to return with each document. Default: If empty return all stored fields + /// * `distance_fields`: insert distance fields into result documents, calculating the distance between a specified facet field of type Point and a base Point, in kilometers or miles. + /// using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. + Future> getDocument( + {required BigInt docId, + required bool includeUncommited, + Highlighter? highlighterOption, + required Set fields, + required List distanceFields}); + + /// get_facet_value: Returns value from facet field for a doc_id even if schema stored=false (field not stored in document JSON). + /// Facet fields are more compact than fields stored in document JSON. + /// Strings are stored more compact as indices to a unique term dictionary. Numbers are stored binary, not as strings. + /// Facet fields are faster because no document loading, decompression and JSON decoding is required. + /// Facet fields are always memory mapped, internally always stored with fixed byte length layout, regardless of string size. + Future getFacetValue( + {required String field, required BigInt docId}); + + /// Get file for document id + /// Arguments: + /// * `doc_id`: Specifies which document to load from the document store of the index. + /// + /// Returns: + /// * `Vec`: The file content as a byte vector. + /// + Future getFile({required BigInt docId}); + + /// get_index_string_facets: list of string facet fields, each with field name and a map of unique values and their count (number of times the specific value appears in the whole index). + /// values are sorted by their occurrence count within all indexed documents in descending order + /// * `query_facets`: Must be set if facet fields should be returned in get_index_facets. If set to Vec::new() then no facet fields are returned. + /// The prefix property of a QueryFacet allows to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. + /// The length property of a QueryFacet allows limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. + /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are returned. + /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. + /// Example: query_facets = vec![QueryFacet::String16 {field: "language".to_string(),prefix: "ger".to_string(),length: 5},QueryFacet::String16 {field: "brand".to_string(),prefix: "a".to_string(),length: 5}]; + Future getIndexStringFacets( + {required List queryFacets}); + + /// Get synonyms from index + Future> getSynonyms(); + + /// get_index_facets_minmax: return map of numeric facet fields, each with field name and min/max values. + Future> indexFacetsMinmax(); + + /// Get number of indexed documents. + Future indexedDocCount(); + + /// Get number of index levels. One index level comprises 64K documents. + Future levelCount(); + + /// Set/replace/overwrite synonyms in index + /// Affects only subsequently indexed documents + Future setSynonyms({required List synonyms}); + + /// Get number of index shards. + Future shardCount(); + + /// are there uncommited documents? + Future uncommittedDocCount(); +} + +// Rust type: RustOpaqueMoi> +abstract class IndexMetaObject implements RustOpaqueInterface { + AccessType get accessType; + + FrequentwordType get frequentWords; + + BigInt get id; + + String get name; + + int get ngramIndexing; + + QueryCompletion? get queryCompletion; + + SimilarityType get similarity; + + SpellingCorrection? get spellingCorrection; + + StemmerType get stemmer; + + StopwordType get stopWords; + + TokenizerType get tokenizer; + + set accessType(AccessType accessType); + + set frequentWords(FrequentwordType frequentWords); + + set id(BigInt id); + + set name(String name); + + set ngramIndexing(int ngramIndexing); + + set queryCompletion(QueryCompletion? queryCompletion); + + set similarity(SimilarityType similarity); + + set spellingCorrection(SpellingCorrection? spellingCorrection); + + set stemmer(StemmerType stemmer); + + set stopWords(StopwordType stopWords); + + set tokenizer(TokenizerType tokenizer); +} + +// Rust type: RustOpaqueMoi> +abstract class MinMaxField implements RustOpaqueInterface { + ValueType get max; + + ValueType get min; + + set max(ValueType max); + + set min(ValueType min); + + static Future default_() => + RustLib.instance.api.seekstormIndexMinMaxFieldDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class MinMaxFieldJson implements RustOpaqueInterface { + Value get max; + + Value get min; + + set max(Value max); + + set min(Value min); + + static Future default_() => + RustLib.instance.api.seekstormIndexMinMaxFieldJsonDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class SchemaField implements RustOpaqueInterface { + double get boost; + + bool get completionSource; + + bool get dictionarySource; + + bool get facet; + + String get field; + + FieldType get fieldType; + + bool get indexed; + + bool get longest; + + bool get stored; + + set boost(double boost); + + set completionSource(bool completionSource); + + set dictionarySource(bool dictionarySource); + + set facet(bool facet); + + set field(String field); + + set fieldType(FieldType fieldType); + + set indexed(bool indexed); + + set longest(bool longest); + + set stored(bool stored); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a new SchemaField. + /// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. + /// # Parameters + /// - field: unique name of a field + /// - stored: only stored fields are returned in the search results + /// - indexed: only indexed fields can be searched + /// - field_type: type of a field: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point + /// - facet: enable faceting for a field: for sorting results by field values, for range filtering, for result count per field value or range + /// - `longest`: This allows to annotate (manually set) the longest field in schema. + /// Otherwise the longest field will be automatically detected in first index_document. + /// Setting/detecting the longest field ensures efficient index encoding. + /// - boost: optional custom weight factor for Bm25 ranking + /// # Returns + /// - SchemaField + /// # Example + /// ```rust + /// use seekstorm::index::{SchemaField, FieldType}; + /// let schema_field = SchemaField::new("title".to_string(), true, true, FieldType::String16, false, false, 1.0, false, false); + /// ``` + static Future newInstance( + {required String field, + required bool stored, + required bool indexed, + required FieldType fieldType, + required bool facet, + required bool longest, + required double boost, + required bool dictionarySource, + required bool completionSource}) => + RustLib.instance.api.seekstormIndexSchemaFieldNew( + field: field, + stored: stored, + indexed: indexed, + fieldType: fieldType, + facet: facet, + longest: longest, + boost: boost, + dictionarySource: dictionarySource, + completionSource: completionSource); +} + +// Rust type: RustOpaqueMoi> +abstract class StopwordType implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormIndexStopwordTypeDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class ValueType implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormIndexValueTypeDefault(); +} + +abstract class Close { + /// Remove index from RAM (Reverse of open_index) + Future close(); +} + +abstract class DeleteDocument { + /// Delete document from index by document id + Future deleteDocument({required BigInt docid}); +} + +abstract class DeleteDocuments { + /// Delete documents from index by document id + Future deleteDocuments({required Uint64List docidVec}); +} + +abstract class DeleteDocumentsByQuery { + /// Delete documents from index by query + /// Delete and search have identical parameters. + /// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. + Future deleteDocumentsByQuery( + {required String queryString, + required QueryType queryTypeDefault, + required BigInt offset, + required BigInt length, + required bool includeUncommited, + required List fieldFilter, + required List facetFilter, + required List resultSort}); +} + +abstract class IndexDocument { + /// Indexes a single document + /// May block, if the threshold of documents indexed in parallel is exceeded. + Future indexDocument( + {required Map document, required FileType file}); +} + +abstract class IndexDocument2 { + Future indexDocument2( + {required DocumentItem documentItem, required FileType file}); +} + +abstract class IndexDocumentShard { + /// Indexes a single document + /// May block, if the threshold of documents indexed in parallel is exceeded. + Future indexDocumentShard( + {required Map document, required FileType file}); +} + +abstract class IndexDocuments { + /// Indexes a list of documents + /// May block, if the threshold of documents indexed in parallel is exceeded. + Future indexDocuments({required List> documentVec}); +} + +abstract class UpdateDocument { + /// Update document in index + /// Update_document is a combination of delete_document and index_document. + /// All current limitations of delete_document apply. + Future updateDocument( + {required (BigInt, Map) idDocument}); +} + +abstract class UpdateDocuments { + /// Update documents in index + /// Update_document is a combination of delete_document and index_document. + /// All current limitations of delete_document apply. + Future updateDocuments( + {required List<(BigInt, Map)> idDocumentVec}); +} + +/// Defines where the index resides during search: +/// - Ram (the complete index is preloaded to Ram when opening the index) +/// - Mmap (the index is accessed via memory-mapped files). See architecture.md for details. +/// - At commit the data is serialized to disk for persistence both in Ram and Mmap mode. +/// - The serialization format is identical for Ram and Mmap mode, allowing to change it retrospectively. +enum AccessType { + /// Ram (the complete index is preloaded to Ram when opening the index). + /// - Index size is limited by available RAM size. + /// - Slightly fastesr search speed. + /// - Higher index loading time. + /// - Higher RAM usage. + ram, + + /// Mmap (the index is accessed via memory-mapped files). See architecture.md for details. + /// - Enables index size scaling beyond RAM size. + /// - Slightly slower search speed compared to Ram. + /// - Faster index loading time compared to Ram. + /// - Lower RAM usage. + mmap, + ; +} + +/// Type of posting list compression. +enum CompressionType { + delta, + array, + bitmap, + rle, + error, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexCompressionTypeDefault(); +} + +/// DistanceField defines a field for proximity search. +class DistanceField { + /// field name of a numeric facet field (currently onyl Point field type supported) + final String field; + + /// field name of the distance field we are deriving from the numeric facet field (Point type) and the base (Point type) + final String distance; + + /// base point (lat,lon) for distance calculation + final Float64List base; + + /// distance unit for the distance field: kilometers or miles + final DistanceUnit unit; + + const DistanceField({ + required this.field, + required this.distance, + required this.base, + required this.unit, + }); + + static Future default_() => + RustLib.instance.api.seekstormIndexDistanceFieldDefault(); + + @override + int get hashCode => + field.hashCode ^ distance.hashCode ^ base.hashCode ^ unit.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is DistanceField && + runtimeType == other.runtimeType && + field == other.field && + distance == other.distance && + base == other.base && + unit == other.unit; +} + +/// DistanceUnit defines the unit for distance calculation: kilometers or miles. +enum DistanceUnit { + /// Kilometers + kilometers, + + /// Miles + miles, + ; +} + +/// FieldType defines the type of a field in the document: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point, string, stringset, text. +enum FieldType { + /// Unsigned 8-bit integer + u8, + + /// Unsigned 16-bit integer + u16, + + /// Unsigned 32-bit integer + u32, + + /// Unsigned 64-bit integer + u64, + + /// Signed 8-bit integer + i8, + + /// Signed 16-bit integer + i16, + + /// Signed 32-bit integer + i32, + + /// Signed 64-bit integer + i64, + + /// Timestamp is identical to I64, but to be used for Unix timestamps . + /// The reason for a separate FieldType is to enable the UI to interpret I64 as timestamp without using the field name as indicator. + /// For date facets and filtering. + timestamp, + + /// Floating point 32-bit + f32, + + /// Floating point 64-bit + f64, + + /// Boolean + bool, + + /// String16 + /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. + string16, + + /// String32 + /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values + string32, + + /// StringSet16 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. + /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. + stringSet16, + + /// StringSet32 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. + /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values + stringSet32, + + /// Point is a geographic field type: A `Vec` with two coordinate values (latitude and longitude) are internally encoded into a single u64 value (Morton code). + /// Morton codes enable efficient range queries. + /// Latitude and longitude are a pair of numbers (coordinates) used to describe a position on the plane of a geographic coordinate system. + /// The numbers are in decimal degrees format and range from -90 to 90 for latitude and -180 to 180 for longitude. + /// Coordinates are internally stored as u64 morton code: both f64 values are multiplied by 10_000_000, converted to i32 and bitwise interleaved into a single u64 morton code + /// The conversion between longitude/latitude coordinates and Morton code is lossy due to rounding errors. + point, + + /// Text is a text field, that will be tokenized by the selected Tokenizer into string tokens. + text, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexFieldTypeDefault(); +} + +enum NgramType { + /// no n-grams, only single terms are indexed + singleTerm, + + /// Ngram frequent frequent + ngramFf, + + /// Ngram frequent rare + ngramFr, + + /// Ngram rare frequent + ngramRf, + + /// Ngram frequent frequent frequent + ngramFff, + + /// Ngram rare frequent frequent + ngramRff, + + /// Ngram frequent frequent rare + ngramFfr, + + /// Ngram frequent rare frequent + ngramFrf, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexNgramTypeDefault(); +} + +/// Defines spelling correction (fuzzy search) settings for an index. +class QueryCompletion { + /// Maximum number of completions to generate during indexing + /// disabled if == 0 + final BigInt maxCompletionEntries; + + const QueryCompletion({ + required this.maxCompletionEntries, + }); + + @override + int get hashCode => maxCompletionEntries.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is QueryCompletion && + runtimeType == other.runtimeType && + maxCompletionEntries == other.maxCompletionEntries; +} + +/// Similarity type defines the scoring and ranking of the search results: +/// - Bm25f: considers documents composed from several fields, with different field lengths and importance +/// - Bm25fProximity: considers term proximity, e.g. for implicit phrase search with improved relevancy +enum SimilarityType { + /// Bm25f considers documents composed from several fields, with different field lengths and importance + bm25F, + + /// Bm25fProximity considers term proximity, e.g. for implicit phrase search with improved relevancy + bm25FProximity, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexSimilarityTypeDefault(); +} + +/// Defines spelling correction (fuzzy search) settings for an index. +class SpellingCorrection { + /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. + final BigInt maxDictionaryEditDistance; + + /// Term length thresholds for each edit distance. + /// None: max_dictionary_edit_distance for all terms lengths + /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, + /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 + final Uint64List? termLengthThreshold; + + /// The minimum frequency count for dictionary words to be considered eligible for spelling correction. + /// Depends on the corpus size, 1..20 recommended. + /// If count_threshold is too high, some correct words might be missed from the dictionary and deemed misspelled, + /// if count_threshold is too low, some misspelled words from the corpus might be considered correct and added to the dictionary. + /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold), + /// but the terms below count_threshold will be included in dictionary.csv too. + final BigInt countThreshold; + + /// Limits the maximum number of dictionary entries (terms >= count_threshold) to generate during indexing, preventing excessive RAM consumption. + /// The number of terms in dictionary.csv will be higher, because it contains also the terms < count_threshold, to become eligible in the future during incremental dictionary updates. + /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold). + /// ⚠️ Above this threshold no new terms are added to the dictionary, causing them to be deemed incorrect during spelling correction and possibly changed to similar terms that are in the dictionary. + final BigInt maxDictionaryEntries; + + const SpellingCorrection({ + required this.maxDictionaryEditDistance, + this.termLengthThreshold, + required this.countThreshold, + required this.maxDictionaryEntries, + }); + + @override + int get hashCode => + maxDictionaryEditDistance.hashCode ^ + termLengthThreshold.hashCode ^ + countThreshold.hashCode ^ + maxDictionaryEntries.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is SpellingCorrection && + runtimeType == other.runtimeType && + maxDictionaryEditDistance == other.maxDictionaryEditDistance && + termLengthThreshold == other.termLengthThreshold && + countThreshold == other.countThreshold && + maxDictionaryEntries == other.maxDictionaryEntries; +} + +/// Defines stemming behavior, reducing inflected words to their word stem, base or root form. +/// Stemming increases recall, but decreases precision. It can introduce false positive results. +enum StemmerType { + /// No stemming + none, + + /// Arabic stemmer + arabic, + + /// Danish stemmer + danish, + + /// Dutch stemmer + dutch, + + /// English stemmer + english, + + /// Finnish stemmer + finnish, + + /// French stemmer + french, + + /// German stemmer + german, + + /// Hungarian stemmer + greek, + + /// Hungarian stemmer + hungarian, + + /// Italian stemmer + italian, + + /// Norwegian stemmer + norwegian, + + /// Portuguese stemmer + portuguese, + + /// Romanian stemmer + romanian, + + /// Russian stemmer + russian, + + /// Spanish stemmer + spanish, + + /// Swedish stemmer + swedish, + + /// Tamil stemmer + tamil, + + /// Turkish stemmer + turkish, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexStemmerTypeDefault(); +} + +/// Defines synonyms for terms per index. +class Synonym { + /// List of terms that are synonyms. + final List terms; + + /// Creates alternative versions of documents where in each copy a term is replaced with one of its synonyms. + /// Doesn't impact the query latency, but does increase the index size. + /// Multi-way synonyms (default): all terms are synonyms of each other. + /// One-way synonyms: only the first term is a synonym of the following terms, but not vice versa. + /// E.g. [street, avenue, road] will result in searches for street to return documents containing any of the terms street, avenue or road, + /// but searches for avenue will only return documents containing avenue, but not documents containing street or road. + /// Currently only single terms without spaces are supported. + /// Synonyms are supported in result highlighting. + /// The synonyms that were created with the synonyms parameter in create_index are stored in synonyms.json in the index directory contains + /// Can be manually modified, but becomes effective only after restart and only for newly indexed documents. + final bool multiway; + + const Synonym({ + required this.terms, + required this.multiway, + }); + + @override + int get hashCode => terms.hashCode ^ multiway.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is Synonym && + runtimeType == other.runtimeType && + terms == other.terms && + multiway == other.multiway; +} + +/// Defines tokenizer behavior: +/// AsciiAlphabetic +/// - Mainly for for benchmark compatibility +/// - Only ASCII alphabetic chars are recognized as token. +/// +/// UnicodeAlphanumeric +/// - All Unicode alphanumeric chars are recognized as token. +/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. +/// +/// UnicodeAlphanumericFolded +/// - All Unicode alphanumeric chars are recognized as token. +/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. +/// - Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. +/// - Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). +/// - Tokenizing might be slower due to folding and apostroph processing. +/// +/// UnicodeAlphanumericZH +/// - Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. +/// - Supports mixed Latin and Chinese texts +/// - Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. +/// - Requires feature #[cfg(feature = "zh")] +enum TokenizerType { + /// Only ASCII alphabetic chars are recognized as token. Mainly for benchmark compatibility. + asciiAlphabetic, + + /// All Unicode alphanumeric chars are recognized as token. + /// Allow '+' '-' '#' in middle or end of a token: c++, c#, block-max. + unicodeAlphanumeric, + + /// All Unicode alphanumeric chars are recognized as token. + /// Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. + /// Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. + /// Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). + /// Tokenizing might be slower due to folding and apostroph processing. + unicodeAlphanumericFolded, + + /// Tokens are separated by whitespace. Mainly for benchmark compatibility. + whitespace, + + /// Tokens are separated by whitespace. Token are converted to lowercase. Mainly for benchmark compatibility. + whitespaceLowercase, + + /// Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. + /// Supports mixed Latin and Chinese texts + /// Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. + /// Requires feature #[cfg(feature = "zh")] + unicodeAlphanumericZh, + ; + + static Future default_() => + RustLib.instance.api.seekstormIndexTokenizerTypeDefault(); +} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart b/mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart new file mode 100644 index 0000000..ddfead1 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/ingest.dart @@ -0,0 +1,83 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'index.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `pdfium_option` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `deref`, `initialize` +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `index_pdf_bytes`, `index_pdf_file`, `index_pdf`, `ingest_csv`, `ingest_json`, `ingest_pdf` + +// Rust type: RustOpaqueMoi>> +abstract class PdfDocument implements RustOpaqueInterface {} + +abstract class IndexPdf { + Future indexPdf( + {required Path filePath, + required BigInt fileSize, + required PlatformInt64 fileDate, + required FileType file, + required PdfDocument pdf}); +} + +abstract class IndexPdfBytes { + /// Index PDF file from byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - Path to the file (fallback, if title and date can't be extracted) + /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) + /// * `file_bytes` - Byte array of the file + Future indexPdfBytes( + {required Path filePath, + required PlatformInt64 fileDate, + required List fileBytes}); +} + +abstract class IndexPdfFile { + /// Index PDF file from local disk. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - Path to the file + /// # Returns + /// * `Result<(), String>` - Ok(()) or Err(String) + Future indexPdfFile({required Path filePath}); +} + +abstract class IngestCsv { + /// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + Future ingestCsv( + {required Path dataPath, + required bool hasHeader, + required bool quoting, + required int delimiter, + BigInt? skipDocs, + BigInt? numDocs}); +} + +abstract class IngestJson { + /// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + Future ingestJson({required Path dataPath}); +} + +abstract class IngestPdf { + /// Index PDF files from local disk directory and sub-directories or from file. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - Path to the file + Future ingestPdf({required Path filePath}); +} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/search.dart b/mobile_app/lib/src/rust/third_party/seekstorm/search.dart new file mode 100644 index 0000000..5374173 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/search.dart @@ -0,0 +1,291 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `FilterSparse`, `RangeF32`, `RangeF64`, `RangeI16`, `RangeI32`, `RangeI64`, `RangeI8`, `RangeU16`, `RangeU32`, `RangeU64`, `RangeU8`, `ResultSortIndex`, `SearchResult` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `compose`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `name`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas`, `schemas` +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `search_shard`, `search` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `default` + +// Rust type: RustOpaqueMoi> +abstract class FacetFilter implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class FacetValue implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class QueryFacet implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormSearchQueryFacetDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class QueryRewriting implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormSearchQueryRewritingDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class Ranges implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.seekstormSearchRangesDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class ResultObject implements RustOpaqueInterface { + AHashMapStringFacet get facets; + + String get originalQuery; + + String get query; + + List get queryTerms; + + BigInt get resultCount; + + BigInt get resultCountTotal; + + List get results; + + set facets(AHashMapStringFacet facets); + + set originalQuery(String originalQuery); + + set query(String query); + + set queryTerms(List queryTerms); + + set resultCount(BigInt resultCount); + + set resultCountTotal(BigInt resultCountTotal); + + set results(List results); + + static Future default_() => + RustLib.instance.api.seekstormSearchResultObjectDefault(); +} + +// Rust type: RustOpaqueMoi> +abstract class ResultSort implements RustOpaqueInterface { + FacetValue get base; + + String get field; + + SortOrder get order; + + set base(FacetValue base); + + set field(String field); + + set order(SortOrder order); +} + +abstract class Search { + /// Search the index for all indexed documents, both for committed and uncommitted documents. + /// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. + /// Arguments: + /// * `query_string`: query string `+` `-` `""` search operators are recognized. + /// * `query_type_default`: Specifiy default QueryType: + /// * **Union**, disjunction, OR, + /// * **Intersection**, conjunction, AND, `+`, + /// * **Phrase** `""`, + /// * **Not**, except, minus `-`. + /// + /// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (`+` `-` `""`). + /// + /// Boolean queries are specified in the search method either via the query_type parameter or via operator chars within the query parameter. + /// The interpretation of operator chars within the query string (set `query_type=QueryType::Union`) allows to specify advanced search operations via a simple search box. + /// + /// Intersection, AND `+` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="+red +apple".to_string(); + /// ``` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Intersection; + /// let query_string="red apple".to_string(); + /// ``` + /// Union, OR + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="red apple".to_string(); + /// ``` + /// Phrase `""` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="\"red apple\"".to_string(); + /// ``` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Phrase; + /// let query_string="red apple".to_string(); + /// ``` + /// Except, minus, NOT `-` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="apple -red".to_string(); + /// ``` + /// Mixed phrase and intersection + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="+\"the who\" +uk".to_string(); + /// ``` + /// * `offset`: offset of search results to return. + /// * `length`: number of search results to return. + /// With length=0, resultType::TopkCount will be automatically downgraded to resultType::Count, returning the number of results only, without returning the results itself. + /// * `result_type`: type of search results to return: Count, Topk, TopkCount. + /// * `include_uncommited`: true realtime search: include indexed documents which where not yet committed into search results. + /// * `field_filter`: Specify field names where to search at querytime, whereas SchemaField.indexed is set at indextime. If set to Vec::new() then all indexed fields are searched. + /// * `query_facets`: Must be set if facets should be returned in ResultObject. If set to Vec::new() then no facet fields are returned. + /// Facet fields are only collected, counted and returned for ResultType::Count and ResultType::TopkCount, but not for ResultType::Topk. + /// The prefix property of a QueryFacet allows at query time to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. + /// The length property of a QueryFacet allows at query time limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. + /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are collected, counted and returned at query time. That decreases the query latency significantly. + /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. + /// Examples: + /// query_facets = vec![QueryFacet::String16 {field: "language".into(),prefix: "ger".into(),length: 5},QueryFacet::String16 {field: "brand".into(),prefix: "a".into(),length: 5}]; + /// query_facets = vec![QueryFacet::U8 {field: "age".into(), range_type: RangeType::CountWithinRange, ranges: vec![("0-20".into(), 0),("20-40".into(), 20), ("40-60".into(), 40),("60-80".into(), 60), ("80-100".into(), 80)]}]; + /// query_facets = vec![QueryFacet::Point {field: "location".into(),base:vec![38.8951, -77.0364],unit:DistanceUnit::Kilometers,range_type: RangeType::CountWithinRange,ranges: vec![ ("0-200".into(), 0.0),("200-400".into(), 200.0), ("400-600".into(), 400.0), ("600-800".into(), 600.0), ("800-1000".into(), 800.0)]}]; + /// * `facet_filter`: Search results are filtered to documents matching specific string values or numerical ranges in the facet fields. If set to Vec::new() then result are not facet filtered. + /// The filter parameter filters the returned results to those documents both matching the query AND matching for all (boolean AND) stated facet filter fields at least one (boolean OR) of the stated values. + /// If the query is changed then both facet counts and search results are changed. If the facet filter is changed then only the search results are changed, while facet counts remain unchanged. + /// The facet counts depend only from the query and not which facet filters are selected. + /// Examples: + /// facet_filter=vec![FacetFilter::String{field:"language".into(),filter:vec!["german".into()]},FacetFilter::String{field:"brand".into(),filter:vec!["apple".into(),"google".into()]}]; + /// facet_filter=vec![FacetFilter::U8{field:"age".into(),filter: 21..65}]; + /// facet_filter = vec![FacetFilter::Point {field: "location".into(),filter: (vec![38.8951, -77.0364], 0.0..1000.0, DistanceUnit::Kilometers)}]; + /// * `result_sort`: Sort field and order: Search results are sorted by the specified facet field, either in ascending or descending order. + /// If no sort field is specified, then the search results are sorted by rank in descending order per default. + /// Multiple sort fields are combined by a "sort by, then sort by"-method ("tie-breaking"-algorithm). + /// The results are sorted by the first field, and only for those results where the first field value is identical (tie) the results are sub-sorted by the second field, + /// until the n-th field value is either not equal or the last field is reached. + /// A special _score field (BM25x), reflecting how relevant the result is for a given search query (phrase match, match in title etc.) can be combined with any of the other sort fields as primary, secondary or n-th search criterium. + /// Sort is only enabled on facet fields that are defined in schema at create_index! + /// Examples: + /// result_sort = vec![ResultSort {field: "price".into(), order: SortOrder::Descending, base: FacetValue::None},ResultSort {field: "language".into(), order: SortOrder::Ascending, base: FacetValue::None}]; + /// result_sort = vec![ResultSort {field: "location".into(),order: SortOrder::Ascending, base: FacetValue::Point(vec![38.8951, -77.0364])}]; + /// * `query_rewriting`: Enables query rewriting features such as spelling correction and query auto-completion (QAC). + /// The spelling correction of multi-term query strings handles three cases: + /// 1. mistakenly inserted space into a correct term led to two incorrect terms: `hels inki` -> `helsinki` + /// 2. mistakenly omitted space between two correct terms led to one incorrect combined term: `modernart` -> `modern art` + /// 3. multiple independent input terms with/without spelling errors: `cinese indastrialication` -> `chinese industrialization` + /// + /// Query correction/completion supports phrases "", but is disabled, if +- operators are used, or if a opening quote is used after the first term, or if a closing quote is used before the last term. + /// See QueryRewriting enum for details. + /// ⚠️ In addition to setting the query_rewriting parameter per query, the incremental creation of the Symspell dictionary during the indexing of documents has to be enabled via the create_index parameter `meta.spelling_correction`. + /// + /// Facets: + /// If query_string is empty, then index facets (collected at index time) are returned, otherwise query facets (collected at query time) are returned. + /// Facets are defined in 3 different places: + /// the facet fields are defined in schema at create_index, + /// the facet field values are set in index_document at index time, + /// the query_facets/facet_filter search parameters are specified at query time. + /// Facets are then returned in the search result object. + Future search( + {required String queryString, + required QueryType queryTypeDefault, + required BigInt offset, + required BigInt length, + required ResultType resultType, + required bool includeUncommited, + required List fieldFilter, + required List queryFacets, + required List facetFilter, + required List resultSort, + required QueryRewriting queryRewriting}); +} + +abstract class SearchShard { + Future searchShard( + {required String queryString, + required QueryType queryTypeDefault, + required BigInt offset, + required BigInt length, + required ResultType resultType, + required bool includeUncommited, + required List fieldFilter, + required List queryFacets, + required List facetFilter, + required List resultSort}); +} + +/// Specifies the default QueryType: The following query types are supported: +/// - **Union** (OR, disjunction), +/// - **Intersection** (AND, conjunction), +/// - **Phrase** (""), +/// - **Not** (-). +/// +/// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (+ - ""). +enum QueryType { + /// Union (OR, disjunction) + union, + + /// Intersection (AND, conjunction) + intersection, + + /// Phrase ("") + phrase, + + /// Not (-) + not, + ; + + static Future default_() => + RustLib.instance.api.seekstormSearchQueryTypeDefault(); +} + +/// specifies how to count the frequency of numerical facet field values +enum RangeType { + /// within the specified range + countWithinRange, + + /// within the range and all ranges above + countAboveRange, + + /// within the range and all ranges below + countBelowRange, + ; + + static Future default_() => + RustLib.instance.api.seekstormSearchRangeTypeDefault(); +} + +/// The following result types are supported: +/// - **Count** (count all results that match the query, but returning top-k results is not required) +/// - **Topk** (returns the top-k results per query, but counting all results that match the query is not required) +/// - **TopkCount** (returns the top-k results per query + count all results that match the query) +enum ResultType { + /// Count all results that match the query, without returning top-k results + count, + + /// Return the top-k results per query, without counting all results that match the query + topk, + + /// Return the top-k results per query and count all results that match the query + topkCount, + ; + + static Future default_() => + RustLib.instance.api.seekstormSearchResultTypeDefault(); +} + +/// Specifies the sort order for the search results. +enum SortOrder { + /// Ascending sort order + ascending, + + /// Descending sort order + descending, + ; +} diff --git a/mobile_app/lib/src/rust/third_party/seekstorm/utils.dart b/mobile_app/lib/src/rust/third_party/seekstorm/utils.dart new file mode 100644 index 0000000..91066ad --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/seekstorm/utils.dart @@ -0,0 +1,20 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +/// Truncates a string to a maximum number of characters. +Future truncate({required String source, required BigInt maxChars}) => + RustLib.instance.api + .seekstormUtilsTruncate(source: source, maxChars: maxChars); + +/// Returns a substring of the given string, starting at the specified index and with the specified length. +Future substring( + {required String source, + required BigInt start, + required BigInt length}) => + RustLib.instance.api + .seekstormUtilsSubstring(source: source, start: start, length: length); diff --git a/mobile_app/lib/src/rust/third_party/tokio/io.dart b/mobile_app/lib/src/rust/third_party/tokio/io.dart new file mode 100644 index 0000000..7328f7f --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/io.dart @@ -0,0 +1,2712 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `chain`, `chain`, `copy_bidirectional_with_sizes`, `copy_bidirectional`, `copy_buf`, `copy`, `join`, `read_buf`, `read_buf`, `read_exact`, `read_exact`, `read_line`, `read_line`, `read_to_end`, `read_to_end`, `read_to_string`, `read_to_string`, `read_until`, `read_until`, `read`, `read`, `split`, `write_all_buf`, `write_all_buf`, `write_all`, `write_all`, `write_buf`, `write_buf`, `write_vectored`, `write_vectored`, `write`, `write` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `BufReader`, `BufStream`, `BufWriter`, `Chain`, `Join` +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `consume`, `fill_buf`, `flush`, `lines`, `read_f32_le`, `read_f32`, `read_f64_le`, `read_f64`, `read_i128_le`, `read_i128`, `read_i16_le`, `read_i16`, `read_i32_le`, `read_i32`, `read_i64_le`, `read_i64`, `read_i8`, `read_u128_le`, `read_u128`, `read_u16_le`, `read_u16`, `read_u32_le`, `read_u32`, `read_u64_le`, `read_u64`, `read_u8`, `rewind`, `seek`, `shutdown`, `split`, `stream_position`, `take`, `write_f32_le`, `write_f32`, `write_f64_le`, `write_f64`, `write_i128_le`, `write_i128`, `write_i16_le`, `write_i16`, `write_i32_le`, `write_i32`, `write_i64_le`, `write_i64`, `write_i8`, `write_u128_le`, `write_u128`, `write_u16_le`, `write_u16`, `write_u32_le`, `write_u32`, `write_u64_le`, `write_u64`, `write_u8` + +/// Constructs a new handle to the standard error of the current process. +/// +/// The returned handle allows writing to standard error from the within the +/// Tokio runtime. +/// +/// Concurrent writes to stderr must be executed with care: Only individual +/// writes to this [`AsyncWrite`] are guaranteed to be intact. In particular +/// you should be aware that writes using [`write_all`] are not guaranteed +/// to occur as a single write, so multiple threads writing data with +/// [`write_all`] may result in interleaved output. +/// +/// [`AsyncWrite`]: AsyncWrite +/// [`write_all`]: crate::io::AsyncWriteExt::write_all() +/// +/// # Examples +/// +/// ``` +/// use tokio::io::{self, AsyncWriteExt}; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let mut stderr = io::stderr(); +/// stderr.write_all(b"Print some error here.").await?; +/// Ok(()) +/// } +/// ``` +Future stderr() => RustLib.instance.api.tokioIoStderr(); + +/// Constructs a new handle to the standard input of the current process. +/// +/// This handle is best used for non-interactive uses, such as when a file +/// is piped into the application. For technical reasons, `stdin` is +/// implemented by using an ordinary blocking read on a separate thread, and +/// it is impossible to cancel that read. This can make shutdown of the +/// runtime hang until the user presses enter. +/// +/// For interactive uses, it is recommended to spawn a thread dedicated to +/// user input and use blocking IO directly in that thread. +Future stdin() => RustLib.instance.api.tokioIoStdin(); + +/// Constructs a new handle to the standard output of the current process. +/// +/// The returned handle allows writing to standard out from the within the +/// Tokio runtime. +/// +/// Concurrent writes to stdout must be executed with care: Only individual +/// writes to this [`AsyncWrite`] are guaranteed to be intact. In particular +/// you should be aware that writes using [`write_all`] are not guaranteed +/// to occur as a single write, so multiple threads writing data with +/// [`write_all`] may result in interleaved output. +/// +/// [`AsyncWrite`]: AsyncWrite +/// [`write_all`]: crate::io::AsyncWriteExt::write_all() +/// +/// # Examples +/// +/// ``` +/// use tokio::io::{self, AsyncWriteExt}; +/// +/// #[tokio::main] +/// async fn main() -> io::Result<()> { +/// let mut stdout = io::stdout(); +/// stdout.write_all(b"Hello world!").await?; +/// Ok(()) +/// } +/// ``` +/// +/// The following is an example of using `stdio` with loop. +/// +/// ``` +/// use tokio::io::{self, AsyncWriteExt}; +/// +/// #[tokio::main] +/// async fn main() { +/// let messages = vec!["hello", " world\n"]; +/// +/// // When you use `stdio` in a loop, it is recommended to create +/// // a single `stdio` instance outside the loop and call a write +/// // operation against that instance on each loop. +/// // +/// // Repeatedly creating `stdout` instances inside the loop and +/// // writing to that handle could result in mangled output since +/// // each write operation is handled by a different blocking thread. +/// let mut stdout = io::stdout(); +/// +/// for message in &messages { +/// stdout.write_all(message.as_bytes()).await.unwrap(); +/// stdout.flush().await.unwrap(); +/// } +/// } +/// ``` +Future stdout() => RustLib.instance.api.tokioIoStdout(); + +/// Creates a value that is always at EOF for reads, and ignores all data written. +/// +/// All writes on the returned instance will return `Poll::Ready(Ok(buf.len()))` +/// and the contents of the buffer will not be inspected. +/// +/// All reads from the returned instance will return `Poll::Ready(Ok(0))`. +/// +/// This is an asynchronous version of [`std::io::empty`][std]. +/// +/// [std]: std::io::empty +/// +/// # Examples +/// +/// A slightly sad example of not reading anything into a buffer: +/// +/// ``` +/// use tokio::io::{self, AsyncReadExt}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut buffer = String::new(); +/// io::empty().read_to_string(&mut buffer).await.unwrap(); +/// assert!(buffer.is_empty()); +/// # } +/// ``` +/// +/// A convoluted way of getting the length of a buffer: +/// +/// ``` +/// use tokio::io::{self, AsyncWriteExt}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let buffer = vec![1, 2, 3, 5, 8]; +/// let num_bytes = io::empty().write(&buffer).await.unwrap(); +/// assert_eq!(num_bytes, 5); +/// # } +/// ``` +Future empty() => RustLib.instance.api.tokioIoEmpty(); + +/// Create a new pair of `DuplexStream`s that act like a pair of connected sockets. +/// +/// The `max_buf_size` argument is the maximum amount of bytes that can be +/// written to a side before the write returns `Poll::Pending`. +Future<(DuplexStream, DuplexStream)> duplex({required BigInt maxBufSize}) => + RustLib.instance.api.tokioIoDuplex(maxBufSize: maxBufSize); + +/// Creates unidirectional buffer that acts like in memory pipe. +/// +/// The `max_buf_size` argument is the maximum amount of bytes that can be +/// written to a buffer before the it returns `Poll::Pending`. +/// +/// # Unify reader and writer +/// +/// The reader and writer half can be unified into a single structure +/// of `SimplexStream` that supports both reading and writing or +/// the `SimplexStream` can be already created as unified structure +/// using [`SimplexStream::new_unsplit()`]. +/// +/// ``` +/// # async fn ex() -> std::io::Result<()> { +/// # use tokio::io::{AsyncReadExt, AsyncWriteExt}; +/// let (reader, writer) = tokio::io::simplex(64); +/// let mut simplex_stream = reader.unsplit(writer); +/// simplex_stream.write_all(b"hello").await?; +/// +/// let mut buf = [0u8; 5]; +/// simplex_stream.read_exact(&mut buf).await?; +/// assert_eq!(&buf, b"hello"); +/// # Ok(()) +/// # } +/// ``` +Future<(ReadHalfSimplexStream, WriteHalfSimplexStream)> simplex( + {required BigInt maxBufSize}) => + RustLib.instance.api.tokioIoSimplex(maxBufSize: maxBufSize); + +/// Creates an instance of an async reader that infinitely repeats one byte. +/// +/// All reads from this reader will succeed by filling the specified buffer with +/// the given byte. +/// +/// This is an asynchronous version of [`std::io::repeat`][std]. +/// +/// [std]: std::io::repeat +/// +/// # Examples +/// +/// ``` +/// use tokio::io::{self, AsyncReadExt}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut buffer = [0; 3]; +/// io::repeat(0b101).read_exact(&mut buffer).await.unwrap(); +/// assert_eq!(buffer, [0b101, 0b101, 0b101]); +/// # } +/// ``` +Future repeat({required int byte}) => + RustLib.instance.api.tokioIoRepeat(byte: byte); + +/// Creates an instance of an async writer which will successfully consume all +/// data. +/// +/// All calls to [`poll_write`] on the returned instance will return +/// `Poll::Ready(Ok(buf.len()))` and the contents of the buffer will not be +/// inspected. +/// +/// This is an asynchronous version of [`std::io::sink`][std]. +/// +/// [`poll_write`]: crate::io::AsyncWrite::poll_write() +/// [std]: std::io::sink +/// +/// # Examples +/// +/// ``` +/// use tokio::io::{self, AsyncWriteExt}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() -> io::Result<()> { +/// let buffer = vec![1, 2, 3, 5, 8]; +/// let num_bytes = io::sink().write(&buffer).await?; +/// assert_eq!(num_bytes, 5); +/// Ok(()) +/// # } +/// ``` +Future sink() => RustLib.instance.api.tokioIoSink(); + +// Rust type: RustOpaqueMoi> +abstract class DuplexStream implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Empty implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class FillBufSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class FlushSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Interest implements RustOpaqueInterface { + /// Add together two `Interest` values. + /// + /// This function works from a `const` context. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Interest; + /// + /// const BOTH: Interest = Interest::READABLE.add(Interest::WRITABLE); + /// + /// assert!(BOTH.is_readable()); + /// assert!(BOTH.is_writable()); + Future add({required Interest other}); + + /// Returns true if the value includes error interest. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Interest; + /// + /// assert!(Interest::ERROR.is_error()); + /// assert!(!Interest::WRITABLE.is_error()); + /// + /// let combined = Interest::READABLE | Interest::ERROR; + /// assert!(combined.is_error()); + /// ``` + Future isError(); + + /// Returns true if the value includes readable interest. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Interest; + /// + /// assert!(Interest::READABLE.is_readable()); + /// assert!(!Interest::WRITABLE.is_readable()); + /// + /// let both = Interest::READABLE | Interest::WRITABLE; + /// assert!(both.is_readable()); + /// ``` + Future isReadable(); + + /// Returns true if the value includes writable interest. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Interest; + /// + /// assert!(!Interest::READABLE.is_writable()); + /// assert!(Interest::WRITABLE.is_writable()); + /// + /// let both = Interest::READABLE | Interest::WRITABLE; + /// assert!(both.is_writable()); + /// ``` + Future isWritable(); + + /// Remove `Interest` from `self`. + /// + /// Interests present in `other` but *not* in `self` are ignored. + /// + /// Returns `None` if the set would be empty after removing `Interest`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Interest; + /// + /// const RW_INTEREST: Interest = Interest::READABLE.add(Interest::WRITABLE); + /// + /// let w_interest = RW_INTEREST.remove(Interest::READABLE).unwrap(); + /// assert!(!w_interest.is_readable()); + /// assert!(w_interest.is_writable()); + /// + /// // Removing all interests from the set returns `None`. + /// assert_eq!(w_interest.remove(Interest::WRITABLE), None); + /// + /// // Remove all interests at once. + /// assert_eq!(RW_INTEREST.remove(RW_INTEREST), None); + /// ``` + Future remove({required Interest other}); +} + +// Rust type: RustOpaqueMoi>> +abstract class LinesSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadF32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadF32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadF64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadF64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadHalfSimplexStream implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI128LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI128MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI16LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI16MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadI8MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU128LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU128MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU16LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU16MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ReadU8MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Ready implements RustOpaqueInterface { + /// Returns true if `Ready` is the empty set. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(Ready::EMPTY.is_empty()); + /// assert!(!Ready::READABLE.is_empty()); + /// ``` + Future isEmpty(); + + /// Returns `true` if the value includes error `readiness`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(!Ready::EMPTY.is_error()); + /// assert!(!Ready::WRITABLE.is_error()); + /// assert!(Ready::ERROR.is_error()); + /// ``` + Future isError(); + + /// Returns `true` if the value includes read-closed `readiness`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(!Ready::EMPTY.is_read_closed()); + /// assert!(!Ready::READABLE.is_read_closed()); + /// assert!(Ready::READ_CLOSED.is_read_closed()); + /// ``` + Future isReadClosed(); + + /// Returns `true` if the value includes `readable`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(!Ready::EMPTY.is_readable()); + /// assert!(Ready::READABLE.is_readable()); + /// assert!(Ready::READ_CLOSED.is_readable()); + /// assert!(!Ready::WRITABLE.is_readable()); + /// ``` + Future isReadable(); + + /// Returns `true` if the value includes writable `readiness`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(!Ready::EMPTY.is_writable()); + /// assert!(!Ready::READABLE.is_writable()); + /// assert!(Ready::WRITABLE.is_writable()); + /// assert!(Ready::WRITE_CLOSED.is_writable()); + /// ``` + Future isWritable(); + + /// Returns `true` if the value includes write-closed `readiness`. + /// + /// # Examples + /// + /// ``` + /// use tokio::io::Ready; + /// + /// assert!(!Ready::EMPTY.is_write_closed()); + /// assert!(!Ready::WRITABLE.is_write_closed()); + /// assert!(Ready::WRITE_CLOSED.is_write_closed()); + /// ``` + Future isWriteClosed(); +} + +// Rust type: RustOpaqueMoi> +abstract class Repeat implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class SeekFrom implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class SeekSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class ShutdownSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class SimplexStream implements RustOpaqueInterface { + /// Creates unidirectional buffer that acts like in memory pipe. To create split + /// version with separate reader and writer you can use [`simplex`] function. + /// + /// The `max_buf_size` argument is the maximum amount of bytes that can be + /// written to a buffer before the it returns `Poll::Pending`. + static Future newUnsplit({required BigInt maxBufSize}) => + RustLib.instance.api + .tokioIoSimplexStreamNewUnsplit(maxBufSize: maxBufSize); +} + +// Rust type: RustOpaqueMoi> +abstract class Sink implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class SplitSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Stderr implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Stdin implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Stdout implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class TakeSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteF32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteF32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteF64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteF64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteHalfSimplexStream implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI128LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI128MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI16LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI16MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteI8MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU128LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU128MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU16LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU16MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU32LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU32MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU64LeMutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU64MutSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class WriteU8MutSelf implements RustOpaqueInterface {} + +abstract class AsyncBufReadExt { + /// Tells this buffer that `amt` bytes have been consumed from the + /// buffer, so they should no longer be returned in calls to [`read`]. + /// + /// This function is a lower-level call. It needs to be paired with the + /// [`fill_buf`] method to function properly. This function does not + /// perform any I/O, it simply informs this object that some amount of + /// its buffer, returned from [`fill_buf`], has been consumed and should + /// no longer be returned. As such, this function may do odd things if + /// [`fill_buf`] isn't called before calling it. + /// + /// The `amt` must be less than the number of bytes in the buffer + /// returned by [`fill_buf`]. + /// + /// [`read`]: crate::io::AsyncReadExt::read + /// [`fill_buf`]: crate::io::AsyncBufReadExt::fill_buf + Future consume({required BigInt amt}); + + /// Returns the contents of the internal buffer, filling it with more + /// data from the inner reader if it is empty. + /// + /// This function is a lower-level call. It needs to be paired with the + /// [`consume`] method to function properly. When calling this method, + /// none of the contents will be "read" in the sense that later calling + /// `read` may return the same contents. As such, [`consume`] must be + /// called with the number of bytes that are consumed from this buffer + /// to ensure that the bytes are never returned twice. + /// + /// An empty buffer returned indicates that the stream has reached EOF. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn fill_buf(&mut self) -> io::Result<&[u8]>; + /// ``` + /// + /// # Errors + /// + /// This function will return an I/O error if the underlying reader was + /// read, but returned an error. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If you use it as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no data was read. + /// + /// [`consume`]: crate::io::AsyncBufReadExt::consume + Future fillBuf(); + + /// Returns a stream over the lines of this reader. + /// This method is the async equivalent to [`BufRead::lines`](std::io::BufRead::lines). + /// + /// The stream returned from this function will yield instances of + /// [`io::Result`]`<`[`Option`]`<`[`String`]`>>`. Each string returned will *not* have a newline + /// byte (the 0xA byte) or `CRLF` (0xD, 0xA bytes) at the end. + /// + /// [`io::Result`]: std::io::Result + /// [`Option`]: core::option::Option + /// [`String`]: String + /// + /// # Errors + /// + /// Each line of the stream has the same error semantics as [`AsyncBufReadExt::read_line`]. + /// + /// # Examples + /// + /// [`std::io::Cursor`][`Cursor`] is a type that implements `BufRead`. In + /// this example, we use [`Cursor`] to iterate over all the lines in a byte + /// slice. + /// + /// [`Cursor`]: std::io::Cursor + /// + /// ``` + /// use tokio::io::AsyncBufReadExt; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let cursor = Cursor::new(b"lorem\nipsum\r\ndolor"); + /// + /// let mut lines = cursor.lines(); + /// + /// assert_eq!(lines.next_line().await.unwrap(), Some(String::from("lorem"))); + /// assert_eq!(lines.next_line().await.unwrap(), Some(String::from("ipsum"))); + /// assert_eq!(lines.next_line().await.unwrap(), Some(String::from("dolor"))); + /// assert_eq!(lines.next_line().await.unwrap(), None); + /// # } + /// ``` + /// + /// [`AsyncBufReadExt::read_line`]: AsyncBufReadExt::read_line + Future lines(); + + /// Returns a stream of the contents of this reader split on the byte + /// `byte`. + /// + /// This method is the asynchronous equivalent to + /// [`BufRead::split`](std::io::BufRead::split). + /// + /// The stream returned from this function will yield instances of + /// [`io::Result`]`<`[`Option`]`<`[`Vec`]`>>`. Each vector returned will *not* have + /// the delimiter byte at the end. + /// + /// [`io::Result`]: std::io::Result + /// [`Option`]: core::option::Option + /// [`Vec`]: std::vec::Vec + /// + /// # Errors + /// + /// Each item of the stream has the same error semantics as + /// [`AsyncBufReadExt::read_until`](AsyncBufReadExt::read_until). + /// + /// # Examples + /// + /// ``` + /// # use tokio::io::AsyncBufRead; + /// use tokio::io::AsyncBufReadExt; + /// + /// # async fn dox(my_buf_read: impl AsyncBufRead + Unpin) -> std::io::Result<()> { + /// let mut segments = my_buf_read.split(b'f'); + /// + /// while let Some(segment) = segments.next_segment().await? { + /// println!("length = {}", segment.len()) + /// } + /// # Ok(()) + /// # } + /// ``` + Future split({required int byte}); +} + +abstract class AsyncReadExt { + /// Reads an 32-bit floating point type in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_f32(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read 32-bit floating point type from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0xff, 0x7f, 0xff, 0xff]); + /// + /// assert_eq!(f32::MIN, reader.read_f32().await?); + /// Ok(()) + /// # } + /// ``` + Future readF32(); + + /// Reads an 32-bit floating point type in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_f32_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read 32-bit floating point type from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0xff, 0xff, 0x7f, 0xff]); + /// + /// assert_eq!(f32::MIN, reader.read_f32_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readF32Le(); + + /// Reads an 64-bit floating point type in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_f64(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read 64-bit floating point type from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + /// ]); + /// + /// assert_eq!(f64::MIN, reader.read_f64().await?); + /// Ok(()) + /// # } + /// ``` + Future readF64(); + + /// Reads an 64-bit floating point type in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_f64_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read 64-bit floating point type from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff + /// ]); + /// + /// assert_eq!(f64::MIN, reader.read_f64_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readF64Le(); + + /// Reads an signed 128-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i128(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 128-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x80, 0, 0, 0, 0, 0, 0, 0, + /// 0, 0, 0, 0, 0, 0, 0, 0 + /// ]); + /// + /// assert_eq!(i128::MIN, reader.read_i128().await?); + /// Ok(()) + /// # } + /// ``` + Future readI128(); + + /// Reads an signed 128-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i128_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 128-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x80, 0, 0, 0, 0, 0, 0, 0, + /// 0, 0, 0, 0, 0, 0, 0, 0 + /// ]); + /// + /// assert_eq!(128, reader.read_i128_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readI128Le(); + + /// Reads a signed 16-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i16(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 16 bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x00, 0xc1, 0xff, 0x7c]); + /// + /// assert_eq!(193, reader.read_i16().await?); + /// assert_eq!(-132, reader.read_i16().await?); + /// Ok(()) + /// # } + /// ``` + Future readI16(); + + /// Reads a signed 16-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i16_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 16 bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x00, 0xc1, 0xff, 0x7c]); + /// + /// assert_eq!(-16128, reader.read_i16_le().await?); + /// assert_eq!(31999, reader.read_i16_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readI16Le(); + + /// Reads a signed 32-bit integer in big-endian order from the + /// underlying reader. + /// + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i32(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 32-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0xff, 0xff, 0x7a, 0x33]); + /// + /// assert_eq!(-34253, reader.read_i32().await?); + /// Ok(()) + /// # } + /// ``` + Future readI32(); + + /// Reads a signed 32-bit integer in little-endian order from the + /// underlying reader. + /// + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i32_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 32-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0xff, 0xff, 0x7a, 0x33]); + /// + /// assert_eq!(863698943, reader.read_i32_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readI32Le(); + + /// Reads an signed 64-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i64(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 64-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0]); + /// + /// assert_eq!(i64::MIN, reader.read_i64().await?); + /// Ok(()) + /// # } + /// ``` + Future readI64(); + + /// Reads an signed 64-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i64_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read signed 64-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0]); + /// + /// assert_eq!(128, reader.read_i64_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readI64Le(); + + /// Reads a signed 8 bit integer from the underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_i8(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is cancel safe. If this method is used as an event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no data were read. + /// + /// # Examples + /// + /// Read unsigned 8 bit integers from an `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x02, 0xfb]); + /// + /// assert_eq!(2, reader.read_i8().await?); + /// assert_eq!(-5, reader.read_i8().await?); + /// + /// Ok(()) + /// # } + /// ``` + Future readI8(); + + /// Reads an unsigned 128-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u128(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 128-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83, + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 + /// ]); + /// + /// assert_eq!(16947640962301618749969007319746179, reader.read_u128().await?); + /// Ok(()) + /// # } + /// ``` + Future readU128(); + + /// Reads an unsigned 128-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u128_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 128-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83, + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 + /// ]); + /// + /// assert_eq!(174826588484952389081207917399662330624, reader.read_u128_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readU128Le(); + + /// Reads an unsigned 16-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u16(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 16 bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![2, 5, 3, 0]); + /// + /// assert_eq!(517, reader.read_u16().await?); + /// assert_eq!(768, reader.read_u16().await?); + /// Ok(()) + /// # } + /// ``` + Future readU16(); + + /// Reads an unsigned 16-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u16_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 16 bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![2, 5, 3, 0]); + /// + /// assert_eq!(1282, reader.read_u16_le().await?); + /// assert_eq!(3, reader.read_u16_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readU16Le(); + + /// Reads an unsigned 32-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u32(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 32-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x00, 0x00, 0x01, 0x0b]); + /// + /// assert_eq!(267, reader.read_u32().await?); + /// Ok(()) + /// # } + /// ``` + Future readU32(); + + /// Reads an unsigned 32-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u32_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 32-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![0x00, 0x00, 0x01, 0x0b]); + /// + /// assert_eq!(184614912, reader.read_u32_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readU32Le(); + + /// Reads an unsigned 64-bit integer in big-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u64(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 64-bit big-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 + /// ]); + /// + /// assert_eq!(918733457491587, reader.read_u64().await?); + /// Ok(()) + /// # } + /// ``` + Future readU64(); + + /// Reads an unsigned 64-bit integer in little-endian order from the + /// underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u64_le(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is not cancellation safe. If the method is used as the + /// event in a [`tokio::select!`](crate::select) statement and some + /// other branch completes first, then some data may be lost. + /// + /// # Examples + /// + /// Read unsigned 64-bit little-endian integers from a `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![ + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 + /// ]); + /// + /// assert_eq!(9477368352180732672, reader.read_u64_le().await?); + /// Ok(()) + /// # } + /// ``` + Future readU64Le(); + + /// Reads an unsigned 8 bit integer from the underlying reader. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn read_u8(&mut self) -> io::Result; + /// ``` + /// + /// It is recommended to use a buffered reader to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncReadExt::read_exact`]. + /// + /// [`AsyncReadExt::read_exact`]: AsyncReadExt::read_exact + /// + /// # Cancel safety + /// + /// This method is cancel safe. If this method is used as an event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no data were read. + /// + /// # Examples + /// + /// Read unsigned 8 bit integers from an `AsyncRead`: + /// + /// ```rust + /// use tokio::io::{self, AsyncReadExt}; + /// + /// use std::io::Cursor; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut reader = Cursor::new(vec![2, 5]); + /// + /// assert_eq!(2, reader.read_u8().await?); + /// assert_eq!(5, reader.read_u8().await?); + /// + /// Ok(()) + /// # } + /// ``` + Future readU8(); + + /// Creates an adaptor which reads at most `limit` bytes from it. + /// + /// This function returns a new instance of `AsyncRead` which will read + /// at most `limit` bytes, after which it will always return EOF + /// (`Ok(0)`). Any read errors will not count towards the number of + /// bytes read and future calls to [`read()`] may succeed. + /// + /// [`read()`]: fn@crate::io::AsyncReadExt::read + /// + /// [read]: AsyncReadExt::read + /// + /// # Examples + /// + /// [`File`][crate::fs::File]s implement `Read`: + /// + /// ```no_run + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::io::{self, AsyncReadExt}; + /// use tokio::fs::File; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let f = File::open("foo.txt").await?; + /// let mut buffer = [0; 5]; + /// + /// // read at most five bytes + /// let mut handle = f.take(5); + /// + /// handle.read(&mut buffer).await?; + /// Ok(()) + /// } + /// # } + /// ``` + Future take({required BigInt limit}); +} + +abstract class AsyncSeekExt { + /// Creates a future which will rewind to the beginning of the stream. + /// + /// This is convenience method, equivalent to `self.seek(SeekFrom::Start(0))`. + Future rewind(); + + /// Creates a future which will seek an IO object, and then yield the + /// new position in the object and the object itself. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn seek(&mut self, pos: SeekFrom) -> io::Result; + /// ``` + /// + /// In the case of an error the buffer and the object will be discarded, with + /// the error yielded. + /// + /// # Examples + /// + /// ```no_run + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::fs::File; + /// use tokio::io::{AsyncSeekExt, AsyncReadExt}; + /// + /// use std::io::SeekFrom; + /// + /// # async fn dox() -> std::io::Result<()> { + /// let mut file = File::open("foo.txt").await?; + /// file.seek(SeekFrom::Start(6)).await?; + /// + /// let mut contents = vec![0u8; 10]; + /// file.read_exact(&mut contents).await?; + /// # Ok(()) + /// # } + /// # } + /// ``` + Future seek({required SeekFrom pos}); + + /// Creates a future which will return the current seek position from the + /// start of the stream. + /// + /// This is equivalent to `self.seek(SeekFrom::Current(0))`. + Future streamPosition(); +} + +abstract class AsyncWriteExt { + /// Flushes this output stream, ensuring that all intermediately buffered + /// contents reach their destination. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn flush(&mut self) -> io::Result<()>; + /// ``` + /// + /// # Errors + /// + /// It is considered an error if not all bytes could be written due to + /// I/O errors or EOF being reached. + /// + /// # Cancel safety + /// + /// This method is cancel safe. + /// + /// If `flush` is used as the event in a [`tokio::select!`](crate::select) + /// statement and some other branch completes first, then the data in the + /// buffered data in this `AsyncWrite` may have been partially flushed. + /// However, it is guaranteed that the buffer is advanced by the amount of + /// bytes that have been partially flushed. + /// + /// # Examples + /// + /// ```no_run + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::io::{self, BufWriter, AsyncWriteExt}; + /// use tokio::fs::File; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let f = File::create("foo.txt").await?; + /// let mut buffer = BufWriter::new(f); + /// + /// buffer.write_all(b"some bytes").await?; + /// buffer.flush().await?; + /// Ok(()) + /// } + /// # } + /// ``` + Future flush(); + + /// Shuts down the output stream, ensuring that the value can be dropped + /// cleanly. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn shutdown(&mut self) -> io::Result<()>; + /// ``` + /// + /// Similar to [`flush`], all intermediately buffered is written to the + /// underlying stream. Once the operation completes, the caller should + /// no longer attempt to write to the stream. For example, the + /// `TcpStream` implementation will issue a `shutdown(Write)` sys call. + /// + /// [`flush`]: fn@crate::io::AsyncWriteExt::flush + /// + /// # Examples + /// + /// ```no_run + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::io::{self, BufWriter, AsyncWriteExt}; + /// use tokio::fs::File; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let f = File::create("foo.txt").await?; + /// let mut buffer = BufWriter::new(f); + /// + /// buffer.write_all(b"some bytes").await?; + /// buffer.shutdown().await?; + /// Ok(()) + /// } + /// # } + /// ``` + Future shutdown(); + + /// Writes an 32-bit floating point type in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_f32(&mut self, n: f32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write 32-bit floating point type to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_f32(f32::MIN).await?; + /// + /// assert_eq!(writer, vec![0xff, 0x7f, 0xff, 0xff]); + /// Ok(()) + /// # } + /// ``` + Future writeF32({required double n}); + + /// Writes an 32-bit floating point type in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_f32_le(&mut self, n: f32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write 32-bit floating point type to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_f32_le(f32::MIN).await?; + /// + /// assert_eq!(writer, vec![0xff, 0xff, 0x7f, 0xff]); + /// Ok(()) + /// # } + /// ``` + Future writeF32Le({required double n}); + + /// Writes an 64-bit floating point type in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_f64(&mut self, n: f64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write 64-bit floating point type to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_f64(f64::MIN).await?; + /// + /// assert_eq!(writer, vec![ + /// 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeF64({required double n}); + + /// Writes an 64-bit floating point type in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_f64_le(&mut self, n: f64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write 64-bit floating point type to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_f64_le(f64::MIN).await?; + /// + /// assert_eq!(writer, vec![ + /// 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeF64Le({required double n}); + + /// Writes an signed 128-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i128(&mut self, n: i128) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 128-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i128(i128::MIN).await?; + /// + /// assert_eq!(writer, vec![ + /// 0x80, 0, 0, 0, 0, 0, 0, 0, + /// 0, 0, 0, 0, 0, 0, 0, 0 + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeI128({required BigInt n}); + + /// Writes an signed 128-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i128_le(&mut self, n: i128) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 128-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i128_le(i128::MIN).await?; + /// + /// assert_eq!(writer, vec![ + /// 0, 0, 0, 0, 0, 0, 0, + /// 0, 0, 0, 0, 0, 0, 0, 0, 0x80 + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeI128Le({required BigInt n}); + + /// Writes a signed 16-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i16(&mut self, n: i16) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 16-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i16(193).await?; + /// writer.write_i16(-132).await?; + /// + /// assert_eq!(writer, b"\x00\xc1\xff\x7c"); + /// Ok(()) + /// # } + /// ``` + Future writeI16({required int n}); + + /// Writes a signed 16-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i16_le(&mut self, n: i16) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 16-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i16_le(193).await?; + /// writer.write_i16_le(-132).await?; + /// + /// assert_eq!(writer, b"\xc1\x00\x7c\xff"); + /// Ok(()) + /// # } + /// ``` + Future writeI16Le({required int n}); + + /// Writes a signed 32-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i32(&mut self, n: i32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 32-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i32(267).await?; + /// writer.write_i32(1205419366).await?; + /// + /// assert_eq!(writer, b"\x00\x00\x01\x0b\x47\xd9\x3d\x66"); + /// Ok(()) + /// # } + /// ``` + Future writeI32({required int n}); + + /// Writes a signed 32-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i32_le(&mut self, n: i32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 32-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i32_le(267).await?; + /// writer.write_i32_le(1205419366).await?; + /// + /// assert_eq!(writer, b"\x0b\x01\x00\x00\x66\x3d\xd9\x47"); + /// Ok(()) + /// # } + /// ``` + Future writeI32Le({required int n}); + + /// Writes an signed 64-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i64(&mut self, n: i64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 64-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i64(i64::MIN).await?; + /// writer.write_i64(i64::MAX).await?; + /// + /// assert_eq!(writer, b"\x80\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xff\xff\xff\xff\xff\xff"); + /// Ok(()) + /// # } + /// ``` + Future writeI64({required PlatformInt64 n}); + + /// Writes an signed 64-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i64_le(&mut self, n: i64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 64-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i64_le(i64::MIN).await?; + /// writer.write_i64_le(i64::MAX).await?; + /// + /// assert_eq!(writer, b"\x00\x00\x00\x00\x00\x00\x00\x80\xff\xff\xff\xff\xff\xff\xff\x7f"); + /// Ok(()) + /// # } + /// ``` + Future writeI64Le({required PlatformInt64 n}); + + /// Writes a signed 8-bit integer to the underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_i8(&mut self, n: i8) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write signed 8 bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_i8(-2).await?; + /// writer.write_i8(126).await?; + /// + /// assert_eq!(writer, b"\xFE\x7E"); + /// Ok(()) + /// # } + /// ``` + Future writeI8({required int n}); + + /// Writes an unsigned 128-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u128(&mut self, n: u128) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 128-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u128(16947640962301618749969007319746179).await?; + /// + /// assert_eq!(writer, vec![ + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83, + /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeU128({required BigInt n}); + + /// Writes an unsigned 128-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u128_le(&mut self, n: u128) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 128-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u128_le(16947640962301618749969007319746179).await?; + /// + /// assert_eq!(writer, vec![ + /// 0x83, 0x86, 0x60, 0x4d, 0x95, 0x43, 0x03, 0x00, + /// 0x83, 0x86, 0x60, 0x4d, 0x95, 0x43, 0x03, 0x00, + /// ]); + /// Ok(()) + /// # } + /// ``` + Future writeU128Le({required BigInt n}); + + /// Writes an unsigned 16-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u16(&mut self, n: u16) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 16-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u16(517).await?; + /// writer.write_u16(768).await?; + /// + /// assert_eq!(writer, b"\x02\x05\x03\x00"); + /// Ok(()) + /// # } + /// ``` + Future writeU16({required int n}); + + /// Writes an unsigned 16-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u16_le(&mut self, n: u16) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 16-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u16_le(517).await?; + /// writer.write_u16_le(768).await?; + /// + /// assert_eq!(writer, b"\x05\x02\x00\x03"); + /// Ok(()) + /// # } + /// ``` + Future writeU16Le({required int n}); + + /// Writes an unsigned 32-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u32(&mut self, n: u32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 32-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u32(267).await?; + /// writer.write_u32(1205419366).await?; + /// + /// assert_eq!(writer, b"\x00\x00\x01\x0b\x47\xd9\x3d\x66"); + /// Ok(()) + /// # } + /// ``` + Future writeU32({required int n}); + + /// Writes an unsigned 32-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u32_le(&mut self, n: u32) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 32-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u32_le(267).await?; + /// writer.write_u32_le(1205419366).await?; + /// + /// assert_eq!(writer, b"\x0b\x01\x00\x00\x66\x3d\xd9\x47"); + /// Ok(()) + /// # } + /// ``` + Future writeU32Le({required int n}); + + /// Writes an unsigned 64-bit integer in big-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u64(&mut self, n: u64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 64-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u64(918733457491587).await?; + /// writer.write_u64(143).await?; + /// + /// assert_eq!(writer, b"\x00\x03\x43\x95\x4d\x60\x86\x83\x00\x00\x00\x00\x00\x00\x00\x8f"); + /// Ok(()) + /// # } + /// ``` + Future writeU64({required BigInt n}); + + /// Writes an unsigned 64-bit integer in little-endian order to the + /// underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u64_le(&mut self, n: u64) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 64-bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u64_le(918733457491587).await?; + /// writer.write_u64_le(143).await?; + /// + /// assert_eq!(writer, b"\x83\x86\x60\x4d\x95\x43\x03\x00\x8f\x00\x00\x00\x00\x00\x00\x00"); + /// Ok(()) + /// # } + /// ``` + Future writeU64Le({required BigInt n}); + + /// Writes an unsigned 8-bit integer to the underlying writer. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn write_u8(&mut self, n: u8) -> io::Result<()>; + /// ``` + /// + /// It is recommended to use a buffered writer to avoid excessive + /// syscalls. + /// + /// # Errors + /// + /// This method returns the same errors as [`AsyncWriteExt::write_all`]. + /// + /// [`AsyncWriteExt::write_all`]: AsyncWriteExt::write_all + /// + /// # Examples + /// + /// Write unsigned 8 bit integers to a `AsyncWrite`: + /// + /// ```rust + /// use tokio::io::{self, AsyncWriteExt}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() -> io::Result<()> { + /// let mut writer = Vec::new(); + /// + /// writer.write_u8(2).await?; + /// writer.write_u8(5).await?; + /// + /// assert_eq!(writer, b"\x02\x05"); + /// Ok(()) + /// # } + /// ``` + Future writeU8({required int n}); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/macros/support.dart b/mobile_app/lib/src/rust/third_party/tokio/macros/support.dart new file mode 100644 index 0000000..ccfc3ee --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/macros/support.dart @@ -0,0 +1,15 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../signal/unix.dart'; +import '../sync/oneshot.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +Future threadRngN({required int n}) => + RustLib.instance.api.tokioMacrosSupportThreadRngN(n: n); + +Future pollBudgetAvailable({required Context cx}) => + RustLib.instance.api.tokioMacrosSupportPollBudgetAvailable(cx: cx); diff --git a/mobile_app/lib/src/rust/third_party/tokio/net.dart b/mobile_app/lib/src/rust/third_party/tokio/net.dart new file mode 100644 index 0000000..8e24b87 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net.dart @@ -0,0 +1,4504 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'io.dart'; +import 'net/tcp.dart'; +import 'net/tcp/listener.dart'; +import 'net/tcp/split_owned.dart'; +import 'net/udp.dart'; +import 'net/unix.dart'; +import 'net/unix/datagram/socket.dart'; +import 'net/unix/listener.dart'; +import 'net/unix/pipe.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'signal/unix.dart'; +import 'time/error.dart'; + +// These functions are ignored because they have generic arguments: `lookup_host` + +// Rust type: RustOpaqueMoi> +abstract class TcpListener implements RustOpaqueInterface { + /// Accepts a new incoming connection from this listener. + /// + /// This function will yield once a new TCP connection is established. When + /// established, the corresponding [`TcpStream`] and the remote peer's + /// address will be returned. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If the method is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no new connections were + /// accepted by this method. + /// + /// [`TcpStream`]: struct@crate::net::TcpStream + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpListener; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let listener = TcpListener::bind("127.0.0.1:8080").await?; + /// + /// match listener.accept().await { + /// Ok((_socket, addr)) => println!("new client: {:?}", addr), + /// Err(e) => println!("couldn't get client: {:?}", e), + /// } + /// + /// Ok(()) + /// } + /// ``` + Future<(TcpStream, SocketAddr)> accept(); + + /// Creates new `TcpListener` from a `std::net::TcpListener`. + /// + /// This function is intended to be used to wrap a TCP listener from the + /// standard library in the Tokio equivalent. + /// + /// This API is typically paired with the `socket2` crate and the `Socket` + /// type to build up and customize a listener before it's shipped off to the + /// backing event loop. This allows configuration of options like + /// `SO_REUSEPORT`, binding to multiple addresses, etc. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the listener is in + /// non-blocking mode. Otherwise all I/O operations on the listener + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::net::TcpListener::set_nonblocking + /// + /// # Examples + /// + /// ```rust,no_run + /// use std::error::Error; + /// use tokio::net::TcpListener; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let std_listener = std::net::TcpListener::bind("127.0.0.1:0")?; + /// std_listener.set_nonblocking(true)?; + /// let listener = TcpListener::from_std(std_listener)?; + /// Ok(()) + /// } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromStd({required TcpListener listener}) => + RustLib.instance.api.tokioNetTcpListenerFromStd(listener: listener); + + /// Turns a [`tokio::net::TcpListener`] into a [`std::net::TcpListener`]. + /// + /// The returned [`std::net::TcpListener`] will have nonblocking mode set as + /// `true`. Use [`set_nonblocking`] to change the blocking mode if needed. + /// + /// # Examples + /// + /// ```rust,no_run + /// use std::error::Error; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let tokio_listener = tokio::net::TcpListener::bind("127.0.0.1:0").await?; + /// let std_listener = tokio_listener.into_std()?; + /// std_listener.set_nonblocking(false)?; + /// Ok(()) + /// } + /// ``` + /// + /// [`tokio::net::TcpListener`]: TcpListener + /// [`std::net::TcpListener`]: std::net::TcpListener + /// [`set_nonblocking`]: fn@std::net::TcpListener::set_nonblocking + Future intoStd(); + + /// Returns the local address that this listener is bound to. + /// + /// This can be useful, for example, when binding to port 0 to figure out + /// which port was actually bound. + /// + /// # Examples + /// + /// ```rust,no_run + /// use tokio::net::TcpListener; + /// + /// use std::io; + /// use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4}; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let listener = TcpListener::bind("127.0.0.1:8080").await?; + /// + /// assert_eq!(listener.local_addr()?, + /// SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080))); + /// + /// Ok(()) + /// } + /// ``` + Future localAddr(); + + /// Polls to accept a new incoming connection to this listener. + /// + /// If there is no connection to accept, `Poll::Pending` is returned and the + /// current task will be notified by a waker. Note that on multiple calls + /// to `poll_accept`, only the `Waker` from the `Context` passed to the most + /// recent call is scheduled to receive a wakeup. + Future pollAccept({required Context cx}); + + /// Sets the value for the `IP_TTL` option on this socket. + /// + /// This value sets the time-to-live field that is used in every packet sent + /// from this socket. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpListener; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let listener = TcpListener::bind("127.0.0.1:0").await?; + /// + /// listener.set_ttl(100).expect("could not set TTL"); + /// + /// Ok(()) + /// } + /// ``` + Future setTtl({required int ttl}); + + /// Gets the value of the `IP_TTL` option for this socket. + /// + /// For more information about this option, see [`set_ttl`]. + /// + /// [`set_ttl`]: method@Self::set_ttl + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpListener; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let listener = TcpListener::bind("127.0.0.1:0").await?; + /// + /// listener.set_ttl(100).expect("could not set TTL"); + /// assert_eq!(listener.ttl()?, 100); + /// + /// Ok(()) + /// } + /// ``` + Future ttl(); +} + +// Rust type: RustOpaqueMoi> +abstract class TcpSocket implements RustOpaqueInterface { + /// Binds the socket to the given address. + /// + /// This calls the `bind(2)` operating-system function. Behavior is + /// platform specific. Refer to the target platform's documentation for more + /// details. + /// + /// # Examples + /// + /// Bind a socket before listening. + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// # drop(listener); + /// + /// Ok(()) + /// } + /// ``` + Future bind({required SocketAddr addr}); + + /// Establishes a TCP connection with a peer at the specified socket address. + /// + /// The `TcpSocket` is consumed. Once the connection is established, a + /// connected [`TcpStream`] is returned. If the connection fails, the + /// encountered error is returned. + /// + /// [`TcpStream`]: TcpStream + /// + /// This calls the `connect(2)` operating-system function. Behavior is + /// platform specific. Refer to the target platform's documentation for more + /// details. + /// + /// # Examples + /// + /// Connecting to a peer. + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// let stream = socket.connect(addr).await?; + /// # drop(stream); + /// + /// Ok(()) + /// } + /// ``` + Future connect({required SocketAddr addr}); + + /// Converts a [`std::net::TcpStream`] into a `TcpSocket`. The provided + /// socket must not have been connected prior to calling this function. This + /// function is typically used together with crates such as [`socket2`] to + /// configure socket options that are not available on `TcpSocket`. + /// + /// [`std::net::TcpStream`]: struct@std::net::TcpStream + /// [`socket2`]: https://docs.rs/socket2/ + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the socket is in + /// non-blocking mode. Otherwise all I/O operations on the socket + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// [`set_nonblocking`]: std::net::TcpStream::set_nonblocking + /// + /// # Examples + /// + /// ``` + /// use tokio::net::TcpSocket; + /// use socket2::{Domain, Socket, Type}; + /// + /// #[tokio::main] + /// async fn main() -> std::io::Result<()> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// let socket2_socket = Socket::new(Domain::IPV4, Type::STREAM, None)?; + /// socket2_socket.set_nonblocking(true)?; + /// + /// let socket = TcpSocket::from_std_stream(socket2_socket.into()); + /// + /// Ok(()) + /// } + /// ``` + static Future fromStdStream({required TcpStream stdStream}) => + RustLib.instance.api.tokioNetTcpSocketFromStdStream(stdStream: stdStream); + + /// Gets the value of the `SO_KEEPALIVE` option on this socket. + Future keepalive(); + + /// Reads the linger duration for this socket by getting the `SO_LINGER` + /// option. + /// + /// For more information about this option, see [`set_linger`]. + /// + /// [`set_linger`]: TcpSocket::set_linger + Future linger(); + + /// Converts the socket into a `TcpListener`. + /// + /// `backlog` defines the maximum number of pending connections are queued + /// by the operating system at any given time. Connection are removed from + /// the queue with [`TcpListener::accept`]. When the queue is full, the + /// operating-system will start rejecting connections. + /// + /// [`TcpListener::accept`]: TcpListener::accept + /// + /// This calls the `listen(2)` operating-system function, marking the socket + /// as a passive socket. Behavior is platform specific. Refer to the target + /// platform's documentation for more details. + /// + /// # Examples + /// + /// Create a `TcpListener`. + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// # drop(listener); + /// + /// Ok(()) + /// } + /// ``` + Future listen({required int backlog}); + + /// Gets the local address of this socket. + /// + /// Will fail on windows if called before `bind`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.bind(addr)?; + /// assert_eq!(socket.local_addr().unwrap().to_string(), "127.0.0.1:8080"); + /// let listener = socket.listen(1024)?; + /// Ok(()) + /// } + /// ``` + Future localAddr(); + + /// Creates a new socket configured for IPv4. + /// + /// Calls `socket(2)` with `AF_INET` and `SOCK_STREAM`. + /// + /// # Returns + /// + /// On success, the newly created `TcpSocket` is returned. If an error is + /// encountered, it is returned instead. + /// + /// # Examples + /// + /// Create a new IPv4 socket and start listening. + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// let socket = TcpSocket::new_v4()?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(128)?; + /// # drop(listener); + /// Ok(()) + /// } + /// ``` + static Future newV4() => + RustLib.instance.api.tokioNetTcpSocketNewV4(); + + /// Creates a new socket configured for IPv6. + /// + /// Calls `socket(2)` with `AF_INET6` and `SOCK_STREAM`. + /// + /// # Returns + /// + /// On success, the newly created `TcpSocket` is returned. If an error is + /// encountered, it is returned instead. + /// + /// # Examples + /// + /// Create a new IPv6 socket and start listening. + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "[::1]:8080".parse().unwrap(); + /// let socket = TcpSocket::new_v6()?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(128)?; + /// # drop(listener); + /// Ok(()) + /// } + /// ``` + static Future newV6() => + RustLib.instance.api.tokioNetTcpSocketNewV6(); + + /// Gets the value of the `TCP_NODELAY` option on this socket. + /// + /// For more information about this option, see [`set_nodelay`]. + /// + /// [`set_nodelay`]: TcpSocket::set_nodelay + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// # async fn dox() -> Result<(), Box> { + /// let socket = TcpSocket::new_v4()?; + /// + /// println!("{:?}", socket.nodelay()?); + /// # Ok(()) + /// # } + /// ``` + Future nodelay(); + + /// Returns the size of the TCP receive buffer for this socket. + /// + /// On most operating systems, this is the value of the `SO_RCVBUF` socket + /// option. + /// + /// Note that if [`set_recv_buffer_size`] has been called on this socket + /// previously, the value returned by this function may not be the same as + /// the argument provided to `set_recv_buffer_size`. This is for the + /// following reasons: + /// + /// * Most operating systems have minimum and maximum allowed sizes for the + /// receive buffer, and will clamp the provided value if it is below the + /// minimum or above the maximum. The minimum and maximum buffer sizes are + /// OS-dependent. + /// * Linux will double the buffer size to account for internal bookkeeping + /// data, and returns the doubled value from `getsockopt(2)`. As per `man + /// 7 socket`: + /// > Sets or gets the maximum socket send buffer in bytes. The + /// > kernel doubles this value (to allow space for bookkeeping + /// > overhead) when it is set using `setsockopt(2)`, and this doubled + /// > value is returned by `getsockopt(2)`. + /// + /// [`set_recv_buffer_size`]: #method.set_recv_buffer_size + Future recvBufferSize(); + + /// Retrieves the value set for `SO_REUSEADDR` on this socket. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.set_reuseaddr(true)?; + /// assert!(socket.reuseaddr().unwrap()); + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// Ok(()) + /// } + /// ``` + Future reuseaddr(); + + /// Allows the socket to bind to an in-use port. Only available for unix systems + /// (excluding Solaris, Illumos, and Cygwin). + /// + /// Behavior is platform specific. Refer to the target platform's + /// documentation for more details. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.set_reuseport(true)?; + /// assert!(socket.reuseport().unwrap()); + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// Ok(()) + /// } + /// ``` + Future reuseport(); + + /// Returns the size of the TCP send buffer for this socket. + /// + /// On most operating systems, this is the value of the `SO_SNDBUF` socket + /// option. + /// + /// Note that if [`set_send_buffer_size`] has been called on this socket + /// previously, the value returned by this function may not be the same as + /// the argument provided to `set_send_buffer_size`. This is for the + /// following reasons: + /// + /// * Most operating systems have minimum and maximum allowed sizes for the + /// send buffer, and will clamp the provided value if it is below the + /// minimum or above the maximum. The minimum and maximum buffer sizes are + /// OS-dependent. + /// * Linux will double the buffer size to account for internal bookkeeping + /// data, and returns the doubled value from `getsockopt(2)`. As per `man + /// 7 socket`: + /// > Sets or gets the maximum socket send buffer in bytes. The + /// > kernel doubles this value (to allow space for bookkeeping + /// > overhead) when it is set using `setsockopt(2)`, and this doubled + /// > value is returned by `getsockopt(2)`. + /// + /// [`set_send_buffer_size`]: #method.set_send_buffer_size + Future sendBufferSize(); + + /// Sets value for the `SO_KEEPALIVE` option on this socket. + Future setKeepalive({required bool keepalive}); + + /// Sets the linger duration of this socket by setting the `SO_LINGER` option. + /// + /// This option controls the action taken when a stream has unsent messages and the stream is + /// closed. If `SO_LINGER` is set, the system shall block the process until it can transmit the + /// data or until the time expires. + /// + /// If `SO_LINGER` is not specified, and the socket is closed, the system handles the call in a + /// way that allows the process to continue as quickly as possible. + /// + /// This option is deprecated because setting `SO_LINGER` on a socket used with Tokio is always + /// incorrect as it leads to blocking the thread when the socket is closed. For more details, + /// please see: + /// + /// > Volumes of communications have been devoted to the intricacies of `SO_LINGER` versus + /// > non-blocking (`O_NONBLOCK`) sockets. From what I can tell, the final word is: don't do + /// > it. Rely on the `shutdown()`-followed-by-`read()`-eof technique instead. + /// > + /// > From [The ultimate `SO_LINGER` page, or: why is my tcp not reliable](https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable) + Future setLinger({Duration? dur}); + + /// Sets the value of the `TCP_NODELAY` option on this socket. + /// + /// If set, this option disables the Nagle algorithm. This means that segments are always + /// sent as soon as possible, even if there is only a small amount of data. When not set, + /// data is buffered until there is a sufficient amount to send out, thereby avoiding + /// the frequent sending of small packets. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// # async fn dox() -> Result<(), Box> { + /// let socket = TcpSocket::new_v4()?; + /// + /// socket.set_nodelay(true)?; + /// # Ok(()) + /// # } + /// ``` + Future setNodelay({required bool nodelay}); + + /// Sets the size of the TCP receive buffer on this socket. + /// + /// On most operating systems, this sets the `SO_RCVBUF` socket option. + Future setRecvBufferSize({required int size}); + + /// Allows the socket to bind to an in-use address. + /// + /// Behavior is platform specific. Refer to the target platform's + /// documentation for more details. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.set_reuseaddr(true)?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// # drop(listener); + /// + /// Ok(()) + /// } + /// ``` + Future setReuseaddr({required bool reuseaddr}); + + /// Allows the socket to bind to an in-use port. Only available for unix systems + /// (excluding Solaris, Illumos, and Cygwin). + /// + /// Behavior is platform specific. Refer to the target platform's + /// documentation for more details. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpSocket; + /// + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let addr = "127.0.0.1:8080".parse().unwrap(); + /// + /// let socket = TcpSocket::new_v4()?; + /// socket.set_reuseport(true)?; + /// socket.bind(addr)?; + /// + /// let listener = socket.listen(1024)?; + /// Ok(()) + /// } + /// ``` + Future setReuseport({required bool reuseport}); + + /// Sets the size of the TCP send buffer on this socket. + /// + /// On most operating systems, this sets the `SO_SNDBUF` socket option. + Future setSendBufferSize({required int size}); + + /// Sets the value for the `IPV6_TCLASS` option on this socket. + /// + /// Specifies the traffic class field that is used in every packet + /// sent from this socket. + /// + /// # Note + /// + /// This may not have any effect on IPv4 sockets. + Future setTclassV6({required int tclass}); + + /// Deprecated. Use [`set_tos_v4()`] instead. + /// + /// [`set_tos_v4()`]: Self::set_tos_v4 + Future setTos({required int tos}); + + /// Sets the value for the `IP_TOS` option on this socket. + /// + /// This value sets the type-of-service field that is used in every packet + /// sent from this socket. + /// + /// # Note + /// + /// - This may not have any effect on IPv6 sockets. + /// - On Windows, `IP_TOS` is only supported on [Windows 8+ or + /// Windows Server 2012+.](https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options) + Future setTosV4({required int tos}); + + /// Returns the value of the `SO_ERROR` option. + Future takeError(); + + /// Gets the value of the `IPV6_TCLASS` option for this socket. + /// + /// For more information about this option, see [`set_tclass_v6`]. + /// + /// [`set_tclass_v6`]: Self::set_tclass_v6 + Future tclassV6(); + + /// Deprecated. Use [`tos_v4()`] instead. + /// + /// [`tos_v4()`]: Self::tos_v4 + Future tos(); + + /// Gets the value of the `IP_TOS` option for this socket. + /// + /// For more information about this option, see [`set_tos_v4`]. + /// + /// [`set_tos_v4`]: Self::set_tos_v4 + Future tosV4(); +} + +// Rust type: RustOpaqueMoi> +abstract class TcpStream implements RustOpaqueInterface { + /// Creates new `TcpStream` from a `std::net::TcpStream`. + /// + /// This function is intended to be used to wrap a TCP stream from the + /// standard library in the Tokio equivalent. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the stream is in + /// non-blocking mode. Otherwise all I/O operations on the stream + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::net::TcpStream::set_nonblocking + /// + /// # Examples + /// + /// ```rust,no_run + /// use std::error::Error; + /// use tokio::net::TcpStream; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let std_stream = std::net::TcpStream::connect("127.0.0.1:34254")?; + /// std_stream.set_nonblocking(true)?; + /// let stream = TcpStream::from_std(std_stream)?; + /// Ok(()) + /// } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromStd({required TcpStream stream}) => + RustLib.instance.api.tokioNetTcpStreamFromStd(stream: stream); + + /// Splits a `TcpStream` into a read half and a write half, which can be used + /// to read and write the stream concurrently. + /// + /// Unlike [`split`], the owned halves can be moved to separate tasks, however + /// this comes at the cost of a heap allocation. + /// + /// **Note:** Dropping the write half will shut down the write half of the TCP + /// stream. This is equivalent to calling [`shutdown()`] on the `TcpStream`. + /// + /// [`split`]: TcpStream::split() + /// [`shutdown()`]: fn@crate::io::AsyncWriteExt::shutdown + Future<(OwnedReadHalf, OwnedWriteHalf)> intoSplit(); + + /// Turns a [`tokio::net::TcpStream`] into a [`std::net::TcpStream`]. + /// + /// The returned [`std::net::TcpStream`] will have nonblocking mode set as `true`. + /// Use [`set_nonblocking`] to change the blocking mode if needed. + /// + /// # Examples + /// + /// ``` + /// use std::error::Error; + /// use std::io::Read; + /// use tokio::net::TcpListener; + /// # use tokio::net::TcpStream; + /// # use tokio::io::AsyncWriteExt; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// let mut data = [0u8; 12]; + /// # if false { + /// let listener = TcpListener::bind("127.0.0.1:34254").await?; + /// # } + /// # let listener = TcpListener::bind("127.0.0.1:0").await?; + /// # let addr = listener.local_addr().unwrap(); + /// # let handle = tokio::spawn(async move { + /// # let mut stream: TcpStream = TcpStream::connect(addr).await.unwrap(); + /// # stream.write_all(b"Hello world!").await.unwrap(); + /// # }); + /// let (tokio_tcp_stream, _) = listener.accept().await?; + /// let mut std_tcp_stream = tokio_tcp_stream.into_std()?; + /// # handle.await.expect("The task being joined has panicked"); + /// std_tcp_stream.set_nonblocking(false)?; + /// std_tcp_stream.read_exact(&mut data)?; + /// # assert_eq!(b"Hello world!", &data); + /// Ok(()) + /// } + /// ``` + /// [`tokio::net::TcpStream`]: TcpStream + /// [`std::net::TcpStream`]: std::net::TcpStream + /// [`set_nonblocking`]: fn@std::net::TcpStream::set_nonblocking + Future intoStd(); + + /// Reads the linger duration for this socket by getting the `SO_LINGER` + /// option. + /// + /// For more information about this option, see [`set_linger`]. + /// + /// [`set_linger`]: TcpStream::set_linger + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// println!("{:?}", stream.linger()?); + /// # Ok(()) + /// # } + /// ``` + Future linger(); + + /// Returns the local address that this stream is bound to. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// println!("{:?}", stream.local_addr()?); + /// # Ok(()) + /// # } + /// ``` + Future localAddr(); + + /// Gets the value of the `TCP_NODELAY` option on this socket. + /// + /// For more information about this option, see [`set_nodelay`]. + /// + /// [`set_nodelay`]: TcpStream::set_nodelay + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// println!("{:?}", stream.nodelay()?); + /// # Ok(()) + /// # } + /// ``` + Future nodelay(); + + /// Receives data on the socket from the remote address to which it is + /// connected, without removing that data from the queue. On success, + /// returns the number of bytes peeked. + /// + /// Successive calls return the same data. This is accomplished by passing + /// `MSG_PEEK` as a flag to the underlying `recv` system call. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If the method is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no peek was performed, and + /// that `buf` has not been modified. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use tokio::io::AsyncReadExt; + /// use std::error::Error; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let mut stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// let mut b1 = [0; 10]; + /// let mut b2 = [0; 10]; + /// + /// // Peek at the data + /// let n = stream.peek(&mut b1).await?; + /// + /// // Read the data + /// assert_eq!(n, stream.read(&mut b2[..n]).await?); + /// assert_eq!(&b1[..n], &b2[..n]); + /// + /// Ok(()) + /// } + /// ``` + /// + /// The [`read`] method is defined on the [`AsyncReadExt`] trait. + /// + /// [`read`]: fn@crate::io::AsyncReadExt::read + /// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt + Future peek({required U8 buf}); + + /// Returns the remote address that this stream is connected to. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// println!("{:?}", stream.peer_addr()?); + /// # Ok(()) + /// # } + /// ``` + Future peerAddr(); + + /// Attempts to receive data on the socket, without removing that data from + /// the queue, registering the current task for wakeup if data is not yet + /// available. + /// + /// Note that on multiple calls to `poll_peek`, `poll_read` or + /// `poll_read_ready`, only the `Waker` from the `Context` passed to the + /// most recent call is scheduled to receive a wakeup. (However, + /// `poll_write` retains a second, independent waker.) + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if data is not yet available. + /// * `Poll::Ready(Ok(n))` if data is available. `n` is the number of bytes peeked. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::io::{self, ReadBuf}; + /// use tokio::net::TcpStream; + /// + /// use std::future::poll_fn; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let stream = TcpStream::connect("127.0.0.1:8000").await?; + /// let mut buf = [0; 10]; + /// let mut buf = ReadBuf::new(&mut buf); + /// + /// poll_fn(|cx| { + /// stream.poll_peek(cx, &mut buf) + /// }).await?; + /// + /// Ok(()) + /// } + /// ``` + Future pollPeek({required Context cx, required ReadBuf buf}); + + /// Polls for read readiness. + /// + /// If the tcp stream is not currently ready for reading, this method will + /// store a clone of the `Waker` from the provided `Context`. When the tcp + /// stream becomes ready for reading, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_read_ready`, `poll_read` or + /// `poll_peek`, only the `Waker` from the `Context` passed to the most + /// recent call is scheduled to receive a wakeup. (However, + /// `poll_write_ready` retains a second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`readable`] is not feasible. Where possible, using [`readable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the tcp stream is not ready for reading. + /// * `Poll::Ready(Ok(()))` if the tcp stream is ready for reading. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`readable`]: method@Self::readable + Future pollReadReady({required Context cx}); + + /// Polls for write readiness. + /// + /// If the tcp stream is not currently ready for writing, this method will + /// store a clone of the `Waker` from the provided `Context`. When the tcp + /// stream becomes ready for writing, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_write_ready` or `poll_write`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. (However, `poll_read_ready` retains a + /// second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`writable`] is not feasible. Where possible, using [`writable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the tcp stream is not ready for writing. + /// * `Poll::Ready(Ok(()))` if the tcp stream is ready for writing. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`writable`]: method@Self::writable + Future pollWriteReady({required Context cx}); + + /// Waits for the socket to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with `try_read()`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// let mut msg = vec![0; 1024]; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut msg) { + /// Ok(n) => { + /// msg.truncate(n); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// println!("GOT = {:?}", msg); + /// Ok(()) + /// } + /// ``` + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with `try_read()` or `try_write()`. It + /// can be used to concurrently read / write to the same socket on a single + /// task without splitting the socket. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// Concurrently read and write to the stream on the same task without + /// splitting. + /// + /// ```no_run + /// use tokio::io::Interest; + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// loop { + /// let ready = stream.ready(Interest::READABLE | Interest::WRITABLE).await?; + /// + /// if ready.is_readable() { + /// let mut data = vec![0; 1024]; + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut data) { + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// + /// } + /// + /// if ready.is_writable() { + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// println!("write {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// } + /// } + /// ``` + Future ready({required Interest interest}); + + /// Sets the linger duration of this socket by setting the `SO_LINGER` option. + /// + /// This option controls the action taken when a stream has unsent messages and the stream is + /// closed. If `SO_LINGER` is set, the system shall block the process until it can transmit the + /// data or until the time expires. + /// + /// If `SO_LINGER` is not specified, and the stream is closed, the system handles the call in a + /// way that allows the process to continue as quickly as possible. + /// + /// This option is deprecated because setting `SO_LINGER` on a socket used with Tokio is + /// always incorrect as it leads to blocking the thread when the socket is closed. For more + /// details, please see: + /// + /// > Volumes of communications have been devoted to the intricacies of `SO_LINGER` versus + /// > non-blocking (`O_NONBLOCK`) sockets. From what I can tell, the final word is: don't + /// > do it. Rely on the `shutdown()`-followed-by-`read()`-eof technique instead. + /// > + /// > From [The ultimate `SO_LINGER` page, or: why is my tcp not reliable](https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable) + /// + /// # Examples + /// + /// ```no_run + /// # #![allow(deprecated)] + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// stream.set_linger(None)?; + /// # Ok(()) + /// # } + /// ``` + Future setLinger({Duration? dur}); + + /// Sets the value of the `TCP_NODELAY` option on this socket. + /// + /// If set, this option disables the Nagle algorithm. This means that + /// segments are always sent as soon as possible, even if there is only a + /// small amount of data. When not set, data is buffered until there is a + /// sufficient amount to send out, thereby avoiding the frequent sending of + /// small packets. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// stream.set_nodelay(true)?; + /// # Ok(()) + /// # } + /// ``` + Future setNodelay({required bool nodelay}); + + /// Sets the value for the `IP_TTL` option on this socket. + /// + /// This value sets the time-to-live field that is used in every packet sent + /// from this socket. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// stream.set_ttl(123)?; + /// # Ok(()) + /// # } + /// ``` + Future setTtl({required int ttl}); + + /// Returns the value of the `SO_ERROR` option. + Future takeError(); + + /// Tries to read data from the stream into the provided buffer, returning how + /// many bytes were read. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read()` is non-blocking, the buffer does not have to be stored by + /// the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`readable()`]: TcpStream::readable() + /// [`ready()`]: TcpStream::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: + /// + /// 1. The stream's read half is closed and will no longer yield data. + /// 2. The specified buffer was 0 bytes in length. + /// + /// If the stream is not ready to read data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Creating the buffer **after** the `await` prevents it from + /// // being stored in the async task. + /// let mut buf = [0; 4096]; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut buf) { + /// Ok(0) => break, + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryRead({required U8 buf}); + + /// Tries to read data from the stream into the provided buffers, returning + /// how many bytes were read. + /// + /// Data is copied to fill each buffer in order, with the final buffer + /// written to possibly being only partially filled. This method behaves + /// equivalently to a single call to [`try_read()`] with concatenated + /// buffers. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read_vectored()` is non-blocking, the buffer does not have to be + /// stored by the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`try_read()`]: TcpStream::try_read() + /// [`readable()`]: TcpStream::readable() + /// [`ready()`]: TcpStream::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. `Ok(0)` indicates the stream's read half is closed + /// and will no longer yield data. If the stream is not ready to read data + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io::{self, IoSliceMut}; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Creating the buffer **after** the `await` prevents it from + /// // being stored in the async task. + /// let mut buf_a = [0; 512]; + /// let mut buf_b = [0; 1024]; + /// let mut bufs = [ + /// IoSliceMut::new(&mut buf_a), + /// IoSliceMut::new(&mut buf_b), + /// ]; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read_vectored(&mut bufs) { + /// Ok(0) => break, + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryReadVectored({required IoSliceMut bufs}); + + /// Try to write a buffer to the stream, returning how many bytes were + /// written. + /// + /// The function will attempt to write the entire contents of `buf`, but + /// only part of the buffer may be written. + /// + /// This function is usually paired with `writable()`. + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWrite({required List buf}); + + /// Tries to write several buffers to the stream, returning how many bytes + /// were written. + /// + /// Data is written from each buffer in order, with the final buffer read + /// from possibly being only partially consumed. This method behaves + /// equivalently to a single call to [`try_write()`] with concatenated + /// buffers. + /// + /// This function is usually paired with `writable()`. + /// + /// [`try_write()`]: TcpStream::try_write() + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write_vectored(&bufs) { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWriteVectored({required List bufs}); + + /// Gets the value of the `IP_TTL` option for this socket. + /// + /// For more information about this option, see [`set_ttl`]. + /// + /// [`set_ttl`]: TcpStream::set_ttl + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// println!("{:?}", stream.ttl()?); + /// # Ok(()) + /// # } + /// ``` + Future ttl(); + + /// Waits for the socket to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually + /// paired with `try_write()`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future writable(); +} + +// Rust type: RustOpaqueMoi> +abstract class UdpSocket implements RustOpaqueInterface { + /// Gets the value of the `SO_BROADCAST` option for this socket. + /// + /// For more information about this option, see [`set_broadcast`]. + /// + /// [`set_broadcast`]: method@Self::set_broadcast + Future broadcast(); + + /// Creates new `UdpSocket` from a previously bound `std::net::UdpSocket`. + /// + /// This function is intended to be used to wrap a UDP socket from the + /// standard library in the Tokio equivalent. + /// + /// This can be used in conjunction with `socket2`'s `Socket` interface to + /// configure a socket before it's handed off, such as setting options like + /// `reuse_address` or binding to multiple addresses. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the socket is in + /// non-blocking mode. Otherwise all I/O operations on the socket + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::net::UdpSocket::set_nonblocking + /// + /// # Panics + /// + /// This function panics if thread-local runtime is not set. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + /// + /// # Example + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// # use std::{io, net::SocketAddr}; + /// + /// # #[tokio::main] + /// # async fn main() -> io::Result<()> { + /// let addr = "0.0.0.0:8080".parse::().unwrap(); + /// let std_sock = std::net::UdpSocket::bind(addr)?; + /// std_sock.set_nonblocking(true)?; + /// let sock = UdpSocket::from_std(std_sock)?; + /// // use `sock` + /// # Ok(()) + /// # } + /// ``` + static Future fromStd({required UdpSocket socket}) => + RustLib.instance.api.tokioNetUdpSocketFromStd(socket: socket); + + /// Turns a [`tokio::net::UdpSocket`] into a [`std::net::UdpSocket`]. + /// + /// The returned [`std::net::UdpSocket`] will have nonblocking mode set as + /// `true`. Use [`set_nonblocking`] to change the blocking mode if needed. + /// + /// # Examples + /// + /// ```rust,no_run + /// use std::error::Error; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let tokio_socket = tokio::net::UdpSocket::bind("127.0.0.1:0").await?; + /// let std_socket = tokio_socket.into_std()?; + /// std_socket.set_nonblocking(false)?; + /// Ok(()) + /// } + /// ``` + /// + /// [`tokio::net::UdpSocket`]: UdpSocket + /// [`std::net::UdpSocket`]: std::net::UdpSocket + /// [`set_nonblocking`]: fn@std::net::UdpSocket::set_nonblocking + Future intoStd(); + + /// Executes an operation of the `IP_ADD_MEMBERSHIP` type. + /// + /// This function specifies a new multicast group for this socket to join. + /// The address must be a valid multicast address, and `interface` is the + /// address of the local interface with which the system should join the + /// multicast group. If it's equal to `INADDR_ANY` then an appropriate + /// interface is chosen by the system. + Future joinMulticastV4( + {required Ipv4Addr multiaddr, required Ipv4Addr interface_}); + + /// Executes an operation of the `IPV6_ADD_MEMBERSHIP` type. + /// + /// This function specifies a new multicast group for this socket to join. + /// The address must be a valid multicast address, and `interface` is the + /// index of the interface to join/leave (or 0 to indicate any interface). + Future joinMulticastV6( + {required Ipv6Addr multiaddr, required int interface_}); + + /// Executes an operation of the `IP_DROP_MEMBERSHIP` type. + /// + /// For more information about this option, see [`join_multicast_v4`]. + /// + /// [`join_multicast_v4`]: method@Self::join_multicast_v4 + Future leaveMulticastV4( + {required Ipv4Addr multiaddr, required Ipv4Addr interface_}); + + /// Executes an operation of the `IPV6_DROP_MEMBERSHIP` type. + /// + /// For more information about this option, see [`join_multicast_v6`]. + /// + /// [`join_multicast_v6`]: method@Self::join_multicast_v6 + Future leaveMulticastV6( + {required Ipv6Addr multiaddr, required int interface_}); + + /// Returns the local address that this socket is bound to. + /// + /// # Example + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// # use std::{io, net::SocketAddr}; + /// + /// # #[tokio::main] + /// # async fn main() -> io::Result<()> { + /// let addr = "0.0.0.0:8080".parse::().unwrap(); + /// let sock = UdpSocket::bind(addr).await?; + /// // the address the socket is bound to + /// let local_addr = sock.local_addr()?; + /// # Ok(()) + /// # } + /// ``` + Future localAddr(); + + /// Gets the value of the `IP_MULTICAST_LOOP` option for this socket. + /// + /// For more information about this option, see [`set_multicast_loop_v4`]. + /// + /// [`set_multicast_loop_v4`]: method@Self::set_multicast_loop_v4 + Future multicastLoopV4(); + + /// Gets the value of the `IPV6_MULTICAST_LOOP` option for this socket. + /// + /// For more information about this option, see [`set_multicast_loop_v6`]. + /// + /// [`set_multicast_loop_v6`]: method@Self::set_multicast_loop_v6 + Future multicastLoopV6(); + + /// Gets the value of the `IP_MULTICAST_TTL` option for this socket. + /// + /// For more information about this option, see [`set_multicast_ttl_v4`]. + /// + /// [`set_multicast_ttl_v4`]: method@Self::set_multicast_ttl_v4 + Future multicastTtlV4(); + + /// Receives a single datagram from the connected address without removing it from the queue. + /// On success, returns the number of bytes read from whence the data came. + /// + /// # Notes + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and peek returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// let mut buf = vec![0u8; 32]; + /// let len = socket.peek(&mut buf).await?; + /// + /// println!("peeked {:?} bytes", len); + /// + /// Ok(()) + /// } + /// ``` + /// + /// [`peek_sender`]: method@Self::peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future peek({required U8 buf}); + + /// Receives data from the socket, without removing it from the input queue. + /// On success, returns the number of bytes read and the address from whence + /// the data came. + /// + /// # Notes + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and `peek_from` returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// let mut buf = vec![0u8; 32]; + /// let (len, addr) = socket.peek_from(&mut buf).await?; + /// + /// println!("peeked {:?} bytes from {:?}", len, addr); + /// + /// Ok(()) + /// } + /// ``` + /// + /// [`peek_sender`]: method@Self::peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future<(BigInt, SocketAddr)> peekFrom({required U8 buf}); + + /// Retrieve the sender of the data at the head of the input queue, waiting if empty. + /// + /// This is equivalent to calling [`peek_from`] with a zero-sized buffer, + /// but suppresses the `WSAEMSGSIZE` error on Windows and the "invalid argument" error on macOS. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [`peek_from`]: method@Self::peek_from + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future peekSender(); + + /// Returns the socket address of the remote peer this socket was connected to. + /// + /// # Example + /// + /// ``` + /// use tokio::net::UdpSocket; + /// + /// # use std::{io, net::SocketAddr}; + /// # #[tokio::main] + /// # async fn main() -> io::Result<()> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// let addr = "0.0.0.0:8080".parse::().unwrap(); + /// let peer = "127.0.0.1:11100".parse::().unwrap(); + /// let sock = UdpSocket::bind(addr).await?; + /// sock.connect(peer).await?; + /// assert_eq!(peer, sock.peer_addr()?); + /// # Ok(()) + /// # } + /// ``` + Future peerAddr(); + + /// Receives data from the connected address, without removing it from the input queue. + /// + /// # Notes + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and peek returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`poll_peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(()))` reads data into `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`poll_peek_sender`]: method@Self::poll_peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollPeek({required Context cx, required ReadBuf buf}); + + /// Receives data from the socket, without removing it from the input queue. + /// On success, returns the sending address of the datagram. + /// + /// # Notes + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and peek returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`poll_peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`poll_peek_sender`]: method@Self::poll_peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollPeekFrom( + {required Context cx, required ReadBuf buf}); + + /// Retrieve the sender of the data at the head of the input queue, + /// scheduling a wakeup if empty. + /// + /// This is equivalent to calling [`poll_peek_from`] with a zero-sized buffer, + /// but suppresses the `WSAEMSGSIZE` error on Windows and the "invalid argument" error on macOS. + /// + /// # Notes + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [`poll_peek_from`]: method@Self::poll_peek_from + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollPeekSender({required Context cx}); + + /// Attempts to receive a single datagram message on the socket from the remote + /// address to which it is `connect`ed. + /// + /// The [`connect`] method will connect this socket to a remote address. This method + /// resolves to an error if the socket is not connected. + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(()))` reads data `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`connect`]: method@Self::connect + Future pollRecv({required Context cx, required ReadBuf buf}); + + /// Attempts to receive a single datagram on the socket. + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// # Notes + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future pollRecvFrom( + {required Context cx, required ReadBuf buf}); + + /// Polls for read/receive readiness. + /// + /// If the udp stream is not currently ready for receiving, this method will + /// store a clone of the `Waker` from the provided `Context`. When the udp + /// socket becomes ready for reading, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_recv_ready`, `poll_recv` or + /// `poll_peek`, only the `Waker` from the `Context` passed to the most + /// recent call is scheduled to receive a wakeup. (However, + /// `poll_send_ready` retains a second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`readable`] is not feasible. Where possible, using [`readable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the udp stream is not ready for reading. + /// * `Poll::Ready(Ok(()))` if the udp stream is ready for reading. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`readable`]: method@Self::readable + Future pollRecvReady({required Context cx}); + + /// Attempts to send data on the socket to the remote address to which it + /// was previously `connect`ed. + /// + /// The [`connect`] method will connect this socket to a remote address. + /// This method will fail if the socket is not connected. + /// + /// Note that on multiple calls to a `poll_*` method in the send direction, + /// only the `Waker` from the `Context` passed to the most recent call will + /// be scheduled to receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not available to write + /// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`connect`]: method@Self::connect + Future pollSend( + {required Context cx, required List buf}); + + /// Polls for write/send readiness. + /// + /// If the udp stream is not currently ready for sending, this method will + /// store a clone of the `Waker` from the provided `Context`. When the udp + /// stream becomes ready for sending, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_send_ready` or `poll_send`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. (However, `poll_recv_ready` retains a + /// second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`writable`] is not feasible. Where possible, using [`writable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the udp stream is not ready for writing. + /// * `Poll::Ready(Ok(()))` if the udp stream is ready for writing. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`writable`]: method@Self::writable + Future pollSendReady({required Context cx}); + + /// Attempts to send data on the socket to a given address. + /// + /// Note that on multiple calls to a `poll_*` method in the send direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to write + /// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + Future pollSendTo( + {required Context cx, + required List buf, + required SocketAddr target}); + + /// Waits for the socket to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with `try_recv()`. + /// + /// The function may complete without the socket being readable. This is a + /// false-positive and attempting a `try_recv()` will return with + /// `io::ErrorKind::WouldBlock`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv(&mut buf) { + /// Ok(n) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with `try_recv()` or `try_send()`. It + /// can be used to concurrently `recv` / `send` to the same socket on a single + /// task without splitting the socket. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// Concurrently receive from and send to the socket on the same task + /// without splitting. + /// + /// ```no_run + /// use tokio::io::{self, Interest}; + /// use tokio::net::UdpSocket; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// loop { + /// let ready = socket.ready(Interest::READABLE | Interest::WRITABLE).await?; + /// + /// if ready.is_readable() { + /// // The buffer is **not** included in the async task and will only exist + /// // on the stack. + /// let mut data = [0; 1024]; + /// match socket.try_recv(&mut data[..]) { + /// Ok(n) => { + /// println!("received {:?}", &data[..n]); + /// } + /// // False-positive, continue + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// if ready.is_writable() { + /// // Write some data + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// println!("sent {} bytes", n); + /// } + /// // False-positive, continue + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// } + /// } + /// ``` + Future ready({required Interest interest}); + + /// Receives a single datagram message on the socket from the remote address + /// to which it is connected. On success, returns the number of bytes read. + /// + /// The function must be called with valid byte array `buf` of sufficient + /// size to hold the message bytes. If a message is too long to fit in the + /// supplied buffer, excess bytes may be discarded. + /// + /// The [`connect`] method will connect this socket to a remote address. + /// This method will fail if the socket is not connected. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// socket. + /// + /// [`connect`]: method@Self::connect + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Bind socket + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// let mut buf = vec![0; 10]; + /// let n = socket.recv(&mut buf).await?; + /// + /// println!("received {} bytes {:?}", n, &buf[..n]); + /// + /// Ok(()) + /// } + /// ``` + Future recv({required U8 buf}); + + /// Receives a single datagram message on the socket. On success, returns + /// the number of bytes read and the origin. + /// + /// The function must be called with valid byte array `buf` of sufficient + /// size to hold the message bytes. If a message is too long to fit in the + /// supplied buffer, excess bytes may be discarded. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv_from` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// socket. + /// + /// # Example + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// let mut buf = vec![0u8; 32]; + /// let (len, addr) = socket.recv_from(&mut buf).await?; + /// + /// println!("received {:?} bytes from {:?}", len, addr); + /// + /// Ok(()) + /// } + /// ``` + /// + /// # Notes + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future<(BigInt, SocketAddr)> recvFrom({required U8 buf}); + + /// Sends data on the socket to the remote address that the socket is + /// connected to. + /// + /// The [`connect`] method will connect this socket to a remote address. + /// This method will fail if the socket is not connected. + /// + /// [`connect`]: method@Self::connect + /// + /// # Return + /// + /// On success, the number of bytes sent is returned, otherwise, the + /// encountered error is returned. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `send` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that the message was not sent. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::io; + /// use tokio::net::UdpSocket; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Bind socket + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// // Send a message + /// socket.send(b"hello world").await?; + /// + /// Ok(()) + /// } + /// ``` + Future send({required List buf}); + + /// Sets the value of the `SO_BROADCAST` option for this socket. + /// + /// When enabled, this socket is allowed to send packets to a broadcast + /// address. + Future setBroadcast({required bool on_}); + + /// Sets the value of the `IP_MULTICAST_LOOP` option for this socket. + /// + /// If enabled, multicast packets will be looped back to the local socket. + /// + /// # Note + /// + /// This may not have any effect on IPv6 sockets. + Future setMulticastLoopV4({required bool on_}); + + /// Sets the value of the `IPV6_MULTICAST_LOOP` option for this socket. + /// + /// Controls whether this socket sees the multicast packets it sends itself. + /// + /// # Note + /// + /// This may not have any effect on IPv4 sockets. + Future setMulticastLoopV6({required bool on_}); + + /// Sets the value of the `IP_MULTICAST_TTL` option for this socket. + /// + /// Indicates the time-to-live value of outgoing multicast packets for + /// this socket. The default value is 1 which means that multicast packets + /// don't leave the local network unless explicitly requested. + /// + /// # Note + /// + /// This may not have any effect on IPv6 sockets. + Future setMulticastTtlV4({required int ttl}); + + /// Sets the value for the `IPV6_TCLASS` option on this socket. + /// + /// Specifies the traffic class field that is used in every packet + /// sent from this socket. + /// + /// # Note + /// + /// This may not have any effect on IPv4 sockets. + Future setTclassV6({required int tclass}); + + /// Deprecated. Use [`set_tos_v4()`] instead. + /// + /// [`set_tos_v4()`]: Self::set_tos_v4 + Future setTos({required int tos}); + + /// Sets the value for the `IP_TOS` option on this socket. + /// + /// This value sets the type-of-service field that is used in every packet + /// sent from this socket. + /// + /// # Note + /// + /// - This may not have any effect on IPv6 sockets. + /// - On Windows, `IP_TOS` is only supported on [Windows 8+ or + /// Windows Server 2012+.](https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-ip-socket-options) + Future setTosV4({required int tos}); + + /// Sets the value for the `IP_TTL` option on this socket. + /// + /// This value sets the time-to-live field that is used in every packet sent + /// from this socket. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// # use std::io; + /// + /// # async fn dox() -> io::Result<()> { + /// let sock = UdpSocket::bind("127.0.0.1:8080").await?; + /// sock.set_ttl(60)?; + /// + /// # Ok(()) + /// # } + /// ``` + Future setTtl({required int ttl}); + + /// Returns the value of the `SO_ERROR` option. + /// + /// # Examples + /// ``` + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// // Create a socket + /// let socket = UdpSocket::bind("0.0.0.0:8080").await?; + /// + /// if let Ok(Some(err)) = socket.take_error() { + /// println!("Got error: {:?}", err); + /// } + /// + /// Ok(()) + /// } + /// ``` + Future takeError(); + + /// Gets the value of the `IPV6_TCLASS` option for this socket. + /// + /// For more information about this option, see [`set_tclass_v6`]. + /// + /// [`set_tclass_v6`]: Self::set_tclass_v6 + Future tclassV6(); + + /// Deprecated. Use [`tos_v4()`] instead. + /// + /// [`tos_v4()`]: Self::tos_v4 + Future tos(); + + /// Gets the value of the `IP_TOS` option for this socket. + /// + /// For more information about this option, see [`set_tos_v4`]. + /// + /// [`set_tos_v4`]: Self::set_tos_v4 + Future tosV4(); + + /// Tries to receive data on the connected address without removing it from the input queue. + /// On success, returns the number of bytes read. + /// + /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `readable()`. + /// + /// # Notes + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and peek returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`try_peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [`try_peek_sender`]: method@Self::try_peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future tryPeek({required U8 buf}); + + /// Tries to receive data on the socket without removing it from the input queue. + /// On success, returns the number of bytes read and the sending address of the + /// datagram. + /// + /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `readable()`. + /// + /// # Notes + /// + /// On Windows, if the data is larger than the buffer specified, the buffer + /// is filled with the first part of the data, and peek returns the error + /// `WSAEMSGSIZE(10040)`. The excess data is lost. + /// Make sure to always use a sufficiently large buffer to hold the + /// maximum UDP packet size, which can be up to 65536 bytes in size. + /// + /// MacOS will return an error if you pass a zero-sized buffer. + /// + /// If you're merely interested in learning the sender of the data at the head of the queue, + /// try [`try_peek_sender`]. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [`try_peek_sender`]: method@Self::try_peek_sender + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future<(BigInt, SocketAddr)> tryPeekFrom({required U8 buf}); + + /// Try to retrieve the sender of the data at the head of the input queue. + /// + /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `readable()`. + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + Future tryPeekSender(); + + /// Tries to receive a single datagram message on the socket from the remote + /// address to which it is connected. On success, returns the number of + /// bytes read. + /// + /// This method must be called with valid byte array `buf` of sufficient size + /// to hold the message bytes. If a message is too long to fit in the + /// supplied buffer, excess bytes may be discarded. + /// + /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `readable()`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv(&mut buf) { + /// Ok(n) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryRecv({required U8 buf}); + + /// Tries to receive a single datagram message on the socket. On success, + /// returns the number of bytes read and the origin. + /// + /// This method must be called with valid byte array `buf` of sufficient size + /// to hold the message bytes. If a message is too long to fit in the + /// supplied buffer, excess bytes may be discarded. + /// + /// When there is no pending data, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `readable()`. + /// + /// # Notes + /// + /// Note that the socket address **cannot** be implicitly trusted, because it is relatively + /// trivial to send a UDP datagram with a spoofed origin in a [packet injection attack]. + /// Because UDP is stateless and does not validate the origin of a packet, + /// the attacker does not need to be able to intercept traffic in order to interfere. + /// It is important to be aware of this when designing your application-level protocol. + /// + /// [packet injection attack]: https://en.wikipedia.org/wiki/Packet_injection + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv_from(&mut buf) { + /// Ok((n, _addr)) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future<(BigInt, SocketAddr)> tryRecvFrom({required U8 buf}); + + /// Tries to send data on the socket to the remote address to which it is + /// connected. + /// + /// When the socket buffer is full, `Err(io::ErrorKind::WouldBlock)` is + /// returned. This function is usually paired with `writable()`. + /// + /// # Returns + /// + /// If successful, `Ok(n)` is returned, where `n` is the number of bytes + /// sent. If the socket is not ready to send data, + /// `Err(ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Bind a UDP socket + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// // Connect to a peer + /// socket.connect("127.0.0.1:8081").await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// socket.writable().await?; + /// + /// // Try to send data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future trySend({required List buf}); + + /// Tries to send data on the socket to the given address, but if the send is + /// blocked this will return right away. + /// + /// This function is usually paired with `writable()`. + /// + /// # Returns + /// + /// If successful, returns the number of bytes sent + /// + /// Users should ensure that when the remote cannot receive, the + /// [`ErrorKind::WouldBlock`] is properly handled. An error can also occur + /// if the IP version of the socket does not match that of `target`. + /// + /// [`ErrorKind::WouldBlock`]: std::io::ErrorKind::WouldBlock + /// + /// # Example + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// let dst = "127.0.0.1:8081".parse()?; + /// + /// loop { + /// socket.writable().await?; + /// + /// match socket.try_send_to(&b"hello world"[..], dst) { + /// Ok(sent) => { + /// println!("sent {} bytes", sent); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// // Writable false positive. + /// continue; + /// } + /// Err(e) => return Err(e.into()), + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future trySendTo( + {required List buf, required SocketAddr target}); + + /// Gets the value of the `IP_TTL` option for this socket. + /// + /// For more information about this option, see [`set_ttl`]. + /// + /// [`set_ttl`]: method@Self::set_ttl + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// # use std::io; + /// + /// # async fn dox() -> io::Result<()> { + /// let sock = UdpSocket::bind("127.0.0.1:8080").await?; + /// + /// println!("{:?}", sock.ttl()?); + /// # Ok(()) + /// # } + /// ``` + Future ttl(); + + /// Waits for the socket to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is + /// usually paired with `try_send()` or `try_send_to()`. + /// + /// The function may complete without the socket being writable. This is a + /// false-positive and attempting a `try_send()` will return with + /// `io::ErrorKind::WouldBlock`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UdpSocket; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Bind socket + /// let socket = UdpSocket::bind("127.0.0.1:8080").await?; + /// socket.connect("127.0.0.1:8081").await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// socket.writable().await?; + /// + /// // Try to send data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future writable(); +} + +// Rust type: RustOpaqueMoi> +abstract class UnixDatagram implements RustOpaqueInterface { + /// Creates new [`UnixDatagram`] from a [`std::os::unix::net::UnixDatagram`]. + /// + /// This function is intended to be used to wrap a `UnixDatagram` from the + /// standard library in the Tokio equivalent. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the socket is in + /// non-blocking mode. Otherwise all I/O operations on the socket + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::os::unix::net::UnixDatagram::set_nonblocking + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a Tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// use std::os::unix::net::UnixDatagram as StdUDS; + /// use tempfile::tempdir; + /// + /// // We use a temporary directory so that the socket + /// // files left by the bound sockets will get cleaned up. + /// let tmp = tempdir()?; + /// + /// // Bind the socket to a filesystem path + /// let socket_path = tmp.path().join("socket"); + /// let std_socket = StdUDS::bind(&socket_path)?; + /// std_socket.set_nonblocking(true)?; + /// let tokio_socket = UnixDatagram::from_std(std_socket)?; + /// + /// # Ok(()) + /// # } + /// ``` + static Future fromStd({required UnixDatagram datagram}) => + RustLib.instance.api.tokioNetUnixDatagramFromStd(datagram: datagram); + + /// Turns a [`tokio::net::UnixDatagram`] into a [`std::os::unix::net::UnixDatagram`]. + /// + /// The returned [`std::os::unix::net::UnixDatagram`] will have nonblocking + /// mode set as `true`. Use [`set_nonblocking`] to change the blocking mode + /// if needed. + /// + /// # Examples + /// + /// ```rust,no_run + /// # use std::error::Error; + /// # async fn dox() -> Result<(), Box> { + /// let tokio_socket = tokio::net::UnixDatagram::bind("/path/to/the/socket")?; + /// let std_socket = tokio_socket.into_std()?; + /// std_socket.set_nonblocking(false)?; + /// # Ok(()) + /// # } + /// ``` + /// + /// [`tokio::net::UnixDatagram`]: UnixDatagram + /// [`std::os::unix::net::UnixDatagram`]: std::os::unix::net::UnixDatagram + /// [`set_nonblocking`]: fn@std::os::unix::net::UnixDatagram::set_nonblocking + Future intoStd(); + + /// Returns the local address that this socket is bound to. + /// + /// # Examples + /// For a socket bound to a local path + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// use tempfile::tempdir; + /// + /// // We use a temporary directory so that the socket + /// // files left by the bound sockets will get cleaned up. + /// let tmp = tempdir()?; + /// + /// // Bind socket to a filesystem path + /// let socket_path = tmp.path().join("socket"); + /// let socket = UnixDatagram::bind(&socket_path)?; + /// + /// assert_eq!(socket.local_addr()?.as_pathname().unwrap(), &socket_path); + /// + /// # Ok(()) + /// # } + /// ``` + /// + /// For an unbound socket + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create an unbound socket + /// let socket = UnixDatagram::unbound()?; + /// + /// assert!(socket.local_addr()?.is_unnamed()); + /// + /// # Ok(()) + /// # } + /// ``` + Future localAddr(); + + /// Creates an unnamed pair of connected sockets. + /// + /// This function will create a pair of interconnected Unix sockets for + /// communicating back and forth between one another. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create the pair of sockets + /// let (sock1, sock2) = UnixDatagram::pair()?; + /// + /// // Since the sockets are paired, the paired send/recv + /// // functions can be used + /// let bytes = b"hail eris"; + /// sock1.send(bytes).await?; + /// + /// let mut buff = vec![0u8; 24]; + /// let size = sock2.recv(&mut buff).await?; + /// + /// let dgram = &buff[..size]; + /// assert_eq!(dgram, bytes); + /// + /// # Ok(()) + /// # } + /// ``` + static Future<(UnixDatagram, UnixDatagram)> pair() => + RustLib.instance.api.tokioNetUnixDatagramPair(); + + /// Returns the address of this socket's peer. + /// + /// The `connect` method will connect the socket to a peer. + /// + /// # Examples + /// For a peer with a local path + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// use tempfile::tempdir; + /// + /// // Create an unbound socket + /// let tx = UnixDatagram::unbound()?; + /// + /// // Create another, bound socket + /// let tmp = tempdir()?; + /// let rx_path = tmp.path().join("rx"); + /// let rx = UnixDatagram::bind(&rx_path)?; + /// + /// // Connect to the bound socket + /// tx.connect(&rx_path)?; + /// + /// assert_eq!(tx.peer_addr()?.as_pathname().unwrap(), &rx_path); + /// + /// # Ok(()) + /// # } + /// ``` + /// + /// For an unbound peer + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create the pair of sockets + /// let (sock1, sock2) = UnixDatagram::pair()?; + /// + /// assert!(sock1.peer_addr()?.is_unnamed()); + /// + /// # Ok(()) + /// # } + /// ``` + Future peerAddr(); + + /// Attempts to receive a single datagram message on the socket from the remote + /// address to which it is `connect`ed. + /// + /// The [`connect`] method will connect this socket to a remote address. This method + /// resolves to an error if the socket is not connected. + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(()))` reads data `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`connect`]: method@Self::connect + Future pollRecv({required Context cx, required ReadBuf buf}); + + /// Attempts to receive a single datagram on the specified address. + /// + /// Note that on multiple calls to a `poll_*` method in the `recv` direction, only the + /// `Waker` from the `Context` passed to the most recent call will be scheduled to + /// receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready to read + /// * `Poll::Ready(Ok(addr))` reads data from `addr` into `ReadBuf` if the socket is ready + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + Future pollRecvFrom( + {required Context cx, required ReadBuf buf}); + + /// Polls for read/receive readiness. + /// + /// If the socket is not currently ready for receiving, this method will + /// store a clone of the `Waker` from the provided `Context`. When the + /// socket becomes ready for reading, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_recv_ready`, `poll_recv` or + /// `poll_peek`, only the `Waker` from the `Context` passed to the most + /// recent call is scheduled to receive a wakeup. (However, + /// `poll_send_ready` retains a second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`readable`] is not feasible. Where possible, using [`readable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready for reading. + /// * `Poll::Ready(Ok(()))` if the socket is ready for reading. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`readable`]: method@Self::readable + Future pollRecvReady({required Context cx}); + + /// Attempts to send data on the socket to the remote address to which it + /// was previously `connect`ed. + /// + /// The [`connect`] method will connect this socket to a remote address. + /// This method will fail if the socket is not connected. + /// + /// Note that on multiple calls to a `poll_*` method in the send direction, + /// only the `Waker` from the `Context` passed to the most recent call will + /// be scheduled to receive a wakeup. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not available to write + /// * `Poll::Ready(Ok(n))` `n` is the number of bytes sent + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`connect`]: method@Self::connect + Future pollSend( + {required Context cx, required List buf}); + + /// Polls for write/send readiness. + /// + /// If the socket is not currently ready for sending, this method will + /// store a clone of the `Waker` from the provided `Context`. When the socket + /// becomes ready for sending, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_send_ready` or `poll_send`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. (However, `poll_recv_ready` retains a + /// second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`writable`] is not feasible. Where possible, using [`writable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the socket is not ready for writing. + /// * `Poll::Ready(Ok(()))` if the socket is ready for writing. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`writable`]: method@Self::writable + Future pollSendReady({required Context cx}); + + /// Waits for the socket to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with `try_recv()`. + /// + /// The function may complete without the socket being readable. This is a + /// false-positive and attempting a `try_recv()` will return with + /// `io::ErrorKind::WouldBlock`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// socket.connect(&server_path)?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv(&mut buf) { + /// Ok(n) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with `try_recv()` or `try_send()`. It + /// can be used to concurrently `recv` / `send` to the same socket on a single + /// task without splitting the socket. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// Concurrently receive from and send to the socket on the same task + /// without splitting. + /// + /// ```no_run + /// use tokio::io::Interest; + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// socket.connect(&server_path)?; + /// + /// loop { + /// let ready = socket.ready(Interest::READABLE | Interest::WRITABLE).await?; + /// + /// if ready.is_readable() { + /// let mut data = [0; 1024]; + /// match socket.try_recv(&mut data[..]) { + /// Ok(n) => { + /// println!("received {:?}", &data[..n]); + /// } + /// // False-positive, continue + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// if ready.is_writable() { + /// // Write some data + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// println!("sent {} bytes", n); + /// } + /// // False-positive, continue + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {} + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// } + /// } + /// ``` + Future ready({required Interest interest}); + + /// Receives data from the socket. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// socket. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create the pair of sockets + /// let (sock1, sock2) = UnixDatagram::pair()?; + /// + /// // Since the sockets are paired, the paired send/recv + /// // functions can be used + /// let bytes = b"hello world"; + /// sock1.send(bytes).await?; + /// + /// let mut buff = vec![0u8; 24]; + /// let size = sock2.recv(&mut buff).await?; + /// + /// let dgram = &buff[..size]; + /// assert_eq!(dgram, bytes); + /// + /// # Ok(()) + /// # } + /// ``` + Future recv({required U8 buf}); + + /// Receives data from the socket. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv_from` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// socket. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// use tempfile::tempdir; + /// + /// // We use a temporary directory so that the socket + /// // files left by the bound sockets will get cleaned up. + /// let tmp = tempdir()?; + /// + /// // Bind each socket to a filesystem path + /// let tx_path = tmp.path().join("tx"); + /// let tx = UnixDatagram::bind(&tx_path)?; + /// let rx_path = tmp.path().join("rx"); + /// let rx = UnixDatagram::bind(&rx_path)?; + /// + /// let bytes = b"hello world"; + /// tx.send_to(bytes, &rx_path).await?; + /// + /// let mut buf = vec![0u8; 24]; + /// let (size, addr) = rx.recv_from(&mut buf).await?; + /// + /// let dgram = &buf[..size]; + /// assert_eq!(dgram, bytes); + /// assert_eq!(addr.as_pathname().unwrap(), &tx_path); + /// + /// # Ok(()) + /// # } + /// ``` + Future<(BigInt, SocketAddr)> recvFrom({required U8 buf}); + + /// Sends data on the socket to the socket's peer. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `send` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that the message was not sent. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create the pair of sockets + /// let (sock1, sock2) = UnixDatagram::pair()?; + /// + /// // Since the sockets are paired, the paired send/recv + /// // functions can be used + /// let bytes = b"hello world"; + /// sock1.send(bytes).await?; + /// + /// let mut buff = vec![0u8; 24]; + /// let size = sock2.recv(&mut buff).await?; + /// + /// let dgram = &buff[..size]; + /// assert_eq!(dgram, bytes); + /// + /// # Ok(()) + /// # } + /// ``` + Future send({required List buf}); + + /// Shuts down the read, write, or both halves of this connection. + /// + /// This function will cause all pending and future I/O calls on the + /// specified portions to immediately return with an appropriate value + /// (see the documentation of `Shutdown`). + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No SOCK_DGRAM for `socketpair` in miri. + /// use tokio::net::UnixDatagram; + /// use std::net::Shutdown; + /// + /// // Create an unbound socket + /// let (socket, other) = UnixDatagram::pair()?; + /// + /// socket.shutdown(Shutdown::Both)?; + /// + /// // NOTE: the following commented out code does NOT work as expected. + /// // Due to an underlying issue, the recv call will block indefinitely. + /// // See: https://github.com/tokio-rs/tokio/issues/1679 + /// //let mut buff = vec![0u8; 24]; + /// //let size = socket.recv(&mut buff).await?; + /// //assert_eq!(size, 0); + /// + /// let send_result = socket.send(b"hello world").await; + /// assert!(send_result.is_err()); + /// + /// # Ok(()) + /// # } + /// ``` + Future shutdown({required Shutdown how}); + + /// Returns the value of the `SO_ERROR` option. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// + /// // Create an unbound socket + /// let socket = UnixDatagram::unbound()?; + /// + /// if let Ok(Some(err)) = socket.take_error() { + /// println!("Got error: {:?}", err); + /// } + /// + /// # Ok(()) + /// # } + /// ``` + Future takeError(); + + /// Tries to receive a datagram from the peer without waiting. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// socket.connect(&server_path)?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv(&mut buf) { + /// Ok(n) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryRecv({required U8 buf}); + + /// Tries to receive data from the socket without waiting. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// + /// loop { + /// // Wait for the socket to be readable + /// socket.readable().await?; + /// + /// // The buffer is **not** included in the async task and will + /// // only exist on the stack. + /// let mut buf = [0; 1024]; + /// + /// // Try to recv data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_recv_from(&mut buf) { + /// Ok((n, _addr)) => { + /// println!("GOT {:?}", &buf[..n]); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future<(BigInt, SocketAddr)> tryRecvFrom({required U8 buf}); + + /// Tries to send a datagram to the peer without waiting. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// socket.connect(&server_path)?; + /// + /// loop { + /// // Wait for the socket to be writable + /// socket.writable().await?; + /// + /// // Try to send data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future trySend({required List buf}); + + /// Creates a new `UnixDatagram` which is not bound to any address. + /// + /// # Examples + /// ``` + /// # use std::error::Error; + /// # #[tokio::main] + /// # async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// use tokio::net::UnixDatagram; + /// use tempfile::tempdir; + /// + /// // Create an unbound socket + /// let tx = UnixDatagram::unbound()?; + /// + /// // Create another, bound socket + /// let tmp = tempdir()?; + /// let rx_path = tmp.path().join("rx"); + /// let rx = UnixDatagram::bind(&rx_path)?; + /// + /// // Send to the bound socket + /// let bytes = b"hello world"; + /// tx.send_to(bytes, &rx_path).await?; + /// + /// let mut buf = vec![0u8; 24]; + /// let (size, addr) = rx.recv_from(&mut buf).await?; + /// + /// let dgram = &buf[..size]; + /// assert_eq!(dgram, bytes); + /// + /// # Ok(()) + /// # } + /// ``` + static Future unbound() => + RustLib.instance.api.tokioNetUnixDatagramUnbound(); + + /// Waits for the socket to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is + /// usually paired with `try_send()` or `try_send_to()`. + /// + /// The function may complete without the socket being writable. This is a + /// false-positive and attempting a `try_send()` will return with + /// `io::ErrorKind::WouldBlock`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixDatagram; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let dir = tempfile::tempdir().unwrap(); + /// let client_path = dir.path().join("client.sock"); + /// let server_path = dir.path().join("server.sock"); + /// let socket = UnixDatagram::bind(&client_path)?; + /// socket.connect(&server_path)?; + /// + /// loop { + /// // Wait for the socket to be writable + /// socket.writable().await?; + /// + /// // Try to send data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match socket.try_send(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future writable(); +} + +// Rust type: RustOpaqueMoi> +abstract class UnixListener implements RustOpaqueInterface { + /// Accepts a new incoming connection to this listener. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If the method is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no new connections were + /// accepted by this method. + Future<(UnixStream, SocketAddr)> accept(); + + /// Creates new [`UnixListener`] from a [`std::os::unix::net::UnixListener`]. + /// + /// This function is intended to be used to wrap a `UnixListener` from the + /// standard library in the Tokio equivalent. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the listener is in + /// non-blocking mode. Otherwise all I/O operations on the listener + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::os::unix::net::UnixListener::set_nonblocking + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixListener; + /// use std::os::unix::net::UnixListener as StdUnixListener; + /// # use std::error::Error; + /// + /// # async fn dox() -> Result<(), Box> { + /// let std_listener = StdUnixListener::bind("/path/to/the/socket")?; + /// std_listener.set_nonblocking(true)?; + /// let listener = UnixListener::from_std(std_listener)?; + /// # Ok(()) + /// # } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromStd({required UnixListener listener}) => + RustLib.instance.api.tokioNetUnixListenerFromStd(listener: listener); + + /// Turns a [`tokio::net::UnixListener`] into a [`std::os::unix::net::UnixListener`]. + /// + /// The returned [`std::os::unix::net::UnixListener`] will have nonblocking mode + /// set as `true`. Use [`set_nonblocking`] to change the blocking mode if needed. + /// + /// # Examples + /// + /// ```rust,no_run + /// # use std::error::Error; + /// # async fn dox() -> Result<(), Box> { + /// let tokio_listener = tokio::net::UnixListener::bind("/path/to/the/socket")?; + /// let std_listener = tokio_listener.into_std()?; + /// std_listener.set_nonblocking(false)?; + /// # Ok(()) + /// # } + /// ``` + /// + /// [`tokio::net::UnixListener`]: UnixListener + /// [`std::os::unix::net::UnixListener`]: std::os::unix::net::UnixListener + /// [`set_nonblocking`]: fn@std::os::unix::net::UnixListener::set_nonblocking + Future intoStd(); + + /// Returns the local socket address of this listener. + Future localAddr(); + + /// Polls to accept a new incoming connection to this listener. + /// + /// If there is no connection to accept, `Poll::Pending` is returned and the + /// current task will be notified by a waker. Note that on multiple calls + /// to `poll_accept`, only the `Waker` from the `Context` passed to the most + /// recent call is scheduled to receive a wakeup. + Future pollAccept({required Context cx}); + + /// Returns the value of the `SO_ERROR` option. + Future takeError(); +} + +// Rust type: RustOpaqueMoi> +abstract class UnixSocket implements RustOpaqueInterface { + /// Converts the socket into a [`UnixDatagram`]. + /// + /// Calling this function on a socket created by [`new_stream`] will return an error. + /// + /// [`new_stream`]: `UnixSocket::new_stream` + Future datagram(); + + /// Converts the socket into a `UnixListener`. + /// + /// `backlog` defines the maximum number of pending connections are queued + /// by the operating system at any given time. Connection are removed from + /// the queue with [`UnixListener::accept`]. When the queue is full, the + /// operating-system will start rejecting connections. + /// + /// Calling this function on a socket created by [`new_datagram`] will return an error. + /// + /// This calls the `listen(2)` operating-system function, marking the socket + /// as a passive socket. + /// + /// [`new_datagram`]: `UnixSocket::new_datagram` + Future listen({required int backlog}); + + /// Creates a new Unix datagram socket. + /// + /// Calls `socket(2)` with `AF_UNIX` and `SOCK_DGRAM`. + /// + /// # Returns + /// + /// On success, the newly created [`UnixSocket`] is returned. If an error is + /// encountered, it is returned instead. + static Future newDatagram() => + RustLib.instance.api.tokioNetUnixSocketNewDatagram(); + + /// Creates a new Unix stream socket. + /// + /// Calls `socket(2)` with `AF_UNIX` and `SOCK_STREAM`. + /// + /// # Returns + /// + /// On success, the newly created [`UnixSocket`] is returned. If an error is + /// encountered, it is returned instead. + static Future newStream() => + RustLib.instance.api.tokioNetUnixSocketNewStream(); +} + +// Rust type: RustOpaqueMoi> +abstract class UnixStream implements RustOpaqueInterface { + /// Creates new [`UnixStream`] from a [`std::os::unix::net::UnixStream`]. + /// + /// This function is intended to be used to wrap a `UnixStream` from the + /// standard library in the Tokio equivalent. + /// + /// # Notes + /// + /// The caller is responsible for ensuring that the stream is in + /// non-blocking mode. Otherwise all I/O operations on the stream + /// will block the thread, which will cause unexpected behavior. + /// Non-blocking mode can be set using [`set_nonblocking`]. + /// + /// Passing a listener in blocking mode is always erroneous, + /// and the behavior in that case may change in the future. + /// For example, it could panic. + /// + /// [`set_nonblocking`]: std::os::unix::net::UnixStream::set_nonblocking + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::os::unix::net::UnixStream as StdUnixStream; + /// # use std::error::Error; + /// + /// # async fn dox() -> Result<(), Box> { + /// let std_stream = StdUnixStream::connect("/path/to/the/socket")?; + /// std_stream.set_nonblocking(true)?; + /// let stream = UnixStream::from_std(std_stream)?; + /// # Ok(()) + /// # } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromStd({required UnixStream stream}) => + RustLib.instance.api.tokioNetUnixStreamFromStd(stream: stream); + + /// Splits a `UnixStream` into a read half and a write half, which can be used + /// to read and write the stream concurrently. + /// + /// Unlike [`split`], the owned halves can be moved to separate tasks, however + /// this comes at the cost of a heap allocation. + /// + /// **Note:** Dropping the write half will only shut down the write half of the + /// stream. This is equivalent to calling [`shutdown()`] on the `UnixStream`. + /// + /// [`split`]: Self::split() + /// [`shutdown()`]: fn@crate::io::AsyncWriteExt::shutdown + Future<(OwnedReadHalf, OwnedWriteHalf)> intoSplit(); + + /// Turns a [`tokio::net::UnixStream`] into a [`std::os::unix::net::UnixStream`]. + /// + /// The returned [`std::os::unix::net::UnixStream`] will have nonblocking + /// mode set as `true`. Use [`set_nonblocking`] to change the blocking + /// mode if needed. + /// + /// # Examples + /// + /// ``` + /// use std::error::Error; + /// use std::io::Read; + /// use tokio::net::UnixListener; + /// # use tokio::net::UnixStream; + /// # use tokio::io::AsyncWriteExt; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// # if cfg!(miri) { return Ok(()); } // No `socket` in miri. + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// + /// let mut data = [0u8; 12]; + /// let listener = UnixListener::bind(&bind_path)?; + /// # let handle = tokio::spawn(async { + /// # let mut stream = UnixStream::connect(bind_path).await.unwrap(); + /// # stream.write(b"Hello world!").await.unwrap(); + /// # }); + /// let (tokio_unix_stream, _) = listener.accept().await?; + /// let mut std_unix_stream = tokio_unix_stream.into_std()?; + /// # handle.await.expect("The task being joined has panicked"); + /// std_unix_stream.set_nonblocking(false)?; + /// std_unix_stream.read_exact(&mut data)?; + /// # assert_eq!(b"Hello world!", &data); + /// Ok(()) + /// } + /// ``` + /// [`tokio::net::UnixStream`]: UnixStream + /// [`std::os::unix::net::UnixStream`]: std::os::unix::net::UnixStream + /// [`set_nonblocking`]: fn@std::os::unix::net::UnixStream::set_nonblocking + Future intoStd(); + + /// Returns the socket address of the local half of this connection. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// println!("{:?}", stream.local_addr()?); + /// # Ok(()) + /// # } + /// ``` + Future localAddr(); + + /// Creates an unnamed pair of connected sockets. + /// + /// This function will create a pair of interconnected Unix sockets for + /// communicating back and forth between one another. Each socket will + /// be associated with the default event loop's handle. + static Future<(UnixStream, UnixStream)> pair() => + RustLib.instance.api.tokioNetUnixStreamPair(); + + /// Returns the socket address of the remote half of this connection. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// + /// # async fn dox() -> Result<(), Box> { + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// println!("{:?}", stream.peer_addr()?); + /// # Ok(()) + /// # } + /// ``` + Future peerAddr(); + + /// Returns effective credentials of the process which called `connect` or `pair`. + Future peerCred(); + + /// Polls for read readiness. + /// + /// If the unix stream is not currently ready for reading, this method will + /// store a clone of the `Waker` from the provided `Context`. When the unix + /// stream becomes ready for reading, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_read_ready` or `poll_read`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. (However, `poll_write_ready` retains a + /// second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`readable`] is not feasible. Where possible, using [`readable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the unix stream is not ready for reading. + /// * `Poll::Ready(Ok(()))` if the unix stream is ready for reading. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`readable`]: method@Self::readable + Future pollReadReady({required Context cx}); + + /// Polls for write readiness. + /// + /// If the unix stream is not currently ready for writing, this method will + /// store a clone of the `Waker` from the provided `Context`. When the unix + /// stream becomes ready for writing, `Waker::wake` will be called on the + /// waker. + /// + /// Note that on multiple calls to `poll_write_ready` or `poll_write`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. (However, `poll_read_ready` retains a + /// second, independent waker.) + /// + /// This function is intended for cases where creating and pinning a future + /// via [`writable`] is not feasible. Where possible, using [`writable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the unix stream is not ready for writing. + /// * `Poll::Ready(Ok(()))` if the unix stream is ready for writing. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + /// + /// [`writable`]: method@Self::writable + Future pollWriteReady({required Context cx}); + + /// Waits for the socket to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with `try_read()`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// let mut msg = vec![0; 1024]; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut msg) { + /// Ok(n) => { + /// msg.truncate(n); + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// println!("GOT = {:?}", msg); + /// Ok(()) + /// } + /// ``` + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with `try_read()` or `try_write()`. It + /// can be used to concurrently read / write to the same socket on a single + /// task without splitting the socket. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// Concurrently read and write to the stream on the same task without + /// splitting. + /// + /// ```no_run + /// use tokio::io::Interest; + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// loop { + /// let ready = stream.ready(Interest::READABLE | Interest::WRITABLE).await?; + /// + /// if ready.is_readable() { + /// let mut data = vec![0; 1024]; + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut data) { + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// + /// } + /// + /// if ready.is_writable() { + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// println!("write {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// } + /// } + /// ``` + Future ready({required Interest interest}); + + /// Returns the value of the `SO_ERROR` option. + Future takeError(); + + /// Try to read data from the stream into the provided buffer, returning how + /// many bytes were read. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read()` is non-blocking, the buffer does not have to be stored by + /// the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`readable()`]: UnixStream::readable() + /// [`ready()`]: UnixStream::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: + /// + /// 1. The stream's read half is closed and will no longer yield data. + /// 2. The specified buffer was 0 bytes in length. + /// + /// If the stream is not ready to read data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Creating the buffer **after** the `await` prevents it from + /// // being stored in the async task. + /// let mut buf = [0; 4096]; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read(&mut buf) { + /// Ok(0) => break, + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryRead({required U8 buf}); + + /// Tries to read data from the stream into the provided buffers, returning + /// how many bytes were read. + /// + /// Data is copied to fill each buffer in order, with the final buffer + /// written to possibly being only partially filled. This method behaves + /// equivalently to a single call to [`try_read()`] with concatenated + /// buffers. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read_vectored()` is non-blocking, the buffer does not have to be + /// stored by the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`try_read()`]: UnixStream::try_read() + /// [`readable()`]: UnixStream::readable() + /// [`ready()`]: UnixStream::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. `Ok(0)` indicates the stream's read half is closed + /// and will no longer yield data. If the stream is not ready to read data + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io::{self, IoSliceMut}; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// loop { + /// // Wait for the socket to be readable + /// stream.readable().await?; + /// + /// // Creating the buffer **after** the `await` prevents it from + /// // being stored in the async task. + /// let mut buf_a = [0; 512]; + /// let mut buf_b = [0; 1024]; + /// let mut bufs = [ + /// IoSliceMut::new(&mut buf_a), + /// IoSliceMut::new(&mut buf_b), + /// ]; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_read_vectored(&mut bufs) { + /// Ok(0) => break, + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryReadVectored({required IoSliceMut bufs}); + + /// Tries to write a buffer to the stream, returning how many bytes were + /// written. + /// + /// The function will attempt to write the entire contents of `buf`, but + /// only part of the buffer may be written. + /// + /// This function is usually paired with `writable()`. + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWrite({required List buf}); + + /// Tries to write several buffers to the stream, returning how many bytes + /// were written. + /// + /// Data is written from each buffer in order, with the final buffer read + /// from possible being only partially consumed. This method behaves + /// equivalently to a single call to [`try_write()`] with concatenated + /// buffers. + /// + /// This function is usually paired with `writable()`. + /// + /// [`try_write()`]: UnixStream::try_write() + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write_vectored(&bufs) { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWriteVectored({required List buf}); + + /// Waits for the socket to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually + /// paired with `try_write()`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::UnixStream; + /// use std::error::Error; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let dir = tempfile::tempdir().unwrap(); + /// let bind_path = dir.path().join("bind_path"); + /// let stream = UnixStream::connect(bind_path).await?; + /// + /// loop { + /// // Wait for the socket to be writable + /// stream.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match stream.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future writable(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart b/mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart new file mode 100644 index 0000000..785aecf --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/tcp.dart @@ -0,0 +1,297 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../../../lib.dart'; +import '../io.dart'; +import '../net.dart'; +import '../signal/unix.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'tcp/split_owned.dart'; +import 'unix.dart'; + +// Rust type: RustOpaqueMoi> +abstract class OwnedReadHalf implements RustOpaqueInterface { + /// Returns the local address that this stream is bound to. + Future localAddr(); + + /// Receives data on the socket from the remote address to which it is + /// connected, without removing that data from the queue. On success, + /// returns the number of bytes peeked. + /// + /// See the [`TcpStream::peek`] level documentation for more details. + /// + /// [`TcpStream::peek`]: TcpStream::peek + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::TcpStream; + /// use tokio::io::AsyncReadExt; + /// use std::error::Error; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // Connect to a peer + /// let stream = TcpStream::connect("127.0.0.1:8080").await?; + /// let (mut read_half, _) = stream.into_split(); + /// + /// let mut b1 = [0; 10]; + /// let mut b2 = [0; 10]; + /// + /// // Peek at the data + /// let n = read_half.peek(&mut b1).await?; + /// + /// // Read the data + /// assert_eq!(n, read_half.read(&mut b2[..n]).await?); + /// assert_eq!(&b1[..n], &b2[..n]); + /// + /// Ok(()) + /// } + /// ``` + /// + /// The [`read`] method is defined on the [`AsyncReadExt`] trait. + /// + /// [`read`]: fn@crate::io::AsyncReadExt::read + /// [`AsyncReadExt`]: trait@crate::io::AsyncReadExt + Future peek({required U8 buf}); + + /// Returns the remote address that this stream is connected to. + Future peerAddr(); + + /// Attempt to receive data on the socket, without removing that data from + /// the queue, registering the current task for wakeup if data is not yet + /// available. + /// + /// Note that on multiple calls to `poll_peek` or `poll_read`, only the + /// `Waker` from the `Context` passed to the most recent call is scheduled + /// to receive a wakeup. + /// + /// See the [`TcpStream::poll_peek`] level documentation for more details. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::io::{self, ReadBuf}; + /// use tokio::net::TcpStream; + /// + /// use std::future::poll_fn; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let stream = TcpStream::connect("127.0.0.1:8000").await?; + /// let (mut read_half, _) = stream.into_split(); + /// let mut buf = [0; 10]; + /// let mut buf = ReadBuf::new(&mut buf); + /// + /// poll_fn(|cx| { + /// read_half.poll_peek(cx, &mut buf) + /// }).await?; + /// + /// Ok(()) + /// } + /// ``` + /// + /// [`TcpStream::poll_peek`]: TcpStream::poll_peek + Future pollPeek({required Context cx, required ReadBuf buf}); + + /// Waits for the socket to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with `try_read()`. + /// + /// This function is also equivalent to [`TcpStream::ready`]. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with [`try_read()`]. It can be used instead + /// of [`readable()`] to check the returned ready set for [`Ready::READABLE`] + /// and [`Ready::READ_CLOSED`] events. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// This function is equivalent to [`TcpStream::ready`]. + /// + /// [`try_read()`]: Self::try_read + /// [`readable()`]: Self::readable + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + Future ready({required Interest interest}); + + /// Attempts to put the two halves of a `TcpStream` back together and + /// recover the original socket. Succeeds only if the two halves + /// originated from the same call to [`into_split`]. + /// + /// [`into_split`]: TcpStream::into_split() + Future reunite({required OwnedWriteHalf other}); + + /// Tries to read data from the stream into the provided buffer, returning how + /// many bytes were read. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read()` is non-blocking, the buffer does not have to be stored by + /// the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`readable()`]: Self::readable() + /// [`ready()`]: Self::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: + /// + /// 1. The stream's read half is closed and will no longer yield data. + /// 2. The specified buffer was 0 bytes in length. + /// + /// If the stream is not ready to read data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryRead({required U8 buf}); + + /// Tries to read data from the stream into the provided buffers, returning + /// how many bytes were read. + /// + /// Data is copied to fill each buffer in order, with the final buffer + /// written to possibly being only partially filled. This method behaves + /// equivalently to a single call to [`try_read()`] with concatenated + /// buffers. + /// + /// Receives any pending data from the socket but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read_vectored()` is non-blocking, the buffer does not have to be + /// stored by the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] or [`ready()`] is used with this function. + /// + /// [`try_read()`]: Self::try_read() + /// [`readable()`]: Self::readable() + /// [`ready()`]: Self::ready() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. `Ok(0)` indicates the stream's read half is closed + /// and will no longer yield data. If the stream is not ready to read data + /// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryReadVectored({required IoSliceMut bufs}); +} + +// Rust type: RustOpaqueMoi> +abstract class OwnedWriteHalf implements RustOpaqueInterface { + /// Returns the local address that this stream is bound to. + Future localAddr(); + + /// Returns the remote address that this stream is connected to. + Future peerAddr(); + + /// Waits for any of the requested ready states. + /// + /// This function is usually paired with [`try_write()`]. It can be used instead + /// of [`writable()`] to check the returned ready set for [`Ready::WRITABLE`] + /// and [`Ready::WRITE_CLOSED`] events. + /// + /// The function may complete without the socket being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// This function is equivalent to [`TcpStream::ready`]. + /// + /// [`try_write()`]: Self::try_write + /// [`writable()`]: Self::writable + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read or write that fails with `WouldBlock` or + /// `Poll::Pending`. + Future ready({required Interest interest}); + + /// Attempts to put the two halves of a `TcpStream` back together and + /// recover the original socket. Succeeds only if the two halves + /// originated from the same call to [`into_split`]. + /// + /// [`into_split`]: TcpStream::into_split() + Future reunite({required OwnedReadHalf other}); + + /// Tries to write a buffer to the stream, returning how many bytes were + /// written. + /// + /// The function will attempt to write the entire contents of `buf`, but + /// only part of the buffer may be written. + /// + /// This function is usually paired with `writable()`. + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryWrite({required List buf}); + + /// Tries to write several buffers to the stream, returning how many bytes + /// were written. + /// + /// Data is written from each buffer in order, with the final buffer read + /// from possible being only partially consumed. This method behaves + /// equivalently to a single call to [`try_write()`] with concatenated + /// buffers. + /// + /// This function is usually paired with `writable()`. + /// + /// [`try_write()`]: Self::try_write() + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the stream is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + Future tryWriteVectored({required List bufs}); + + /// Waits for the socket to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually + /// paired with `try_write()`. + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + Future writable(); +} + +// Rust type: RustOpaqueMoi> +abstract class ReuniteError implements RustOpaqueInterface { + OwnedReadHalf get field0; + + OwnedWriteHalf get field1; + + set field0(OwnedReadHalf field0); + + set field1(OwnedWriteHalf field1); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart b/mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart new file mode 100644 index 0000000..899f6ce --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/tcp/listener.dart @@ -0,0 +1,13 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `bind` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `fmt`, `try_from` + +// Rust type: RustOpaqueMoi >>> +abstract class PollResultTcpStreamSocketAddr implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart b/mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart new file mode 100644 index 0000000..931e92b --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/tcp/split_owned.dart @@ -0,0 +1,20 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `try_read_buf` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_ref`, `as_ref`, `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `is_write_vectored`, `poll_flush`, `poll_read`, `poll_shutdown`, `poll_write_vectored`, `poll_write` +// These functions have error during generation (see debug logs or enable `stop_on_error: true` for more details): `forget` + +// Rust type: RustOpaqueMoi]>> +abstract class IoSliceMut implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class IoSlice implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi >>> +abstract class PollResultUsize implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/udp.dart b/mobile_app/lib/src/rust/third_party/tokio/net/udp.dart new file mode 100644 index 0000000..32fe7b8 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/udp.dart @@ -0,0 +1,13 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `async_io`, `bind`, `connect`, `recv_buf_from`, `recv_buf`, `send_to`, `try_io`, `try_recv_buf_from`, `try_recv_buf` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `fmt`, `try_from` + +// Rust type: RustOpaqueMoi >>> +abstract class PollResultSocketAddr implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix.dart new file mode 100644 index 0000000..dd3efc5 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/unix.dart @@ -0,0 +1,41 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../../../lib.dart'; +import '../net.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// Rust type: RustOpaqueMoi> +abstract class SocketAddr implements RustOpaqueInterface, ToSocketAddrs { + /// Returns the contents of this address if it is a `pathname` address. + /// + /// Documentation reflected in [`SocketAddr`]. + /// + /// [`SocketAddr`]: std::os::unix::net::SocketAddr + Future asPathname(); + + /// Returns `true` if the address is unnamed. + /// + /// Documentation reflected in [`SocketAddr`]. + /// + /// [`SocketAddr`]: std::os::unix::net::SocketAddr + Future isUnnamed(); +} + +// Rust type: RustOpaqueMoi> +abstract class UCred implements RustOpaqueInterface { + /// Gets GID (group ID) of the process. + Future gid(); + + /// Gets PID (process ID) of the process. + /// + /// This is only implemented under Linux, Android, iOS, macOS, Solaris, + /// Illumos and Cygwin. On other platforms this will always return `None`. + Future pid(); + + /// Gets UID (user ID) of the process. + Future uid(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart new file mode 100644 index 0000000..3a90df1 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/unix/datagram/socket.dart @@ -0,0 +1,13 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `async_io`, `bind`, `connect`, `poll_send_to`, `recv_buf_from`, `recv_buf`, `send_to`, `try_io`, `try_recv_buf_from`, `try_recv_buf`, `try_send_to` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_raw_fd`, `fmt`, `try_from` + +// Rust type: RustOpaqueMoi> +abstract class Shutdown implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart new file mode 100644 index 0000000..0441883 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/unix/listener.dart @@ -0,0 +1,13 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `bind` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_raw_fd`, `fmt`, `try_from` + +// Rust type: RustOpaqueMoi >>> +abstract class PollResultUnixStreamSocketAddr implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart b/mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart new file mode 100644 index 0000000..ac63416 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/net/unix/pipe.dart @@ -0,0 +1,2871 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import '../../../../lib.dart'; +import '../../io.dart'; +import '../../process/sys.dart'; +import '../../signal/unix.dart'; +import '../../sync/broadcast.dart'; +import '../../sync/broadcast/error.dart'; +import '../../sync/mpsc/bounded.dart'; +import '../../sync/mpsc/error.dart'; +import '../../sync/oneshot.dart'; +import '../../sync/watch.dart'; +import '../tcp/split_owned.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `open_receiver`, `open_sender`, `try_read_buf` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `PipeEnd` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_fd`, `as_raw_fd`, `as_raw_fd`, `assert_receiver_is_total_eq`, `clone`, `clone`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `is_write_vectored`, `poll_flush`, `poll_read`, `poll_shutdown`, `poll_write_vectored`, `poll_write` + +/// Creates a new anonymous Unix pipe. +/// +/// This function will open a new pipe and associate both pipe ends with the default +/// event loop. +/// +/// If you need to create a pipe for communication with a spawned process, you can +/// use [`Stdio::piped()`] instead. +/// +/// [`Stdio::piped()`]: std::process::Stdio::piped +/// +/// # Errors +/// +/// If creating a pipe fails, this function will return with the related OS error. +/// +/// # Examples +/// +/// Create a pipe and pass the writing end to a spawned process. +/// +/// ```no_run +/// use tokio::net::unix::pipe; +/// use tokio::process::Command; +/// # use tokio::io::AsyncReadExt; +/// # use std::error::Error; +/// +/// # async fn dox() -> Result<(), Box> { +/// let (tx, mut rx) = pipe::pipe()?; +/// let mut buffer = String::new(); +/// +/// let status = Command::new("echo") +/// .arg("Hello, world!") +/// .stdout(tx.into_blocking_fd()?) +/// .status(); +/// rx.read_to_string(&mut buffer).await?; +/// +/// assert!(status.await?.success()); +/// assert_eq!(buffer, "Hello, world!\n"); +/// # Ok(()) +/// # } +/// ``` +/// +/// # Panics +/// +/// This function panics if it is not called from within a runtime with +/// IO enabled. +/// +/// The runtime is usually set implicitly when this function is called +/// from a future driven by a tokio runtime, otherwise runtime can be set +/// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. +Future<(Sender, Receiver)> pipe() => + RustLib.instance.api.tokioNetUnixPipePipe(); + +// Rust type: RustOpaqueMoi> +abstract class OpenOptions implements RustOpaqueInterface { + /// Sets the option for the append mode. + /// + /// This option, when true, means that writes will append to a file instead + /// of overwriting previous contents. Note that setting + /// `.write(true).append(true)` has the same effect as setting only + /// `.append(true)`. + /// + /// For most filesystems, the operating system guarantees that all writes are + /// atomic: no writes get mangled because another process writes at the same + /// time. + /// + /// One maybe obvious note when using append-mode: make sure that all data + /// that belongs together is written to the file in one operation. This + /// can be done by concatenating strings before passing them to [`write()`], + /// or using a buffered writer (with a buffer of adequate size), + /// and calling [`flush()`] when the message is complete. + /// + /// If a file is opened with both read and append access, beware that after + /// opening, and after every write, the position for reading may be set at the + /// end of the file. So, before writing, save the current position (using + /// [`seek`]`(`[`SeekFrom`]`::`[`Current`]`(0))`), and restore it before the next read. + /// + /// This is an async version of [`std::fs::OpenOptions::append`][std] + /// + /// [std]: std::fs::OpenOptions::append + /// + /// ## Note + /// + /// This function doesn't create the file if it doesn't exist. Use the [`create`] + /// method to do so. + /// + /// [`write()`]: crate::io::AsyncWriteExt::write + /// [`flush()`]: crate::io::AsyncWriteExt::flush + /// [`seek`]: crate::io::AsyncSeekExt::seek + /// [`SeekFrom`]: std::io::SeekFrom + /// [`Current`]: std::io::SeekFrom::Current + /// [`create`]: OpenOptions::create + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .append(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future append({required bool append}); + + /// Sets the option for creating a new file. + /// + /// This option indicates whether a new file will be created if the file + /// does not yet already exist. + /// + /// In order for the file to be created, [`write`] or [`append`] access must + /// be used. + /// + /// This is an async version of [`std::fs::OpenOptions::create`][std] + /// + /// [std]: std::fs::OpenOptions::create + /// [`write`]: OpenOptions::write + /// [`append`]: OpenOptions::append + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .write(true) + /// .create(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future create({required bool create}); + + /// Sets the option to always create a new file. + /// + /// This option indicates whether a new file will be created. No file is + /// allowed to exist at the target location, also no (dangling) symlink. + /// + /// This option is useful because it is atomic. Otherwise between checking + /// whether a file exists and creating a new one, the file may have been + /// created by another process (a TOCTOU race condition / attack). + /// + /// If `.create_new(true)` is set, [`.create()`] and [`.truncate()`] are + /// ignored. + /// + /// The file must be opened with write or append access in order to create a + /// new file. + /// + /// This is an async version of [`std::fs::OpenOptions::create_new`][std] + /// + /// [std]: std::fs::OpenOptions::create_new + /// [`.create()`]: OpenOptions::create + /// [`.truncate()`]: OpenOptions::truncate + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .write(true) + /// .create_new(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future createNew({required bool createNew}); + + /// Passes custom flags to the `flags` argument of `open`. + /// + /// The bits that define the access mode are masked out with `O_ACCMODE`, to + /// ensure they do not interfere with the access mode set by Rusts options. + /// + /// Custom flags can only set flags, not remove flags set by Rusts options. + /// This options overwrites any previously set custom flags. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let mut options = OpenOptions::new(); + /// options.write(true); + /// if cfg!(unix) { + /// options.custom_flags(libc::O_NOFOLLOW); + /// } + /// let file = options.open("foo.txt").await?; + /// + /// Ok(()) + /// } + /// ``` + Future customFlags({required int flags}); + + static Future default_() => + RustLib.instance.api.tokioNetUnixPipeOpenOptionsDefault(); + + /// Sets the mode bits that a new file will be created with. + /// + /// If a new file is created as part of an `OpenOptions::open` call then this + /// specified `mode` will be used as the permission bits for the new file. + /// If no `mode` is set, the default of `0o666` will be used. + /// The operating system masks out bits with the system's `umask`, to produce + /// the final permissions. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let mut options = OpenOptions::new(); + /// options.mode(0o644); // Give read/write for owner and read for others. + /// let file = options.open("foo.txt").await?; + /// + /// Ok(()) + /// } + /// ``` + Future mode({required int mode}); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a blank new set of options ready for configuration. + /// + /// All options are initially set to `false`. + /// + /// This is an async version of [`std::fs::OpenOptions::new`][std] + /// + /// [std]: std::fs::OpenOptions::new + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// + /// let mut options = OpenOptions::new(); + /// let future = options.read(true).open("foo.txt"); + /// ``` + static Future newInstance() => + RustLib.instance.api.tokioNetUnixPipeOpenOptionsNew(); + + /// Sets the option for read access. + /// + /// This option, when true, will indicate that the file should be + /// `read`-able if opened. + /// + /// This is an async version of [`std::fs::OpenOptions::read`][std] + /// + /// [std]: std::fs::OpenOptions::read + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .read(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future read({required bool read}); + + /// Sets the option for truncating a previous file. + /// + /// If a file is successfully opened with this option set it will truncate + /// the file to 0 length if it already exists. + /// + /// The file must be opened with write access for truncate to work. + /// + /// This is an async version of [`std::fs::OpenOptions::truncate`][std] + /// + /// [std]: std::fs::OpenOptions::truncate + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .write(true) + /// .truncate(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future truncate({required bool truncate}); + + /// Sets the option to skip the check for FIFO file type. + /// + /// By default, [`open_receiver`] and [`open_sender`] functions will check + /// if the opened file is a FIFO file. Set this option to `true` if you are + /// sure the file is a FIFO file. + /// + /// [`open_receiver`]: OpenOptions::open_receiver + /// [`open_sender`]: OpenOptions::open_sender + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use nix::{unistd::mkfifo, sys::stat::Mode}; + /// # use std::error::Error; + /// + /// // Our program has exclusive access to this path. + /// const FIFO_NAME: &str = "path/to/a/new/fifo"; + /// + /// # async fn dox() -> Result<(), Box> { + /// mkfifo(FIFO_NAME, Mode::S_IRWXU)?; + /// let rx = pipe::OpenOptions::new() + /// .unchecked(true) + /// .open_receiver(FIFO_NAME)?; + /// # Ok(()) + /// # } + /// ``` + Future unchecked({required bool value}); + + /// Sets the option for write access. + /// + /// This option, when true, will indicate that the file should be + /// `write`-able if opened. + /// + /// This is an async version of [`std::fs::OpenOptions::write`][std] + /// + /// [std]: std::fs::OpenOptions::write + /// + /// # Examples + /// + /// ```no_run + /// use tokio::fs::OpenOptions; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// let file = OpenOptions::new() + /// .write(true) + /// .open("foo.txt") + /// .await?; + /// + /// Ok(()) + /// } + /// ``` + Future write({required bool write}); +} + +// Rust type: RustOpaqueMoi >>> +abstract class PollResult implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Receiver implements RustOpaqueInterface { + /// Creates a new `Receiver` from a [`File`]. + /// + /// This function is intended to construct a pipe from a [`File`] representing + /// a special FIFO file. It will check if the file is a pipe and has read access, + /// set it in non-blocking mode and perform the conversion. + /// + /// # Errors + /// + /// Fails with `io::ErrorKind::InvalidInput` if the file is not a pipe or it + /// does not have read access. Also fails with any standard OS error if it occurs. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromFile({required File file}) => + RustLib.instance.api.tokioNetUnixPipeReceiverFromFile(file: file); + + /// Creates a new `Receiver` from a [`File`] without checking pipe properties. + /// + /// This function is intended to construct a pipe from a File representing + /// a special FIFO file. The conversion assumes nothing about the underlying + /// file; it is left up to the user to make sure it is opened with read access, + /// represents a pipe and is set in non-blocking mode. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::fs::OpenOptions; + /// use std::os::unix::fs::{FileTypeExt, OpenOptionsExt}; + /// # use std::error::Error; + /// + /// const FIFO_NAME: &str = "path/to/a/fifo"; + /// + /// # async fn dox() -> Result<(), Box> { + /// let file = OpenOptions::new() + /// .read(true) + /// .custom_flags(libc::O_NONBLOCK) + /// .open(FIFO_NAME)?; + /// if file.metadata()?.file_type().is_fifo() { + /// let rx = pipe::Receiver::from_file_unchecked(file)?; + /// /* use the Receiver */ + /// } + /// # Ok(()) + /// # } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromFileUnchecked({required File file}) => + RustLib.instance.api + .tokioNetUnixPipeReceiverFromFileUnchecked(file: file); + + /// Creates a new `Receiver` from an [`OwnedFd`]. + /// + /// This function is intended to construct a pipe from an [`OwnedFd`] representing + /// an anonymous pipe or a special FIFO file. It will check if the file descriptor + /// is a pipe and has read access, set it in non-blocking mode and perform the + /// conversion. + /// + /// # Errors + /// + /// Fails with `io::ErrorKind::InvalidInput` if the file descriptor is not a pipe + /// or it does not have read access. Also fails with any standard OS error if it + /// occurs. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromOwnedFd({required OwnedFd ownedFd}) => + RustLib.instance.api + .tokioNetUnixPipeReceiverFromOwnedFd(ownedFd: ownedFd); + + /// Creates a new `Receiver` from an [`OwnedFd`] without checking pipe properties. + /// + /// This function is intended to construct a pipe from an [`OwnedFd`] representing + /// an anonymous pipe or a special FIFO file. The conversion assumes nothing about + /// the underlying pipe; it is left up to the user to make sure that the file + /// descriptor represents the reading end of a pipe and the pipe is set in + /// non-blocking mode. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromOwnedFdUnchecked({required OwnedFd ownedFd}) => + RustLib.instance.api + .tokioNetUnixPipeReceiverFromOwnedFdUnchecked(ownedFd: ownedFd); + + /// Converts the pipe into an [`OwnedFd`] in blocking mode. + /// + /// This function will deregister this pipe end from the event loop, set + /// it in blocking mode and perform the conversion. + Future intoBlockingFd(); + + /// Converts the pipe into an [`OwnedFd`] in nonblocking mode. + /// + /// This function will deregister this pipe end from the event loop and + /// perform the conversion. Returned file descriptor will be in nonblocking + /// mode. + Future intoNonblockingFd(); + + /// Polls for read readiness. + /// + /// If the pipe is not currently ready for reading, this method will + /// store a clone of the `Waker` from the provided `Context`. When the pipe + /// becomes ready for reading, `Waker::wake` will be called on the waker. + /// + /// Note that on multiple calls to `poll_read_ready` or `poll_read`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. + /// + /// This function is intended for cases where creating and pinning a future + /// via [`readable`] is not feasible. Where possible, using [`readable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// [`readable`]: Self::readable + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the pipe is not ready for reading. + /// * `Poll::Ready(Ok(()))` if the pipe is ready for reading. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + Future pollReadReady({required Context cx}); + + /// Waits for the pipe to become readable. + /// + /// This function is equivalent to `ready(Interest::READABLE)` and is usually + /// paired with [`try_read()`]. + /// + /// [`try_read()`]: Self::try_read() + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a reading end of a fifo + /// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; + /// + /// let mut msg = vec![0; 1024]; + /// + /// loop { + /// // Wait for the pipe to be readable + /// rx.readable().await?; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match rx.try_read(&mut msg) { + /// Ok(n) => { + /// msg.truncate(n); + /// break; + /// } + /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// println!("GOT = {:?}", msg); + /// Ok(()) + /// } + /// ``` + Future readable(); + + /// Waits for any of the requested ready states. + /// + /// This function can be used instead of [`readable()`] to check the returned + /// ready set for [`Ready::READABLE`] and [`Ready::READ_CLOSED`] events. + /// + /// The function may complete without the pipe being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// [`readable()`]: Self::readable + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to read that fails with `WouldBlock` or + /// `Poll::Pending`. + Future ready({required Interest interest}); + + /// Tries to read data from the pipe into the provided buffer, returning how + /// many bytes were read. + /// + /// Reads any pending data from the pipe but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read()` is non-blocking, the buffer does not have to be stored by + /// the async task and can exist entirely on the stack. + /// + /// Usually [`readable()`] is used with this function. + /// + /// [`readable()`]: Self::readable() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. If `n` is `0`, then it can indicate one of two scenarios: + /// + /// 1. The pipe's writing end is closed and will no longer write data. + /// 2. The specified buffer was 0 bytes in length. + /// + /// If the pipe is not ready to read data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a reading end of a fifo + /// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; + /// + /// let mut msg = vec![0; 1024]; + /// + /// loop { + /// // Wait for the pipe to be readable + /// rx.readable().await?; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match rx.try_read(&mut msg) { + /// Ok(n) => { + /// msg.truncate(n); + /// break; + /// } + /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// println!("GOT = {:?}", msg); + /// Ok(()) + /// } + /// ``` + Future tryRead({required U8 buf}); + + /// Tries to read data from the pipe into the provided buffers, returning + /// how many bytes were read. + /// + /// Data is copied to fill each buffer in order, with the final buffer + /// written to possibly being only partially filled. This method behaves + /// equivalently to a single call to [`try_read()`] with concatenated + /// buffers. + /// + /// Reads any pending data from the pipe but does not wait for new data + /// to arrive. On success, returns the number of bytes read. Because + /// `try_read_vectored()` is non-blocking, the buffer does not have to be + /// stored by the async task and can exist entirely on the stack. + /// + /// Usually, [`readable()`] is used with this function. + /// + /// [`try_read()`]: Self::try_read() + /// [`readable()`]: Self::readable() + /// + /// # Return + /// + /// If data is successfully read, `Ok(n)` is returned, where `n` is the + /// number of bytes read. `Ok(0)` indicates the pipe's writing end is + /// closed and will no longer write data. If the pipe is not ready to read + /// data `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a reading end of a fifo + /// let rx = pipe::OpenOptions::new().open_receiver("path/to/a/fifo")?; + /// + /// loop { + /// // Wait for the pipe to be readable + /// rx.readable().await?; + /// + /// // Creating the buffer **after** the `await` prevents it from + /// // being stored in the async task. + /// let mut buf_a = [0; 512]; + /// let mut buf_b = [0; 1024]; + /// let mut bufs = [ + /// io::IoSliceMut::new(&mut buf_a), + /// io::IoSliceMut::new(&mut buf_b), + /// ]; + /// + /// // Try to read data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match rx.try_read_vectored(&mut bufs) { + /// Ok(0) => break, + /// Ok(n) => { + /// println!("read {} bytes", n); + /// } + /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryReadVectored({required IoSliceMut bufs}); +} + +// Rust type: RustOpaqueMoi>> +abstract class ReceiverT implements RustOpaqueInterface { + /// Blocking receive to call outside of asynchronous contexts. + /// + /// # Panics + /// + /// This function panics if called within an asynchronous execution + /// context. + /// + /// # Examples + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use std::thread; + /// use tokio::sync::broadcast; + /// + /// #[tokio::main] + /// async fn main() { + /// let (tx, mut rx) = broadcast::channel(16); + /// + /// let sync_code = thread::spawn(move || { + /// assert_eq!(rx.blocking_recv(), Ok(10)); + /// }); + /// + /// let _ = tx.send(10); + /// sync_code.join().unwrap(); + /// } + /// # } + /// ``` + Future blockingRecv(); + + /// Variant of [`Self::recv_many`] for blocking contexts. + /// + /// The same conditions as in [`Self::blocking_recv`] apply. + Future blockingRecvMany( + {required VecT buffer, required BigInt limit}); + + /// Returns a reference to the most recently sent value. + /// + /// This method does not mark the returned value as seen, so future calls to + /// [`changed`] may return immediately even if you have already seen the + /// value with a call to `borrow`. + /// + /// Outstanding borrows hold a read lock on the inner value. This means that + /// long-lived borrows could cause the producer half to block. It is recommended + /// to keep the borrow as short-lived as possible. Additionally, if you are + /// running in an environment that allows `!Send` futures, you must ensure that + /// the returned `Ref` type is never held alive across an `.await` point, + /// otherwise, it can lead to a deadlock. + /// + /// The priority policy of the lock is dependent on the underlying lock + /// implementation, and this type does not guarantee that any particular policy + /// will be used. In particular, a producer which is waiting to acquire the lock + /// in `send` might or might not block concurrent calls to `borrow`, e.g.: + /// + ///
Potential deadlock example + /// + /// ```text + /// // Task 1 (on thread A) | // Task 2 (on thread B) + /// let _ref1 = rx.borrow(); | + /// | // will block + /// | let _ = tx.send(()); + /// // may deadlock | + /// let _ref2 = rx.borrow(); | + /// ``` + ///
+ /// + /// For more information on when to use this method versus + /// [`borrow_and_update`], see [here](self#borrow_and_update-versus-borrow). + /// + /// [`changed`]: Receiver::changed + /// [`borrow_and_update`]: Receiver::borrow_and_update + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::watch; + /// + /// let (_, rx) = watch::channel("hello"); + /// assert_eq!(*rx.borrow(), "hello"); + /// ``` + Future borrow(); + + /// Returns a reference to the most recently sent value and marks that value + /// as seen. + /// + /// This method marks the current value as seen. Subsequent calls to [`changed`] + /// will not return immediately until the [`Sender`] has modified the shared + /// value again. + /// + /// Outstanding borrows hold a read lock on the inner value. This means that + /// long-lived borrows could cause the producer half to block. It is recommended + /// to keep the borrow as short-lived as possible. Additionally, if you are + /// running in an environment that allows `!Send` futures, you must ensure that + /// the returned `Ref` type is never held alive across an `.await` point, + /// otherwise, it can lead to a deadlock. + /// + /// The priority policy of the lock is dependent on the underlying lock + /// implementation, and this type does not guarantee that any particular policy + /// will be used. In particular, a producer which is waiting to acquire the lock + /// in `send` might or might not block concurrent calls to `borrow`, e.g.: + /// + ///
Potential deadlock example + /// + /// ```text + /// // Task 1 (on thread A) | // Task 2 (on thread B) + /// let _ref1 = rx1.borrow_and_update(); | + /// | // will block + /// | let _ = tx.send(()); + /// // may deadlock | + /// let _ref2 = rx2.borrow_and_update(); | + /// ``` + ///
+ /// + /// For more information on when to use this method versus [`borrow`], see + /// [here](self#borrow_and_update-versus-borrow). + /// + /// [`changed`]: Receiver::changed + /// [`borrow`]: Receiver::borrow + Future borrowAndUpdate(); + + /// Returns the current capacity of the channel. + /// + /// The capacity goes down when the sender sends a value by calling [`Sender::send`] or by reserving + /// capacity with [`Sender::reserve`]. The capacity goes up when values are received. + /// This is distinct from [`max_capacity`], which always returns buffer capacity initially + /// specified when calling [`channel`]. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel::<()>(5); + /// + /// assert_eq!(rx.capacity(), 5); + /// + /// // Making a reservation drops the capacity by one. + /// let permit = tx.reserve().await.unwrap(); + /// assert_eq!(rx.capacity(), 4); + /// assert_eq!(rx.len(), 0); + /// + /// // Sending and receiving a value increases the capacity by one. + /// permit.send(()); + /// assert_eq!(rx.len(), 1); + /// rx.recv().await.unwrap(); + /// assert_eq!(rx.capacity(), 5); + /// + /// // Directly sending a message drops the capacity by one. + /// tx.send(()).await.unwrap(); + /// assert_eq!(rx.capacity(), 4); + /// assert_eq!(rx.len(), 1); + /// + /// // Receiving the message increases the capacity by one. + /// rx.recv().await.unwrap(); + /// assert_eq!(rx.capacity(), 5); + /// assert_eq!(rx.len(), 0); + /// # } + /// ``` + /// [`capacity`]: Receiver::capacity + /// [`max_capacity`]: Receiver::max_capacity + Future capacity(); + + /// Waits for a change notification, then marks the current value as seen. + /// + /// If the current value in the channel has not yet been marked seen when + /// this method is called, the method marks that value seen and returns + /// immediately. If the newest value has already been marked seen, then the + /// method sleeps until a new message is sent by a [`Sender`] connected to + /// this `Receiver`, or until all [`Sender`]s are dropped. + /// + /// For more information, see + /// [*Change notifications*](self#change-notifications) in the module-level documentation. + /// + /// # Errors + /// + /// Returns a [`RecvError`](error::RecvError) if the channel has been closed __AND__ + /// the current value is seen. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If you use it as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no values have been marked + /// seen by this call to `changed`. + /// + /// [`Sender`]: struct@Sender + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::watch; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = watch::channel("hello"); + /// + /// tokio::spawn(async move { + /// tx.send("goodbye").unwrap(); + /// }); + /// + /// assert!(rx.changed().await.is_ok()); + /// assert_eq!(*rx.borrow_and_update(), "goodbye"); + /// + /// // The `tx` handle has been dropped + /// assert!(rx.changed().await.is_err()); + /// # } + /// ``` + Future changed(); + + /// Closes the receiving half of a channel without dropping it. + /// + /// This prevents any further messages from being sent on the channel while + /// still enabling the receiver to drain messages that are buffered. Any + /// outstanding [`Permit`] values will still be able to send messages. + /// + /// To guarantee that no messages are dropped, after calling `close()`, + /// `recv()` must be called until `None` is returned. If there are + /// outstanding [`Permit`] or [`OwnedPermit`] values, the `recv` method will + /// not return `None` until those are released. + /// + /// [`Permit`]: Permit + /// [`OwnedPermit`]: OwnedPermit + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(20); + /// + /// tokio::spawn(async move { + /// let mut i = 0; + /// while let Ok(permit) = tx.reserve().await { + /// permit.send(i); + /// i += 1; + /// } + /// }); + /// + /// rx.close(); + /// + /// while let Some(msg) = rx.recv().await { + /// println!("got {}", msg); + /// } + /// + /// // Channel closed and no messages are lost. + /// # } + /// ``` + Future close(); + + /// Checks if this channel contains a message that this receiver has not yet + /// seen. The current value will not be marked as seen. + /// + /// Although this method is called `has_changed`, it does not check + /// messages for equality, so this call will return true even if the current + /// message is equal to the previous message. + /// + /// # Errors + /// + /// Returns a [`RecvError`](error::RecvError) if and only if the channel has been closed. + /// + /// # Examples + /// + /// ## Basic usage + /// + /// ``` + /// use tokio::sync::watch; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = watch::channel("hello"); + /// + /// tx.send("goodbye").unwrap(); + /// + /// assert!(rx.has_changed().unwrap()); + /// assert_eq!(*rx.borrow_and_update(), "goodbye"); + /// + /// // The value has been marked as seen + /// assert!(!rx.has_changed().unwrap()); + /// # } + /// ``` + /// + /// ## Closed channel example + /// + /// ``` + /// use tokio::sync::watch; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, rx) = watch::channel("hello"); + /// tx.send("goodbye").unwrap(); + /// + /// drop(tx); + /// + /// // The channel is closed + /// assert!(rx.has_changed().is_err()); + /// # } + /// ``` + Future hasChanged(); + + /// Checks if a channel is closed. + /// + /// This method returns `true` if the channel has been closed. The channel is closed + /// when all [`Sender`] have been dropped. + /// + /// [`Sender`]: crate::sync::broadcast::Sender + /// + /// # Examples + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, rx) = broadcast::channel::<()>(10); + /// assert!(!rx.is_closed()); + /// + /// drop(tx); + /// + /// assert!(rx.is_closed()); + /// # } + /// ``` + Future isClosed(); + + /// Returns true if there aren't any messages in the channel that the [`Receiver`] + /// has yet to receive. + /// + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// + /// assert!(rx1.is_empty()); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// + /// assert!(!rx1.is_empty()); + /// assert_eq!(rx1.recv().await.unwrap(), 10); + /// assert_eq!(rx1.recv().await.unwrap(), 20); + /// assert!(rx1.is_empty()); + /// # } + /// ``` + Future isEmpty(); + + /// Checks if this receiver is terminated. + /// + /// This function returns true if this receiver has already yielded a [`Poll::Ready`] result. + /// If so, this receiver should no longer be polled. + /// + /// # Examples + /// + /// Sending a value and polling it. + /// + /// ``` + /// use tokio::sync::oneshot; + /// + /// use std::task::Poll; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = oneshot::channel(); + /// + /// // A receiver is not terminated when it is initialized. + /// assert!(!rx.is_terminated()); + /// + /// // A receiver is not terminated it is polled and is still pending. + /// let poll = futures::poll!(&mut rx); + /// assert_eq!(poll, Poll::Pending); + /// assert!(!rx.is_terminated()); + /// + /// // A receiver is not terminated if a value has been sent, but not yet read. + /// tx.send(0).unwrap(); + /// assert!(!rx.is_terminated()); + /// + /// // A receiver *is* terminated after it has been polled and yielded a value. + /// assert_eq!((&mut rx).await, Ok(0)); + /// assert!(rx.is_terminated()); + /// # } + /// ``` + /// + /// Dropping the sender. + /// + /// ``` + /// use tokio::sync::oneshot; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = oneshot::channel::<()>(); + /// + /// // A receiver is not immediately terminated when the sender is dropped. + /// drop(tx); + /// assert!(!rx.is_terminated()); + /// + /// // A receiver *is* terminated after it has been polled and yielded an error. + /// let _ = (&mut rx).await.unwrap_err(); + /// assert!(rx.is_terminated()); + /// # } + /// ``` + Future isTerminated(); + + /// Returns the number of messages that were sent into the channel and that + /// this [`Receiver`] has yet to receive. + /// + /// If the returned value from `len` is larger than the next largest power of 2 + /// of the capacity of the channel any call to [`recv`] will return an + /// `Err(RecvError::Lagged)` and any call to [`try_recv`] will return an + /// `Err(TryRecvError::Lagged)`, e.g. if the capacity of the channel is 10, + /// [`recv`] will start to return `Err(RecvError::Lagged)` once `len` returns + /// values larger than 16. + /// + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// [`recv`]: crate::sync::broadcast::Receiver::recv + /// [`try_recv`]: crate::sync::broadcast::Receiver::try_recv + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// + /// assert_eq!(rx1.len(), 2); + /// assert_eq!(rx1.recv().await.unwrap(), 10); + /// assert_eq!(rx1.len(), 1); + /// assert_eq!(rx1.recv().await.unwrap(), 20); + /// assert_eq!(rx1.len(), 0); + /// # } + /// ``` + Future len(); + + /// Marks the state as changed. + /// + /// After invoking this method [`has_changed()`](Self::has_changed) + /// returns `true` and [`changed()`](Self::changed) returns + /// immediately, regardless of whether a new value has been sent. + /// + /// This is useful for triggering an initial change notification after + /// subscribing to synchronize new receivers. + Future markChanged(); + + /// Marks the state as unchanged. + /// + /// The current value will be considered seen by the receiver. + /// + /// This is useful if you are not interested in the current value + /// visible in the receiver. + Future markUnchanged(); + + /// Returns the maximum buffer capacity of the channel. + /// + /// The maximum capacity is the buffer capacity initially specified when calling + /// [`channel`]. This is distinct from [`capacity`], which returns the *current* + /// available buffer capacity: as messages are sent and received, the value + /// returned by [`capacity`] will go up or down, whereas the value + /// returned by [`max_capacity`] will remain constant. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, rx) = mpsc::channel::<()>(5); + /// + /// // both max capacity and capacity are the same at first + /// assert_eq!(rx.max_capacity(), 5); + /// assert_eq!(rx.capacity(), 5); + /// + /// // Making a reservation doesn't change the max capacity. + /// let permit = tx.reserve().await.unwrap(); + /// assert_eq!(rx.max_capacity(), 5); + /// // but drops the capacity by one + /// assert_eq!(rx.capacity(), 4); + /// # } + /// ``` + /// [`capacity`]: Receiver::capacity + /// [`max_capacity`]: Receiver::max_capacity + Future maxCapacity(); + + /// Polls to receive the next message on this channel. + /// + /// This method returns: + /// + /// * `Poll::Pending` if no messages are available but the channel is not + /// closed, or if a spurious failure happens. + /// * `Poll::Ready(Some(message))` if a message is available. + /// * `Poll::Ready(None)` if the channel has been closed and all messages + /// sent before it was closed have been received. + /// + /// When the method returns `Poll::Pending`, the `Waker` in the provided + /// `Context` is scheduled to receive a wakeup when a message is sent on any + /// receiver, or when the channel is closed. Note that on multiple calls to + /// `poll_recv` or `poll_recv_many`, only the `Waker` from the `Context` + /// passed to the most recent call is scheduled to receive a wakeup. + /// + /// If this method returns `Poll::Pending` due to a spurious failure, then + /// the `Waker` will be notified when the situation causing the spurious + /// failure has been resolved. Note that receiving such a wakeup does not + /// guarantee that the next call will succeed — it could fail with another + /// spurious failure. + Future pollRecv({required Context cx}); + + /// Polls to receive multiple messages on this channel, extending the provided buffer. + /// + /// This method returns: + /// * `Poll::Pending` if no messages are available but the channel is not closed, or if a + /// spurious failure happens. + /// * `Poll::Ready(count)` where `count` is the number of messages successfully received and + /// stored in `buffer`. This can be less than, or equal to, `limit`. + /// * `Poll::Ready(0)` if `limit` is set to zero or when the channel is closed. + /// + /// When the method returns `Poll::Pending`, the `Waker` in the provided + /// `Context` is scheduled to receive a wakeup when a message is sent on any + /// receiver, or when the channel is closed. Note that on multiple calls to + /// `poll_recv` or `poll_recv_many`, only the `Waker` from the `Context` + /// passed to the most recent call is scheduled to receive a wakeup. + /// + /// Note that this method does not guarantee that exactly `limit` messages + /// are received. Rather, if at least one message is available, it returns + /// as many messages as it can up to the given limit. This method returns + /// zero only if the channel is closed (or if `limit` is zero). + /// + /// # Examples + /// + /// ``` + /// use std::task::{Context, Poll}; + /// use std::pin::Pin; + /// use tokio::sync::mpsc; + /// use futures::Future; + /// + /// struct MyReceiverFuture<'a> { + /// receiver: mpsc::Receiver, + /// buffer: &'a mut Vec, + /// limit: usize, + /// } + /// + /// impl<'a> Future for MyReceiverFuture<'a> { + /// type Output = usize; // Number of messages received + /// + /// fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + /// let MyReceiverFuture { receiver, buffer, limit } = &mut *self; + /// + /// // Now `receiver` and `buffer` are mutable references, and `limit` is copied + /// match receiver.poll_recv_many(cx, *buffer, *limit) { + /// Poll::Pending => Poll::Pending, + /// Poll::Ready(count) => Poll::Ready(count), + /// } + /// } + /// } + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, rx) = mpsc::channel(32); + /// let mut buffer = Vec::new(); + /// + /// let my_receiver_future = MyReceiverFuture { + /// receiver: rx, + /// buffer: &mut buffer, + /// limit: 3, + /// }; + /// + /// for i in 0..10 { + /// tx.send(i).await.unwrap(); + /// } + /// + /// let count = my_receiver_future.await; + /// assert_eq!(count, 3); + /// assert_eq!(buffer, vec![0,1,2]) + /// # } + /// ``` + Future pollRecvMany( + {required Context cx, required VecT buffer, required BigInt limit}); + + /// Receives the next value for this receiver. + /// + /// Each [`Receiver`] handle will receive a clone of all values sent + /// **after** it has subscribed. + /// + /// `Err(RecvError::Closed)` is returned when all `Sender` halves have + /// dropped, indicating that no further values can be sent on the channel. + /// + /// If the [`Receiver`] handle falls behind, once the channel is full, newly + /// sent values will overwrite old values. At this point, a call to [`recv`] + /// will return with `Err(RecvError::Lagged)` and the [`Receiver`]'s + /// internal cursor is updated to point to the oldest value still held by + /// the channel. A subsequent call to [`recv`] will return this value + /// **unless** it has been since overwritten. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// channel. + /// + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// [`recv`]: crate::sync::broadcast::Receiver::recv + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// let mut rx2 = tx.subscribe(); + /// + /// tokio::spawn(async move { + /// assert_eq!(rx1.recv().await.unwrap(), 10); + /// assert_eq!(rx1.recv().await.unwrap(), 20); + /// }); + /// + /// tokio::spawn(async move { + /// assert_eq!(rx2.recv().await.unwrap(), 10); + /// assert_eq!(rx2.recv().await.unwrap(), 20); + /// }); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// # } + /// ``` + /// + /// Handling lag + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = broadcast::channel(2); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// tx.send(30).unwrap(); + /// + /// // The receiver lagged behind + /// assert!(rx.recv().await.is_err()); + /// + /// // At this point, we can abort or continue with lost messages + /// + /// assert_eq!(20, rx.recv().await.unwrap()); + /// assert_eq!(30, rx.recv().await.unwrap()); + /// # } + /// ``` + Future recv(); + + /// Receives the next values for this receiver and extends `buffer`. + /// + /// This method extends `buffer` by no more than a fixed number of values + /// as specified by `limit`. If `limit` is zero, the function immediately + /// returns `0`. The return value is the number of values added to `buffer`. + /// + /// For `limit > 0`, if there are no messages in the channel's queue, but + /// the channel has not yet been closed, this method will sleep until a + /// message is sent or the channel is closed. Note that if [`close`] is + /// called, but there are still outstanding [`Permits`] from before it was + /// closed, the channel is not considered closed by `recv_many` until the + /// permits are released. + /// + /// For non-zero values of `limit`, this method will never return `0` unless + /// the channel has been closed and there are no remaining messages in the + /// channel's queue. This indicates that no further values can ever be + /// received from this `Receiver`. The channel is closed when all senders + /// have been dropped, or when [`close`] is called. + /// + /// The capacity of `buffer` is increased as needed. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If `recv_many` is used as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, it is guaranteed that no messages were received on this + /// channel. + /// + /// [`close`]: Self::close + /// [`Permits`]: struct@crate::sync::mpsc::Permit + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut buffer: Vec<&str> = Vec::with_capacity(2); + /// let limit = 2; + /// let (tx, mut rx) = mpsc::channel(100); + /// let tx2 = tx.clone(); + /// tx2.send("first").await.unwrap(); + /// tx2.send("second").await.unwrap(); + /// tx2.send("third").await.unwrap(); + /// + /// // Call `recv_many` to receive up to `limit` (2) values. + /// assert_eq!(2, rx.recv_many(&mut buffer, limit).await); + /// assert_eq!(vec!["first", "second"], buffer); + /// + /// // If the buffer is full, the next call to `recv_many` + /// // reserves additional capacity. + /// assert_eq!(1, rx.recv_many(&mut buffer, 1).await); + /// + /// tokio::spawn(async move { + /// tx.send("fourth").await.unwrap(); + /// }); + /// + /// // 'tx' is dropped, but `recv_many` + /// // is guaranteed not to return 0 as the channel + /// // is not yet closed. + /// assert_eq!(1, rx.recv_many(&mut buffer, 1).await); + /// assert_eq!(vec!["first", "second", "third", "fourth"], buffer); + /// + /// // Once the last sender is dropped, the channel is + /// // closed and `recv_many` returns 0, capacity unchanged. + /// drop(tx2); + /// assert_eq!(0, rx.recv_many(&mut buffer, limit).await); + /// assert_eq!(vec!["first", "second", "third", "fourth"], buffer); + /// # } + /// ``` + Future recvMany({required VecT buffer, required BigInt limit}); + + /// Re-subscribes to the channel starting from the current tail element. + /// + /// This [`Receiver`] handle will receive a clone of all values sent + /// **after** it has resubscribed. This will not include elements that are + /// in the queue of the current receiver. Consider the following example. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = broadcast::channel(2); + /// + /// tx.send(1).unwrap(); + /// let mut rx2 = rx.resubscribe(); + /// tx.send(2).unwrap(); + /// + /// assert_eq!(rx2.recv().await.unwrap(), 2); + /// assert_eq!(rx.recv().await.unwrap(), 1); + /// # } + /// ``` + Future resubscribe(); + + /// Returns `true` if receivers belong to the same channel. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, rx) = broadcast::channel::<()>(16); + /// let rx2 = tx.subscribe(); + /// + /// assert!(rx.same_channel(&rx2)); + /// + /// let (_tx3, rx3) = broadcast::channel::<()>(16); + /// + /// assert!(!rx3.same_channel(&rx2)); + /// # } + /// ``` + Future sameChannel({required ReceiverT other}); + + /// Returns the number of [`Sender`] handles. + Future senderStrongCount(); + + /// Returns the number of [`WeakSender`] handles. + Future senderWeakCount(); + + /// Attempts to return a pending value on this receiver without awaiting. + /// + /// This is useful for a flavor of "optimistic check" before deciding to + /// await on a receiver. + /// + /// Compared with [`recv`], this function has three failure cases instead of two + /// (one for closed, one for an empty buffer, one for a lagging receiver). + /// + /// `Err(TryRecvError::Closed)` is returned when all `Sender` halves have + /// dropped, indicating that no further values can be sent on the channel. + /// + /// If the [`Receiver`] handle falls behind, once the channel is full, newly + /// sent values will overwrite old values. At this point, a call to [`recv`] + /// will return with `Err(TryRecvError::Lagged)` and the [`Receiver`]'s + /// internal cursor is updated to point to the oldest value still held by + /// the channel. A subsequent call to [`try_recv`] will return this value + /// **unless** it has been since overwritten. If there are no values to + /// receive, `Err(TryRecvError::Empty)` is returned. + /// + /// [`recv`]: crate::sync::broadcast::Receiver::recv + /// [`try_recv`]: crate::sync::broadcast::Receiver::try_recv + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = broadcast::channel(16); + /// + /// assert!(rx.try_recv().is_err()); + /// + /// tx.send(10).unwrap(); + /// + /// let value = rx.try_recv().unwrap(); + /// assert_eq!(10, value); + /// # } + /// ``` + Future tryRecv(); +} + +// Rust type: RustOpaqueMoi> +abstract class Sender implements RustOpaqueInterface { + /// Creates a new `Sender` from a [`File`]. + /// + /// This function is intended to construct a pipe from a [`File`] representing + /// a special FIFO file. It will check if the file is a pipe and has write access, + /// set it in non-blocking mode and perform the conversion. + /// + /// # Errors + /// + /// Fails with `io::ErrorKind::InvalidInput` if the file is not a pipe or it + /// does not have write access. Also fails with any standard OS error if it occurs. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromFile({required File file}) => + RustLib.instance.api.tokioNetUnixPipeSenderFromFile(file: file); + + /// Creates a new `Sender` from a [`File`] without checking pipe properties. + /// + /// This function is intended to construct a pipe from a File representing + /// a special FIFO file. The conversion assumes nothing about the underlying + /// file; it is left up to the user to make sure it is opened with write access, + /// represents a pipe and is set in non-blocking mode. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::fs::OpenOptions; + /// use std::os::unix::fs::{FileTypeExt, OpenOptionsExt}; + /// # use std::error::Error; + /// + /// const FIFO_NAME: &str = "path/to/a/fifo"; + /// + /// # async fn dox() -> Result<(), Box> { + /// let file = OpenOptions::new() + /// .write(true) + /// .custom_flags(libc::O_NONBLOCK) + /// .open(FIFO_NAME)?; + /// if file.metadata()?.file_type().is_fifo() { + /// let tx = pipe::Sender::from_file_unchecked(file)?; + /// /* use the Sender */ + /// } + /// # Ok(()) + /// # } + /// ``` + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromFileUnchecked({required File file}) => + RustLib.instance.api.tokioNetUnixPipeSenderFromFileUnchecked(file: file); + + /// Creates a new `Sender` from an [`OwnedFd`]. + /// + /// This function is intended to construct a pipe from an [`OwnedFd`] representing + /// an anonymous pipe or a special FIFO file. It will check if the file descriptor + /// is a pipe and has write access, set it in non-blocking mode and perform the + /// conversion. + /// + /// # Errors + /// + /// Fails with `io::ErrorKind::InvalidInput` if the file descriptor is not a pipe + /// or it does not have write access. Also fails with any standard OS error if it + /// occurs. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromOwnedFd({required OwnedFd ownedFd}) => + RustLib.instance.api.tokioNetUnixPipeSenderFromOwnedFd(ownedFd: ownedFd); + + /// Creates a new `Sender` from an [`OwnedFd`] without checking pipe properties. + /// + /// This function is intended to construct a pipe from an [`OwnedFd`] representing + /// an anonymous pipe or a special FIFO file. The conversion assumes nothing about + /// the underlying pipe; it is left up to the user to make sure that the file + /// descriptor represents the writing end of a pipe and the pipe is set in + /// non-blocking mode. + /// + /// # Panics + /// + /// This function panics if it is not called from within a runtime with + /// IO enabled. + /// + /// The runtime is usually set implicitly when this function is called + /// from a future driven by a tokio runtime, otherwise runtime can be set + /// explicitly with [`Runtime::enter`](crate::runtime::Runtime::enter) function. + static Future fromOwnedFdUnchecked({required OwnedFd ownedFd}) => + RustLib.instance.api + .tokioNetUnixPipeSenderFromOwnedFdUnchecked(ownedFd: ownedFd); + + /// Converts the pipe into an [`OwnedFd`] in blocking mode. + /// + /// This function will deregister this pipe end from the event loop, set + /// it in blocking mode and perform the conversion. + Future intoBlockingFd(); + + /// Converts the pipe into an [`OwnedFd`] in nonblocking mode. + /// + /// This function will deregister this pipe end from the event loop and + /// perform the conversion. The returned file descriptor will be in nonblocking + /// mode. + Future intoNonblockingFd(); + + /// Polls for write readiness. + /// + /// If the pipe is not currently ready for writing, this method will + /// store a clone of the `Waker` from the provided `Context`. When the pipe + /// becomes ready for writing, `Waker::wake` will be called on the waker. + /// + /// Note that on multiple calls to `poll_write_ready` or `poll_write`, only + /// the `Waker` from the `Context` passed to the most recent call is + /// scheduled to receive a wakeup. + /// + /// This function is intended for cases where creating and pinning a future + /// via [`writable`] is not feasible. Where possible, using [`writable`] is + /// preferred, as this supports polling from multiple tasks at once. + /// + /// [`writable`]: Self::writable + /// + /// # Return value + /// + /// The function returns: + /// + /// * `Poll::Pending` if the pipe is not ready for writing. + /// * `Poll::Ready(Ok(()))` if the pipe is ready for writing. + /// * `Poll::Ready(Err(e))` if an error is encountered. + /// + /// # Errors + /// + /// This function may encounter any standard I/O error except `WouldBlock`. + Future pollWriteReady({required Context cx}); + + /// Waits for any of the requested ready states. + /// + /// This function can be used instead of [`writable()`] to check the returned + /// ready set for [`Ready::WRITABLE`] and [`Ready::WRITE_CLOSED`] events. + /// + /// The function may complete without the pipe being ready. This is a + /// false-positive and attempting an operation will return with + /// `io::ErrorKind::WouldBlock`. The function can also return with an empty + /// [`Ready`] set, so you should always check the returned value and possibly + /// wait again if the requested states are not set. + /// + /// [`writable()`]: Self::writable + /// + /// # Cancel safety + /// + /// This method is cancel safe. Once a readiness event occurs, the method + /// will continue to return immediately until the readiness event is + /// consumed by an attempt to write that fails with `WouldBlock` or + /// `Poll::Pending`. + Future ready({required Interest interest}); + + /// Tries to write a buffer to the pipe, returning how many bytes were + /// written. + /// + /// The function will attempt to write the entire contents of `buf`, but + /// only part of the buffer may be written. If the length of `buf` is not + /// greater than `PIPE_BUF` (an OS constant, 4096 under Linux), then the + /// write is guaranteed to be atomic, i.e. either the entire content of + /// `buf` will be written or this method will fail with `WouldBlock`. There + /// is no such guarantee if `buf` is larger than `PIPE_BUF`. + /// + /// This function is usually paired with [`writable`]. + /// + /// [`writable`]: Self::writable + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the pipe is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a writing end of a fifo + /// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; + /// + /// loop { + /// // Wait for the pipe to be writable + /// tx.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match tx.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWrite({required List buf}); + + /// Tries to write several buffers to the pipe, returning how many bytes + /// were written. + /// + /// Data is written from each buffer in order, with the final buffer read + /// from possible being only partially consumed. This method behaves + /// equivalently to a single call to [`try_write()`] with concatenated + /// buffers. + /// + /// If the total length of buffers is not greater than `PIPE_BUF` (an OS + /// constant, 4096 under Linux), then the write is guaranteed to be atomic, + /// i.e. either the entire contents of buffers will be written or this + /// method will fail with `WouldBlock`. There is no such guarantee if the + /// total length of buffers is greater than `PIPE_BUF`. + /// + /// This function is usually paired with [`writable`]. + /// + /// [`try_write()`]: Self::try_write() + /// [`writable`]: Self::writable + /// + /// # Return + /// + /// If data is successfully written, `Ok(n)` is returned, where `n` is the + /// number of bytes written. If the pipe is not ready to write data, + /// `Err(io::ErrorKind::WouldBlock)` is returned. + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a writing end of a fifo + /// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; + /// + /// let bufs = [io::IoSlice::new(b"hello "), io::IoSlice::new(b"world")]; + /// + /// loop { + /// // Wait for the pipe to be writable + /// tx.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match tx.try_write_vectored(&bufs) { + /// Ok(n) => { + /// break; + /// } + /// Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future tryWriteVectored({required List buf}); + + /// Waits for the pipe to become writable. + /// + /// This function is equivalent to `ready(Interest::WRITABLE)` and is usually + /// paired with [`try_write()`]. + /// + /// [`try_write()`]: Self::try_write + /// + /// # Examples + /// + /// ```no_run + /// use tokio::net::unix::pipe; + /// use std::io; + /// + /// #[tokio::main] + /// async fn main() -> io::Result<()> { + /// // Open a writing end of a fifo + /// let tx = pipe::OpenOptions::new().open_sender("path/to/a/fifo")?; + /// + /// loop { + /// // Wait for the pipe to be writable + /// tx.writable().await?; + /// + /// // Try to write data, this may still fail with `WouldBlock` + /// // if the readiness event is a false positive. + /// match tx.try_write(b"hello world") { + /// Ok(n) => { + /// break; + /// } + /// Err(e) if e.kind() == io::ErrorKind::WouldBlock => { + /// continue; + /// } + /// Err(e) => { + /// return Err(e.into()); + /// } + /// } + /// } + /// + /// Ok(()) + /// } + /// ``` + Future writable(); +} + +// Rust type: RustOpaqueMoi>> +abstract class SenderT implements RustOpaqueInterface { + /// Blocking send to call outside of asynchronous contexts. + /// + /// This method is intended for use cases where you are sending from + /// synchronous code to asynchronous code, and will work even if the + /// receiver is not using [`blocking_recv`] to receive the message. + /// + /// [`blocking_recv`]: fn@crate::sync::mpsc::Receiver::blocking_recv + /// + /// # Panics + /// + /// This function panics if called within an asynchronous execution + /// context. + /// + /// # Examples + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use std::thread; + /// use tokio::runtime::Runtime; + /// use tokio::sync::mpsc; + /// + /// fn main() { + /// let (tx, mut rx) = mpsc::channel::(1); + /// + /// let sync_code = thread::spawn(move || { + /// tx.blocking_send(10).unwrap(); + /// }); + /// + /// Runtime::new().unwrap().block_on(async move { + /// assert_eq!(Some(10), rx.recv().await); + /// }); + /// sync_code.join().unwrap() + /// } + /// # } + /// ``` + Future blockingSend({required T value}); + + /// Returns a reference to the most recently sent value + /// + /// Outstanding borrows hold a read lock on the inner value. This means that + /// long-lived borrows could cause the producer half to block. It is recommended + /// to keep the borrow as short-lived as possible. Additionally, if you are + /// running in an environment that allows `!Send` futures, you must ensure that + /// the returned `Ref` type is never held alive across an `.await` point, + /// otherwise, it can lead to a deadlock. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::watch; + /// + /// let (tx, _) = watch::channel("hello"); + /// assert_eq!(*tx.borrow(), "hello"); + /// ``` + Future borrow(); + + /// Returns the current capacity of the channel. + /// + /// The capacity goes down when sending a value by calling [`send`] or by reserving capacity + /// with [`reserve`]. The capacity goes up when values are received by the [`Receiver`]. + /// This is distinct from [`max_capacity`], which always returns buffer capacity initially + /// specified when calling [`channel`] + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel::<()>(5); + /// + /// assert_eq!(tx.capacity(), 5); + /// + /// // Making a reservation drops the capacity by one. + /// let permit = tx.reserve().await.unwrap(); + /// assert_eq!(tx.capacity(), 4); + /// + /// // Sending and receiving a value increases the capacity by one. + /// permit.send(()); + /// rx.recv().await.unwrap(); + /// assert_eq!(tx.capacity(), 5); + /// # } + /// ``` + /// + /// [`send`]: Sender::send + /// [`reserve`]: Sender::reserve + /// [`channel`]: channel + /// [`max_capacity`]: Sender::max_capacity + Future capacity(); + + /// A future which completes when the number of [Receiver]s subscribed to this `Sender` reaches + /// zero. + /// + /// # Examples + /// + /// ``` + /// use futures::FutureExt; + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel::(16); + /// let mut rx2 = tx.subscribe(); + /// + /// let _ = tx.send(10); + /// + /// assert_eq!(rx1.recv().await.unwrap(), 10); + /// drop(rx1); + /// assert!(tx.closed().now_or_never().is_none()); + /// + /// assert_eq!(rx2.recv().await.unwrap(), 10); + /// drop(rx2); + /// assert!(tx.closed().now_or_never().is_some()); + /// # } + /// ``` + Future closed(); + + static Future default_() => + RustLib.instance.api.tokioNetUnixPipeSenderTDefault(); + + /// Converts the `Sender` to a [`WeakSender`] that does not count + /// towards RAII semantics, i.e. if all `Sender` instances of the + /// channel were dropped and only `WeakSender` instances remain, + /// the channel is closed. + Future downgrade(); + + /// Checks if the channel has been closed. This happens when the + /// [`Receiver`] is dropped, or when the [`Receiver::close`] method is + /// called. + /// + /// [`Receiver`]: crate::sync::mpsc::Receiver + /// [`Receiver::close`]: crate::sync::mpsc::Receiver::close + /// + /// ``` + /// let (tx, rx) = tokio::sync::mpsc::channel::<()>(42); + /// assert!(!tx.is_closed()); + /// + /// let tx2 = tx.clone(); + /// assert!(!tx2.is_closed()); + /// + /// drop(rx); + /// assert!(tx.is_closed()); + /// assert!(tx2.is_closed()); + /// ``` + Future isClosed(); + + /// Returns true if there are no queued values. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// let mut rx2 = tx.subscribe(); + /// + /// assert!(tx.is_empty()); + /// + /// tx.send(10).unwrap(); + /// + /// assert!(!tx.is_empty()); + /// + /// rx1.recv().await.unwrap(); + /// + /// // The queue is still not empty since rx2 hasn't seen the value. + /// assert!(!tx.is_empty()); + /// + /// rx2.recv().await.unwrap(); + /// + /// assert!(tx.is_empty()); + /// # } + /// ``` + Future isEmpty(); + + /// Returns the number of queued values. + /// + /// A value is queued until it has either been seen by all receivers that were alive at the time + /// it was sent, or has been evicted from the queue by subsequent sends that exceeded the + /// queue's capacity. + /// + /// # Note + /// + /// In contrast to [`Receiver::len`], this method only reports queued values and not values that + /// have been evicted from the queue before being seen by all receivers. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// let mut rx2 = tx.subscribe(); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// tx.send(30).unwrap(); + /// + /// assert_eq!(tx.len(), 3); + /// + /// rx1.recv().await.unwrap(); + /// + /// // The len is still 3 since rx2 hasn't seen the first value yet. + /// assert_eq!(tx.len(), 3); + /// + /// rx2.recv().await.unwrap(); + /// + /// assert_eq!(tx.len(), 2); + /// # } + /// ``` + Future len(); + + /// Returns the maximum buffer capacity of the channel. + /// + /// The maximum capacity is the buffer capacity initially specified when calling + /// [`channel`]. This is distinct from [`capacity`], which returns the *current* + /// available buffer capacity: as messages are sent and received, the + /// value returned by [`capacity`] will go up or down, whereas the value + /// returned by [`max_capacity`] will remain constant. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, _rx) = mpsc::channel::<()>(5); + /// + /// // both max capacity and capacity are the same at first + /// assert_eq!(tx.max_capacity(), 5); + /// assert_eq!(tx.capacity(), 5); + /// + /// // Making a reservation doesn't change the max capacity. + /// let permit = tx.reserve().await.unwrap(); + /// assert_eq!(tx.max_capacity(), 5); + /// // but drops the capacity by one + /// assert_eq!(tx.capacity(), 4); + /// # } + /// ``` + /// + /// [`channel`]: channel + /// [`max_capacity`]: Sender::max_capacity + /// [`capacity`]: Sender::capacity + Future maxCapacity(); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates the sending-half of the [`broadcast`] channel. + /// + /// See the documentation of [`broadcast::channel`] for more information on this method. + /// + /// [`broadcast`]: crate::sync::broadcast + /// [`broadcast::channel`]: crate::sync::broadcast::channel + static Future newInstance({required BigInt capacity}) => + RustLib.instance.api.tokioNetUnixPipeSenderTNew(capacity: capacity); + + /// Checks whether the `oneshot` channel has been closed, and if not, schedules the + /// `Waker` in the provided `Context` to receive a notification when the channel is + /// closed. + /// + /// A [`Receiver`] is closed by either calling [`close`] explicitly, or when the + /// [`Receiver`] value is dropped. + /// + /// Note that on multiple calls to poll, only the `Waker` from the `Context` passed + /// to the most recent call will be scheduled to receive a wakeup. + /// + /// [`Receiver`]: struct@crate::sync::oneshot::Receiver + /// [`close`]: fn@crate::sync::oneshot::Receiver::close + /// + /// # Return value + /// + /// This function returns: + /// + /// * `Poll::Pending` if the channel is still open. + /// * `Poll::Ready(())` if the channel is closed. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::oneshot; + /// + /// use std::future::poll_fn; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (mut tx, mut rx) = oneshot::channel::<()>(); + /// + /// tokio::spawn(async move { + /// rx.close(); + /// }); + /// + /// poll_fn(|cx| tx.poll_closed(cx)).await; + /// + /// println!("the receiver dropped"); + /// # } + /// ``` + Future pollClosed({required Context cx}); + + /// Returns the number of active receivers. + /// + /// An active receiver is a [`Receiver`] handle returned from [`channel`] or + /// [`subscribe`]. These are the handles that will receive values sent on + /// this [`Sender`]. + /// + /// # Note + /// + /// It is not guaranteed that a sent message will reach this number of + /// receivers. Active receivers may never call [`recv`] again before + /// dropping. + /// + /// [`recv`]: crate::sync::broadcast::Receiver::recv + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// [`Sender`]: crate::sync::broadcast::Sender + /// [`subscribe`]: crate::sync::broadcast::Sender::subscribe + /// [`channel`]: crate::sync::broadcast::channel + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, _rx1) = broadcast::channel(16); + /// + /// assert_eq!(1, tx.receiver_count()); + /// + /// let mut _rx2 = tx.subscribe(); + /// + /// assert_eq!(2, tx.receiver_count()); + /// + /// tx.send(10).unwrap(); + /// # } + /// ``` + Future receiverCount(); + + /// Waits for channel capacity. Once capacity to send one message is + /// available, it is reserved for the caller. + /// + /// If the channel is full, the function waits for the number of unreceived + /// messages to become less than the channel capacity. Capacity to send one + /// message is reserved for the caller. A [`Permit`] is returned to track + /// the reserved capacity. The [`send`] function on [`Permit`] consumes the + /// reserved capacity. + /// + /// Dropping [`Permit`] without sending a message releases the capacity back + /// to the channel. + /// + /// [`Permit`]: Permit + /// [`send`]: Permit::send + /// + /// # Cancel safety + /// + /// This channel uses a queue to ensure that calls to `send` and `reserve` + /// complete in the order they were requested. Cancelling a call to + /// `reserve` makes you lose your place in the queue. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// // Reserve capacity + /// let permit = tx.reserve().await.unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Sending on the permit succeeds + /// permit.send(456); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// # } + /// ``` + Future reserve(); + + /// Waits for channel capacity. Once capacity to send `n` messages is + /// available, it is reserved for the caller. + /// + /// If the channel is full or if there are fewer than `n` permits available, the function waits + /// for the number of unreceived messages to become `n` less than the channel capacity. + /// Capacity to send `n` message is then reserved for the caller. + /// + /// A [`PermitIterator`] is returned to track the reserved capacity. + /// You can call this [`Iterator`] until it is exhausted to + /// get a [`Permit`] and then call [`Permit::send`]. This function is similar to + /// [`try_reserve_many`] except it waits for the slots to become available. + /// + /// If the channel is closed, the function returns a [`SendError`]. + /// + /// Dropping [`PermitIterator`] without consuming it entirely releases the remaining + /// permits back to the channel. + /// + /// [`PermitIterator`]: PermitIterator + /// [`Permit`]: Permit + /// [`send`]: Permit::send + /// [`try_reserve_many`]: Sender::try_reserve_many + /// + /// # Cancel safety + /// + /// This channel uses a queue to ensure that calls to `send` and `reserve_many` + /// complete in the order they were requested. Cancelling a call to + /// `reserve_many` makes you lose your place in the queue. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(2); + /// + /// // Reserve capacity + /// let mut permit = tx.reserve_many(2).await.unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Sending with the permit iterator succeeds + /// permit.next().unwrap().send(456); + /// permit.next().unwrap().send(457); + /// + /// // The iterator should now be exhausted + /// assert!(permit.next().is_none()); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// assert_eq!(rx.recv().await.unwrap(), 457); + /// # } + /// ``` + Future reserveMany({required BigInt n}); + + /// Waits for channel capacity, moving the `Sender` and returning an owned + /// permit. Once capacity to send one message is available, it is reserved + /// for the caller. + /// + /// This moves the sender _by value_, and returns an owned permit that can + /// be used to send a message into the channel. Unlike [`Sender::reserve`], + /// this method may be used in cases where the permit must be valid for the + /// `'static` lifetime. `Sender`s may be cloned cheaply (`Sender::clone` is + /// essentially a reference count increment, comparable to [`Arc::clone`]), + /// so when multiple [`OwnedPermit`]s are needed or the `Sender` cannot be + /// moved, it can be cloned prior to calling `reserve_owned`. + /// + /// If the channel is full, the function waits for the number of unreceived + /// messages to become less than the channel capacity. Capacity to send one + /// message is reserved for the caller. An [`OwnedPermit`] is returned to + /// track the reserved capacity. The [`send`] function on [`OwnedPermit`] + /// consumes the reserved capacity. + /// + /// Dropping the [`OwnedPermit`] without sending a message releases the + /// capacity back to the channel. + /// + /// # Cancel safety + /// + /// This channel uses a queue to ensure that calls to `send` and `reserve` + /// complete in the order they were requested. Cancelling a call to + /// `reserve_owned` makes you lose your place in the queue. + /// + /// # Examples + /// Sending a message using an [`OwnedPermit`]: + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// // Reserve capacity, moving the sender. + /// let permit = tx.reserve_owned().await.unwrap(); + /// + /// // Send a message, consuming the permit and returning + /// // the moved sender. + /// let tx = permit.send(123); + /// + /// // The value sent on the permit is received. + /// assert_eq!(rx.recv().await.unwrap(), 123); + /// + /// // The sender can now be used again. + /// tx.send(456).await.unwrap(); + /// # } + /// ``` + /// + /// When multiple [`OwnedPermit`]s are needed, or the sender cannot be moved + /// by value, it can be inexpensively cloned before calling `reserve_owned`: + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// // Clone the sender and reserve capacity. + /// let permit = tx.clone().reserve_owned().await.unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Sending on the permit succeeds. + /// permit.send(456); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// # } + /// ``` + /// + /// [`Sender::reserve`]: Sender::reserve + /// [`OwnedPermit`]: OwnedPermit + /// [`send`]: OwnedPermit::send + /// [`Arc::clone`]: std::sync::Arc::clone + Future reserveOwned(); + + /// Returns `true` if senders belong to the same channel. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, _rx) = broadcast::channel::<()>(16); + /// let tx2 = tx.clone(); + /// + /// assert!(tx.same_channel(&tx2)); + /// + /// let (tx3, _rx3) = broadcast::channel::<()>(16); + /// + /// assert!(!tx3.same_channel(&tx2)); + /// # } + /// ``` + Future sameChannel({required SenderT other}); + + /// Attempts to send a value to all active [`Receiver`] handles, returning + /// it back if it could not be sent. + /// + /// A successful send occurs when there is at least one active [`Receiver`] + /// handle. An unsuccessful send would be one where all associated + /// [`Receiver`] handles have already been dropped. + /// + /// # Return + /// + /// On success, the number of subscribed [`Receiver`] handles is returned. + /// This does not mean that this number of receivers will see the message as + /// a receiver may drop or lag ([see lagging](self#lagging)) before receiving + /// the message. + /// + /// # Note + /// + /// A return value of `Ok` **does not** mean that the sent value will be + /// observed by all or any of the active [`Receiver`] handles. [`Receiver`] + /// handles may be dropped before receiving the sent message. + /// + /// A return value of `Err` **does not** mean that future calls to `send` + /// will fail. New [`Receiver`] handles may be created by calling + /// [`subscribe`]. + /// + /// [`Receiver`]: crate::sync::broadcast::Receiver + /// [`subscribe`]: crate::sync::broadcast::Sender::subscribe + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx1) = broadcast::channel(16); + /// let mut rx2 = tx.subscribe(); + /// + /// tokio::spawn(async move { + /// assert_eq!(rx1.recv().await.unwrap(), 10); + /// assert_eq!(rx1.recv().await.unwrap(), 20); + /// }); + /// + /// tokio::spawn(async move { + /// assert_eq!(rx2.recv().await.unwrap(), 10); + /// assert_eq!(rx2.recv().await.unwrap(), 20); + /// }); + /// + /// tx.send(10).unwrap(); + /// tx.send(20).unwrap(); + /// # } + /// ``` + Future send({required T value}); + + /// Sends a new value via the channel, notifying all receivers and returning + /// the previous value in the channel. + /// + /// This can be useful for reusing the buffers inside a watched value. + /// Additionally, this method permits sending values even when there are no + /// receivers. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::watch; + /// + /// let (tx, _rx) = watch::channel(1); + /// assert_eq!(tx.send_replace(2), 1); + /// assert_eq!(tx.send_replace(3), 2); + /// ``` + Future sendReplace({required T value}); + + /// Sends a value, waiting until there is capacity, but only for a limited time. + /// + /// Shares the same success and error conditions as [`send`], adding one more + /// condition for an unsuccessful send, which is when the provided timeout has + /// elapsed, and there is no capacity available. + /// + /// [`send`]: Sender::send + /// + /// # Errors + /// + /// If the receive half of the channel is closed, either due to [`close`] + /// being called or the [`Receiver`] having been dropped, + /// the function returns an error. The error includes the value passed to `send`. + /// + /// [`close`]: Receiver::close + /// [`Receiver`]: Receiver + /// + /// # Panics + /// + /// This function panics if it is called outside the context of a Tokio + /// runtime [with time enabled](crate::runtime::Builder::enable_time). + /// + /// # Examples + /// + /// In the following example, each call to `send_timeout` will block until the + /// previously sent value was received, unless the timeout has elapsed. + /// + /// ```rust + /// use tokio::sync::mpsc; + /// use tokio::time::{sleep, Duration}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// tokio::spawn(async move { + /// for i in 0..10 { + /// if let Err(e) = tx.send_timeout(i, Duration::from_millis(100)).await { + /// println!("send error: #{:?}", e); + /// return; + /// } + /// } + /// }); + /// + /// while let Some(i) = rx.recv().await { + /// println!("got = {}", i); + /// sleep(Duration::from_millis(200)).await; + /// } + /// # } + /// ``` + Future sendTimeout({required T value, required Duration timeout}); + + /// Returns the number of senders that currently exist. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::watch; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx1, rx) = watch::channel("hello"); + /// + /// assert_eq!(1, tx1.sender_count()); + /// + /// let tx2 = tx1.clone(); + /// + /// assert_eq!(2, tx1.sender_count()); + /// assert_eq!(2, tx2.sender_count()); + /// # } + /// ``` + Future senderCount(); + + /// Returns the number of [`Sender`] handles. + Future strongCount(); + + /// Creates a new [`Receiver`] handle that will receive values sent **after** + /// this call to `subscribe`. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::broadcast; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, _rx) = broadcast::channel(16); + /// + /// // Will not be seen + /// tx.send(10).unwrap(); + /// + /// let mut rx = tx.subscribe(); + /// + /// tx.send(20).unwrap(); + /// + /// let value = rx.recv().await.unwrap(); + /// assert_eq!(20, value); + /// # } + /// ``` + Future subscribe(); + + /// Tries to acquire a slot in the channel without waiting for the slot to become + /// available. + /// + /// If the channel is full this function will return [`TrySendError`], otherwise + /// if there is a slot available it will return a [`Permit`] that will then allow you + /// to [`send`] on the channel with a guaranteed slot. This function is similar to + /// [`reserve`] except it does not await for the slot to become available. + /// + /// Dropping [`Permit`] without sending a message releases the capacity back + /// to the channel. + /// + /// [`Permit`]: Permit + /// [`send`]: Permit::send + /// [`reserve`]: Sender::reserve + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// // Reserve capacity + /// let permit = tx.try_reserve().unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Trying to reserve an additional slot on the `tx` will + /// // fail because there is no capacity. + /// assert!(tx.try_reserve().is_err()); + /// + /// // Sending on the permit succeeds + /// permit.send(456); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// + /// # } + /// ``` + Future tryReserve(); + + /// Tries to acquire `n` slots in the channel without waiting for the slot to become + /// available. + /// + /// A [`PermitIterator`] is returned to track the reserved capacity. + /// You can call this [`Iterator`] until it is exhausted to + /// get a [`Permit`] and then call [`Permit::send`]. This function is similar to + /// [`reserve_many`] except it does not await for the slots to become available. + /// + /// If there are fewer than `n` permits available on the channel, then + /// this function will return a [`TrySendError::Full`]. If the channel is closed + /// this function will return a [`TrySendError::Closed`]. + /// + /// Dropping [`PermitIterator`] without consuming it entirely releases the remaining + /// permits back to the channel. + /// + /// [`PermitIterator`]: PermitIterator + /// [`send`]: Permit::send + /// [`reserve_many`]: Sender::reserve_many + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(2); + /// + /// // Reserve capacity + /// let mut permit = tx.try_reserve_many(2).unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Trying to reserve an additional slot on the `tx` will + /// // fail because there is no capacity. + /// assert!(tx.try_reserve().is_err()); + /// + /// // Sending with the permit iterator succeeds + /// permit.next().unwrap().send(456); + /// permit.next().unwrap().send(457); + /// + /// // The iterator should now be exhausted + /// assert!(permit.next().is_none()); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// assert_eq!(rx.recv().await.unwrap(), 457); + /// + /// // Trying to call try_reserve_many with 0 will return an empty iterator + /// let mut permit = tx.try_reserve_many(0).unwrap(); + /// assert!(permit.next().is_none()); + /// + /// // Trying to call try_reserve_many with a number greater than the channel + /// // capacity will return an error + /// let permit = tx.try_reserve_many(3); + /// assert!(permit.is_err()); + /// + /// // Trying to call try_reserve_many on a closed channel will return an error + /// drop(rx); + /// let permit = tx.try_reserve_many(1); + /// assert!(permit.is_err()); + /// + /// let permit = tx.try_reserve_many(0); + /// assert!(permit.is_err()); + /// # } + /// ``` + Future tryReserveMany({required BigInt n}); + + /// Tries to acquire a slot in the channel without waiting for the slot to become + /// available, returning an owned permit. + /// + /// This moves the sender _by value_, and returns an owned permit that can + /// be used to send a message into the channel. Unlike [`Sender::try_reserve`], + /// this method may be used in cases where the permit must be valid for the + /// `'static` lifetime. `Sender`s may be cloned cheaply (`Sender::clone` is + /// essentially a reference count increment, comparable to [`Arc::clone`]), + /// so when multiple [`OwnedPermit`]s are needed or the `Sender` cannot be + /// moved, it can be cloned prior to calling `try_reserve_owned`. + /// + /// If the channel is full this function will return a [`TrySendError`]. + /// Since the sender is taken by value, the `TrySendError` returned in this + /// case contains the sender, so that it may be used again. Otherwise, if + /// there is a slot available, this method will return an [`OwnedPermit`] + /// that can then be used to [`send`] on the channel with a guaranteed slot. + /// This function is similar to [`reserve_owned`] except it does not await + /// for the slot to become available. + /// + /// Dropping the [`OwnedPermit`] without sending a message releases the capacity back + /// to the channel. + /// + /// [`OwnedPermit`]: OwnedPermit + /// [`send`]: OwnedPermit::send + /// [`reserve_owned`]: Sender::reserve_owned + /// [`Arc::clone`]: std::sync::Arc::clone + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let (tx, mut rx) = mpsc::channel(1); + /// + /// // Reserve capacity + /// let permit = tx.clone().try_reserve_owned().unwrap(); + /// + /// // Trying to send directly on the `tx` will fail due to no + /// // available capacity. + /// assert!(tx.try_send(123).is_err()); + /// + /// // Trying to reserve an additional slot on the `tx` will + /// // fail because there is no capacity. + /// assert!(tx.try_reserve().is_err()); + /// + /// // Sending on the permit succeeds + /// permit.send(456); + /// + /// // The value sent on the permit is received + /// assert_eq!(rx.recv().await.unwrap(), 456); + /// + /// # } + /// ``` + Future tryReserveOwned(); + + /// Attempts to immediately send a message on this `Sender`. + /// + /// This method differs from [`send`] by returning immediately if the channel's + /// buffer is full or no receiver is waiting to acquire some data. Compared + /// with [`send`], this function has two failure cases instead of one (one for + /// disconnection, one for a full buffer). + /// + /// # Errors + /// + /// If the channel capacity has been reached, i.e., the channel has `n` + /// buffered values where `n` is the argument passed to [`channel`], then an + /// error is returned. + /// + /// If the receive half of the channel is closed, either due to [`close`] + /// being called or the [`Receiver`] handle dropping, the function returns + /// an error. The error includes the value passed to `send`. + /// + /// [`send`]: Sender::send + /// [`channel`]: channel + /// [`close`]: Receiver::close + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::mpsc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// // Create a channel with buffer size 1 + /// let (tx1, mut rx) = mpsc::channel(1); + /// let tx2 = tx1.clone(); + /// + /// tokio::spawn(async move { + /// tx1.send(1).await.unwrap(); + /// tx1.send(2).await.unwrap(); + /// // task waits until the receiver receives a value. + /// }); + /// + /// tokio::spawn(async move { + /// // This will return an error and send + /// // no message if the buffer is full + /// let _ = tx2.try_send(3); + /// }); + /// + /// let mut msg; + /// msg = rx.recv().await.unwrap(); + /// println!("message {} received", msg); + /// + /// msg = rx.recv().await.unwrap(); + /// println!("message {} received", msg); + /// + /// // Third message may have never been sent + /// match rx.recv().await { + /// Some(msg) => println!("message {} received", msg), + /// None => println!("the third message was never sent"), + /// } + /// # } + /// ``` + Future trySend({required T message}); + + /// Returns the number of [`WeakSender`] handles. + Future weakCount(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/process.dart b/mobile_app/lib/src/rust/third_party/tokio/process.dart new file mode 100644 index 0000000..d861c23 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/process.dart @@ -0,0 +1,426 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'process/sys.dart'; + +// These functions are ignored because they have generic arguments: `arg0`, `arg`, `args`, `current_dir`, `env_remove`, `env`, `envs`, `new`, `pre_exec`, `stderr`, `stdin`, `stdout` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `ChildDropGuard`, `FusedChild`, `SpawnedChild` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from`, `is_write_vectored`, `kill`, `poll_flush`, `poll_read`, `poll_read`, `poll_shutdown`, `poll_write_vectored`, `poll_write`, `poll`, `try_into`, `try_into`, `try_into` +// These functions have error during generation (see debug logs or enable `stop_on_error: true` for more details): `output`, `status`, `wait_with_output` + +// Rust type: RustOpaqueMoi> +abstract class Child implements RustOpaqueInterface { + ChildStderr? get stderr; + + ChildStdin? get stdin; + + ChildStdout? get stdout; + + set stderr(ChildStderr? stderr); + + set stdin(ChildStdin? stdin); + + set stdout(ChildStdout? stdout); + + /// Returns the OS-assigned process identifier associated with this child + /// while it is still running. + /// + /// Once the child has been polled to completion this will return `None`. + /// This is done to avoid confusion on platforms like Unix where the OS + /// identifier could be reused once the process has completed. + Future id(); + + /// Forces the child to exit. + /// + /// This is equivalent to sending a `SIGKILL` on unix platforms + /// followed by [`wait`](Child::wait). + /// + /// Note: std version of [`Child::kill`](std::process::Child::kill) does not `wait`. + /// For an equivalent of `Child::kill` in the standard library, + /// use [`start_kill`](Child::start_kill). + /// + /// # Examples + /// + /// If the child has to be killed remotely, it is possible to do it using + /// a combination of the select! macro and a `oneshot` channel. In the following + /// example, the child will run until completion unless a message is sent on + /// the `oneshot` channel. If that happens, the child is killed immediately + /// using the `.kill()` method. + /// + /// ```no_run + /// use tokio::process::Command; + /// use tokio::sync::oneshot::channel; + /// + /// #[tokio::main] + /// async fn main() { + /// let (send, recv) = channel::<()>(); + /// let mut child = Command::new("sleep").arg("1").spawn().unwrap(); + /// tokio::spawn(async move { send.send(()) }); + /// tokio::select! { + /// _ = child.wait() => {} + /// _ = recv => child.kill().await.expect("kill failed"), + /// } + /// } + /// ``` + /// + /// You can also interact with the child's standard I/O. For example, you can + /// read its stdout while waiting for it to exit. + /// + /// ```no_run + /// # use std::process::Stdio; + /// # + /// # use tokio::io::AsyncReadExt; + /// # use tokio::process::Command; + /// # use tokio::sync::oneshot::channel; + /// + /// #[tokio::main] + /// async fn main() { + /// let (_tx, rx) = channel::<()>(); + /// + /// let mut child = Command::new("echo") + /// .arg("Hello World!") + /// .stdout(Stdio::piped()) + /// .spawn() + /// .unwrap(); + /// + /// let mut stdout = child.stdout.take().expect("stdout is not captured"); + /// + /// let read_stdout = tokio::spawn(async move { + /// let mut buff = Vec::new(); + /// let _ = stdout.read_to_end(&mut buff).await; + /// + /// buff + /// }); + /// + /// tokio::select! { + /// _ = child.wait() => {} + /// _ = rx => { child.kill().await.expect("kill failed") }, + /// } + /// + /// let buff = read_stdout.await.unwrap(); + /// + /// assert_eq!(buff, b"Hello World!\n"); + /// } + /// ``` + Future kill(); + + /// Attempts to force the child to exit, but does not wait for the request + /// to take effect. + /// + /// On Unix platforms, this is the equivalent to sending a `SIGKILL`. Note + /// that on Unix platforms it is possible for a zombie process to remain + /// after a kill is sent; to avoid this, the caller should ensure that either + /// `child.wait().await` or `child.try_wait()` is invoked successfully. + Future startKill(); + + /// Attempts to collect the exit status of the child if it has already + /// exited. + /// + /// This function will not block the calling thread and will only + /// check to see if the child process has exited or not. If the child has + /// exited then on Unix the process ID is reaped. This function is + /// guaranteed to repeatedly return a successful exit status so long as the + /// child has already exited. + /// + /// If the child has exited, then `Ok(Some(status))` is returned. If the + /// exit status is not available at this time then `Ok(None)` is returned. + /// If an error occurs, then that error is returned. + /// + /// Note that unlike `wait`, this function will not attempt to drop stdin, + /// nor will it wake the current task if the child exits. + Future tryWait(); + + /// Waits for the child to exit completely, returning the status that it + /// exited with. This function will continue to have the same return value + /// after it has been called at least once. + /// + /// The stdin handle to the child process, if any, will be closed + /// before waiting. This helps avoid deadlock: it ensures that the + /// child does not block waiting for input from the parent, while + /// the parent waits for the child to exit. + /// + /// If the caller wishes to explicitly control when the child's stdin + /// handle is closed, they may `.take()` it before calling `.wait()`: + /// + /// # Cancel safety + /// + /// This function is cancel safe. + /// + /// ``` + /// # #[cfg(not(unix))]fn main(){} + /// # #[cfg(unix)] + /// use tokio::io::AsyncWriteExt; + /// # #[cfg(unix)] + /// use tokio::process::Command; + /// # #[cfg(unix)] + /// use std::process::Stdio; + /// + /// # #[cfg(unix)] + /// #[tokio::main] + /// async fn main() { + /// # if cfg!(miri) { return; } // No `pidfd_spawnp` in miri. + /// let mut child = Command::new("cat") + /// .stdin(Stdio::piped()) + /// .spawn() + /// .unwrap(); + /// + /// let mut stdin = child.stdin.take().unwrap(); + /// tokio::spawn(async move { + /// // do something with stdin here... + /// stdin.write_all(b"hello world\n").await.unwrap(); + /// + /// // then drop when finished + /// drop(stdin); + /// }); + /// + /// // wait for the process to complete + /// let _ = child.wait().await; + /// } + /// ``` + Future wait(); +} + +// Rust type: RustOpaqueMoi> +abstract class ChildStderr implements RustOpaqueInterface { + /// Creates an asynchronous `ChildStderr` from a synchronous one. + /// + /// # Errors + /// + /// This method may fail if an error is encountered when setting the pipe to + /// non-blocking mode, or when registering the pipe with the runtime's IO + /// driver. + static Future fromStd({required ChildStderr inner}) => + RustLib.instance.api.tokioProcessChildStderrFromStd(inner: inner); + + /// Convert into [`OwnedFd`]. + Future intoOwnedFd(); +} + +// Rust type: RustOpaqueMoi> +abstract class ChildStdin implements RustOpaqueInterface { + /// Creates an asynchronous `ChildStdin` from a synchronous one. + /// + /// # Errors + /// + /// This method may fail if an error is encountered when setting the pipe to + /// non-blocking mode, or when registering the pipe with the runtime's IO + /// driver. + static Future fromStd({required ChildStdin inner}) => + RustLib.instance.api.tokioProcessChildStdinFromStd(inner: inner); + + /// Convert into [`OwnedFd`]. + Future intoOwnedFd(); +} + +// Rust type: RustOpaqueMoi> +abstract class ChildStdout implements RustOpaqueInterface { + /// Creates an asynchronous `ChildStdout` from a synchronous one. + /// + /// # Errors + /// + /// This method may fail if an error is encountered when setting the pipe to + /// non-blocking mode, or when registering the pipe with the runtime's IO + /// driver. + static Future fromStd({required ChildStdout inner}) => + RustLib.instance.api.tokioProcessChildStdoutFromStd(inner: inner); + + /// Convert into [`OwnedFd`]. + Future intoOwnedFd(); +} + +// Rust type: RustOpaqueMoi> +abstract class Command implements RustOpaqueInterface { + /// Cheaply convert to a `&std::process::Command` for places where the type from the standard + /// library is expected. + Future asStd(); + + /// Cheaply convert to a `&mut std::process::Command` for places where the type from the + /// standard library is expected. + Future asStdMut(); + + /// Clears the entire environment map for the child process. + /// + /// # Examples + /// + /// Basic usage: + /// + /// ```no_run + /// # async fn test() { // allow using await + /// use tokio::process::Command; + /// + /// let output = Command::new("ls") + /// .env_clear() + /// .output().await.unwrap(); + /// # } + /// ``` + Future envClear(); + + /// Returns the boolean value that was previously set by [`Command::kill_on_drop`]. + /// + /// Note that if you have not previously called [`Command::kill_on_drop`], the + /// default value of `false` will be returned here. + /// + /// # Examples + /// + /// ``` + /// use tokio::process::Command; + /// + /// let mut cmd = Command::new("echo"); + /// assert!(!cmd.get_kill_on_drop()); + /// + /// cmd.kill_on_drop(true); + /// assert!(cmd.get_kill_on_drop()); + /// ``` + Future getKillOnDrop(); + + /// Similar to `uid` but sets the group ID of the child process. This has + /// the same semantics as the `uid` field. + Future gid({required int id}); + + /// Cheaply convert into a `std::process::Command`. + /// + /// Note that Tokio specific options will be lost. Currently, this only applies to [`kill_on_drop`]. + /// + /// [`kill_on_drop`]: Command::kill_on_drop + Future intoStd(); + + /// Controls whether a `kill` operation should be invoked on a spawned child + /// process when its corresponding `Child` handle is dropped. + /// + /// By default, this value is assumed to be `false`, meaning the next spawned + /// process will not be killed on drop, similar to the behavior of the standard + /// library. + /// + /// # Caveats + /// + /// On Unix platforms processes must be "reaped" by their parent process after + /// they have exited in order to release all OS resources. A child process which + /// has exited, but has not yet been reaped by its parent is considered a "zombie" + /// process. Such processes continue to count against limits imposed by the system, + /// and having too many zombie processes present can prevent additional processes + /// from being spawned. + /// + /// Although issuing a `kill` signal to the child process is a synchronous + /// operation, the resulting zombie process cannot be `.await`ed inside of the + /// destructor to avoid blocking other tasks. The tokio runtime will, on a + /// best-effort basis, attempt to reap and clean up such processes in the + /// background, but no additional guarantees are made with regard to + /// how quickly or how often this procedure will take place. + /// + /// If stronger guarantees are required, it is recommended to avoid dropping + /// a [`Child`] handle where possible, and instead utilize `child.wait().await` + /// or `child.kill().await` where possible. + Future killOnDrop({required bool killOnDrop}); + + /// Sets the process group ID (PGID) of the child process. Equivalent to a + /// `setpgid` call in the child process, but may be more efficient. + /// + /// Process groups determine which processes receive signals. + /// + /// # Examples + /// + /// Pressing Ctrl-C in a terminal will send `SIGINT` to all processes + /// in the current foreground process group. By spawning the `sleep` + /// subprocess in a new process group, it will not receive `SIGINT` + /// from the terminal. + /// + /// The parent process could install a [signal handler] and manage the + /// process on its own terms. + /// + /// A process group ID of 0 will use the process ID as the PGID. + /// + /// ```no_run + /// # async fn test() { // allow using await + /// use tokio::process::Command; + /// + /// let output = Command::new("sleep") + /// .arg("10") + /// .process_group(0) + /// .output() + /// .await + /// .unwrap(); + /// # } + /// ``` + /// + /// [signal handler]: crate::signal + Future processGroup({required int pgroup}); + + /// Executes the command as a child process, returning a handle to it. + /// + /// By default, stdin, stdout and stderr are inherited from the parent. + /// + /// This method will spawn the child process synchronously and return a + /// handle to a future-aware child process. The `Child` returned implements + /// `Future` itself to acquire the `ExitStatus` of the child, and otherwise + /// the `Child` has methods to acquire handles to the stdin, stdout, and + /// stderr streams. + /// + /// All I/O this child does will be associated with the current default + /// event loop. + /// + /// # Examples + /// + /// Basic usage: + /// + /// ```no_run + /// use tokio::process::Command; + /// + /// async fn run_ls() -> std::process::ExitStatus { + /// Command::new("ls") + /// .spawn() + /// .expect("ls command failed to start") + /// .wait() + /// .await + /// .expect("ls command failed to run") + /// } + /// ``` + /// + /// # Caveats + /// + /// ## Dropping/Cancellation + /// + /// Similar to the behavior to the standard library, and unlike the futures + /// paradigm of dropping-implies-cancellation, a spawned process will, by + /// default, continue to execute even after the `Child` handle has been dropped. + /// + /// The [`Command::kill_on_drop`] method can be used to modify this behavior + /// and kill the child process if the `Child` wrapper is dropped before it + /// has exited. + /// + /// ## Unix Processes + /// + /// On Unix platforms processes must be "reaped" by their parent process after + /// they have exited in order to release all OS resources. A child process which + /// has exited, but has not yet been reaped by its parent is considered a "zombie" + /// process. Such processes continue to count against limits imposed by the system, + /// and having too many zombie processes present can prevent additional processes + /// from being spawned. + /// + /// The tokio runtime will, on a best-effort basis, attempt to reap and clean up + /// any process which it has spawned. No additional guarantees are made with regard to + /// how quickly or how often this procedure will take place. + /// + /// It is recommended to avoid dropping a [`Child`] process handle before it has been + /// fully `await`ed if stricter cleanup guarantees are required. + /// + /// [`Command`]: crate::process::Command + /// [`Command::kill_on_drop`]: crate::process::Command::kill_on_drop + /// [`Child`]: crate::process::Child + /// + /// # Errors + /// + /// On Unix platforms this method will fail with `std::io::ErrorKind::WouldBlock` + /// if the system process limit is reached (which includes other applications + /// running on the system). + Future spawn(); + + /// Sets the child process's user ID. This translates to a + /// `setuid` call in the child process. Failure in the `setuid` + /// call will cause the spawn to fail. + Future uid({required int id}); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/process/sys.dart b/mobile_app/lib/src/rust/third_party/tokio/process/sys.dart new file mode 100644 index 0000000..d35d754 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/process/sys.dart @@ -0,0 +1,12 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_fd`, `as_fd`, `as_fd`, `as_raw_fd`, `as_raw_fd`, `as_raw_fd` + +// Rust type: RustOpaqueMoi> +abstract class OwnedFd implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/runtime.dart b/mobile_app/lib/src/rust/third_party/tokio/runtime.dart new file mode 100644 index 0000000..2cd6b3b --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/runtime.dart @@ -0,0 +1,531 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `TimerFlavor`, `Timer` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `eq`, `fmt`, `fmt` + +// Rust type: RustOpaqueMoi>> +abstract class EnterGuard implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Handle implements RustOpaqueInterface { + /// Returns a `Handle` view over the currently running `Runtime`. + /// + /// # Panics + /// + /// This will panic if called outside the context of a Tokio runtime. That means that you must + /// call this on one of the threads **being run by the runtime**, or from a thread with an active + /// `EnterGuard`. Calling this from within a thread created by `std::thread::spawn` (for example) + /// will cause a panic unless that thread has an active `EnterGuard`. + /// + /// # Examples + /// + /// This can be used to obtain the handle of the surrounding runtime from an async + /// block or function running on that runtime. + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// # use std::thread; + /// # use tokio::runtime::Runtime; + /// # fn dox() { + /// # let rt = Runtime::new().unwrap(); + /// # rt.spawn(async { + /// use tokio::runtime::Handle; + /// + /// // Inside an async block or function. + /// let handle = Handle::current(); + /// handle.spawn(async { + /// println!("now running in the existing Runtime"); + /// }); + /// + /// # let handle = + /// thread::spawn(move || { + /// // Notice that the handle is created outside of this thread and then moved in + /// handle.spawn(async { /* ... */ }); + /// // This next line would cause a panic because we haven't entered the runtime + /// // and created an EnterGuard + /// // let handle2 = Handle::current(); // panic + /// // So we create a guard here with Handle::enter(); + /// let _guard = handle.enter(); + /// // Now we can call Handle::current(); + /// let handle2 = Handle::current(); + /// }); + /// # handle.join().unwrap(); + /// # }); + /// # } + /// # } + /// ``` + static Future current() => + RustLib.instance.api.tokioRuntimeHandleCurrent(); + + static Future default_() => + RustLib.instance.api.tokioRuntimeHandleDefault(); + + /// Enters the runtime context. This allows you to construct types that must + /// have an executor available on creation such as [`Sleep`] or + /// [`TcpStream`]. It will also allow you to call methods such as + /// [`tokio::spawn`] and [`Handle::current`] without panicking. + /// + /// # Panics + /// + /// When calling `Handle::enter` multiple times, the returned guards + /// **must** be dropped in the reverse order that they were acquired. + /// Failure to do so will result in a panic and possible memory leaks. + /// + /// # Examples + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::runtime::Runtime; + /// + /// let rt = Runtime::new().unwrap(); + /// + /// let _guard = rt.enter(); + /// tokio::spawn(async { + /// println!("Hello world!"); + /// }); + /// # } + /// ``` + /// + /// Do **not** do the following, this shows a scenario that will result in a + /// panic and possible memory leak. + /// + /// ```should_panic,ignore-wasm + /// use tokio::runtime::Runtime; + /// + /// let rt1 = Runtime::new().unwrap(); + /// let rt2 = Runtime::new().unwrap(); + /// + /// let enter1 = rt1.enter(); + /// let enter2 = rt2.enter(); + /// + /// drop(enter1); + /// drop(enter2); + /// ``` + /// + /// [`Sleep`]: struct@crate::time::Sleep + /// [`TcpStream`]: struct@crate::net::TcpStream + /// [`tokio::spawn`]: fn@crate::spawn + Future enter(); + + /// Returns the [`Id`] of the current `Runtime`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// #[tokio::main(flavor = "current_thread")] + /// async fn main() { + /// println!("Current runtime id: {}", Handle::current().id()); + /// } + /// ``` + /// + /// [`Id`]: struct@crate::runtime::Id + Future id(); + + /// Returns a view that lets you get information about how the runtime + /// is performing. + Future metrics(); + + /// Returns the flavor of the current `Runtime`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::{Handle, RuntimeFlavor}; + /// + /// #[tokio::main(flavor = "current_thread")] + /// async fn main() { + /// assert_eq!(RuntimeFlavor::CurrentThread, Handle::current().runtime_flavor()); + /// } + /// ``` + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::runtime::{Handle, RuntimeFlavor}; + /// + /// #[tokio::main(flavor = "multi_thread", worker_threads = 4)] + /// async fn main() { + /// assert_eq!(RuntimeFlavor::MultiThread, Handle::current().runtime_flavor()); + /// } + /// # } + /// ``` + Future runtimeFlavor(); + + /// Returns a Handle view over the currently running Runtime + /// + /// Returns an error if no Runtime has been started + /// + /// Contrary to `current`, this never panics + static Future tryCurrent() => + RustLib.instance.api.tokioRuntimeHandleTryCurrent(); +} + +// Rust type: RustOpaqueMoi> +abstract class Id implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Runtime implements RustOpaqueInterface { + /// Enters the runtime context. + /// + /// This allows you to construct types that must have an executor + /// available on creation such as [`Sleep`] or [`TcpStream`]. It will + /// also allow you to call methods such as [`tokio::spawn`]. + /// + /// [`Sleep`]: struct@crate::time::Sleep + /// [`TcpStream`]: struct@crate::net::TcpStream + /// [`tokio::spawn`]: fn@crate::spawn + /// + /// # Example + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::runtime::Runtime; + /// use tokio::task::JoinHandle; + /// + /// fn function_that_spawns(msg: String) -> JoinHandle<()> { + /// // Had we not used `rt.enter` below, this would panic. + /// tokio::spawn(async move { + /// println!("{}", msg); + /// }) + /// } + /// + /// fn main() { + /// let rt = Runtime::new().unwrap(); + /// + /// let s = "Hello World!".to_string(); + /// + /// // By entering the context, we tie `tokio::spawn` to this executor. + /// let _guard = rt.enter(); + /// let handle = function_that_spawns(s); + /// + /// // Wait for the task before we end the test. + /// rt.block_on(handle).unwrap(); + /// } + /// # } + /// ``` + Future enter(); + + /// Returns a handle to the runtime's spawner. + /// + /// The returned handle can be used to spawn tasks that run on this runtime, and can + /// be cloned to allow moving the `Handle` to other threads. + /// + /// Calling [`Handle::block_on`] on a handle to a `current_thread` runtime is error-prone. + /// Refer to the documentation of [`Handle::block_on`] for more. + /// + /// # Examples + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::runtime::Runtime; + /// + /// let rt = Runtime::new() + /// .unwrap(); + /// + /// let handle = rt.handle(); + /// + /// // Use the handle... + /// # } + /// ``` + Future handle(); + + /// Returns a view that lets you get information about how the runtime + /// is performing. + Future metrics(); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a new runtime instance with default configuration values. + /// + /// This results in the multi threaded scheduler, I/O driver, and time driver being + /// initialized. + /// + /// Most applications will not need to call this function directly. Instead, + /// they will use the [`#[tokio::main]` attribute][main]. When a more complex + /// configuration is necessary, the [runtime builder] may be used. + /// + /// See [module level][mod] documentation for more details. + /// + /// # Examples + /// + /// Creating a new `Runtime` with default configuration values. + /// + /// ``` + /// use tokio::runtime::Runtime; + /// + /// let rt = Runtime::new() + /// .unwrap(); + /// + /// // Use the runtime... + /// ``` + /// + /// [mod]: index.html + /// [main]: ../attr.main.html + /// [threaded scheduler]: index.html#threaded-scheduler + /// [runtime builder]: crate::runtime::Builder + static Future newInstance() => + RustLib.instance.api.tokioRuntimeRuntimeNew(); + + /// Shuts down the runtime, without waiting for any spawned work to stop. + /// + /// This can be useful if you want to drop a runtime from within another runtime. + /// Normally, dropping a runtime will block indefinitely for spawned blocking tasks + /// to complete, which would normally not be permitted within an asynchronous context. + /// By calling `shutdown_background()`, you can drop the runtime from such a context. + /// + /// Note however, that because we do not wait for any blocking tasks to complete, this + /// may result in a resource leak (in that any blocking tasks are still running until they + /// return. + /// + /// See the [struct level documentation](Runtime#shutdown) for more details. + /// + /// This function is equivalent to calling `shutdown_timeout(Duration::from_nanos(0))`. + /// + /// ``` + /// # #[cfg(not(target_family = "wasm"))] + /// # { + /// use tokio::runtime::Runtime; + /// + /// fn main() { + /// let runtime = Runtime::new().unwrap(); + /// + /// runtime.block_on(async move { + /// let inner_runtime = Runtime::new().unwrap(); + /// // ... + /// inner_runtime.shutdown_background(); + /// }); + /// } + /// # } + /// ``` + Future shutdownBackground(); +} + +// Rust type: RustOpaqueMoi> +abstract class RuntimeMetrics implements RustOpaqueInterface { + /// Returns the number of tasks currently scheduled in the runtime's + /// global queue. + /// + /// Tasks that are spawned or notified from a non-runtime thread are + /// scheduled using the runtime's global queue. This metric returns the + /// **current** number of tasks pending in the global queue. As such, the + /// returned value may increase or decrease as new tasks are scheduled and + /// processed. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// + /// let n = metrics.global_queue_depth(); + /// println!("{} tasks currently pending in the runtime's global queue", n); + /// # } + /// ``` + Future globalQueueDepth(); + + /// Returns the current number of alive tasks in the runtime. + /// + /// This counter increases when a task is spawned and decreases when a + /// task exits. + /// + /// Note: When using the multi-threaded runtime this number may not + /// not have strong consistency i.e. no tasks may be running but the metric + /// reports otherwise. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// + /// let n = metrics.num_alive_tasks(); + /// println!("Runtime has {} alive tasks", n); + /// # } + /// ``` + Future numAliveTasks(); + + /// Returns the number of worker threads used by the runtime. + /// + /// The number of workers is set by configuring `worker_threads` on + /// `runtime::Builder`. When using the `current_thread` runtime, the return + /// value is always `1`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// + /// let n = metrics.num_workers(); + /// println!("Runtime is using {} workers", n); + /// # } + /// ``` + Future numWorkers(); + + /// Returns the total number of times the given worker thread has parked. + /// + /// The worker park count starts at zero when the runtime is created and + /// increases by one each time the worker parks the thread waiting for new + /// inbound events to process. This usually means the worker has processed + /// all pending work and is currently idle. + /// + /// The counter is monotonically increasing. It is never decremented or + /// reset to zero. + /// + /// # Arguments + /// + /// `worker` is the index of the worker being queried. The given value must + /// be between 0 and `num_workers()`. The index uniquely identifies a single + /// worker and will continue to identify the worker throughout the lifetime + /// of the runtime instance. + /// + /// # Panics + /// + /// The method panics when `worker` represents an invalid worker, i.e. is + /// greater than or equal to `num_workers()`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// + /// let n = metrics.worker_park_count(0); + /// println!("worker 0 parked {} times", n); + /// # } + /// ``` + Future workerParkCount({required BigInt worker}); + + /// Returns the total number of times the given worker thread has parked + /// and unparked. + /// + /// The worker park/unpark count starts at zero when the runtime is created + /// and increases by one each time the worker parks the thread waiting for + /// new inbound events to process. This usually means the worker has processed + /// all pending work and is currently idle. When new work becomes available, + /// the worker is unparked and the park/unpark count is again increased by one. + /// + /// An odd count means that the worker is currently parked. + /// An even count means that the worker is currently active. + /// + /// The counter is monotonically increasing. It is never decremented or + /// reset to zero. + /// + /// # Arguments + /// + /// `worker` is the index of the worker being queried. The given value must + /// be between 0 and `num_workers()`. The index uniquely identifies a single + /// worker and will continue to identify the worker throughout the lifetime + /// of the runtime instance. + /// + /// # Panics + /// + /// The method panics when `worker` represents an invalid worker, i.e. is + /// greater than or equal to `num_workers()`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// let n = metrics.worker_park_unpark_count(0); + /// + /// println!("worker 0 parked and unparked {} times", n); + /// + /// if n % 2 == 0 { + /// println!("worker 0 is active"); + /// } else { + /// println!("worker 0 is parked"); + /// } + /// # } + /// ``` + Future workerParkUnparkCount({required BigInt worker}); + + /// Returns the amount of time the given worker thread has been busy. + /// + /// The worker busy duration starts at zero when the runtime is created and + /// increases whenever the worker is spending time processing work. Using + /// this value can indicate the load of the given worker. If a lot of time + /// is spent busy, then the worker is under load and will check for inbound + /// events less often. + /// + /// The timer is monotonically increasing. It is never decremented or reset + /// to zero. + /// + /// # Arguments + /// + /// `worker` is the index of the worker being queried. The given value must + /// be between 0 and `num_workers()`. The index uniquely identifies a single + /// worker and will continue to identify the worker throughout the lifetime + /// of the runtime instance. + /// + /// # Panics + /// + /// The method panics when `worker` represents an invalid worker, i.e. is + /// greater than or equal to `num_workers()`. + /// + /// # Examples + /// + /// ``` + /// use tokio::runtime::Handle; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let metrics = Handle::current().metrics(); + /// + /// let n = metrics.worker_total_busy_duration(0); + /// println!("worker 0 was busy for a total of {:?}", n); + /// # } + /// ``` + Future workerTotalBusyDuration({required BigInt worker}); +} + +// Rust type: RustOpaqueMoi> +abstract class TryCurrentError implements RustOpaqueInterface { + /// Returns true if the call failed because there is currently no runtime in + /// the Tokio context. + Future isMissingContext(); + + /// Returns true if the call failed because the Tokio context thread-local + /// had been destroyed. This can usually only happen if in the destructor of + /// other thread-locals. + Future isThreadLocalDestroyed(); +} + +/// The flavor of a `Runtime`. +/// +/// This is the return type for [`Handle::runtime_flavor`](crate::runtime::Handle::runtime_flavor()). +enum RuntimeFlavor { + /// The flavor that executes all tasks on the current thread. + currentThread, + + /// The flavor that executes tasks across multiple threads. + multiThread, + ; +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/signal.dart b/mobile_app/lib/src/rust/third_party/tokio/signal.dart new file mode 100644 index 0000000..fb9884b --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/signal.dart @@ -0,0 +1,63 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `RxFuture` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `fmt` + +/// Completes when a "ctrl-c" notification is sent to the process. +/// +/// While signals are handled very differently between Unix and Windows, both +/// platforms support receiving a signal on "ctrl-c". This function provides a +/// portable API for receiving this notification. +/// +/// Once the returned future is polled, a listener is registered. The future +/// will complete on the first received `ctrl-c` **after** the initial call to +/// either `Future::poll` or `.await`. +/// +/// # Caveats +/// +/// On Unix platforms, the first time that a `Signal` instance is registered for a +/// particular signal kind, an OS signal-handler is installed which replaces the +/// default platform behavior when that signal is received, **for the duration of +/// the entire process**. +/// +/// For example, Unix systems will terminate a process by default when it +/// receives a signal generated by `"CTRL+C"` on the terminal. But, when a +/// `ctrl_c` stream is created to listen for this signal, the time it arrives, +/// it will be translated to a stream event, and the process will continue to +/// execute. **Even if this `Signal` instance is dropped, subsequent `SIGINT` +/// deliveries will end up captured by Tokio, and the default platform behavior +/// will NOT be reset**. +/// +/// Thus, applications should take care to ensure the expected signal behavior +/// occurs as expected after listening for specific signals. +/// +/// # Examples +/// +/// ```rust,no_run +/// use tokio::signal; +/// +/// #[tokio::main] +/// async fn main() { +/// println!("waiting for ctrl-c"); +/// +/// signal::ctrl_c().await.expect("failed to listen for event"); +/// +/// println!("received ctrl-c event"); +/// } +/// ``` +/// +/// Listen in the background: +/// +/// ```rust,no_run +/// tokio::spawn(async move { +/// tokio::signal::ctrl_c().await.unwrap(); +/// // Your handler here +/// }); +/// ``` +Future ctrlC() => RustLib.instance.api.tokioSignalCtrlC(); diff --git a/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart b/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart new file mode 100644 index 0000000..b08de60 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart @@ -0,0 +1,231 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + + + // These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `OsExtraData`, `OsStorage`, `SignalInfo` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `clone`, `eq`, `event_info`, `fmt`, `fmt`, `fmt`, `for_each`, `from`, `from`, `hash` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `default`, `default`, `default` + + + /// Creates a new listener which will receive notifications when the current +/// process receives the specified signal `kind`. +/// +/// This function will create a new stream which binds to the default reactor. +/// The `Signal` stream is an infinite stream which will receive +/// notifications whenever a signal is received. More documentation can be +/// found on `Signal` itself, but to reiterate: +/// +/// * Signals may be coalesced beyond what the kernel already does. +/// * Once a signal handler is registered with the process the underlying +/// libc signal handler is never unregistered. +/// +/// A `Signal` stream can be created for a particular signal number +/// multiple times. When a signal is received then all the associated +/// channels will receive the signal notification. +/// +/// # Errors +/// +/// * If the lower-level C functions fail for some reason. +/// * If the previous initialization of this specific signal failed. +/// * If the signal is one of +/// [`signal_hook::FORBIDDEN`](fn@signal_hook_registry::register#panics) +/// +/// # Panics +/// +/// This function panics if there is no current reactor set, or if the `rt` +/// feature flag is not enabled. +Future signal({required SignalKind kind }) => RustLib.instance.api.tokioSignalUnixSignal(kind: kind); + + + // Rust type: RustOpaqueMoi>> + abstract class Context implements RustOpaqueInterface { + + + + } + + + + // Rust type: RustOpaqueMoi >>> + abstract class PollOption implements RustOpaqueInterface { + + + + } + + + + // Rust type: RustOpaqueMoi> + abstract class Signal implements RustOpaqueInterface, InternalStream { + @override + Future pollRecv({required Context cx }); + + +/// Receives the next signal notification event. +/// +/// `None` is returned if no more events can be received by this stream. +/// +/// # Cancel safety +/// +/// This method is cancel safe. If you use it as the event in a +/// [`tokio::select!`](crate::select) statement and some other branch +/// completes first, then it is guaranteed that no signal is lost. +/// +/// # Examples +/// +/// Wait for `SIGHUP` +/// +/// ```rust,no_run +/// use tokio::signal::unix::{signal, SignalKind}; +/// +/// #[tokio::main] +/// async fn main() -> Result<(), Box> { +/// // An infinite stream of hangup signals. +/// let mut stream = signal(SignalKind::hangup())?; +/// +/// // Print whenever a HUP signal is received +/// loop { +/// stream.recv().await; +/// println!("got signal HUP"); +/// } +/// } +/// ``` + Future recv(); + + + + + } + + + + // Rust type: RustOpaqueMoi> + abstract class SignalKind implements RustOpaqueInterface { + /// Represents the `SIGALRM` signal. +/// +/// On Unix systems this signal is sent when a real-time timer has expired. +/// By default, the process is terminated by this signal. +static Future alarm()=>RustLib.instance.api.tokioSignalUnixSignalKindAlarm(); + + +/// Get the signal's numeric value. +/// +/// ```rust +/// # use tokio::signal::unix::SignalKind; +/// let kind = SignalKind::interrupt(); +/// assert_eq!(kind.as_raw_value(), libc::SIGINT); +/// ``` + Future asRawValue(); + + +/// Represents the `SIGCHLD` signal. +/// +/// On Unix systems this signal is sent when the status of a child process +/// has changed. By default, this signal is ignored. +static Future child()=>RustLib.instance.api.tokioSignalUnixSignalKindChild(); + + +/// Allows for listening to any valid OS signal. +/// +/// For example, this can be used for listening for platform-specific +/// signals. +/// ```rust,no_run +/// # use tokio::signal::unix::SignalKind; +/// # let signum = -1; +/// // let signum = libc::OS_SPECIFIC_SIGNAL; +/// let kind = SignalKind::from_raw(signum); +/// ``` +static Future fromRaw({required CInt signum })=>RustLib.instance.api.tokioSignalUnixSignalKindFromRaw(signum: signum); + + +/// Represents the `SIGHUP` signal. +/// +/// On Unix systems this signal is sent when the terminal is disconnected. +/// By default, the process is terminated by this signal. +static Future hangup()=>RustLib.instance.api.tokioSignalUnixSignalKindHangup(); + + +/// Represents the `SIGINFO` signal. +/// +/// On Unix systems this signal is sent to request a status update from the +/// process. By default, this signal is ignored. +static Future info()=>RustLib.instance.api.tokioSignalUnixSignalKindInfo(); + + +/// Represents the `SIGINT` signal. +/// +/// On Unix systems this signal is sent to interrupt a program. +/// By default, the process is terminated by this signal. +static Future interrupt()=>RustLib.instance.api.tokioSignalUnixSignalKindInterrupt(); + + +/// Represents the `SIGIO` signal. +/// +/// On Unix systems this signal is sent when I/O operations are possible +/// on some file descriptor. By default, this signal is ignored. +static Future io()=>RustLib.instance.api.tokioSignalUnixSignalKindIo(); + + +/// Represents the `SIGPIPE` signal. +/// +/// On Unix systems this signal is sent when the process attempts to write +/// to a pipe which has no reader. By default, the process is terminated by +/// this signal. +static Future pipe()=>RustLib.instance.api.tokioSignalUnixSignalKindPipe(); + + +/// Represents the `SIGQUIT` signal. +/// +/// On Unix systems this signal is sent to issue a shutdown of the +/// process, after which the OS will dump the process core. +/// By default, the process is terminated by this signal. +static Future quit()=>RustLib.instance.api.tokioSignalUnixSignalKindQuit(); + + +/// Represents the `SIGTERM` signal. +/// +/// On Unix systems this signal is sent to issue a shutdown of the +/// process. By default, the process is terminated by this signal. +static Future terminate()=>RustLib.instance.api.tokioSignalUnixSignalKindTerminate(); + + +/// Represents the `SIGUSR1` signal. +/// +/// On Unix systems this is a user defined signal. +/// By default, the process is terminated by this signal. +static Future userDefined1()=>RustLib.instance.api.tokioSignalUnixSignalKindUserDefined1(); + + +/// Represents the `SIGUSR2` signal. +/// +/// On Unix systems this is a user defined signal. +/// By default, the process is terminated by this signal. +static Future userDefined2()=>RustLib.instance.api.tokioSignalUnixSignalKindUserDefined2(); + + +/// Represents the `SIGWINCH` signal. +/// +/// On Unix systems this signal is sent when the terminal window is resized. +/// By default, this signal is ignored. +static Future windowChange()=>RustLib.instance.api.tokioSignalUnixSignalKindWindowChange(); + + + + + } + + + + abstract class InternalStream { + Future pollRecv({required Context cx }); + + + } + + \ No newline at end of file diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync.dart b/mobile_app/lib/src/rust/third_party/tokio/sync.dart new file mode 100644 index 0000000..17eec1d --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync.dart @@ -0,0 +1,695 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `MappedMutexGuard`, `MutexGuard`, `Mutex`, `OwnedMappedMutexGuard`, `OwnedMutexGuard`, `OwnedRwLockMappedWriteGuard`, `OwnedRwLockReadGuard`, `OwnedRwLockWriteGuard`, `RwLockMappedWriteGuard`, `RwLockReadGuard`, `RwLockWriteGuard`, `TryLockError` + +// Rust type: RustOpaqueMoi> +abstract class AcquireError implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Barrier implements RustOpaqueInterface { + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a new barrier that can block a given number of tasks. + /// + /// A barrier will block `n`-1 tasks which call [`Barrier::wait`] and then wake up all + /// tasks at once when the `n`th task calls `wait`. + static Future newInstance({required BigInt n}) => + RustLib.instance.api.tokioSyncBarrierNew(n: n); + + /// Does not resolve until all tasks have rendezvoused here. + /// + /// Barriers are re-usable after all tasks have rendezvoused once, and can + /// be used continuously. + /// + /// A single (arbitrary) future will receive a [`BarrierWaitResult`] that returns `true` from + /// [`BarrierWaitResult::is_leader`] when returning from this function, and all other tasks + /// will receive a result that will return `false` from `is_leader`. + /// + /// # Cancel safety + /// + /// This method is not cancel safe. + Future wait(); +} + +// Rust type: RustOpaqueMoi> +abstract class BarrierWaitResult implements RustOpaqueInterface { + /// Returns `true` if this task from wait is the "leader task". + /// + /// Only one task will have `true` returned from their result, all other tasks will have + /// `false` returned. + Future isLeader(); +} + +// Rust type: RustOpaqueMoi> +abstract class Notify implements RustOpaqueInterface { + /// Create a new `Notify`, initialized without a permit. + /// + /// When using the `tracing` [unstable feature], a `Notify` created with + /// `const_new` will not be instrumented. As such, it will not be visible + /// in [`tokio-console`]. Instead, [`Notify::new`] should be used to create + /// an instrumented object if that is needed. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Notify; + /// + /// static NOTIFY: Notify = Notify::const_new(); + /// ``` + /// + /// [`tokio-console`]: https://github.com/tokio-rs/console + /// [unstable feature]: crate#unstable-features + static Future constNew() => + RustLib.instance.api.tokioSyncNotifyConstNew(); + + static Future default_() => + RustLib.instance.api.tokioSyncNotifyDefault(); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Create a new `Notify`, initialized without a permit. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Notify; + /// + /// let notify = Notify::new(); + /// ``` + static Future newInstance() => + RustLib.instance.api.tokioSyncNotifyNew(); + + /// Wait for a notification. + /// + /// Equivalent to: + /// + /// ```ignore + /// async fn notified(&self); + /// ``` + /// + /// Each `Notify` value holds a single permit. If a permit is available from + /// an earlier call to [`notify_one()`], then `notified().await` will complete + /// immediately, consuming that permit. Otherwise, `notified().await` waits + /// for a permit to be made available by the next call to `notify_one()`. + /// + /// The `Notified` future is not guaranteed to receive wakeups from calls to + /// `notify_one()` if it has not yet been polled. See the documentation for + /// [`Notified::enable()`] for more details. + /// + /// The `Notified` future is guaranteed to receive wakeups from + /// `notify_waiters()` as soon as it has been created, even if it has not + /// yet been polled. + /// + /// [`notify_one()`]: Notify::notify_one + /// [`Notified::enable()`]: Notified::enable + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute notifications in the order + /// they were requested. Cancelling a call to `notified` makes you lose your + /// place in the queue. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Notify; + /// use std::sync::Arc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let notify = Arc::new(Notify::new()); + /// let notify2 = notify.clone(); + /// + /// tokio::spawn(async move { + /// notify2.notified().await; + /// println!("received notification"); + /// }); + /// + /// println!("sending notification"); + /// notify.notify_one(); + /// # } + /// ``` + Future notified(); + + /// Wait for a notification with an owned `Future`. + /// + /// Unlike [`Self::notified`] which returns a future tied to the `Notify`'s + /// lifetime, `notified_owned` creates a self-contained future that owns its + /// notification state, making it safe to move between threads. + /// + /// See [`Self::notified`] for more details. + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute notifications in the order + /// they were requested. Cancelling a call to `notified_owned` makes you lose your + /// place in the queue. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::Notify; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let notify = Arc::new(Notify::new()); + /// + /// for _ in 0..10 { + /// let notified = notify.clone().notified_owned(); + /// tokio::spawn(async move { + /// notified.await; + /// println!("received notification"); + /// }); + /// } + /// + /// println!("sending notification"); + /// notify.notify_waiters(); + /// # } + /// ``` + Future notifiedOwned(); + + /// Notifies the last waiting task. + /// + /// This function behaves similar to `notify_one`. The only difference is that it wakes + /// the most recently added waiter instead of the oldest waiter. + /// + /// Check the [`notify_one()`] documentation for more info and + /// examples. + /// + /// [`notify_one()`]: Notify::notify_one + Future notifyLast(); + + /// Notifies the first waiting task. + /// + /// If a task is currently waiting, that task is notified. Otherwise, a + /// permit is stored in this `Notify` value and the **next** call to + /// [`notified().await`] will complete immediately consuming the permit made + /// available by this call to `notify_one()`. + /// + /// At most one permit may be stored by `Notify`. Many sequential calls to + /// `notify_one` will result in a single permit being stored. The next call to + /// `notified().await` will complete immediately, but the one after that + /// will wait. + /// + /// [`notified().await`]: Notify::notified() + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Notify; + /// use std::sync::Arc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let notify = Arc::new(Notify::new()); + /// let notify2 = notify.clone(); + /// + /// tokio::spawn(async move { + /// notify2.notified().await; + /// println!("received notification"); + /// }); + /// + /// println!("sending notification"); + /// notify.notify_one(); + /// # } + /// ``` + Future notifyOne(); + + /// Notifies all waiting tasks. + /// + /// If a task is currently waiting, that task is notified. Unlike with + /// `notify_one()`, no permit is stored to be used by the next call to + /// `notified().await`. The purpose of this method is to notify all + /// already registered waiters. Registering for notification is done by + /// acquiring an instance of the `Notified` future via calling `notified()`. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Notify; + /// use std::sync::Arc; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let notify = Arc::new(Notify::new()); + /// let notify2 = notify.clone(); + /// + /// let notified1 = notify.notified(); + /// let notified2 = notify.notified(); + /// + /// let handle = tokio::spawn(async move { + /// println!("sending notifications"); + /// notify2.notify_waiters(); + /// }); + /// + /// notified1.await; + /// notified2.await; + /// println!("received notifications"); + /// # } + /// ``` + Future notifyWaiters(); +} + +// Rust type: RustOpaqueMoi> +abstract class OwnedSemaphorePermit implements RustOpaqueInterface { + /// Merge two [`OwnedSemaphorePermit`] instances together, consuming `other` + /// without releasing the permits it holds. + /// + /// Permits held by both `self` and `other` are released when `self` drops. + /// + /// # Panics + /// + /// This function panics if permits from different [`Semaphore`] instances + /// are merged. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::Semaphore; + /// + /// let sem = Arc::new(Semaphore::new(10)); + /// let mut permit = sem.clone().try_acquire_owned().unwrap(); + /// + /// for _ in 0..9 { + /// let _permit = sem.clone().try_acquire_owned().unwrap(); + /// // Merge individual permits into a single one. + /// permit.merge(_permit) + /// } + /// + /// assert_eq!(sem.available_permits(), 0); + /// + /// // Release all permits in a single batch. + /// drop(permit); + /// + /// assert_eq!(sem.available_permits(), 10); + /// ``` + Future merge({required OwnedSemaphorePermit other}); + + /// Returns the number of permits held by `self`. + Future numPermits(); + + /// Returns the [`Semaphore`] from which this permit was acquired. + Future semaphore(); + + /// Splits `n` permits from `self` and returns a new [`OwnedSemaphorePermit`] instance that holds `n` permits. + /// + /// If there are insufficient permits and it's not possible to reduce by `n`, returns `None`. + /// + /// # Note + /// + /// It will clone the owned `Arc` to construct the new instance. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::Semaphore; + /// + /// let sem = Arc::new(Semaphore::new(3)); + /// + /// let mut p1 = sem.try_acquire_many_owned(3).unwrap(); + /// let p2 = p1.split(1).unwrap(); + /// + /// assert_eq!(p1.num_permits(), 2); + /// assert_eq!(p2.num_permits(), 1); + /// ``` + Future split({required BigInt n}); +} + +// Rust type: RustOpaqueMoi> +abstract class Semaphore implements RustOpaqueInterface { + /// Acquires a permit from the semaphore. + /// + /// If the semaphore has been closed, this returns an [`AcquireError`]. + /// Otherwise, this returns a [`SemaphorePermit`] representing the + /// acquired permit. + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute permits in the order they + /// were requested. Cancelling a call to `acquire` makes you lose your place + /// in the queue. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Semaphore; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let semaphore = Semaphore::new(2); + /// + /// let permit_1 = semaphore.acquire().await.unwrap(); + /// assert_eq!(semaphore.available_permits(), 1); + /// + /// let permit_2 = semaphore.acquire().await.unwrap(); + /// assert_eq!(semaphore.available_permits(), 0); + /// + /// drop(permit_1); + /// assert_eq!(semaphore.available_permits(), 1); + /// # } + /// ``` + /// + /// [`AcquireError`]: crate::sync::AcquireError + /// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future acquire(); + + /// Acquires `n` permits from the semaphore. + /// + /// If the semaphore has been closed, this returns an [`AcquireError`]. + /// Otherwise, this returns a [`SemaphorePermit`] representing the + /// acquired permits. + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute permits in the order they + /// were requested. Cancelling a call to `acquire_many` makes you lose your + /// place in the queue. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Semaphore; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let semaphore = Semaphore::new(5); + /// + /// let permit = semaphore.acquire_many(3).await.unwrap(); + /// assert_eq!(semaphore.available_permits(), 2); + /// # } + /// ``` + /// + /// [`AcquireError`]: crate::sync::AcquireError + /// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future acquireMany({required int n}); + + /// Acquires `n` permits from the semaphore. + /// + /// The semaphore must be wrapped in an [`Arc`] to call this method. + /// If the semaphore has been closed, this returns an [`AcquireError`]. + /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the + /// acquired permit. + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute permits in the order they + /// were requested. Cancelling a call to `acquire_many_owned` makes you lose + /// your place in the queue. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::Semaphore; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let semaphore = Arc::new(Semaphore::new(10)); + /// let mut join_handles = Vec::new(); + /// + /// for _ in 0..5 { + /// let permit = semaphore.clone().acquire_many_owned(2).await.unwrap(); + /// join_handles.push(tokio::spawn(async move { + /// // perform task... + /// // explicitly own `permit` in the task + /// drop(permit); + /// })); + /// } + /// + /// for handle in join_handles { + /// handle.await.unwrap(); + /// } + /// # } + /// ``` + /// + /// [`Arc`]: std::sync::Arc + /// [`AcquireError`]: crate::sync::AcquireError + /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future acquireManyOwned({required int n}); + + /// Acquires a permit from the semaphore. + /// + /// The semaphore must be wrapped in an [`Arc`] to call this method. + /// If the semaphore has been closed, this returns an [`AcquireError`]. + /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the + /// acquired permit. + /// + /// # Cancel safety + /// + /// This method uses a queue to fairly distribute permits in the order they + /// were requested. Cancelling a call to `acquire_owned` makes you lose your + /// place in the queue. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::Semaphore; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let semaphore = Arc::new(Semaphore::new(3)); + /// let mut join_handles = Vec::new(); + /// + /// for _ in 0..5 { + /// let permit = semaphore.clone().acquire_owned().await.unwrap(); + /// join_handles.push(tokio::spawn(async move { + /// // perform task... + /// // explicitly own `permit` in the task + /// drop(permit); + /// })); + /// } + /// + /// for handle in join_handles { + /// handle.await.unwrap(); + /// } + /// # } + /// ``` + /// + /// [`Arc`]: std::sync::Arc + /// [`AcquireError`]: crate::sync::AcquireError + /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future acquireOwned(); + + /// Adds `n` new permits to the semaphore. + /// + /// The maximum number of permits is [`Semaphore::MAX_PERMITS`], and this function will panic if the limit is exceeded. + Future addPermits({required BigInt n}); + + /// Returns the current number of available permits. + Future availablePermits(); + + /// Closes the semaphore. + /// + /// This prevents the semaphore from issuing new permits and notifies all pending waiters. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Semaphore; + /// use std::sync::Arc; + /// use tokio::sync::TryAcquireError; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let semaphore = Arc::new(Semaphore::new(1)); + /// let semaphore2 = semaphore.clone(); + /// + /// tokio::spawn(async move { + /// let permit = semaphore.acquire_many(2).await; + /// assert!(permit.is_err()); + /// println!("waiter received error"); + /// }); + /// + /// println!("closing semaphore"); + /// semaphore2.close(); + /// + /// // Cannot obtain more permits + /// assert_eq!(semaphore2.try_acquire().err(), Some(TryAcquireError::Closed)) + /// # } + /// ``` + Future close(); + + /// Creates a new semaphore with the initial number of permits. + /// + /// When using the `tracing` [unstable feature], a `Semaphore` created with + /// `const_new` will not be instrumented. As such, it will not be visible + /// in [`tokio-console`]. Instead, [`Semaphore::new`] should be used to + /// create an instrumented object if that is needed. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::Semaphore; + /// + /// static SEM: Semaphore = Semaphore::const_new(10); + /// ``` + /// + /// [`tokio-console`]: https://github.com/tokio-rs/console + /// [unstable feature]: crate#unstable-features + static Future constNew({required BigInt permits}) => + RustLib.instance.api.tokioSyncSemaphoreConstNew(permits: permits); + + /// Decrease a semaphore's permits by a maximum of `n`. + /// + /// If there are insufficient permits and it's not possible to reduce by `n`, + /// return the number of permits that were actually reduced. + Future forgetPermits({required BigInt n}); + + /// Returns true if the semaphore is closed + Future isClosed(); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Creates a new semaphore with the initial number of permits. + /// + /// Panics if `permits` exceeds [`Semaphore::MAX_PERMITS`]. + static Future newInstance({required BigInt permits}) => + RustLib.instance.api.tokioSyncSemaphoreNew(permits: permits); + + /// Tries to acquire a permit from the semaphore. + /// + /// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`] + /// and a [`TryAcquireError::NoPermits`] if there are no permits left. Otherwise, + /// this returns a [`SemaphorePermit`] representing the acquired permits. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::{Semaphore, TryAcquireError}; + /// + /// # fn main() { + /// let semaphore = Semaphore::new(2); + /// + /// let permit_1 = semaphore.try_acquire().unwrap(); + /// assert_eq!(semaphore.available_permits(), 1); + /// + /// let permit_2 = semaphore.try_acquire().unwrap(); + /// assert_eq!(semaphore.available_permits(), 0); + /// + /// let permit_3 = semaphore.try_acquire(); + /// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits)); + /// # } + /// ``` + /// + /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed + /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits + /// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future tryAcquire(); + + /// Tries to acquire `n` permits from the semaphore. + /// + /// If the semaphore has been closed, this returns a [`TryAcquireError::Closed`] + /// and a [`TryAcquireError::NoPermits`] if there are not enough permits left. + /// Otherwise, this returns a [`SemaphorePermit`] representing the acquired permits. + /// + /// # Examples + /// + /// ``` + /// use tokio::sync::{Semaphore, TryAcquireError}; + /// + /// # fn main() { + /// let semaphore = Semaphore::new(4); + /// + /// let permit_1 = semaphore.try_acquire_many(3).unwrap(); + /// assert_eq!(semaphore.available_permits(), 1); + /// + /// let permit_2 = semaphore.try_acquire_many(2); + /// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits)); + /// # } + /// ``` + /// + /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed + /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits + /// [`SemaphorePermit`]: crate::sync::SemaphorePermit + Future tryAcquireMany({required int n}); + + /// Tries to acquire `n` permits from the semaphore. + /// + /// The semaphore must be wrapped in an [`Arc`] to call this method. If + /// the semaphore has been closed, this returns a [`TryAcquireError::Closed`] + /// and a [`TryAcquireError::NoPermits`] if there are no permits left. + /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the + /// acquired permit. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::{Semaphore, TryAcquireError}; + /// + /// # fn main() { + /// let semaphore = Arc::new(Semaphore::new(4)); + /// + /// let permit_1 = Arc::clone(&semaphore).try_acquire_many_owned(3).unwrap(); + /// assert_eq!(semaphore.available_permits(), 1); + /// + /// let permit_2 = semaphore.try_acquire_many_owned(2); + /// assert_eq!(permit_2.err(), Some(TryAcquireError::NoPermits)); + /// # } + /// ``` + /// + /// [`Arc`]: std::sync::Arc + /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed + /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits + /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future tryAcquireManyOwned({required int n}); + + /// Tries to acquire a permit from the semaphore. + /// + /// The semaphore must be wrapped in an [`Arc`] to call this method. If + /// the semaphore has been closed, this returns a [`TryAcquireError::Closed`] + /// and a [`TryAcquireError::NoPermits`] if there are no permits left. + /// Otherwise, this returns a [`OwnedSemaphorePermit`] representing the + /// acquired permit. + /// + /// # Examples + /// + /// ``` + /// use std::sync::Arc; + /// use tokio::sync::{Semaphore, TryAcquireError}; + /// + /// # fn main() { + /// let semaphore = Arc::new(Semaphore::new(2)); + /// + /// let permit_1 = Arc::clone(&semaphore).try_acquire_owned().unwrap(); + /// assert_eq!(semaphore.available_permits(), 1); + /// + /// let permit_2 = Arc::clone(&semaphore).try_acquire_owned().unwrap(); + /// assert_eq!(semaphore.available_permits(), 0); + /// + /// let permit_3 = semaphore.try_acquire_owned(); + /// assert_eq!(permit_3.err(), Some(TryAcquireError::NoPermits)); + /// # } + /// ``` + /// + /// [`Arc`]: std::sync::Arc + /// [`TryAcquireError::Closed`]: crate::sync::TryAcquireError::Closed + /// [`TryAcquireError::NoPermits`]: crate::sync::TryAcquireError::NoPermits + /// [`OwnedSemaphorePermit`]: crate::sync::OwnedSemaphorePermit + Future tryAcquireOwned(); +} + +// Rust type: RustOpaqueMoi>> +abstract class SemaphorePermit implements RustOpaqueInterface {} + +/// Error returned from the [`Semaphore::try_acquire`] function. +/// +/// [`Semaphore::try_acquire`]: crate::sync::Semaphore::try_acquire +enum TryAcquireError { + /// The semaphore has been [closed] and cannot issue new permits. + /// + /// [closed]: crate::sync::Semaphore::close + closed, + + /// The semaphore has no available permits. + noPermits, + ; +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart new file mode 100644 index 0000000..0130be4 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast.dart @@ -0,0 +1,15 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `channel` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `RecvGuard`, `Recv`, `Shared`, `Slot`, `Tail`, `WaiterCell`, `Waiter`, `WaitersList` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `as_raw`, `clone`, `clone`, `drop`, `drop`, `drop`, `drop`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `from_raw`, `pointers`, `poll` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `strong_count`, `upgrade`, `weak_count` + +// Rust type: RustOpaqueMoi>> +abstract class WeakSenderT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart new file mode 100644 index 0000000..41c7d22 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/broadcast/error.dart @@ -0,0 +1,18 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt` + +// Rust type: RustOpaqueMoi>> +abstract class SendError implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class SendErrorT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class TryRecvError implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart new file mode 100644 index 0000000..8fb2ae8 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/bounded.dart @@ -0,0 +1,19 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `clone`, `drop`, `drop`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `next`, `size_hint` +// These functions are ignored (category: IgnoreBecauseNotAllowedOwner): `release`, `same_channel_as_sender`, `same_channel`, `send`, `send` + +// Rust type: RustOpaqueMoi >>> +abstract class PollOptionT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class PollUsize implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class VecT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart new file mode 100644 index 0000000..a3659f2 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/mpsc/error.dart @@ -0,0 +1,25 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `eq`, `eq`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `into_inner`, `into_inner` + +// Rust type: RustOpaqueMoi> +abstract class RecvError implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class SendTimeoutErrorT implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class TrySendError implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class TrySendErrorSelf implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi>> +abstract class TrySendErrorT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart new file mode 100644 index 0000000..8b8640c --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/oneshot.dart @@ -0,0 +1,14 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `channel` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Inner`, `State`, `Task` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `drop`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `fmt`, `poll` + +// Rust type: RustOpaqueMoi>> +abstract class Poll implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart b/mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart new file mode 100644 index 0000000..9fcb3e6 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/sync/watch.dart @@ -0,0 +1,15 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `channel`, `send_if_modified`, `send_modify` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `clone`, `deref`, `drop`, `drop`, `fmt`, `fmt`, `fmt`, `fmt` +// These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `has_changed` +// These functions have error during generation (see debug logs or enable `stop_on_error: true` for more details): `wait_for` + +// Rust type: RustOpaqueMoi>> +abstract class RefT implements RustOpaqueInterface {} diff --git a/mobile_app/lib/src/rust/third_party/tokio/task.dart b/mobile_app/lib/src/rust/third_party/tokio/task.dart new file mode 100644 index 0000000..409a418 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/task.dart @@ -0,0 +1,83 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'runtime.dart'; + +// These functions are ignored because they have generic arguments: `block_in_place`, `spawn_blocking`, `spawn_local`, `spawn` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `JoinSet`, `LocalKey` + +/// Yields execution back to the Tokio runtime. +/// +/// A task yields by awaiting on `yield_now()`, and may resume when that future +/// completes (with no output.) The current task will be re-added as a pending +/// task at the _back_ of the pending queue. Any other pending tasks will be +/// scheduled. No other waking is required for the task to continue. +/// +/// See also the usage example in the [task module](index.html#yield_now). +/// +/// ## Non-guarantees +/// +/// This function may not yield all the way up to the executor if there are any +/// special combinators above it in the call stack. For example, if a +/// [`tokio::select!`] has another branch complete during the same poll as the +/// `yield_now()`, then the yield is not propagated all the way up to the +/// runtime. +/// +/// It is generally not guaranteed that the runtime behaves like you expect it +/// to when deciding which task to schedule next after a call to `yield_now()`. +/// In particular, the runtime may choose to poll the task that just ran +/// `yield_now()` again immediately without polling any other tasks first. For +/// example, the runtime will not drive the IO driver between every poll of a +/// task, and this could result in the runtime polling the current task again +/// immediately even if there is another task that could make progress if that +/// other task is waiting for a notification from the IO driver. +/// +/// In general, changes to the order in which the runtime polls tasks is not +/// considered a breaking change, and your program should be correct no matter +/// which order the runtime polls your tasks in. +/// +/// [`tokio::select!`]: macro@crate::select +Future yieldNow() => RustLib.instance.api.tokioTaskYieldNow(); + +// Rust type: RustOpaqueMoi> +abstract class LocalEnterGuard implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class LocalSet implements RustOpaqueInterface { + static Future default_() => + RustLib.instance.api.tokioTaskLocalSetDefault(); + + /// Enters the context of this `LocalSet`. + /// + /// The [`spawn_local`] method will spawn tasks on the `LocalSet` whose + /// context you are inside. + /// + /// [`spawn_local`]: fn@crate::task::spawn_local + Future enter(); + + /// Returns the [`Id`] of the current [`LocalSet`] runtime. + /// + /// # Examples + /// + /// ```rust + /// use tokio::task; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let local_set = task::LocalSet::new(); + /// println!("Local set id: {}", local_set.id()); + /// # } + /// ``` + /// + /// [`Id`]: struct@crate::runtime::Id + Future id(); + + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + /// Returns a new local task set. + static Future newInstance() => + RustLib.instance.api.tokioTaskLocalSetNew(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/task/coop.dart b/mobile_app/lib/src/rust/third_party/tokio/task/coop.dart new file mode 100644 index 0000000..8725f16 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/task/coop.dart @@ -0,0 +1,157 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import '../signal/unix.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These functions are ignored because they have generic arguments: `cooperative`, `unconstrained` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `BudgetDecrement`, `Budget`, `Coop`, `Unconstrained` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `clone`, `drop`, `fmt`, `fmt`, `poll` + +/// Consumes a unit of budget and returns the execution back to the Tokio +/// runtime *if* the task's coop budget was exhausted. +/// +/// The task will only yield if its entire coop budget has been exhausted. +/// This function can be used in order to insert optional yield points into long +/// computations that do not use Tokio resources like sockets or semaphores, +/// without redundantly yielding to the runtime each time. +/// +/// # Examples +/// +/// Make sure that a function which returns a sum of (potentially lots of) +/// iterated values is cooperative. +/// +/// ``` +/// async fn sum_iterator(input: &mut impl std::iter::Iterator) -> i64 { +/// let mut sum: i64 = 0; +/// while let Some(i) = input.next() { +/// sum += i; +/// tokio::task::consume_budget().await +/// } +/// sum +/// } +/// ``` +Future consumeBudget() => + RustLib.instance.api.tokioTaskCoopConsumeBudget(); + +/// Returns `true` if there is still budget left on the task. +/// +/// # Examples +/// +/// This example defines a `Timeout` future that requires a given `future` to complete before the +/// specified duration elapses. If it does, its result is returned; otherwise, an error is returned +/// and the future is canceled. +/// +/// Note that the future could exhaust the budget before we evaluate the timeout. Using `has_budget_remaining`, +/// we can detect this scenario and ensure the timeout is always checked. +/// +/// ``` +/// # use std::future::Future; +/// # use std::pin::{pin, Pin}; +/// # use std::task::{ready, Context, Poll}; +/// # use tokio::task::coop; +/// # use tokio::time::Sleep; +/// pub struct Timeout { +/// future: T, +/// delay: Pin>, +/// } +/// +/// impl Future for Timeout +/// where +/// T: Future + Unpin, +/// { +/// type Output = Result; +/// +/// fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { +/// let this = Pin::into_inner(self); +/// let future = Pin::new(&mut this.future); +/// let delay = Pin::new(&mut this.delay); +/// +/// // check if the future is ready +/// let had_budget_before = coop::has_budget_remaining(); +/// if let Poll::Ready(v) = future.poll(cx) { +/// return Poll::Ready(Ok(v)); +/// } +/// let has_budget_now = coop::has_budget_remaining(); +/// +/// // evaluate the timeout +/// if let (true, false) = (had_budget_before, has_budget_now) { +/// // it is the underlying future that exhausted the budget +/// ready!(pin!(coop::unconstrained(delay)).poll(cx)); +/// } else { +/// ready!(delay.poll(cx)); +/// } +/// return Poll::Ready(Err(())); +/// } +/// } +///``` +Future hasBudgetRemaining() => + RustLib.instance.api.tokioTaskCoopHasBudgetRemaining(); + +/// Decrements the task budget and returns [`Poll::Pending`] if the budget is depleted. +/// This indicates that the task should yield to the scheduler. Otherwise, returns +/// [`RestoreOnPending`] which can be used to commit the budget consumption. +/// +/// The returned [`RestoreOnPending`] will revert the budget to its former +/// value when dropped unless [`RestoreOnPending::made_progress`] +/// is called. It is the caller's responsibility to do so when it _was_ able to +/// make progress after the call to [`poll_proceed`]. +/// Restoring the budget automatically ensures the task can try to make progress in some other +/// way. +/// +/// Note that [`RestoreOnPending`] restores the budget **as it was before [`poll_proceed`]**. +/// Therefore, if the budget is _further_ adjusted between when [`poll_proceed`] returns and +/// [`RestoreOnPending`] is dropped, those adjustments are erased unless the caller indicates +/// that progress was made. +/// +/// # Examples +/// +/// This example wraps the `futures::channel::mpsc::UnboundedReceiver` to +/// cooperate with the Tokio scheduler. Each time a value is received, task budget +/// is consumed. If no budget is available, the task yields to the scheduler. +/// +/// ``` +/// use std::pin::Pin; +/// use std::task::{ready, Context, Poll}; +/// use tokio::task::coop; +/// use futures::stream::{Stream, StreamExt}; +/// use futures::channel::mpsc::UnboundedReceiver; +/// +/// struct CoopUnboundedReceiver { +/// receiver: UnboundedReceiver, +/// } +/// +/// impl Stream for CoopUnboundedReceiver { +/// type Item = T; +/// fn poll_next( +/// mut self: Pin<&mut Self>, +/// cx: &mut Context<'_> +/// ) -> Poll> { +/// let coop = ready!(coop::poll_proceed(cx)); +/// match self.receiver.poll_next_unpin(cx) { +/// Poll::Ready(v) => { +/// // We received a value, so consume budget. +/// coop.made_progress(); +/// Poll::Ready(v) +/// } +/// Poll::Pending => Poll::Pending, +/// } +/// } +/// } +/// ``` +Future pollProceed({required Context cx}) => + RustLib.instance.api.tokioTaskCoopPollProceed(cx: cx); + +// Rust type: RustOpaqueMoi>> +abstract class PollRestoreOnPending implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class RestoreOnPending implements RustOpaqueInterface { + /// Signals that the task that obtained this `RestoreOnPending` was able to make + /// progress. This prevents the task budget from being restored to the value + /// it had prior to obtaining this instance when it is dropped. + Future madeProgress(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/time.dart b/mobile_app/lib/src/rust/third_party/tokio/time.dart new file mode 100644 index 0000000..1e2af9b --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/time.dart @@ -0,0 +1,734 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../frb_generated.dart'; +import '../../lib.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'signal/unix.dart'; +import 'time/interval.dart'; + +// These functions are ignored because they have generic arguments: `timeout_at`, `timeout` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Timeout` + +/// Pauses time. +/// +/// The current value of `Instant::now()` is saved and all subsequent calls +/// to `Instant::now()` will return the saved value. The saved value can be +/// changed by [`advance`] or by the time auto-advancing once the runtime +/// has no work to do. This only affects the `Instant` type in Tokio, and +/// the `Instant` in std continues to work as normal. +/// +/// Pausing time requires the `current_thread` Tokio runtime. This is the +/// default runtime used by `#[tokio::test]`. The runtime can be initialized +/// with time in a paused state using the `Builder::start_paused` method. +/// +/// For cases where time is immediately paused, it is better to pause +/// the time using the `main` or `test` macro: +/// ``` +/// #[tokio::main(flavor = "current_thread", start_paused = true)] +/// async fn main() { +/// println!("Hello world"); +/// } +/// ``` +/// +/// # Panics +/// +/// Panics if time is already frozen or if called from outside of a +/// `current_thread` Tokio runtime. +/// +/// # Auto-advance +/// +/// If time is paused and the runtime has no work to do, the clock is +/// auto-advanced to the next pending timer. This means that [`Sleep`] or +/// other timer-backed primitives can cause the runtime to advance the +/// current time when awaited. +/// +/// [`Sleep`]: crate::time::Sleep +/// [`advance`]: crate::time::advance +Future pause() => RustLib.instance.api.tokioTimePause(); + +/// Resumes time. +/// +/// Clears the saved `Instant::now()` value. Subsequent calls to +/// `Instant::now()` will return the value returned by the system call. +/// +/// # Panics +/// +/// Panics if time is not frozen or if called from outside of the Tokio +/// runtime. +Future resume() => RustLib.instance.api.tokioTimeResume(); + +/// Advances time. +/// +/// Increments the saved `Instant::now()` value by `duration`. Subsequent +/// calls to `Instant::now()` will return the result of the increment. +/// +/// This function will make the current time jump forward by the given +/// duration in one jump. This means that all `sleep` calls with a deadline +/// before the new time will immediately complete "at the same time", and +/// the runtime is free to poll them in any order. Additionally, this +/// method will not wait for the `sleep` calls it advanced past to complete. +/// If you want to do that, you should instead call [`sleep`] and rely on +/// the runtime's auto-advance feature. +/// +/// Note that calls to `sleep` are not guaranteed to complete the first time +/// they are polled after a call to `advance`. For example, this can happen +/// if the runtime has not yet touched the timer driver after the call to +/// `advance`. However if they don't, the runtime will poll the task again +/// shortly. +/// +/// # Panics +/// +/// Panics if any of the following conditions are met: +/// +/// - The clock is not frozen, which means that you must +/// call [`pause`] before calling this method. +/// - If called outside of the Tokio runtime. +/// - If the input `duration` is too large (such as [`Duration::MAX`]) +/// to be safely added to the current time without causing an overflow. +/// +/// # Caveats +/// +/// Using a very large `duration` is not recommended, +/// as it may cause panicking due to overflow. +/// +/// # Auto-advance +/// +/// If the time is paused and there is no work to do, the runtime advances +/// time to the next timer. See [`pause`](pause#auto-advance) for more +/// details. +/// +/// [`sleep`]: fn@crate::time::sleep +Future advance({required Duration duration}) => + RustLib.instance.api.tokioTimeAdvance(duration: duration); + +/// Creates new [`Interval`] that yields with interval of `period`. The first +/// tick completes immediately. The default [`MissedTickBehavior`] is +/// [`Burst`](MissedTickBehavior::Burst), but this can be configured +/// by calling [`set_missed_tick_behavior`](Interval::set_missed_tick_behavior). +/// +/// An interval will tick indefinitely. At any time, the [`Interval`] value can +/// be dropped. This cancels the interval. +/// +/// This function is equivalent to +/// [`interval_at(Instant::now(), period)`](interval_at). +/// +/// # Panics +/// +/// This function panics if `period` is zero. +/// +/// # Examples +/// +/// ``` +/// use tokio::time::{self, Duration}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut interval = time::interval(Duration::from_millis(10)); +/// +/// interval.tick().await; // ticks immediately +/// interval.tick().await; // ticks after 10ms +/// interval.tick().await; // ticks after 10ms +/// +/// // approximately 20ms have elapsed. +/// # } +/// ``` +/// +/// A simple example using `interval` to execute a task every two seconds. +/// +/// The difference between `interval` and [`sleep`] is that an [`Interval`] +/// measures the time since the last tick, which means that [`.tick().await`] +/// may wait for a shorter time than the duration specified for the interval +/// if some time has passed between calls to [`.tick().await`]. +/// +/// If the tick in the example below was replaced with [`sleep`], the task +/// would only be executed once every three seconds, and not every two +/// seconds. +/// +/// ``` +/// use tokio::time; +/// +/// async fn task_that_takes_a_second() { +/// println!("hello"); +/// time::sleep(time::Duration::from_secs(1)).await +/// } +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let mut interval = time::interval(time::Duration::from_secs(2)); +/// for _i in 0..5 { +/// interval.tick().await; +/// task_that_takes_a_second().await; +/// } +/// # } +/// ``` +/// +/// [`sleep`]: crate::time::sleep() +/// [`.tick().await`]: Interval::tick +Future interval({required Duration period}) => + RustLib.instance.api.tokioTimeInterval(period: period); + +/// Creates new [`Interval`] that yields with interval of `period` with the +/// first tick completing at `start`. The default [`MissedTickBehavior`] is +/// [`Burst`](MissedTickBehavior::Burst), but this can be configured +/// by calling [`set_missed_tick_behavior`](Interval::set_missed_tick_behavior). +/// +/// An interval will tick indefinitely. At any time, the [`Interval`] value can +/// be dropped. This cancels the interval. +/// +/// # Panics +/// +/// This function panics if `period` is zero. +/// +/// # Examples +/// +/// ``` +/// use tokio::time::{interval_at, Duration, Instant}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// let start = Instant::now() + Duration::from_millis(50); +/// let mut interval = interval_at(start, Duration::from_millis(10)); +/// +/// interval.tick().await; // ticks after 50ms +/// interval.tick().await; // ticks after 10ms +/// interval.tick().await; // ticks after 10ms +/// +/// // approximately 70ms have elapsed. +/// # } +/// ``` +Future intervalAt( + {required Instant start, required Duration period}) => + RustLib.instance.api.tokioTimeIntervalAt(start: start, period: period); + +/// Waits until `deadline` is reached. +/// +/// No work is performed while awaiting on the sleep future to complete. `Sleep` +/// operates at millisecond granularity and should not be used for tasks that +/// require high-resolution timers. +/// +/// To run something regularly on a schedule, see [`interval`]. +/// +/// # Cancellation +/// +/// Canceling a sleep instance is done by dropping the returned future. No additional +/// cleanup work is required. +/// +/// # Examples +/// +/// Wait 100ms and print "100 ms have elapsed". +/// +/// ``` +/// use tokio::time::{sleep_until, Instant, Duration}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// sleep_until(Instant::now() + Duration::from_millis(100)).await; +/// println!("100 ms have elapsed"); +/// # } +/// ``` +/// +/// See the documentation for the [`Sleep`] type for more examples. +/// +/// # Panics +/// +/// This function panics if there is no current timer set. +/// +/// It can be triggered when [`Builder::enable_time`] or +/// [`Builder::enable_all`] are not included in the builder. +/// +/// It can also panic whenever a timer is created outside of a +/// Tokio runtime. That is why `rt.block_on(sleep(...))` will panic, +/// since the function is executed outside of the runtime. +/// Whereas `rt.block_on(async {sleep(...).await})` doesn't panic. +/// And this is because wrapping the function on an async makes it lazy, +/// and so gets executed inside the runtime successfully without +/// panicking. +/// +/// [`Sleep`]: struct@crate::time::Sleep +/// [`interval`]: crate::time::interval() +/// [`Builder::enable_time`]: crate::runtime::Builder::enable_time +/// [`Builder::enable_all`]: crate::runtime::Builder::enable_all +Future sleepUntil({required Instant deadline}) => + RustLib.instance.api.tokioTimeSleepUntil(deadline: deadline); + +/// Waits until `duration` has elapsed. +/// +/// Equivalent to `sleep_until(Instant::now() + duration)`. An asynchronous +/// analog to `std::thread::sleep`. +/// +/// No work is performed while awaiting on the sleep future to complete. `Sleep` +/// operates at millisecond granularity and should not be used for tasks that +/// require high-resolution timers. The implementation is platform specific, +/// and some platforms (specifically Windows) will provide timers with a +/// larger resolution than 1 ms. +/// +/// To run something regularly on a schedule, see [`interval`]. +/// +/// # Cancellation +/// +/// Canceling a sleep instance is done by dropping the returned future. No additional +/// cleanup work is required. +/// +/// # Examples +/// +/// Wait 100ms and print "100 ms have elapsed". +/// +/// ``` +/// use tokio::time::{sleep, Duration}; +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// sleep(Duration::from_millis(100)).await; +/// println!("100 ms have elapsed"); +/// # } +/// ``` +/// +/// See the documentation for the [`Sleep`] type for more examples. +/// +/// # Panics +/// +/// This function panics if there is no current timer set. +/// +/// It can be triggered when [`Builder::enable_time`] or +/// [`Builder::enable_all`] are not included in the builder. +/// +/// It can also panic whenever a timer is created outside of a +/// Tokio runtime. That is why `rt.block_on(sleep(...))` will panic, +/// since the function is executed outside of the runtime. +/// Whereas `rt.block_on(async {sleep(...).await})` doesn't panic. +/// And this is because wrapping the function on an async makes it lazy, +/// and so gets executed inside the runtime successfully without +/// panicking. +/// +/// [`Sleep`]: struct@crate::time::Sleep +/// [`interval`]: crate::time::interval() +/// [`Builder::enable_time`]: crate::runtime::Builder::enable_time +/// [`Builder::enable_all`]: crate::runtime::Builder::enable_all +Future sleep({required Duration duration}) => + RustLib.instance.api.tokioTimeSleep(duration: duration); + +// Rust type: RustOpaqueMoi> +abstract class Interval implements RustOpaqueInterface { + /// Returns the [`MissedTickBehavior`] strategy currently being used. + Future missedTickBehavior(); + + /// Returns the period of the interval. + Future period(); + + /// Polls for the next instant in the interval to be reached. + /// + /// This method can return the following values: + /// + /// * `Poll::Pending` if the next instant has not yet been reached. + /// * `Poll::Ready(instant)` if the next instant has been reached. + /// + /// When this method returns `Poll::Pending`, the current task is scheduled + /// to receive a wakeup when the instant has elapsed. Note that on multiple + /// calls to `poll_tick`, only the [`Waker`](std::task::Waker) from the + /// [`Context`] passed to the most recent call is scheduled to receive a + /// wakeup. + Future pollTick({required Context cx}); + + /// Resets the interval to complete one period after the current time. + /// + /// This method ignores [`MissedTickBehavior`] strategy. + /// + /// This is equivalent to calling `reset_at(Instant::now() + period)`. + /// + /// # Examples + /// + /// ``` + /// use tokio::time; + /// + /// use std::time::Duration; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = time::interval(Duration::from_millis(100)); + /// + /// interval.tick().await; + /// + /// time::sleep(Duration::from_millis(50)).await; + /// interval.reset(); + /// + /// interval.tick().await; + /// interval.tick().await; + /// + /// // approximately 250ms have elapsed. + /// # } + /// ``` + Future reset(); + + /// Resets the interval after the specified [`std::time::Duration`]. + /// + /// This method ignores [`MissedTickBehavior`] strategy. + /// + /// This is equivalent to calling `reset_at(Instant::now() + after)`. + /// + /// # Examples + /// + /// ``` + /// use tokio::time; + /// + /// use std::time::Duration; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = time::interval(Duration::from_millis(100)); + /// interval.tick().await; + /// + /// time::sleep(Duration::from_millis(50)).await; + /// + /// let after = Duration::from_millis(20); + /// interval.reset_after(after); + /// + /// interval.tick().await; + /// interval.tick().await; + /// + /// // approximately 170ms have elapsed. + /// # } + /// ``` + Future resetAfter({required Duration after}); + + /// Resets the interval to a [`crate::time::Instant`] deadline. + /// + /// Sets the next tick to expire at the given instant. If the instant is in + /// the past, then the [`MissedTickBehavior`] strategy will be used to + /// catch up. If the instant is in the future, then the next tick will + /// complete at the given instant, even if that means that it will sleep for + /// longer than the duration of this [`Interval`]. If the [`Interval`] had + /// any missed ticks before calling this method, then those are discarded. + /// + /// # Examples + /// + /// ``` + /// use tokio::time::{self, Instant}; + /// + /// use std::time::Duration; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = time::interval(Duration::from_millis(100)); + /// interval.tick().await; + /// + /// time::sleep(Duration::from_millis(50)).await; + /// + /// let deadline = Instant::now() + Duration::from_millis(30); + /// interval.reset_at(deadline); + /// + /// interval.tick().await; + /// interval.tick().await; + /// + /// // approximately 180ms have elapsed. + /// # } + /// ``` + Future resetAt({required Instant deadline}); + + /// Resets the interval immediately. + /// + /// This method ignores [`MissedTickBehavior`] strategy. + /// + /// This is equivalent to calling `reset_at(Instant::now())`. + /// + /// # Examples + /// + /// ``` + /// use tokio::time; + /// + /// use std::time::Duration; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = time::interval(Duration::from_millis(100)); + /// + /// interval.tick().await; + /// + /// time::sleep(Duration::from_millis(50)).await; + /// interval.reset_immediately(); + /// + /// interval.tick().await; + /// interval.tick().await; + /// + /// // approximately 150ms have elapsed. + /// # } + /// ``` + Future resetImmediately(); + + /// Sets the [`MissedTickBehavior`] strategy that should be used. + Future setMissedTickBehavior({required MissedTickBehavior behavior}); + + /// Completes when the next instant in the interval has been reached. + /// + /// # Cancel safety + /// + /// This method is cancellation safe. If `tick` is used as the branch in a `tokio::select!` and + /// another branch completes first, then no tick has been consumed. + /// + /// # Examples + /// + /// ``` + /// use tokio::time; + /// + /// use std::time::Duration; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = time::interval(Duration::from_millis(10)); + /// + /// interval.tick().await; + /// // approximately 0ms have elapsed. The first tick completes immediately. + /// interval.tick().await; + /// interval.tick().await; + /// + /// // approximately 20ms have elapsed. + /// # } + /// ``` + Future tick(); +} + +// Rust type: RustOpaqueMoi> +abstract class Sleep implements RustOpaqueInterface { + /// Returns the instant at which the future will complete. + Future deadline(); + + /// Returns `true` if `Sleep` has elapsed. + /// + /// A `Sleep` instance is elapsed when the requested duration has elapsed. + Future isElapsed(); + + /// Resets the `Sleep` instance to a new deadline. + /// + /// Calling this function allows changing the instant at which the `Sleep` + /// future completes without having to create new associated state. + /// + /// This function can be called both before and after the future has + /// completed. + /// + /// To call this method, you will usually combine the call with + /// [`Pin::as_mut`], which lets you call the method without consuming the + /// `Sleep` itself. + /// + /// # Example + /// + /// ``` + /// use tokio::time::{Duration, Instant}; + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let sleep = tokio::time::sleep(Duration::from_millis(10)); + /// tokio::pin!(sleep); + /// + /// sleep.as_mut().reset(Instant::now() + Duration::from_millis(20)); + /// # } + /// ``` + /// + /// See also the top-level examples. + /// + /// [`Pin::as_mut`]: fn@std::pin::Pin::as_mut + Future reset({required Instant deadline}); +} + +/// Defines the behavior of an [`Interval`] when it misses a tick. +/// +/// Sometimes, an [`Interval`]'s tick is missed. For example, consider the +/// following: +/// +/// ``` +/// use tokio::time::{self, Duration}; +/// # async fn task_that_takes_one_to_three_millis() {} +/// +/// # #[tokio::main(flavor = "current_thread")] +/// # async fn main() { +/// // ticks every 2 milliseconds +/// let mut interval = time::interval(Duration::from_millis(2)); +/// for _ in 0..5 { +/// interval.tick().await; +/// // if this takes more than 2 milliseconds, a tick will be delayed +/// task_that_takes_one_to_three_millis().await; +/// } +/// # } +/// ``` +/// +/// Generally, a tick is missed if too much time is spent without calling +/// [`Interval::tick()`]. +/// +/// By default, when a tick is missed, [`Interval`] fires ticks as quickly as it +/// can until it is "caught up" in time to where it should be. +/// `MissedTickBehavior` can be used to specify a different behavior for +/// [`Interval`] to exhibit. Each variant represents a different strategy. +/// +/// Note that because the executor cannot guarantee exact precision with timers, +/// these strategies will only apply when the delay is greater than 5 +/// milliseconds. +enum MissedTickBehavior { + /// Ticks as fast as possible until caught up. + /// + /// When this strategy is used, [`Interval`] schedules ticks "normally" (the + /// same as it would have if the ticks hadn't been delayed), which results + /// in it firing ticks as fast as possible until it is caught up in time to + /// where it should be. Unlike [`Delay`] and [`Skip`], the ticks yielded + /// when `Burst` is used (the [`Instant`]s that [`tick`](Interval::tick) + /// yields) aren't different than they would have been if a tick had not + /// been missed. Like [`Skip`], and unlike [`Delay`], the ticks may be + /// shortened. + /// + /// This looks something like this: + /// ```text + /// Expected ticks: | 1 | 2 | 3 | 4 | 5 | 6 | + /// Actual ticks: | work -----| delay | work | work | work -| work -----| + /// ``` + /// + /// In code: + /// + /// ``` + /// use tokio::time::{interval, Duration}; + /// # async fn task_that_takes_200_millis() {} + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = interval(Duration::from_millis(50)); + /// + /// // First tick resolves immediately after creation + /// interval.tick().await; + /// + /// task_that_takes_200_millis().await; + /// // The `Interval` has missed a tick + /// + /// // Since we have exceeded our timeout, this will resolve immediately + /// interval.tick().await; + /// + /// // Since we are more than 100ms after the start of `interval`, this will + /// // also resolve immediately. + /// interval.tick().await; + /// + /// // Also resolves immediately, because it was supposed to resolve at + /// // 150ms after the start of `interval` + /// interval.tick().await; + /// + /// // Resolves immediately + /// interval.tick().await; + /// + /// // Since we have gotten to 200ms after the start of `interval`, this + /// // will resolve after 50ms + /// interval.tick().await; + /// # } + /// ``` + /// + /// This is the default behavior when [`Interval`] is created with + /// [`interval`] and [`interval_at`]. + /// + /// [`Delay`]: MissedTickBehavior::Delay + /// [`Skip`]: MissedTickBehavior::Skip + burst, + + /// Tick at multiples of `period` from when [`tick`] was called, rather than + /// from `start`. + /// + /// When this strategy is used and [`Interval`] has missed a tick, instead + /// of scheduling ticks to fire at multiples of `period` from `start` (the + /// time when the first tick was fired), it schedules all future ticks to + /// happen at a regular `period` from the point when [`tick`] was called. + /// Unlike [`Burst`] and [`Skip`], ticks are not shortened, and they aren't + /// guaranteed to happen at a multiple of `period` from `start` any longer. + /// + /// This looks something like this: + /// ```text + /// Expected ticks: | 1 | 2 | 3 | 4 | 5 | 6 | + /// Actual ticks: | work -----| delay | work -----| work -----| work -----| + /// ``` + /// + /// In code: + /// + /// ``` + /// use tokio::time::{interval, Duration, MissedTickBehavior}; + /// # async fn task_that_takes_more_than_50_millis() {} + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = interval(Duration::from_millis(50)); + /// interval.set_missed_tick_behavior(MissedTickBehavior::Delay); + /// + /// task_that_takes_more_than_50_millis().await; + /// // The `Interval` has missed a tick + /// + /// // Since we have exceeded our timeout, this will resolve immediately + /// interval.tick().await; + /// + /// // But this one, rather than also resolving immediately, as might happen + /// // with the `Burst` or `Skip` behaviors, will not resolve until + /// // 50ms after the call to `tick` up above. That is, in `tick`, when we + /// // recognize that we missed a tick, we schedule the next tick to happen + /// // 50ms (or whatever the `period` is) from right then, not from when + /// // were *supposed* to tick + /// interval.tick().await; + /// # } + /// ``` + /// + /// [`Burst`]: MissedTickBehavior::Burst + /// [`Skip`]: MissedTickBehavior::Skip + /// [`tick`]: Interval::tick + delay, + + /// Skips missed ticks and tick on the next multiple of `period` from + /// `start`. + /// + /// When this strategy is used, [`Interval`] schedules the next tick to fire + /// at the next-closest tick that is a multiple of `period` away from + /// `start` (the point where [`Interval`] first ticked). Like [`Burst`], all + /// ticks remain multiples of `period` away from `start`, but unlike + /// [`Burst`], the ticks may not be *one* multiple of `period` away from the + /// last tick. Like [`Delay`], the ticks are no longer the same as they + /// would have been if ticks had not been missed, but unlike [`Delay`], and + /// like [`Burst`], the ticks may be shortened to be less than one `period` + /// away from each other. + /// + /// This looks something like this: + /// ```text + /// Expected ticks: | 1 | 2 | 3 | 4 | 5 | 6 | + /// Actual ticks: | work -----| delay | work ---| work -----| work -----| + /// ``` + /// + /// In code: + /// + /// ``` + /// use tokio::time::{interval, Duration, MissedTickBehavior}; + /// # async fn task_that_takes_75_millis() {} + /// + /// # #[tokio::main(flavor = "current_thread")] + /// # async fn main() { + /// let mut interval = interval(Duration::from_millis(50)); + /// interval.set_missed_tick_behavior(MissedTickBehavior::Skip); + /// + /// task_that_takes_75_millis().await; + /// // The `Interval` has missed a tick + /// + /// // Since we have exceeded our timeout, this will resolve immediately + /// interval.tick().await; + /// + /// // This one will resolve after 25ms, 100ms after the start of + /// // `interval`, which is the closest multiple of `period` from the start + /// // of `interval` after the call to `tick` up above. + /// interval.tick().await; + /// # } + /// ``` + /// + /// [`Burst`]: MissedTickBehavior::Burst + /// [`Delay`]: MissedTickBehavior::Delay + skip, + ; + + /// Returns [`MissedTickBehavior::Burst`]. + /// + /// For most usecases, the [`Burst`] strategy is what is desired. + /// Additionally, to preserve backwards compatibility, the [`Burst`] + /// strategy must be the default. For these reasons, + /// [`MissedTickBehavior::Burst`] is the default for [`MissedTickBehavior`]. + /// See [`Burst`] for more details. + /// + /// [`Burst`]: MissedTickBehavior::Burst + static Future default_() => + RustLib.instance.api.tokioTimeMissedTickBehaviorDefault(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/time/error.dart b/mobile_app/lib/src/rust/third_party/tokio/time/error.dart new file mode 100644 index 0000000..f3196c3 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/time/error.dart @@ -0,0 +1,34 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `Elapsed`, `InsertError`, `Kind` +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from`, `from` + +// Rust type: RustOpaqueMoi> +abstract class Error implements RustOpaqueInterface { + /// Creates an error representing a timer at capacity. + static Future atCapacity() => + RustLib.instance.api.tokioTimeErrorErrorAtCapacity(); + + /// Creates an error representing a misconfigured timer. + static Future invalid() => + RustLib.instance.api.tokioTimeErrorErrorInvalid(); + + /// Returns `true` if the error was caused by the timer being at capacity. + Future isAtCapacity(); + + /// Returns `true` if the error was caused by the timer being misconfigured. + Future isInvalid(); + + /// Returns `true` if the error was caused by the timer being shutdown. + Future isShutdown(); + + /// Creates an error representing a shutdown timer. + static Future shutdown() => + RustLib.instance.api.tokioTimeErrorErrorShutdown(); +} diff --git a/mobile_app/lib/src/rust/third_party/tokio/time/interval.dart b/mobile_app/lib/src/rust/third_party/tokio/time/interval.dart new file mode 100644 index 0000000..2eba311 --- /dev/null +++ b/mobile_app/lib/src/rust/third_party/tokio/time/interval.dart @@ -0,0 +1,12 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../../../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `clone`, `eq`, `fmt`, `fmt` + +// Rust type: RustOpaqueMoi>> +abstract class PollInstant implements RustOpaqueInterface {} diff --git a/mobile_app/pubspec.lock b/mobile_app/pubspec.lock index f49e1a7..dea6c3b 100644 --- a/mobile_app/pubspec.lock +++ b/mobile_app/pubspec.lock @@ -49,6 +49,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.4" + build_cli_annotations: + dependency: transitive + description: + name: build_cli_annotations + sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 + url: "https://pub.dev" + source: hosted + version: "2.1.0" build_config: dependency: transitive description: @@ -203,6 +211,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.33" + flutter_rust_bridge: + dependency: "direct main" + description: + name: flutter_rust_bridge + sha256: "37ef40bc6f863652e865f0b2563ea07f0d3c58d8efad803cc01933a4b2ee067e" + url: "https://pub.dev" + source: hosted + version: "2.11.1" flutter_test: dependency: "direct dev" description: flutter diff --git a/mobile_app/pubspec.yaml b/mobile_app/pubspec.yaml index 187a48e..63c2b4d 100644 --- a/mobile_app/pubspec.yaml +++ b/mobile_app/pubspec.yaml @@ -37,6 +37,7 @@ dependencies: cupertino_icons: ^1.0.6 rust_lib_mobile_app: path: rust_builder + flutter_rust_bridge: 2.11.1 gap: ^3.0.1 permission_handler: ^12.0.1 file_picker: ^10.3.8 diff --git a/mobile_app/rust/.gitignore b/mobile_app/rust/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/mobile_app/rust/.gitignore @@ -0,0 +1 @@ +/target diff --git a/mobile_app/rust/Cargo.lock b/mobile_app/rust/Cargo.lock new file mode 100644 index 0000000..5944227 --- /dev/null +++ b/mobile_app/rust/Cargo.lock @@ -0,0 +1,1748 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "addr2line" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "allo-isolate" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "449e356a4864c017286dbbec0e12767ea07efba29e3b7d984194c2a7ff3c4550" +dependencies = [ + "anyhow", + "atomic", + "backtrace", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "android_log-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" + +[[package]] +name = "android_logger" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb4e440d04be07da1f1bf44fb4495ebd58669372fe0cffa6e48595ac5bd88a3" +dependencies = [ + "android_log-sys", + "env_filter", + "log", +] + +[[package]] +name = "anyhow" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "arc-swap" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d03449bb8ca2cc2ef70869af31463d1ae5ccc8fa3e334b307203fbf815207e" +dependencies = [ + "rustversion", +] + +[[package]] +name = "async-trait" +version = "0.1.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atomic" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "backtrace" +version = "0.3.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-link", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + +[[package]] +name = "bitpacking" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a7139abd3d9cebf8cd6f920a389cf3dc9576172e32f4563f188cae3c3eb019" +dependencies = [ + "crunchy", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bon" +version = "3.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "234655ec178edd82b891e262ea7cf71f6584bcd09eff94db786be23f1821825c" +dependencies = [ + "bon-macros", + "rustversion", +] + +[[package]] +name = "bon-macros" +version = "3.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ec27229c38ed0eb3c0feee3d2c1d6a4379ae44f418a29a658890e062d8f365" +dependencies = [ + "darling", + "ident_case", + "prettyplease", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + +[[package]] +name = "build-target" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "832133bbabbbaa9fbdba793456a2827627a7d2b8fb96032fa1e7666d7895832b" + +[[package]] +name = "bumpalo" +version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" + +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "cc" +version = "1.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" +dependencies = [ + "find-msvc-tools", + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "census" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f4c707c6a209cbe82d10abd08e1ea8995e9ea937d2550646e02798948992be0" + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "dart-sys" +version = "4.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57967e4b200d767d091b961d6ab42cc7d0cc14fe9e052e75d0d3cf9eb732d895" +dependencies = [ + "cc", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "delegate-attr" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51aac4c99b2e6775164b412ea33ae8441b2fde2dbf05a20bc0052a63d08c475b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "deranged" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +dependencies = [ + "powerfmt", + "serde_core", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "downcast-rs" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "env_filter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "fastdivide" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afc2bd4d5a73106dd53d10d73d3401c2f32730ba2c0b93ddb888a8983680471" + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "find-msvc-tools" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" + +[[package]] +name = "flutter_rust_bridge" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde126295b2acc5f0a712e265e91b6fdc0ed38767496483e592ae7134db83725" +dependencies = [ + "allo-isolate", + "android_logger", + "anyhow", + "build-target", + "bytemuck", + "byteorder", + "console_error_panic_hook", + "dart-sys", + "delegate-attr", + "flutter_rust_bridge_macros", + "futures", + "js-sys", + "lazy_static", + "log", + "oslog", + "portable-atomic", + "threadpool", + "tokio", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "flutter_rust_bridge_macros" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f0420326b13675321b194928bb7830043b68cf8b810e1c651285c747abb080" +dependencies = [ + "hex", + "md-5", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "fs4" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8640e34b88f7652208ce9e88b1a37a2ae95227d84abec377ccd3c5cfeb141ed4" +dependencies = [ + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + +[[package]] +name = "gimli" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "htmlescape" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163" + +[[package]] +name = "hyperloglogplus" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "621debdf94dcac33e50475fdd76d34d5ea9c0362a834b9db08c3024696c1fbe3" +dependencies = [ + "serde", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom 0.3.4", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "levenshtein_automata" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c2cdeb66e45e9f36bfad5bbdb4d2384e70936afbee843c6f6543f0c551ebb25" + +[[package]] +name = "libc" +version = "0.2.180" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" + +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "lru" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +dependencies = [ + "hashbrown 0.15.5", +] + +[[package]] +name = "lz4_flex" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "measure_time" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51c55d61e72fc3ab704396c5fa16f4c184db37978ae4e94ca8959693a235fc0e" +dependencies = [ + "log", +] + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" + +[[package]] +name = "memmap2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +dependencies = [ + "libc", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", +] + +[[package]] +name = "murmurhash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2195bf6aa996a481483b29d62a7663eed3fe39600c460e323f8ff41e90bdd89b" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num-conv" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "object" +version = "0.37.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "oneshot" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ce66197e99546da6c6d991285f605192e794ceae69686c17163844a7bf8fcc2" + +[[package]] +name = "oslog" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d2043d1f61d77cb2f4b1f7b7b2295f40507f5f8e9d1c8bf10a1ca5f97a3969" +dependencies = [ + "cc", + "dashmap", + "log", +] + +[[package]] +name = "ownedbytes" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fbd56f7631767e61784dc43f8580f403f4475bd4aaa4da003e6295e1bab4a7e" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "portable-atomic" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "rayon" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" + +[[package]] +name = "rust-stemmers" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "rust_lib_mobile_app" +version = "0.1.0" +dependencies = [ + "flutter_rust_bridge", + "tantivy", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustix" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "sketches-ddsketch" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" +dependencies = [ + "serde", +] + +[[package]] +name = "slab" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "syn" +version = "2.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tantivy" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502915c7381c5cb2d2781503962610cb880ad8f1a0ca95df1bae645d5ebf2545" +dependencies = [ + "aho-corasick", + "arc-swap", + "base64", + "bitpacking", + "bon", + "byteorder", + "census", + "crc32fast", + "crossbeam-channel", + "downcast-rs", + "fastdivide", + "fnv", + "fs4", + "htmlescape", + "hyperloglogplus", + "itertools", + "levenshtein_automata", + "log", + "lru", + "lz4_flex", + "measure_time", + "memmap2", + "once_cell", + "oneshot", + "rayon", + "regex", + "rust-stemmers", + "rustc-hash", + "serde", + "serde_json", + "sketches-ddsketch", + "smallvec", + "tantivy-bitpacker", + "tantivy-columnar", + "tantivy-common", + "tantivy-fst", + "tantivy-query-grammar", + "tantivy-stacker", + "tantivy-tokenizer-api", + "tempfile", + "thiserror", + "time", + "uuid", + "winapi", +] + +[[package]] +name = "tantivy-bitpacker" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3b04eed5108d8283607da6710fe17a7663523440eaf7ea5a1a440d19a1448b6" +dependencies = [ + "bitpacking", +] + +[[package]] +name = "tantivy-columnar" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b628488ae936c83e92b5c4056833054ca56f76c0e616aee8339e24ac89119cd" +dependencies = [ + "downcast-rs", + "fastdivide", + "itertools", + "serde", + "tantivy-bitpacker", + "tantivy-common", + "tantivy-sstable", + "tantivy-stacker", +] + +[[package]] +name = "tantivy-common" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f880aa7cab0c063a47b62596d10991cdd0b6e0e0575d9c5eeb298b307a25de55" +dependencies = [ + "async-trait", + "byteorder", + "ownedbytes", + "serde", + "time", +] + +[[package]] +name = "tantivy-fst" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d60769b80ad7953d8a7b2c70cdfe722bbcdcac6bccc8ac934c40c034d866fc18" +dependencies = [ + "byteorder", + "regex-syntax", + "utf8-ranges", +] + +[[package]] +name = "tantivy-query-grammar" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "768fccdc84d60d86235d42d7e4c33acf43c418258ff5952abf07bd7837fcd26b" +dependencies = [ + "nom", + "serde", + "serde_json", +] + +[[package]] +name = "tantivy-sstable" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8292095d1a8a2c2b36380ec455f910ab52dde516af36321af332c93f20ab7d5" +dependencies = [ + "futures-util", + "itertools", + "tantivy-bitpacker", + "tantivy-common", + "tantivy-fst", + "zstd", +] + +[[package]] +name = "tantivy-stacker" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d38a379411169f0b3002c9cba61cdfe315f757e9d4f239c00c282497a0749d" +dependencies = [ + "murmurhash32", + "rand_distr", + "tantivy-common", +] + +[[package]] +name = "tantivy-tokenizer-api" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23024f6aeb25ceb1a0e27740c84bdb0fae52626737b7e9a9de6ad5aa25c7b038" +dependencies = [ + "serde", +] + +[[package]] +name = "tempfile" +version = "3.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +dependencies = [ + "fastrand", + "getrandom 0.3.4", + "once_cell", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.3.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9da98b7d9b7dad93488a84b8248efc35352b0b2657397d4167e7ad67e5d535e5" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" + +[[package]] +name = "time-macros" +version = "0.2.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78cc610bac2dcee56805c99642447d4c5dbde4d01f752ffea0199aee1f601dc4" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tokio" +version = "1.49.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +dependencies = [ + "pin-project-lite", +] + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" + +[[package]] +name = "utf8-ranges" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcfc827f90e53a02eaef5e535ee14266c1d569214c6aa70133a624d8a3164ba" + +[[package]] +name = "uuid" +version = "1.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" +dependencies = [ + "getrandom 0.3.4", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.2+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" +dependencies = [ + "cfg-if", + "futures-util", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "web-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" + +[[package]] +name = "zerocopy" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71ddd76bcebeed25db614f82bf31a9f4222d3fbba300e6fb6c00afa26cbd4d9d" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8187381b52e32220d50b255276aa16a084ec0a9017a0ca2152a1f55c539758d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zmij" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" + +[[package]] +name = "zstd" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.16+zstd.1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/mobile_app/rust/Cargo.toml b/mobile_app/rust/Cargo.toml new file mode 100644 index 0000000..371c110 --- /dev/null +++ b/mobile_app/rust/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "rust_lib_mobile_app" +version = "0.1.0" +edition = "2021" + +[lib] +crate-type = ["cdylib", "staticlib"] + +[dependencies] +flutter_rust_bridge = "=2.11.1" +tantivy = "0.25.0" +#seekstorm = { git = "https://github.com/Ok3ks/seekstorm", branch = "compile-for-mobile", version = "1.2.5" } + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(frb_expand)'] } diff --git a/mobile_app/rust/src/api/keyword_search.rs b/mobile_app/rust/src/api/keyword_search.rs new file mode 100644 index 0000000..e69de29 diff --git a/mobile_app/rust/src/api/mod.rs b/mobile_app/rust/src/api/mod.rs new file mode 100644 index 0000000..a7da100 --- /dev/null +++ b/mobile_app/rust/src/api/mod.rs @@ -0,0 +1,2 @@ +pub mod simple; +pub mod keyword_search; \ No newline at end of file diff --git a/mobile_app/rust/src/api/simple.rs b/mobile_app/rust/src/api/simple.rs new file mode 100644 index 0000000..7f96e5d --- /dev/null +++ b/mobile_app/rust/src/api/simple.rs @@ -0,0 +1,10 @@ +#[flutter_rust_bridge::frb(sync)] // Synchronous mode for simplicity of the demo +pub fn greet(name: String) -> String { + format!("Hello, {name}!") +} + +#[flutter_rust_bridge::frb(init)] +pub fn init_app() { + // Default utilities - feel free to customize + flutter_rust_bridge::setup_default_user_utils(); +} \ No newline at end of file diff --git a/mobile_app/rust/src/frb_generated.rs b/mobile_app/rust/src/frb_generated.rs new file mode 100644 index 0000000..4f41c47 --- /dev/null +++ b/mobile_app/rust/src/frb_generated.rs @@ -0,0 +1,276 @@ +// This file is automatically generated, so please do not edit it. +// @generated by `flutter_rust_bridge`@ 2.11.1. + +#![allow( + non_camel_case_types, + unused, + non_snake_case, + clippy::needless_return, + clippy::redundant_closure_call, + clippy::redundant_closure, + clippy::useless_conversion, + clippy::unit_arg, + clippy::unused_unit, + clippy::double_parens, + clippy::let_and_return, + clippy::too_many_arguments, + clippy::match_single_binding, + clippy::clone_on_copy, + clippy::let_unit_value, + clippy::deref_addrof, + clippy::explicit_auto_deref, + clippy::borrow_deref_ref, + clippy::needless_borrow +)] + +// Section: imports + +use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt}; +use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; +use flutter_rust_bridge::{Handler, IntoIntoDart}; + +// Section: boilerplate + +flutter_rust_bridge::frb_generated_boilerplate!( + default_stream_sink_codec = SseCodec, + default_rust_opaque = RustOpaqueMoi, + default_rust_auto_opaque = RustAutoOpaqueMoi, +); +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.11.1"; +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -1918914929; + +// Section: executor + +flutter_rust_bridge::frb_generated_default_handler!(); + +// Section: wire_funcs + +fn wire__crate__api__simple__greet_impl( + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "greet", + port: None, + mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + let api_name = ::sse_decode(&mut deserializer); + deserializer.end(); + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok(crate::api::simple::greet(api_name))?; + Ok(output_ok) + })()) + }, + ) +} +fn wire__crate__api__simple__init_app_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len_: i32, + data_len_: i32, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "init_app", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let message = unsafe { + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire( + ptr_, + rust_vec_len_, + data_len_, + ) + }; + let mut deserializer = + flutter_rust_bridge::for_generated::SseDeserializer::new(message); + deserializer.end(); + move |context| { + transform_result_sse::<_, ()>((move || { + let output_ok = Result::<_, ()>::Ok({ + crate::api::simple::init_app(); + })?; + Ok(output_ok) + })()) + } + }, + ) +} + +// Section: dart2rust + +impl SseDecode for String { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut inner = >::sse_decode(deserializer); + return String::from_utf8(inner).unwrap(); + } +} + +impl SseDecode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut len_ = ::sse_decode(deserializer); + let mut ans_ = vec![]; + for idx_ in 0..len_ { + ans_.push(::sse_decode(deserializer)); + } + return ans_; + } +} + +impl SseDecode for u8 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_u8().unwrap() + } +} + +impl SseDecode for () { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {} +} + +impl SseDecode for i32 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_i32::().unwrap() + } +} + +impl SseDecode for bool { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_u8().unwrap() != 0 + } +} + +fn pde_ffi_dispatcher_primary_impl( + func_id: i32, + port: flutter_rust_bridge::for_generated::MessagePort, + ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len: i32, + data_len: i32, +) { + // Codec=Pde (Serialization + dispatch), see doc to use other codecs + match func_id { + 2 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len), + _ => unreachable!(), + } +} + +fn pde_ffi_dispatcher_sync_impl( + func_id: i32, + ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr, + rust_vec_len: i32, + data_len: i32, +) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse { + // Codec=Pde (Serialization + dispatch), see doc to use other codecs + match func_id { + 1 => wire__crate__api__simple__greet_impl(ptr, rust_vec_len, data_len), + _ => unreachable!(), + } +} + +// Section: rust2dart + +impl SseEncode for String { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + >::sse_encode(self.into_bytes(), serializer); + } +} + +impl SseEncode for Vec { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.len() as _, serializer); + for item in self { + ::sse_encode(item, serializer); + } + } +} + +impl SseEncode for u8 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_u8(self).unwrap(); + } +} + +impl SseEncode for () { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {} +} + +impl SseEncode for i32 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_i32::(self).unwrap(); + } +} + +impl SseEncode for bool { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_u8(self as _).unwrap(); + } +} + +#[cfg(not(target_family = "wasm"))] +mod io { + // This file is automatically generated, so please do not edit it. + // @generated by `flutter_rust_bridge`@ 2.11.1. + + // Section: imports + + use super::*; + use flutter_rust_bridge::for_generated::byteorder::{ + NativeEndian, ReadBytesExt, WriteBytesExt, + }; + use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; + use flutter_rust_bridge::{Handler, IntoIntoDart}; + + // Section: boilerplate + + flutter_rust_bridge::frb_generated_boilerplate_io!(); +} +#[cfg(not(target_family = "wasm"))] +pub use io::*; + +/// cbindgen:ignore +#[cfg(target_family = "wasm")] +mod web { + // This file is automatically generated, so please do not edit it. + // @generated by `flutter_rust_bridge`@ 2.11.1. + + // Section: imports + + use super::*; + use flutter_rust_bridge::for_generated::byteorder::{ + NativeEndian, ReadBytesExt, WriteBytesExt, + }; + use flutter_rust_bridge::for_generated::wasm_bindgen; + use flutter_rust_bridge::for_generated::wasm_bindgen::prelude::*; + use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; + use flutter_rust_bridge::{Handler, IntoIntoDart}; + + // Section: boilerplate + + flutter_rust_bridge::frb_generated_boilerplate_web!(); +} +#[cfg(target_family = "wasm")] +pub use web::*; diff --git a/mobile_app/rust/src/lib.rs b/mobile_app/rust/src/lib.rs new file mode 100644 index 0000000..cbb071f --- /dev/null +++ b/mobile_app/rust/src/lib.rs @@ -0,0 +1,2 @@ +pub mod api; +mod frb_generated; diff --git a/mobile_app/rust/src/seekstorm/add_result.rs b/mobile_app/rust/src/seekstorm/add_result.rs new file mode 100644 index 0000000..baa7426 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/add_result.rs @@ -0,0 +1,3682 @@ +use ahash::AHashSet; +use smallvec::{SmallVec, smallvec}; +use std::cmp::Ordering; + +use crate::{ + geo_search::{decode_morton_2_d, euclidian_distance}, + index::{ + AccessType, CompressionType, FIELD_STOP_BIT_1, FIELD_STOP_BIT_2, FieldType, NgramType, + NonUniquePostingListObjectQuery, PostingListObjectQuery, SPEEDUP_FLAG, STOP_BIT, Shard, + SimilarityType, get_document_length_compressed_mmap, + }, + min_heap, + search::{FilterSparse, Ranges, ResultType, SearchResult}, + utils::{ + read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u8, read_u16, read_u32, + read_u64, + }, +}; + +pub(crate) const K: f32 = 1.2; +pub(crate) const B: f32 = 0.75; +pub(crate) const SIGMA: f32 = 0.0; + +pub(crate) struct PostingListObjectSingle<'a> { + pub rank_position_pointer_range: u32, + pub pointer_pivot_p_docid: u16, + pub byte_array: &'a [u8], + pub p_docid: i32, + pub idf: f32, + + pub idf_ngram1: f32, + pub idf_ngram2: f32, + pub idf_ngram3: f32, + pub ngram_type: NgramType, +} + +#[inline(always)] +pub(crate) fn get_next_position_singlefield(plo: &mut NonUniquePostingListObjectQuery) -> u32 { + if plo.is_embedded { + return plo.embedded_positions[plo.p_pos as usize]; + } + + if (plo.byte_array[plo.positions_pointer] & STOP_BIT) != 0 { + let position = (plo.byte_array[plo.positions_pointer] & 0b0111_1111) as u32; + plo.positions_pointer += 1; + position + } else if (plo.byte_array[plo.positions_pointer + 1] & STOP_BIT) != 0 { + let position = ((plo.byte_array[plo.positions_pointer] as u32) << 7) + | (plo.byte_array[plo.positions_pointer + 1] & 0b0111_1111) as u32; + plo.positions_pointer += 2; + position + } else { + let position = ((plo.byte_array[plo.positions_pointer] as u32) << 13) + | ((plo.byte_array[plo.positions_pointer + 1] as u32) << 7) + | (plo.byte_array[plo.positions_pointer + 2] & 0b0111_1111) as u32; + plo.positions_pointer += 3; + position + } +} + +#[inline(always)] +pub(crate) fn get_next_position_multifield(plo: &mut NonUniquePostingListObjectQuery) -> u32 { + if plo.is_embedded { + return plo.embedded_positions[if plo.p_field == 0 { + plo.p_pos as usize + } else { + plo.field_vec[plo.p_field - 1].1 + plo.p_pos as usize + }]; + } + + if (plo.byte_array[plo.positions_pointer] & STOP_BIT) != 0 { + let position = (plo.byte_array[plo.positions_pointer] & 0b0111_1111) as u32; + plo.positions_pointer += 1; + position + } else if (plo.byte_array[plo.positions_pointer + 1] & STOP_BIT) != 0 { + let position = ((plo.byte_array[plo.positions_pointer] as u32) << 7) + | (plo.byte_array[plo.positions_pointer + 1] & 0b0111_1111) as u32; + plo.positions_pointer += 2; + position + } else { + let position = ((plo.byte_array[plo.positions_pointer] as u32) << 13) + | ((plo.byte_array[plo.positions_pointer + 1] as u32) << 7) + | (plo.byte_array[plo.positions_pointer + 2] & 0b0111_1111) as u32; + plo.positions_pointer += 3; + position + } +} + +/// Post processing after AND intersection candidates have been found +/// Phrase intersection +/// BM25 ranking vs. seekstorm ranking (implicit phrase search, term proximity, field type boost, source reputation) +/// BM25 is default baseline in IR academics, but exhibits inferior relevance for practical use +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn add_result_singleterm_multifield( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + + plo_single: &PostingListObjectSingle, + not_query_list: &mut [PostingListObjectQuery], + block_score: f32, +) { + if shard.indexed_field_vec.len() == 1 { + add_result_singleterm_singlefield( + shard, + docid, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + plo_single, + not_query_list, + block_score, + ); + return; + } + + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + let local_docid = docid & 0b11111111_11111111; + + match &plo.compression_type { + CompressionType::Array => { + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + plo.docid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + (plo.p_docid << 1), + ) as i32; + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + CompressionType::Bitmap => { + if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] + & (1 << (local_docid & 7))) + > 0 + { + return; + } + } + CompressionType::Rle => { + if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { + return; + } else { + while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) + < plo.p_docid_count + && local_docid > plo.run_end as usize + { + let startdocid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize, + ); + let runlength = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize + 2, + ); + plo.docid = startdocid as i32; + plo.run_end = (startdocid + runlength) as i32; + plo.p_run_sum += runlength as i32; + plo.p_run += 4; + + if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize + { + return; + } + } + } + } + _ => {} + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + let mut field_vec_ngram1: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + let mut field_vec_ngram2: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + let mut field_vec_ngram3: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + + match *result_type { + ResultType::Count => { + if !field_filter_set.is_empty() { + decode_positions_singleterm_multifield( + shard, + plo_single, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + + if field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() { + let mut match_flag = false; + for field in field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + + facet_count(shard, search_result, docid); + + *result_count += 1; + + return; + } + ResultType::Topk => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + + if !field_filter_set.is_empty() { + decode_positions_singleterm_multifield( + shard, + plo_single, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + + if field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() { + let mut match_flag = false; + for field in field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + } + ResultType::TopkCount => { + if !field_filter_set.is_empty() { + decode_positions_singleterm_multifield( + shard, + plo_single, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + + if field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() { + let mut match_flag = false; + for field in field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + + facet_count(shard, search_result, docid); + + *result_count += 1; + + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + } + } + + if field_filter_set.is_empty() { + decode_positions_singleterm_multifield( + shard, + plo_single, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + } + + let bm25f = get_bm25f_singleterm_multifield( + shard, + docid, + plo_single, + field_vec, + field_vec_ngram1, + field_vec_ngram2, + field_vec_ngram3, + ); + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25f, + }, + top_k, + ); +} + +#[inline] +pub(crate) fn is_facet_filter(index: &Shard, facet_filter: &[FilterSparse], docid: usize) -> bool { + for (i, facet) in index.facets.iter().enumerate() { + match &facet_filter[i] { + FilterSparse::U8(range) => { + let facet_value_id = read_u8( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::U16(range) => { + let facet_value_id = read_u16( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::U32(range) => { + let facet_value_id = read_u32( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::U64(range) => { + let facet_value_id = read_u64( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::I8(range) => { + let facet_value_id = read_i8( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::I16(range) => { + let facet_value_id = read_i16( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::I32(range) => { + let facet_value_id = read_i32( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::I64(range) => { + let facet_value_id = read_i64( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::Timestamp(range) => { + let facet_value_id = read_i64( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::F32(range) => { + let facet_value_id = read_f32( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::F64(range) => { + let facet_value_id = read_f64( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !range.contains(&facet_value_id) { + return true; + } + } + FilterSparse::String16(values) => { + let facet_value_id = read_u16( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !values.contains(&facet_value_id) { + return true; + } + } + FilterSparse::String32(values) => { + let facet_value_id = read_u32( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if !values.contains(&facet_value_id) { + return true; + } + } + + FilterSparse::Point(point, distance_range, unit, range) => { + let morton_code = read_u64( + &index.facets_file_mmap, + (index.facets_size_sum * docid) + facet.offset, + ); + if range.contains(&morton_code) { + if !distance_range.contains(&euclidian_distance( + point, + &decode_morton_2_d(morton_code), + unit, + )) { + return true; + } + } else { + return true; + } + } + + FilterSparse::None => {} + } + } + false +} + +#[inline] +pub(crate) fn facet_count(shard: &Shard, search_result: &mut SearchResult, docid: usize) { + if !search_result.query_facets.is_empty() && !search_result.skip_facet_count { + for (i, facet) in shard.facets.iter().enumerate() { + if search_result.query_facets[i].length == 0 { + continue; + } + + let facet_value_id = match &search_result.query_facets[i].ranges { + Ranges::U8(_range_type, ranges) => { + let facet_value = + shard.facets_file_mmap[(shard.facets_size_sum * docid) + facet.offset]; + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U16(_range_type, ranges) => { + let facet_value = read_u16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U32(_range_type, ranges) => { + let facet_value = read_u32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U64(_range_type, ranges) => { + let facet_value = read_u64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I8(_range_type, ranges) => { + let facet_value = read_i8( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I16(_range_type, ranges) => { + let facet_value = read_i16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I32(_range_type, ranges) => { + let facet_value = read_i32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + + Ranges::I64(_range_type, ranges) => { + let facet_value = read_i64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::Timestamp(_range_type, ranges) => { + let facet_value = read_i64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::F32(_range_type, ranges) => { + let facet_value = read_f32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by(|range| range.1.partial_cmp(&facet_value).unwrap()) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::F64(_range_type, ranges) => { + let facet_value = read_f64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by(|range| range.1.partial_cmp(&facet_value).unwrap()) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + + Ranges::Point(_range_type, ranges, base, unit) => { + let facet_value = read_u64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + let facet_value_distance = + euclidian_distance(base, &decode_morton_2_d(facet_value), unit); + ranges + .binary_search_by(|range| { + range.1.partial_cmp(&facet_value_distance).unwrap() + }) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + + _ => { + if facet.field_type == FieldType::String16 + || facet.field_type == FieldType::StringSet16 + { + read_u16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ) as u32 + } else { + read_u32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ) + } + } + }; + + *search_result.query_facets[i] + .values + .entry(facet_value_id) + .or_insert(0) += 1; + } + } +} + +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn add_result_singleterm_singlefield( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + + plo_single: &PostingListObjectSingle, + not_query_list: &mut [PostingListObjectQuery], + block_score: f32, +) { + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + let local_docid = docid & 0b11111111_11111111; + + match &plo.compression_type { + CompressionType::Array => { + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + plo.docid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + (plo.p_docid << 1), + ) as i32; + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + CompressionType::Bitmap => { + if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] + & (1 << (local_docid & 7))) + > 0 + { + return; + } + } + CompressionType::Rle => { + if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { + return; + } else { + while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) + < plo.p_docid_count + && local_docid > plo.run_end as usize + { + let startdocid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize, + ); + let runlength = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize + 2, + ); + plo.docid = startdocid as i32; + plo.run_end = (startdocid + runlength) as i32; + plo.p_run_sum += runlength as i32; + plo.p_run += 4; + + if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize + { + return; + } + } + } + } + _ => {} + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + let mut tf_ngram1 = 0; + let mut tf_ngram2 = 0; + let mut tf_ngram3 = 0; + let mut positions_count = 0; + let field_id = 0u16; + + match *result_type { + ResultType::Count => { + if !field_filter_set.is_empty() { + decode_positions_singleterm_singlefield( + plo_single, + &mut tf_ngram1, + &mut tf_ngram2, + &mut tf_ngram3, + &mut positions_count, + ); + + if field_filter_set.len() < shard.indexed_field_vec.len() { + let mut match_flag = false; + + if field_filter_set.contains(&field_id) { + match_flag = true; + } + + if !match_flag { + return; + } + } + } + facet_count(shard, search_result, docid); + + *result_count += 1; + + return; + } + ResultType::Topk => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + + if !field_filter_set.is_empty() { + decode_positions_singleterm_singlefield( + plo_single, + &mut tf_ngram1, + &mut tf_ngram2, + &mut tf_ngram3, + &mut positions_count, + ); + + if field_filter_set.len() < shard.indexed_field_vec.len() { + let mut match_flag = false; + if field_filter_set.contains(&field_id) { + match_flag = true; + } + + if !match_flag { + return; + } + } + } + } + ResultType::TopkCount => { + if !field_filter_set.is_empty() { + decode_positions_singleterm_singlefield( + plo_single, + &mut tf_ngram1, + &mut tf_ngram2, + &mut tf_ngram3, + &mut positions_count, + ); + + if field_filter_set.len() < shard.indexed_field_vec.len() { + let mut match_flag = false; + if field_filter_set.contains(&field_id) { + match_flag = true; + } + if !match_flag { + return; + } + } + } + + facet_count(shard, search_result, docid); + + *result_count += 1; + + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + } + } + + if field_filter_set.is_empty() { + decode_positions_singleterm_singlefield( + plo_single, + &mut tf_ngram1, + &mut tf_ngram2, + &mut tf_ngram3, + &mut positions_count, + ); + } + + let bm25f = get_bm25f_singleterm_singlefield( + shard, + docid, + plo_single, + tf_ngram1, + tf_ngram2, + tf_ngram3, + positions_count, + ); + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25f, + }, + top_k, + ); +} + +#[inline(always)] +pub(crate) fn get_bm25f_singleterm_multifield( + shard: &Shard, + docid: usize, + plo_single: &PostingListObjectSingle, + field_vec: SmallVec<[(u16, usize); 2]>, + field_vec_ngram1: SmallVec<[(u16, usize); 2]>, + field_vec_ngram2: SmallVec<[(u16, usize); 2]>, + field_vec_ngram3: SmallVec<[(u16, usize); 2]>, +) -> f32 { + let mut bm25f = 0.0; + let block_id = docid >> 16; + + if shard.indexed_field_vec.len() == 1 { + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) + } else { + shard.level_index[block_id].document_length_compressed_array[0] + [docid & 0b11111111_11111111] + } as usize]; + + match plo_single.ngram_type { + NgramType::SingleTerm => { + let tf = field_vec[0].1 as f32; + + bm25f = plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + let tf_ngram1 = field_vec_ngram1[0].1 as f32; + let tf_ngram2 = field_vec_ngram2[0].1 as f32; + + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA); + } + _ => { + let tf_ngram1 = field_vec_ngram1[0].1 as f32; + let tf_ngram2 = field_vec_ngram2[0].1 as f32; + let tf_ngram3 = field_vec_ngram3[0].1 as f32; + + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA) + + plo_single.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) / (tf_ngram3 + bm25_component)) + SIGMA); + } + } + } else if plo_single.ngram_type == NgramType::SingleTerm + || shard.meta.similarity == SimilarityType::Bm25fProximity + { + for field in field_vec.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight * plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + } else if plo_single.ngram_type == NgramType::NgramFF + || plo_single.ngram_type == NgramType::NgramRF + || plo_single.ngram_type == NgramType::NgramFR + { + for field in field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA); + } + } else { + for field in field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) / (tf_ngram1 + bm25_component)) + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) / (tf_ngram2 + bm25_component)) + SIGMA); + } + + for field in field_vec_ngram3.iter() { + let field_id = field.0 as usize; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + let tf_ngram3 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo_single.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) / (tf_ngram3 + bm25_component)) + SIGMA); + } + } + + bm25f +} + +#[inline(always)] +pub(crate) fn get_bm25f_singleterm_singlefield( + shard: &Shard, + docid: usize, + plo_single: &PostingListObjectSingle, + tf_ngram1: u32, + tf_ngram2: u32, + tf_ngram3: u32, + positions_count: u32, +) -> f32 { + let bm25f; + let block_id = docid >> 16; + + if shard.indexed_field_vec.len() == 1 { + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) + } else { + shard.level_index[block_id].document_length_compressed_array[0] + [docid & 0b11111111_11111111] + } as usize]; + + match plo_single.ngram_type { + NgramType::SingleTerm => { + let tf = positions_count as f32; + + bm25f = plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) + + SIGMA); + } + _ => { + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram3 + * ((tf_ngram3 as f32 * (K + 1.0) / (tf_ngram3 as f32 + bm25_component)) + + SIGMA); + } + } + } else { + let field_id = 0; + + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array[field_id] + [docid & 0b11111111_11111111] + } as usize]; + + match plo_single.ngram_type { + NgramType::SingleTerm => { + let tf = positions_count as f32; + + bm25f = plo_single.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) + + SIGMA); + } + _ => { + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 as f32 * (K + 1.0) / (tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 as f32 * (K + 1.0) / (tf_ngram2 as f32 + bm25_component)) + + SIGMA) + + plo_single.idf_ngram3 + * ((tf_ngram3 as f32 * (K + 1.0) / (tf_ngram3 as f32 + bm25_component)) + + SIGMA); + } + } + } + + bm25f +} + +#[inline(always)] +pub(crate) fn get_bm25f_multiterm_multifield( + shard: &Shard, + docid: usize, + query_list: &mut [PostingListObjectQuery], +) -> f32 { + let mut bm25f = 0.0; + let block_id = docid >> 16; + + if shard.indexed_field_vec.len() == 1 { + let bm25_component = + shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) + } else { + shard.level_index[block_id].document_length_compressed_array[0] + [docid & 0b11111111_11111111] + } as usize]; + + for plo in query_list.iter() { + if !plo.bm25_flag { + continue; + } + + match plo.ngram_type { + NgramType::SingleTerm => { + let tf = plo.field_vec[0].1 as f32; + + bm25f += plo.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + bm25f += plo.idf_ngram1 + * ((plo.tf_ngram1 as f32 * (K + 1.0) + / (plo.tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram2 + * ((plo.tf_ngram2 as f32 * (K + 1.0) + / (plo.tf_ngram2 as f32 + bm25_component)) + + SIGMA); + } + _ => { + bm25f += plo.idf_ngram1 + * ((plo.tf_ngram1 as f32 * (K + 1.0) + / (plo.tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram2 + * ((plo.tf_ngram2 as f32 * (K + 1.0) + / (plo.tf_ngram2 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram3 + * ((plo.tf_ngram3 as f32 * (K + 1.0) + / (plo.tf_ngram3 as f32 + bm25_component)) + + SIGMA); + } + } + } + } else { + let mut bm25_component_vec: SmallVec<[f32; 2]> = + smallvec![0.0; shard.indexed_field_vec.len()]; + for plo in query_list.iter() { + if !plo.bm25_flag { + continue; + } + + match plo.ngram_type { + NgramType::SingleTerm => { + for field in plo.field_vec.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf + * ((tf * (K + 1.0) / (tf + bm25_component_vec[field_id])) + SIGMA); + } + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + for field in plo.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + bm25_component_vec[field_id])) + + SIGMA); + } + + for field in plo.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + bm25_component_vec[field_id])) + + SIGMA); + } + } + _ => { + for field in plo.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + bm25_component_vec[field_id])) + + SIGMA); + } + + for field in plo.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + bm25_component_vec[field_id])) + + SIGMA); + } + + for field in plo.field_vec_ngram3.iter() { + let field_id = field.0 as usize; + if bm25_component_vec[field_id] == 0.0 { + bm25_component_vec[field_id] = + shard.bm25_component_cache[if shard.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap( + shard, + field_id, + block_id, + docid & 0b11111111_11111111, + ) + } else { + shard.level_index[block_id].document_length_compressed_array + [field_id][docid & 0b11111111_11111111] + } + as usize]; + } + + let tf_ngram3 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + bm25_component_vec[field_id])) + + SIGMA); + } + } + } + } + } + + bm25f +} + +#[inline(always)] +pub(crate) fn get_bm25f_multiterm_singlefield( + shard: &Shard, + docid: usize, + query_list: &mut [PostingListObjectQuery], +) -> f32 { + let mut bm25f = 0.0; + let block_id = docid >> 16; + + let bm25_component = shard.bm25_component_cache[if shard.meta.access_type == AccessType::Mmap { + get_document_length_compressed_mmap(shard, 0, block_id, docid & 0b11111111_11111111) + } else { + shard.level_index[block_id].document_length_compressed_array[0][docid & 0b11111111_11111111] + } as usize]; + + for plo in query_list.iter() { + if !plo.bm25_flag { + continue; + } + + match plo.ngram_type { + NgramType::SingleTerm => { + let tf = plo.positions_count as f32; + + bm25f += plo.idf * ((tf * (K + 1.0) / (tf + bm25_component)) + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + bm25f += plo.idf_ngram1 + * ((plo.tf_ngram1 as f32 * (K + 1.0) + / (plo.tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram2 + * ((plo.tf_ngram2 as f32 * (K + 1.0) + / (plo.tf_ngram2 as f32 + bm25_component)) + + SIGMA); + } + _ => { + bm25f += plo.idf_ngram1 + * ((plo.tf_ngram1 as f32 * (K + 1.0) + / (plo.tf_ngram1 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram2 + * ((plo.tf_ngram2 as f32 * (K + 1.0) + / (plo.tf_ngram2 as f32 + bm25_component)) + + SIGMA) + + plo.idf_ngram3 + * ((plo.tf_ngram3 as f32 * (K + 1.0) + / (plo.tf_ngram3 as f32 + bm25_component)) + + SIGMA); + } + } + } + + bm25f +} + +#[inline(always)] +pub(crate) fn decode_positions_multiterm_multifield( + shard: &Shard, + plo: &mut PostingListObjectQuery, + facet_filtered: bool, + phrase_query: bool, + all_terms_frequent: bool, +) -> bool { + let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + + let posting_pointer_size_sum = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + plo.p_docid as u32 * 2 + } else { + (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 + }; + + let mut positions_pointer = + (plo.rank_position_pointer_range + posting_pointer_size_sum) as usize; + + let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + read_u16(plo.byte_array, positions_pointer) as u32 + } else { + read_u32(plo.byte_array, positions_pointer) + }; + + if (rank_position_pointer + & (if plo.p_docid < plo.pointer_pivot_p_docid as usize { + 0b10000000_00000000 + } else { + 0b10000000_00000000_00000000 + })) + == 0 + { + plo.is_embedded = false; + + let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + rank_position_pointer & 0b01111111_11111111 + } else { + rank_position_pointer & 0b01111111_11111111_11111111 + } as usize; + + positions_pointer = plo.rank_position_pointer_range as usize - pointer_value; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + plo.field_vec_ngram1.clear(); + plo.field_vec_ngram2.clear(); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut plo.field_vec_ngram1, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut plo.field_vec_ngram2, + plo.byte_array, + &mut positions_pointer, + ); + } + _ => { + plo.field_vec_ngram1.clear(); + plo.field_vec_ngram2.clear(); + plo.field_vec_ngram3.clear(); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut plo.field_vec_ngram1, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut plo.field_vec_ngram2, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut plo.field_vec_ngram3, + plo.byte_array, + &mut positions_pointer, + ); + } + } + + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + &mut field_vec, + plo.byte_array, + &mut positions_pointer, + ); + + if SPEEDUP_FLAG + && all_terms_frequent + && !phrase_query + && !facet_filtered + && field_vec[0].1 < 10 + { + return true; + } + } else { + plo.is_embedded = true; + + if SPEEDUP_FLAG && all_terms_frequent && !phrase_query && !facet_filtered { + return true; + } + + let field_id; + + if plo.p_docid < plo.pointer_pivot_p_docid as usize { + match ( + shard.indexed_field_vec.len() == 1, + rank_position_pointer >> 12, + ) { + (true, 0b1000..=0b1011) => { + if phrase_query { + plo.embedded_positions = + [rank_position_pointer & 0b00111111_11111111, 0, 0, 0]; + }; + field_vec.push((0, 1)); + } + (true, 0b1100..=0b1111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 7) & 0b00000000_01111111, + rank_position_pointer & 0b00000000_01111111, + 0, + 0, + ]; + }; + field_vec.push((0, 2)); + } + + (false, 0b1100 | 0b1101) => { + if phrase_query { + plo.embedded_positions = + [rank_position_pointer & 0b00011111_11111111, 0, 0, 0]; + }; + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 1)); + } + (false, 0b1110 | 0b1111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 7) & 0b00000000_00111111, + rank_position_pointer & 0b00000000_01111111, + 0, + 0, + ]; + }; + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 2)); + } + + (false, 0b1000) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer & ((1 << position_bits) - 1)), + 0, + 0, + 0, + ]; + }; + } + (false, 0b1001) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b1010) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b1011) => { + let position_bits = + 12 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + + (_, _) => { + if phrase_query { + println!("unsupported 2 byte pointer embedded"); + plo.embedded_positions = [0, 0, 0, 0] + }; + } + } + } else { + match ( + shard.indexed_field_vec.len() == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, + ) { + (true, 0b10000..=0b10011) => { + if phrase_query { + plo.embedded_positions = [ + rank_position_pointer & 0b00011111_11111111_11111111, + 0, + 0, + 0, + ]; + }; + field_vec.push((0, 1)); + } + (true, 0b10100..=0b10111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 11) & 0b00000000_00000011_11111111, + rank_position_pointer & 0b00000000_00000111_11111111, + 0, + 0, + ]; + }; + field_vec.push((0, 2)); + } + (true, 0b11000..=0b11011) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 14) & 0b00000000_00000000_01111111, + (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, + rank_position_pointer & 0b00000000_00000000_01111111, + 0, + ]; + }; + field_vec.push((0, 3)); + } + (true, 0b11100..=0b11111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 16) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 11) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 6) & 0b00000000_00000000_00011111, + rank_position_pointer & 0b00000000_00000000_00111111, + ]; + }; + field_vec.push((0, 4)); + } + + (false, 0b11000 | 0b11001) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + rank_position_pointer & 0b00001111_11111111_11111111, + 0, + 0, + 0, + ]; + }; + } + (false, 0b11010 | 0b11011) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 2)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 10) & 0b00000000_00000011_11111111, + rank_position_pointer & 0b00000000_00000011_11111111, + 0, + 0, + ]; + }; + } + (false, 0b11100 | 0b11101) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 3)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 14) & 0b00000000_00000000_00111111, + (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, + rank_position_pointer & 0b00000000_00000000_01111111, + 0, + ]; + }; + } + (false, 0b11110 | 0b11111) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 4)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 15) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 10) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 5) & 0b00000000_00000000_00011111, + rank_position_pointer & 0b00000000_00000000_00011111, + ]; + }; + } + + (false, 0b10000) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer & ((1 << position_bits) - 1)), + 0, + 0, + 0, + ]; + }; + } + + (false, 0b10001) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b10010) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10011) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 4)); + if phrase_query { + let position_bits_1 = position_bits >> 2; + let position_bits_2 = (position_bits - position_bits_1) / 3; + let position_bits_3 = + (position_bits - position_bits_1 - position_bits_2) >> 1; + let position_bits_4 = + position_bits - position_bits_1 - position_bits_2 - position_bits_3; + plo.embedded_positions = [ + ((rank_position_pointer + >> (position_bits_2 + position_bits_3 + position_bits_4)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> (position_bits_3 + position_bits_4)) + & ((1 << position_bits_2) - 1)), + ((rank_position_pointer >> position_bits_4) + & ((1 << position_bits_3) - 1)), + (rank_position_pointer & ((1 << position_bits_4) - 1)), + ]; + }; + } + (false, 0b10100) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b10101) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 2)]); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10110) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 2), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10111) => { + let position_bits = 19 + - shard.indexed_field_id_bits + - shard.indexed_field_id_bits + - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + + shard.indexed_field_id_bits + + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = + ((rank_position_pointer >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_3 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); + + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + + (_, _) => { + if phrase_query { + println!( + "unsupported 3 byte pointer embedded {} {:032b}", + shard.indexed_field_vec.len() == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19 + ); + plo.embedded_positions = [0, 0, 0, 0] + }; + } + } + }; + } + + plo.positions_pointer = positions_pointer as u32; + plo.positions_count = field_vec[0].1 as u32; + plo.field_vec = field_vec; + + false +} + +#[inline(always)] +pub(crate) fn decode_positions_multiterm_singlefield( + plo: &mut PostingListObjectQuery, + facet_filtered: bool, + phrase_query: bool, + all_terms_frequent: bool, +) -> bool { + let mut positions_count = 0; + + let posting_pointer_size_sum = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + plo.p_docid as u32 * 2 + } else { + (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 + }; + + let mut positions_pointer = plo.rank_position_pointer_range + posting_pointer_size_sum; + + let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + read_u16(plo.byte_array, positions_pointer as usize) as u32 + } else { + read_u32(plo.byte_array, positions_pointer as usize) + }; + + if (rank_position_pointer + & (if plo.p_docid < plo.pointer_pivot_p_docid as usize { + 0b10000000_00000000 + } else { + 0b10000000_00000000_00000000 + })) + == 0 + { + plo.is_embedded = false; + + let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as usize { + rank_position_pointer & 0b01111111_11111111 + } else { + rank_position_pointer & 0b01111111_11111111_11111111 + } as usize; + + positions_pointer = plo.rank_position_pointer_range - pointer_value as u32; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + read_singlefield_value(&mut plo.tf_ngram1, plo.byte_array, &mut positions_pointer); + read_singlefield_value(&mut plo.tf_ngram2, plo.byte_array, &mut positions_pointer); + } + _ => { + read_singlefield_value(&mut plo.tf_ngram1, plo.byte_array, &mut positions_pointer); + read_singlefield_value(&mut plo.tf_ngram2, plo.byte_array, &mut positions_pointer); + read_singlefield_value(&mut plo.tf_ngram3, plo.byte_array, &mut positions_pointer); + } + } + + read_singlefield_value(&mut positions_count, plo.byte_array, &mut positions_pointer); + + if SPEEDUP_FLAG + && all_terms_frequent + && !phrase_query + && !facet_filtered + && positions_count < 10 + { + return true; + } + } else { + plo.is_embedded = true; + + if SPEEDUP_FLAG && all_terms_frequent && !phrase_query && !facet_filtered { + return true; + } + + if plo.p_docid < plo.pointer_pivot_p_docid as usize { + match rank_position_pointer >> 14 { + 0b10 => { + if phrase_query { + plo.embedded_positions = + [rank_position_pointer & 0b00111111_11111111, 0, 0, 0]; + }; + positions_count = 1; + } + 0b11 => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 7) & 0b00000000_01111111, + rank_position_pointer & 0b00000000_01111111, + 0, + 0, + ]; + }; + positions_count = 2; + } + + _ => { + if phrase_query { + println!("unsupported 2 byte pointer embedded"); + plo.embedded_positions = [0, 0, 0, 0] + }; + positions_count = 0; + } + } + } else { + match (rank_position_pointer & 0b11111111_11111111_11111111) >> 21 { + 0b100 => { + if phrase_query { + plo.embedded_positions = [ + rank_position_pointer & 0b00011111_11111111_11111111, + 0, + 0, + 0, + ]; + }; + positions_count = 1; + } + 0b101 => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 11) & 0b00000000_00000011_11111111, + rank_position_pointer & 0b00000000_00000111_11111111, + 0, + 0, + ]; + }; + positions_count = 2; + } + 0b110 => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 14) & 0b00000000_00000000_01111111, + (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, + rank_position_pointer & 0b00000000_00000000_01111111, + 0, + ]; + }; + positions_count = 3; + } + 0b111 => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 16) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 11) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 6) & 0b00000000_00000000_00011111, + rank_position_pointer & 0b00000000_00000000_00111111, + ]; + }; + positions_count = 4; + } + + _ => { + if phrase_query { + println!("unsupported 3 byte pointer embedded"); + plo.embedded_positions = [0, 0, 0, 0] + }; + positions_count = 0; + } + } + }; + } + + plo.positions_pointer = positions_pointer; + plo.positions_count = positions_count; + + false +} + +#[inline(always)] +pub(crate) fn read_multifield_vec( + indexed_field_vec_len: usize, + indexed_field_id_bits: usize, + indexed_field_id_mask: usize, + longest_field_id: usize, + field_vec: &mut SmallVec<[(u16, usize); 2]>, + byte_array: &[u8], + positions_pointer: &mut usize, +) { + let mut positions_count; + if indexed_field_vec_len == 1 { + positions_count = byte_array[*positions_pointer] as u32; + *positions_pointer += 1; + if (positions_count & STOP_BIT as u32) > 0 { + positions_count &= 0b01111111 + } else { + positions_count = (positions_count & 0b01111111) << 7; + let positions_count2 = byte_array[*positions_pointer] as u32; + *positions_pointer += 1; + if (positions_count2 & STOP_BIT as u32) > 0 { + positions_count |= positions_count2 & 0b01111111 + } else { + positions_count = (positions_count << 7) + | (positions_count2 & 0b01111111) << 7 + | (byte_array[*positions_pointer] & 0b01111111) as u32; + *positions_pointer += 1; + } + }; + field_vec.push((0, positions_count as usize)); + } else if byte_array[*positions_pointer] & 0b01000000 > 0 { + positions_count = byte_array[*positions_pointer] as u32; + *positions_pointer += 1; + if (positions_count & STOP_BIT as u32) > 0 { + positions_count &= 0b00111111 + } else { + positions_count = (positions_count & 0b00111111) << 7; + let positions_count2 = byte_array[*positions_pointer] as u32; + *positions_pointer += 1; + if (positions_count2 & STOP_BIT as u32) > 0 { + positions_count |= positions_count2 & 0b01111111 + } else { + positions_count = (positions_count << 7) + | (positions_count2 & 0b01111111) << 7 + | (byte_array[*positions_pointer] & 0b01111111) as u32; + *positions_pointer += 1; + } + }; + field_vec.push((longest_field_id as u16, positions_count as usize)); + } else { + let mut first = true; + loop { + let mut byte = byte_array[*positions_pointer]; + *positions_pointer += 1; + + let field_stop = { + byte & if first { + FIELD_STOP_BIT_1 + } else { + FIELD_STOP_BIT_2 + } > 0 + }; + + let mut field_id_position_count = + byte as usize & if first { 0b0001_1111 } else { 0b0011_1111 }; + + if (byte & STOP_BIT) == 0 { + byte = byte_array[*positions_pointer]; + *positions_pointer += 1; + + field_id_position_count = + field_id_position_count << 7 | (byte as usize & 0b01111111); + + if (byte & STOP_BIT) == 0 { + byte = byte_array[*positions_pointer]; + *positions_pointer += 1; + + field_id_position_count = + field_id_position_count << 7 | (byte as usize & 0b01111111); + } + } + + let field_id = (field_id_position_count & indexed_field_id_mask) as u16; + positions_count = (field_id_position_count >> indexed_field_id_bits) as u32; + + field_vec.push((field_id, positions_count as usize)); + + first = false; + + if (byte & STOP_BIT) > 0 && field_stop { + break; + } + } + } +} + +#[inline(always)] +pub(crate) fn decode_positions_singleterm_multifield( + shard: &Shard, + plo: &PostingListObjectSingle, + field_vec: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram1: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram2: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram3: &mut SmallVec<[(u16, usize); 2]>, +) { + let posting_pointer_size_sum = if (plo.p_docid as usize) < plo.pointer_pivot_p_docid as usize { + plo.p_docid as u32 * 2 + } else { + (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 + }; + + let mut positions_pointer = + (plo.rank_position_pointer_range + posting_pointer_size_sum) as usize; + + let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + read_u16(plo.byte_array, positions_pointer) as u32 + } else { + read_u32(plo.byte_array, positions_pointer) + }; + + if (rank_position_pointer + & (if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + 0b10000000_00000000 + } else { + 0b10000000_00000000_00000000 + })) + == 0 + { + let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + rank_position_pointer & 0b01111111_11111111 + } else { + rank_position_pointer & 0b01111111_11111111_11111111 + } as usize; + + positions_pointer = plo.rank_position_pointer_range as usize - pointer_value; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec_ngram1, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec_ngram2, + plo.byte_array, + &mut positions_pointer, + ); + } + _ => { + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec_ngram1, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec_ngram2, + plo.byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec_ngram3, + plo.byte_array, + &mut positions_pointer, + ); + } + } + + read_multifield_vec( + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id, + field_vec, + plo.byte_array, + &mut positions_pointer, + ); + } else { + let field_id; + + if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + match ( + shard.indexed_field_vec.len() == 1, + rank_position_pointer >> 12, + ) { + (true, 0b1000..=0b1011) => { + field_vec.push((0, 1)); + } + (true, 0b1100..=0b1111) => { + field_vec.push((0, 2)); + } + + (false, 0b1100 | 0b1101) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 1)); + } + (false, 0b1110 | 0b1111) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 2)); + } + + (false, 0b1000) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + } + (false, 0b1001) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + } + (false, 0b1010) => { + let position_bits = 12 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + } + (false, 0b1011) => { + let position_bits = + 12 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + } + + (_, _) => { + println!( + "unsupported single 2 byte pointer embedded {} {:032b}", + shard.indexed_field_vec.len() == 1, + rank_position_pointer >> 12 + ); + } + } + } else { + match ( + shard.indexed_field_vec.len() == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, + ) { + (true, 0b10000..=0b10011) => { + field_vec.push((0, 1)); + } + (true, 0b10100..=0b10111) => { + field_vec.push((0, 2)); + } + (true, 0b11000..=0b11011) => { + field_vec.push((0, 3)); + } + (true, 0b11100..=0b11111) => { + field_vec.push((0, 4)); + } + + (false, 0b11000 | 0b11001) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 1)); + } + (false, 0b11010 | 0b11011) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 2)); + } + (false, 0b11100 | 0b11101) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 3)); + } + (false, 0b11110 | 0b11111) => { + field_id = shard.longest_field_id as u16; + field_vec.push((field_id, 4)); + } + + (false, 0b10000) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + } + + (false, 0b10001) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + } + (false, 0b10010) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + } + (false, 0b10011) => { + let position_bits = 19 - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 4)); + } + (false, 0b10100) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + } + (false, 0b10101) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 2)]); + } + (false, 0b10110) => { + let position_bits = + 19 - shard.indexed_field_id_bits - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 2), (field_id_2, 1)]); + } + (false, 0b10111) => { + let position_bits = 19 + - shard.indexed_field_id_bits + - shard.indexed_field_id_bits + - shard.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + + shard.indexed_field_id_bits + + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_2 = + ((rank_position_pointer >> (position_bits + shard.indexed_field_id_bits)) + & shard.indexed_field_id_mask as u32) as u16; + let field_id_3 = ((rank_position_pointer >> position_bits) + & shard.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); + } + + (_, _) => { + println!( + "unsupported single 3 byte pointer embedded {} {:032b}", + shard.indexed_field_vec.len() == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19 + ); + } + } + }; + } +} + +#[inline(always)] +pub(crate) fn read_singlefield_value( + positions_count: &mut u32, + byte_array: &[u8], + positions_pointer: &mut u32, +) { + let mut positions_count_internal = byte_array[*positions_pointer as usize] as u32; + *positions_pointer += 1; + if (positions_count_internal & STOP_BIT as u32) > 0 { + positions_count_internal &= 0b01111111 + } else { + positions_count_internal = (positions_count_internal & 0b01111111) << 7; + let positions_count2 = byte_array[*positions_pointer as usize] as u32; + *positions_pointer += 1; + if (positions_count2 & STOP_BIT as u32) > 0 { + positions_count_internal |= positions_count2 & 0b01111111 + } else { + positions_count_internal = (positions_count_internal << 7) + | (positions_count2 & 0b01111111) << 7 + | (byte_array[*positions_pointer as usize] & 0b01111111) as u32; + } + }; + *positions_count = positions_count_internal; +} + +#[inline(always)] +pub(crate) fn decode_positions_singleterm_singlefield( + plo: &PostingListObjectSingle, + tf_ngram1: &mut u32, + tf_ngram2: &mut u32, + tf_ngram3: &mut u32, + positions_count: &mut u32, +) { + let posting_pointer_size_sum = if (plo.p_docid as usize) < plo.pointer_pivot_p_docid as usize { + plo.p_docid as u32 * 2 + } else { + (plo.p_docid as u32) * 3 - plo.pointer_pivot_p_docid as u32 + }; + + let mut positions_pointer = plo.rank_position_pointer_range + posting_pointer_size_sum; + + let rank_position_pointer = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + read_u16(plo.byte_array, positions_pointer as usize) as u32 + } else { + read_u32(plo.byte_array, positions_pointer as usize) + }; + + if (rank_position_pointer + & (if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + 0b10000000_00000000 + } else { + 0b10000000_00000000_00000000 + })) + == 0 + { + let pointer_value = if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + rank_position_pointer & 0b01111111_11111111 + } else { + rank_position_pointer & 0b01111111_11111111_11111111 + } as usize; + + positions_pointer = plo.rank_position_pointer_range - pointer_value as u32; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + read_singlefield_value(tf_ngram1, plo.byte_array, &mut positions_pointer); + read_singlefield_value(tf_ngram2, plo.byte_array, &mut positions_pointer); + } + _ => { + read_singlefield_value(tf_ngram1, plo.byte_array, &mut positions_pointer); + read_singlefield_value(tf_ngram2, plo.byte_array, &mut positions_pointer); + read_singlefield_value(tf_ngram3, plo.byte_array, &mut positions_pointer); + } + } + + read_singlefield_value(positions_count, plo.byte_array, &mut positions_pointer); + } else if plo.p_docid < plo.pointer_pivot_p_docid as i32 { + match rank_position_pointer >> 14 { + 0b10 => { + *positions_count = 1; + } + 0b11 => { + *positions_count = 2; + } + + _ => { + println!( + "unsupported single 2 byte pointer embedded {:032b}", + rank_position_pointer >> 14 + ); + } + } + } else { + match (rank_position_pointer & 0b11111111_11111111_11111111) >> 21 { + 0b100 => { + *positions_count = 1; + } + 0b101 => { + *positions_count = 2; + } + 0b110 => { + *positions_count = 3; + } + 0b111 => { + *positions_count = 4; + } + + _ => { + println!( + "unsupported single 3 byte pointer embedded {:032b}", + (rank_position_pointer & 0b11111111_11111111_11111111) >> 21 + ); + } + } + } +} + +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn decode_positions_commit( + posting_pointer_size: u8, + embed_flag: bool, + byte_array: &[u8], + pointer: usize, + ngram_type: &NgramType, + indexed_field_vec_len: usize, + indexed_field_id_bits: usize, + indexed_field_id_mask: usize, + longest_field_id: u16, + + field_vec: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram1: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram2: &mut SmallVec<[(u16, usize); 2]>, + field_vec_ngram3: &mut SmallVec<[(u16, usize); 2]>, +) { + let mut positions_pointer = pointer; + + if !embed_flag { + match ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec_ngram1, + byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec_ngram2, + byte_array, + &mut positions_pointer, + ); + } + _ => { + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec_ngram1, + byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec_ngram2, + byte_array, + &mut positions_pointer, + ); + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec_ngram3, + byte_array, + &mut positions_pointer, + ); + } + } + + read_multifield_vec( + indexed_field_vec_len, + indexed_field_id_bits, + indexed_field_id_mask, + longest_field_id as usize, + field_vec, + byte_array, + &mut positions_pointer, + ); + } else { + let rank_position_pointer = if posting_pointer_size == 2 { + read_u16(byte_array, positions_pointer) as u32 + } else { + read_u32(byte_array, positions_pointer) + }; + + let field_id; + + if posting_pointer_size == 2 { + match (indexed_field_vec_len == 1, rank_position_pointer >> 12) { + (true, 0b1000..=0b1011) => { + field_vec.push((0, 1)); + } + (true, 0b1100..=0b1111) => { + field_vec.push((0, 2)); + } + + (false, 0b1100 | 0b1101) => { + field_id = longest_field_id; + field_vec.push((field_id, 1)); + } + (false, 0b1110 | 0b1111) => { + field_id = longest_field_id; + field_vec.push((field_id, 2)); + } + + (false, 0b1000) => { + let position_bits = 12 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + } + (false, 0b1001) => { + let position_bits = 12 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + } + (false, 0b1010) => { + let position_bits = 12 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + } + (false, 0b1011) => { + let position_bits = 12 - indexed_field_id_bits - indexed_field_id_bits; + field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + } + + (_, _) => { + println!( + "unsupported single 2 byte pointer embedded commit {} {:032b}", + indexed_field_vec_len == 1, + rank_position_pointer >> 12 + ); + } + } + } else { + match ( + indexed_field_vec_len == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, + ) { + (true, 0b10000..=0b10011) => { + field_vec.push((0, 1)); + } + (true, 0b10100..=0b10111) => { + field_vec.push((0, 2)); + } + (true, 0b11000..=0b11011) => { + field_vec.push((0, 3)); + } + (true, 0b11100..=0b11111) => { + field_vec.push((0, 4)); + } + + (false, 0b11000 | 0b11001) => { + field_id = longest_field_id; + field_vec.push((field_id, 1)); + } + (false, 0b11010 | 0b11011) => { + field_id = longest_field_id; + field_vec.push((field_id, 2)); + } + (false, 0b11100 | 0b11101) => { + field_id = longest_field_id; + field_vec.push((field_id, 3)); + } + (false, 0b11110 | 0b11111) => { + field_id = longest_field_id; + field_vec.push((field_id, 4)); + } + + (false, 0b10000) => { + let position_bits = 19 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 1)); + } + + (false, 0b10001) => { + let position_bits = 19 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 2)); + } + (false, 0b10010) => { + let position_bits = 19 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 3)); + } + (false, 0b10011) => { + let position_bits = 19 - indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.push((field_id, 4)); + } + (false, 0b10100) => { + let position_bits = 19 - indexed_field_id_bits - indexed_field_id_bits; + field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + } + (false, 0b10101) => { + let position_bits = 19 - indexed_field_id_bits - indexed_field_id_bits; + field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.extend([(field_id, 1), (field_id_2, 2)]); + } + (false, 0b10110) => { + let position_bits = 19 - indexed_field_id_bits - indexed_field_id_bits; + field_id = ((rank_position_pointer >> (position_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.extend([(field_id, 2), (field_id_2, 1)]); + } + (false, 0b10111) => { + let position_bits = + 19 - indexed_field_id_bits - indexed_field_id_bits - indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + indexed_field_id_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_2 = ((rank_position_pointer + >> (position_bits + indexed_field_id_bits)) + & indexed_field_id_mask as u32) as u16; + let field_id_3 = ((rank_position_pointer >> position_bits) + & indexed_field_id_mask as u32) as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); + } + + (_, _) => { + println!( + "unsupported single 3 byte pointer embedded commit {} {:032b}", + indexed_field_vec_len == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19 + ); + } + } + }; + } +} + +/// Post processing after AND intersection candidates have been found +/// Phrase intersection +/// BM25 ranking vs. seekstorm ranking (implicit phrase search, term proximity, field type boost, source reputation) +/// BM25 is default baseline in IR academics, but exhibits inferior relevance for practical use +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn add_result_multiterm_multifield( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, + block_score: f32, + all_terms_frequent: bool, +) { + if shard.indexed_field_vec.len() == 1 { + add_result_multiterm_singlefield( + shard, + docid, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + return; + } + + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + let local_docid = docid & 0b11111111_11111111; + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + match &plo.compression_type { + CompressionType::Array => { + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + plo.docid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + (plo.p_docid << 1), + ) as i32; + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + CompressionType::Bitmap => { + if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] + & (1 << (local_docid & 7))) + > 0 + { + return; + } + } + CompressionType::Rle => { + if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { + return; + } else { + while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) + < plo.p_docid_count + && local_docid > plo.run_end as usize + { + let startdocid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize, + ); + let runlength = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize + 2, + ); + plo.docid = startdocid as i32; + plo.run_end = (startdocid + runlength) as i32; + plo.p_run_sum += runlength as i32; + plo.p_run += 4; + + if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize + { + return; + } + } + } + } + _ => {} + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + match *result_type { + ResultType::Count => { + if !phrase_query && field_filter_set.is_empty() { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + } + ResultType::Topk => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + } + ResultType::TopkCount => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && !phrase_query + && field_filter_set.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + } + } + + let mut bm25: f32 = 0.0; + + for plo in query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + if decode_positions_multiterm_multifield( + shard, + plo, + !facet_filter.is_empty(), + phrase_query, + all_terms_frequent && field_filter_set.is_empty(), + ) { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + + if !field_filter_set.is_empty() + && plo.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() + { + let mut match_flag = false; + for field in plo.field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + + if result_type == &ResultType::Topk && phrase_query { + bm25 = get_bm25f_multiterm_multifield(shard, docid, query_list); + + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && bm25 <= search_result.topk_candidates._elements[0].score + { + return; + } + } + + if phrase_query { + let len = query_list.len(); + let mut index_transpose = vec![0; len]; + for i in 0..len { + index_transpose[query_list[i].term_index_unique] = i; + } + + let mut phrasematch_count = 0; + if shard.indexed_field_vec.len() == 1 { + for plo in non_unique_query_list.iter_mut() { + plo.p_pos = 0; + let item = &query_list[index_transpose[plo.term_index_unique]]; + plo.positions_pointer = item.positions_pointer as usize; + plo.positions_count = item.positions_count; + + plo.is_embedded = item.is_embedded; + plo.embedded_positions = item.embedded_positions; + + plo.pos = get_next_position_singlefield(plo); + } + + non_unique_query_list.sort_unstable_by(|x, y| { + x.positions_count.partial_cmp(&y.positions_count).unwrap() + }); + + let t1 = 0; + let mut t2 = 1; + let mut pos1 = non_unique_query_list[t1].pos; + let mut pos2 = non_unique_query_list[t2].pos; + + loop { + match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) + .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) + { + Ordering::Less => { + if t2 > 1 { + t2 = 1; + pos2 = non_unique_query_list[t2].pos; + } + + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; + } + + Ordering::Greater => { + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + pos2 = non_unique_query_list[t2].pos + + get_next_position_singlefield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + Ordering::Equal => { + if t2 + 1 < non_unique_query_list.len() { + t2 += 1; + pos2 = non_unique_query_list[t2].pos; + continue; + } + + phrasematch_count += 1; + if phrasematch_count >= 1 { + break; + } + + t2 = 1; + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + + pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; + pos2 = non_unique_query_list[t2].pos + + get_next_position_singlefield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + } + } + } else { + for plo in non_unique_query_list.iter_mut() { + let item = &query_list[index_transpose[plo.term_index_unique]]; + plo.positions_pointer = item.positions_pointer as usize; + plo.is_embedded = item.is_embedded; + plo.embedded_positions = item.embedded_positions; + plo.field_vec.clone_from(&item.field_vec); + plo.p_pos = 0; + plo.positions_count = item.positions_count; + plo.p_field = 0; + } + + 'main: for i in 0..shard.indexed_field_vec.len() as u16 { + for plo in non_unique_query_list.iter_mut() { + while plo.field_vec[plo.p_field].0 < i { + if !plo.is_embedded { + for _ in plo.p_pos..plo.field_vec[plo.p_field].1 as i32 { + get_next_position_multifield(plo); + } + } + if plo.p_field < plo.field_vec.len() - 1 { + plo.p_field += 1; + plo.p_pos = 0; + } else { + break 'main; + } + } + if plo.field_vec[plo.p_field].0 > i { + continue 'main; + } + } + + for plo in non_unique_query_list.iter_mut() { + plo.p_pos = 0; + plo.positions_count = plo.field_vec[plo.p_field].1 as u32; + plo.pos = get_next_position_multifield(plo); + } + + if !field_filter_set.is_empty() && !field_filter_set.contains(&i) { + continue; + } + + non_unique_query_list.sort_unstable_by(|x, y| { + x.positions_count.partial_cmp(&y.positions_count).unwrap() + }); + + let t1 = 0; + let mut t2 = 1; + let mut pos1 = non_unique_query_list[t1].pos; + let mut pos2 = non_unique_query_list[t2].pos; + + loop { + match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) + .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) + { + Ordering::Less => { + if t2 > 1 { + t2 = 1; + pos2 = non_unique_query_list[t2].pos; + } + + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(1) { + item.p_pos += 1 + } + } + break; + } + pos1 += + get_next_position_multifield(&mut non_unique_query_list[t1]) + 1; + } + Ordering::Greater => { + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for (j, item) in non_unique_query_list.iter_mut().enumerate() { + if j != t2 { + item.p_pos += 1 + } + } + } + break; + } + pos2 = non_unique_query_list[t2].pos + + get_next_position_multifield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + Ordering::Equal => { + if t2 + 1 < non_unique_query_list.len() { + t2 += 1; + pos2 = non_unique_query_list[t2].pos; + continue; + } + + phrasematch_count += 1; + if phrasematch_count >= 1 { + break 'main; + } + + t2 = 1; + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(1) { + item.p_pos += 1 + } + } + break; + } + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(2) { + item.p_pos += 1 + } + } + break; + } + + pos1 += + get_next_position_multifield(&mut non_unique_query_list[t1]) + 1; + pos2 = non_unique_query_list[t2].pos + + get_next_position_multifield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + } + } + } + } + + if phrase_query && (phrasematch_count == 0) { + return; + } + } + + facet_count(shard, search_result, docid); + + *result_count += 1; + if result_type == &ResultType::Count { + return; + } + + if result_type != &ResultType::Topk || !phrase_query { + bm25 = get_bm25f_multiterm_multifield(shard, docid, query_list); + } + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25, + }, + top_k, + ); +} + +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn add_result_multiterm_singlefield( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, + + block_score: f32, + all_terms_frequent: bool, +) { + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + let local_docid = docid & 0b11111111_11111111; + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + match &plo.compression_type { + CompressionType::Array => { + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + plo.docid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + (plo.p_docid << 1), + ) as i32; + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + CompressionType::Bitmap => { + if (plo.byte_array[plo.compressed_doc_id_range + (local_docid >> 3)] + & (1 << (local_docid & 7))) + > 0 + { + return; + } + } + CompressionType::Rle => { + if local_docid >= plo.docid as usize && local_docid <= plo.run_end as usize { + return; + } else { + while (plo.p_run_sum as usize) + ((plo.p_run as usize - 2) >> 2) + < plo.p_docid_count + && local_docid > plo.run_end as usize + { + let startdocid = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize, + ); + let runlength = read_u16( + plo.byte_array, + plo.compressed_doc_id_range + plo.p_run as usize + 2, + ); + plo.docid = startdocid as i32; + plo.run_end = (startdocid + runlength) as i32; + plo.p_run_sum += runlength as i32; + plo.p_run += 4; + + if local_docid >= startdocid as usize && local_docid <= plo.run_end as usize + { + return; + } + } + } + } + _ => {} + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + match *result_type { + ResultType::Count => { + if !phrase_query && field_filter_set.is_empty() { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + } + ResultType::Topk => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + return; + } + } + ResultType::TopkCount => { + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && !phrase_query + && field_filter_set.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + } + } + + let mut bm25: f32 = 0.0; + + for plo in query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + if decode_positions_multiterm_singlefield( + plo, + !facet_filter.is_empty(), + phrase_query, + all_terms_frequent && field_filter_set.is_empty(), + ) { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + + if !field_filter_set.is_empty() + && plo.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() + { + let mut match_flag = false; + for field in plo.field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + + if result_type == &ResultType::Topk && phrase_query { + bm25 = get_bm25f_multiterm_singlefield(shard, docid, query_list); + + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && search_result.topk_candidates.current_heap_size >= top_k + && bm25 <= search_result.topk_candidates._elements[0].score + { + return; + } + } + + if phrase_query { + let len = query_list.len(); + let mut index_transpose = vec![0; len]; + for i in 0..len { + index_transpose[query_list[i].term_index_unique] = i; + } + + let mut phrasematch_count = 0; + + for plo in non_unique_query_list.iter_mut() { + plo.p_pos = 0; + let item = &query_list[index_transpose[plo.term_index_unique]]; + + plo.positions_pointer = item.positions_pointer as usize; + plo.positions_count = item.positions_count; + + plo.is_embedded = item.is_embedded; + plo.embedded_positions = item.embedded_positions; + + plo.pos = get_next_position_singlefield(plo); + } + + non_unique_query_list + .sort_unstable_by(|x, y| x.positions_count.partial_cmp(&y.positions_count).unwrap()); + + let t1 = 0; + let mut t2 = 1; + let mut pos1 = non_unique_query_list[t1].pos; + let mut pos2 = non_unique_query_list[t2].pos; + + loop { + match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) + .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) + { + Ordering::Less => { + if t2 > 1 { + t2 = 1; + pos2 = non_unique_query_list[t2].pos; + } + + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; + } + Ordering::Greater => { + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + pos2 = non_unique_query_list[t2].pos + + get_next_position_singlefield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + Ordering::Equal => { + if t2 + 1 < non_unique_query_list.len() { + t2 += 1; + pos2 = non_unique_query_list[t2].pos; + continue; + } + + phrasematch_count += 1; + if phrasematch_count >= 1 { + break; + } + + t2 = 1; + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + + pos1 += get_next_position_singlefield(&mut non_unique_query_list[t1]) + 1; + pos2 = non_unique_query_list[t2].pos + + get_next_position_singlefield(&mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + } + } + + if phrase_query && (phrasematch_count == 0) { + return; + } + } + + facet_count(shard, search_result, docid); + + *result_count += 1; + if result_type == &ResultType::Count { + return; + } + + if result_type != &ResultType::Topk || !phrase_query { + bm25 = get_bm25f_multiterm_singlefield(shard, docid, query_list); + } + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25, + }, + top_k, + ); +} diff --git a/mobile_app/rust/src/seekstorm/commit.rs b/mobile_app/rust/src/seekstorm/commit.rs new file mode 100644 index 0000000..99d1db2 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/commit.rs @@ -0,0 +1,1142 @@ +use memmap2::{Mmap, MmapMut, MmapOptions}; +use num::FromPrimitive; +use num_format::{Locale, ToFormattedString}; + +use std::{ + fs::File, + io::{Seek, SeekFrom, Write}, + path::PathBuf, +}; + +use crate::{ + add_result::{ + B, K, decode_positions_multiterm_multifield, decode_positions_multiterm_singlefield, + get_next_position_multifield, get_next_position_singlefield, + }, + compatible::{_blsr_u64, _mm_tzcnt_64}, + compress_postinglist::compress_postinglist, + index::{ + AccessType, BlockObjectIndex, CompressionType, DOCUMENT_LENGTH_COMPRESSION, + FACET_VALUES_FILENAME, IndexArc, LevelIndex, MAX_POSITIONS_PER_TERM, NgramType, + NonUniquePostingListObjectQuery, POSTING_BUFFER_SIZE, PostingListObjectIndex, + PostingListObjectQuery, ROARING_BLOCK_SIZE, Shard, TermObject, + update_list_max_impact_score, warmup, + }, + utils::{ + block_copy, block_copy_mut, read_u8, read_u16, read_u32, read_u64, write_u16, write_u32, + write_u64, + }, +}; + +/// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM +/// to the final compressed data structure (roaring bitmap) on Mmap or disk - +/// which is persistent, more compact, with lower query latency and allows search with realtime=false. +/// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). +/// There is no way to prevent this automatic commit by not manually invoking it. +/// But commit can also be invoked manually at any time at any number of newly indexed documents. +/// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability +/// is invoked implicitly with every index_doc, +/// i.e. the document can immediately searched and included in the search results +/// if it matches the query AND the query paramter realtime=true is enabled. +/// **Use commit with caution, as it is an expensive operation**. +/// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. +/// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. +/// There are only 2 reasons that justify a manual commit: +/// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or +/// 2. if after indexing new documents there won't be more documents indexed (for some time), +/// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, +/// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. +#[allow(async_fn_in_trait)] +pub trait Commit { + /// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM + /// to the final compressed data structure (roaring bitmap) on Mmap or disk - + /// which is persistent, more compact, with lower query latency and allows search with realtime=false. + /// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). + /// There is no way to prevent this automatic commit by not manually invoking it. + /// But commit can also be invoked manually at any time at any number of newly indexed documents. + /// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability + /// is invoked implicitly with every index_doc, + /// i.e. the document can immediately searched and included in the search results + /// if it matches the query AND the query paramter realtime=true is enabled. + /// **Use commit with caution, as it is an expensive operation**. + /// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. + /// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. + /// There are only 2 reasons that justify a manual commit: + /// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or + /// 2. if after indexing new documents there won't be more documents indexed (for some time), + /// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, + /// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. + async fn commit(&self); +} + +/// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM +/// to the final compressed data structure (roaring bitmap) on Mmap or disk - +/// which is persistent, more compact, with lower query latency and allows search with realtime=false. +/// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). +/// There is no way to prevent this automatic commit by not manually invoking it. +/// But commit can also be invoked manually at any time at any number of newly indexed documents. +/// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability +/// is invoked implicitly with every index_doc, +/// i.e. the document can immediately searched and included in the search results +/// if it matches the query AND the query paramter realtime=true is enabled. +/// **Use commit with caution, as it is an expensive operation**. +/// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. +/// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. +/// There are only 2 reasons that justify a manual commit: +/// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or +/// 2. if after indexing new documents there won't be more documents indexed (for some time), +/// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, +/// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. +impl Commit for IndexArc { + /// Commit moves indexed documents from the intermediate uncompressed data structure (array lists/HashMap, queryable by realtime search) in RAM + /// to the final compressed data structure (roaring bitmap) on Mmap or disk - + /// which is persistent, more compact, with lower query latency and allows search with realtime=false. + /// Commit is invoked automatically each time 64K documents are newly indexed as well as on close_index (e.g. server quit). + /// There is no way to prevent this automatic commit by not manually invoking it. + /// But commit can also be invoked manually at any time at any number of newly indexed documents. + /// commit is a **hard commit** for persistence on disk. A **soft commit** for searchability + /// is invoked implicitly with every index_doc, + /// i.e. the document can immediately searched and included in the search results + /// if it matches the query AND the query paramter realtime=true is enabled. + /// **Use commit with caution, as it is an expensive operation**. + /// **Usually, there is no need to invoke it manually**, as it is invoked automatically every 64k documents and when the index is closed with close_index. + /// Before terminating the program, always call close_index (commit), otherwise all documents indexed since last (manual or automatic) commit are lost. + /// There are only 2 reasons that justify a manual commit: + /// 1. if you want to search newly indexed documents without using realtime=true for search performance reasons or + /// 2. if after indexing new documents there won't be more documents indexed (for some time), + /// so there won't be (soon) a commit invoked automatically at the next 64k threshold or close_index, + /// but you still need immediate persistence guarantees on disk to protect against data loss in the event of a crash. + async fn commit(&self) { + let index_ref = self.read().await; + let uncommitted_doc_count = index_ref.uncommitted_doc_count().await; + + for shard in index_ref.shard_vec.iter() { + let p = shard.read().await.permits.clone(); + let permit = p.acquire().await.unwrap(); + + let indexed_doc_count = shard.read().await.indexed_doc_count; + shard.write().await.commit(indexed_doc_count).await; + warmup(shard).await; + drop(permit); + } + + if !index_ref.mute { + println!( + "commit index {} level {} committed documents {} {}", + index_ref.meta.id, + index_ref.level_count().await, + uncommitted_doc_count, + index_ref.indexed_doc_count().await, + ); + } + + drop(index_ref); + } +} + +impl Shard { + pub(crate) async fn commit(&mut self, indexed_doc_count: usize) { + if !self.uncommitted { + return; + } + + let is_last_level_incomplete = self.is_last_level_incomplete; + if self.is_last_level_incomplete { + self.merge_incomplete_index_level_to_level0(); + + self.index_file_mmap = unsafe { + MmapOptions::new() + .len(0) + .map(&self.index_file) + .expect("Unable to create Mmap") + }; + + if let Err(e) = self + .index_file + .set_len(self.last_level_index_file_start_pos) + { + println!( + "Unable to index_file.set_len in clear_index {} {} {:?}", + self.index_path_string, self.indexed_doc_count, e + ) + }; + let _ = self + .index_file + .seek(SeekFrom::Start(self.last_level_index_file_start_pos)); + + let idx = self.level_index.len() - 1; + if self.meta.access_type == AccessType::Mmap { + self.index_file_mmap = + unsafe { Mmap::map(&self.index_file).expect("Unable to create Mmap") }; + + for segment in self.segments_index.iter_mut() { + if idx == segment.byte_array_blocks_pointer.len() - 1 { + segment.byte_array_blocks_pointer.remove(idx); + } + } + } else { + for segment in self.segments_index.iter_mut() { + if idx == segment.byte_array_blocks.len() - 1 { + segment.byte_array_blocks.remove(idx); + } + } + + for key0 in 0..self.segment_number1 { + for item in self.segments_index[key0].segment.iter_mut() { + if let Some(block) = item.1.blocks.last() + && block.block_id as usize == idx + { + item.1.posting_count -= block.posting_count as u32 + 1; + item.1.blocks.remove(idx); + } + } + self.segments_index[key0] + .segment + .retain(|_key, value| !value.blocks.is_empty()) + } + } + } else { + self.last_level_index_file_start_pos = self.index_file.stream_position().unwrap(); + self.last_level_docstore_file_start_pos = self.docstore_file.stream_position().unwrap(); + }; + + if self.committed_doc_count / ROARING_BLOCK_SIZE == 0 { + write_u16( + self.longest_field_id as u16, + &mut self.compressed_index_segment_block_buffer, + 0, + ); + + let _ = self + .index_file + .write(&self.compressed_index_segment_block_buffer[0..2]); + } + + let document_length_compressed_array_pointer = + self.index_file.stream_position().unwrap() as usize; + + for document_length_compressed_array in self.document_length_compressed_array.iter_mut() { + let _ = self.index_file.write(document_length_compressed_array); + } + + if !self.mute { + println!( + "commit index {} level {} indexed documents {}", + self.meta.id, + self.level_index.len(), + indexed_doc_count.to_formatted_string(&Locale::en), + ); + } + + write_u64( + indexed_doc_count as u64, + &mut self.compressed_index_segment_block_buffer, + 0, + ); + write_u64( + self.positions_sum_normalized, + &mut self.compressed_index_segment_block_buffer, + 8, + ); + + let _ = self + .index_file + .write(&self.compressed_index_segment_block_buffer[0..16]); + + let segment_head_position = self.index_file.stream_position().unwrap() as usize; + self.index_file + .seek(SeekFrom::Current((self.segment_number1 * 8) as i64)) + .unwrap(); + + self.document_length_normalized_average = + self.positions_sum_normalized as f32 / indexed_doc_count as f32; + + for (i, component) in self.bm25_component_cache.iter_mut().enumerate() { + let document_length_quotient = + DOCUMENT_LENGTH_COMPRESSION[i] as f32 / self.document_length_normalized_average; + *component = K * (1.0 - B + B * document_length_quotient); + } + + for k0 in 0..self.segment_number1 { + let strip_compressed = self.commit_segment(k0); + self.strip_compressed_sum += strip_compressed as u64; + self.key_count_sum += self.segments_level0[k0].segment.len() as u64; + } + + if !is_last_level_incomplete { + let mut document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]> = Vec::new(); + if self.meta.access_type != AccessType::Mmap { + for document_length_compressed_array_item in + self.document_length_compressed_array.iter_mut() + { + document_length_compressed_array.push(*document_length_compressed_array_item); + } + } + + self.level_index.push(LevelIndex { + document_length_compressed_array, + document_length_compressed_array_pointer, + docstore_pointer_docs: Vec::new(), + docstore_pointer_docs_pointer: 0, + }); + } + + for document_length_compressed_array in self.document_length_compressed_array.iter_mut() { + *document_length_compressed_array = [0; ROARING_BLOCK_SIZE]; + } + + let segment_head_position2 = self.index_file.stream_position().unwrap() as usize; + self.index_file + .seek(SeekFrom::Start(segment_head_position as u64)) + .unwrap(); + let segment_head_position3 = + self.compressed_index_segment_block_buffer.len() - (self.segment_number1 * 8); + let _ = self + .index_file + .write(&self.compressed_index_segment_block_buffer[segment_head_position3..]); + + let _ = self.index_file.flush(); + + self.index_file + .seek(SeekFrom::Start(segment_head_position2 as u64)) + .unwrap(); + + if !self.stored_field_names.is_empty() { + self.commit_docstore(indexed_doc_count, is_last_level_incomplete); + } + + if self.meta.access_type == AccessType::Mmap { + self.index_file.flush().expect("Unable to flush Mmap"); + + self.index_file_mmap = + unsafe { Mmap::map(&self.index_file).expect("Unable to create Mmap") }; + } + + if !self.facets.is_empty() { + self.facets_file_mmap.flush().expect("Unable to flush Mmap"); + if self.facets_file.metadata().unwrap().len() + != (self.facets_size_sum * (self.level_index.len() + 1) * ROARING_BLOCK_SIZE) as u64 + { + if let Err(e) = self.facets_file.set_len( + (self.facets_size_sum * (self.level_index.len() + 1) * ROARING_BLOCK_SIZE) + as u64, + ) { + println!("Unable to facets_file.set_len in commit {:?}", e) + }; + + self.facets_file_mmap = + unsafe { MmapMut::map_mut(&self.facets_file).expect("Unable to create Mmap") }; + } + + let index_path = PathBuf::new(&self.index_path_string); + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(FACET_VALUES_FILENAME)).unwrap(), + &self.facets, + ) + .unwrap(); + } + + self.string_set_to_single_term_id(); + + update_list_max_impact_score(self); + + self.committed_doc_count = indexed_doc_count; + self.is_last_level_incomplete = + !(self.committed_doc_count).is_multiple_of(ROARING_BLOCK_SIZE); + + if let Some(root_index_arc) = &self.index_option { + let root_index = root_index_arc.read().await; + + if let Some(root_completion_option) = root_index.completion_option.as_ref() { + let mut root_completions = root_completion_option.write().await; + for completion in self.level_completions.read().await.iter() { + if root_completions.len() < root_index.max_completion_entries { + root_completions.add_completion(&completion.0.join(" "), *completion.1); + } + } + + self.level_completions.write().await.clear(); + } + + if let Some(symspell) = root_index.symspell_option.as_ref() { + if symspell.read().await.get_dictionary_size() < root_index.max_dictionary_entries { + for key0 in 0..self.segment_number1 { + for key in self.segments_level0[key0].segment.keys() { + let plo = self.segments_level0[key0].segment.get(key).unwrap(); + + if self.meta.spelling_correction.is_some() + && symspell.read().await.get_dictionary_size() + < root_index.max_dictionary_entries + && key & 7 == 0 + && let Some(term) = self.level_terms.get(&((key >> 32) as u32)) + { + let mut symspell = symspell.write().await; + symspell.create_dictionary_entry(term.clone(), plo.posting_count); + drop(symspell); + }; + } + } + } + self.level_terms.clear(); + }; + }; + + self.compressed_index_segment_block_buffer = vec![0; 10_000_000]; + self.postings_buffer = vec![0; POSTING_BUFFER_SIZE]; + + self.postings_buffer_pointer = 0; + self.strip_compressed_sum = 0; + + for segment in self.segments_level0.iter_mut() { + segment.segment.clear(); + } + + self.uncommitted = false; + } + + /// Flush a single segment from the key hash range partitioned level to RAM and disk + pub(crate) fn commit_segment(&mut self, key0: usize) -> usize { + let block_id = self.block_id as u32; + + let mut key_head_pointer_w: usize = 0; + let segment_head_position = self.compressed_index_segment_block_buffer.len() + - (self.segment_number1 * 8) + + (key0 * 8) + + 4; + write_u32( + self.segments_level0[key0].segment.len() as u32, + &mut self.compressed_index_segment_block_buffer, + segment_head_position, + ); + + let mut key_body_pointer_w: usize = + key_head_pointer_w + (self.segments_level0[key0].segment.len() * self.key_head_size); + let key_body_pointer_wstart: usize = key_body_pointer_w; + + let mut key_list: Vec = self.segments_level0[key0].segment.keys().cloned().collect(); + key_list.sort_unstable(); + + for key in key_list.iter() { + let plo = self.segments_level0[key0].segment.get_mut(key).unwrap(); + + let mut key_position_pointer_w: usize = key_body_pointer_w; + let key_rank_position_pointer_w: usize = + key_body_pointer_w + plo.size_compressed_positions_key; + + let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 + + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { + (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + + let size_compressed_positions_key = + plo.size_compressed_positions_key + posting_pointer_size_sum; + + let key_docid_pointer_w: usize = key_body_pointer_w + size_compressed_positions_key; + + let mut size_compressed_docid_key; + + let key_body_offset = + key_rank_position_pointer_w as u32 - key_body_pointer_wstart as u32; + + size_compressed_docid_key = compress_postinglist( + self, + &mut key_head_pointer_w, + &mut key_position_pointer_w, + key_body_offset, + &key0, + key, + ); + + key_body_pointer_w = key_docid_pointer_w + size_compressed_docid_key; + + size_compressed_docid_key += self.key_head_size; + + self.size_compressed_docid_index += size_compressed_docid_key as u64; + self.size_compressed_positions_index += size_compressed_positions_key as u64; + } + + let compressed_segment_block_size = key_body_pointer_w; + + let segment_head_position = self.compressed_index_segment_block_buffer.len() + - (self.segment_number1 * 8) + + (key0 * 8); + + write_u32( + compressed_segment_block_size as u32, + &mut self.compressed_index_segment_block_buffer, + segment_head_position, + ); + + let file_position = self.index_file.stream_position().unwrap() as usize; + + let _ = self + .index_file + .write(&self.compressed_index_segment_block_buffer[0..compressed_segment_block_size]); + + if self.meta.access_type == AccessType::Mmap { + self.segments_index[key0].byte_array_blocks_pointer.push(( + file_position + key_body_pointer_wstart, + (compressed_segment_block_size - key_body_pointer_wstart), + key_list.len() as u32, + )); + } else { + let mut byte_array_docid: Vec = + vec![0; compressed_segment_block_size - key_body_pointer_wstart]; + block_copy_mut( + &mut self.compressed_index_segment_block_buffer, + key_body_pointer_wstart, + &mut byte_array_docid, + 0, + compressed_segment_block_size - key_body_pointer_wstart, + ); + + let mut posting_count_previous = 0; + let mut pointer_pivot_p_docid_previous = 0; + let mut compression_type_pointer_previous = 0; + + for (key_index, key) in key_list.iter().enumerate() { + let plo = self.segments_level0[key0].segment.get_mut(key).unwrap(); + + let value = self.segments_index[key0].segment.entry(*key).or_insert( + PostingListObjectIndex { + ..Default::default() + }, + ); + let exists: bool = value.posting_count > 0; + + if !self.indexed_doc_count.is_multiple_of(ROARING_BLOCK_SIZE) + && self.meta.access_type == AccessType::Ram + { + let position_range_previous = if key_index == 0 { + 0 + } else { + let posting_pointer_size_sum_previous = pointer_pivot_p_docid_previous + as usize + * 2 + + if (pointer_pivot_p_docid_previous as usize) < posting_count_previous + { + (posting_count_previous - pointer_pivot_p_docid_previous as usize) + * 3 + } else { + 0 + }; + + let rank_position_pointer_range_previous = compression_type_pointer_previous + & 0b0011_1111_1111_1111_1111_1111_1111_1111; + let compression_type_previous: CompressionType = FromPrimitive::from_i32( + (compression_type_pointer_previous >> 30) as i32, + ) + .unwrap(); + + let compressed_docid_previous = match compression_type_previous { + CompressionType::Array => posting_count_previous * 2, + CompressionType::Bitmap => 8192, + CompressionType::Rle => { + 4 * read_u16( + &byte_array_docid, + rank_position_pointer_range_previous as usize + + posting_pointer_size_sum_previous, + ) as usize + + 2 + } + _ => 0, + }; + + rank_position_pointer_range_previous + + (posting_pointer_size_sum_previous + compressed_docid_previous) as u32 + }; + + value.position_range_previous = position_range_previous; + + posting_count_previous = plo.posting_count; + pointer_pivot_p_docid_previous = plo.pointer_pivot_p_docid; + compression_type_pointer_previous = plo.compression_type_pointer; + }; + + if exists { + value.posting_count += plo.posting_count as u32; + if self.meta.access_type != AccessType::Mmap { + value.blocks.push(BlockObjectIndex { + block_id, + posting_count: (plo.posting_count - 1) as u16, + max_block_score: plo.max_block_score, + max_docid: plo.max_docid, + max_p_docid: plo.max_p_docid, + pointer_pivot_p_docid: plo.pointer_pivot_p_docid, + compression_type_pointer: plo.compression_type_pointer, + }); + } + } else { + value.posting_count = plo.posting_count as u32; + value.max_list_score = 0.0; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { + value.posting_count_ngram_1_compressed = + plo.posting_count_ngram_1_compressed; + value.posting_count_ngram_2_compressed = + plo.posting_count_ngram_2_compressed; + } + _ => { + value.posting_count_ngram_1_compressed = + plo.posting_count_ngram_1_compressed; + value.posting_count_ngram_2_compressed = + plo.posting_count_ngram_2_compressed; + value.posting_count_ngram_3_compressed = + plo.posting_count_ngram_3_compressed; + } + } + + if self.meta.access_type != AccessType::Mmap { + value.blocks = vec![BlockObjectIndex { + block_id, + posting_count: (plo.posting_count - 1) as u16, + max_block_score: plo.max_block_score, + max_docid: plo.max_docid, + max_p_docid: plo.max_p_docid, + pointer_pivot_p_docid: plo.pointer_pivot_p_docid, + compression_type_pointer: plo.compression_type_pointer, + }] + } + } + } + + self.segments_index[key0] + .byte_array_blocks + .push(byte_array_docid); + } + + compressed_segment_block_size + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn add_docid( + self: &mut Shard, + plo: &mut PostingListObjectQuery, + docid: usize, + key_hash: u64, + key0: usize, + ngram_type: &NgramType, + posting_count_ngram_1_compressed: u8, + posting_count_ngram_2_compressed: u8, + posting_count_ngram_3_compressed: u8, + ) { + let mut field_positions_vec: Vec> = vec![Vec::new(); self.indexed_field_vec.len()]; + + if self.indexed_field_vec.len() == 1 { + decode_positions_multiterm_singlefield(plo, true, true, false); + + let mut plo2 = NonUniquePostingListObjectQuery { + positions_pointer: plo.positions_pointer as usize, + is_embedded: plo.is_embedded, + embedded_positions: plo.embedded_positions, + field_vec: plo.field_vec.clone(), + p_pos: 0, + p_field: 0, + positions_count: plo.positions_count, + key0: key0 as u32, + byte_array: plo.byte_array, + term_index_unique: 0, + term_index_nonunique: 0, + pos: 0, + }; + + let mut prev_pos = 0; + let mut one = 0; + for _ in 0..plo.positions_count { + plo2.pos = get_next_position_singlefield(&mut plo2); + let pos = prev_pos + plo2.pos as u16 + one; + field_positions_vec[0].push(pos); + prev_pos = pos; + one = 1; + plo2.p_pos += 1; + } + } else { + decode_positions_multiterm_multifield(self, plo, true, true, false); + + let mut plo2 = NonUniquePostingListObjectQuery { + positions_pointer: plo.positions_pointer as usize, + is_embedded: plo.is_embedded, + embedded_positions: plo.embedded_positions, + field_vec: plo.field_vec.clone(), + p_pos: 0, + p_field: 0, + positions_count: plo.positions_count, + key0: key0 as u32, + byte_array: plo.byte_array, + term_index_unique: 0, + term_index_nonunique: 0, + pos: 0, + }; + + for field in plo.field_vec.iter() { + let mut prev_pos = 0; + let mut one = 0; + for _ in 0..field.1 { + plo2.pos = get_next_position_multifield(&mut plo2); + let pos = prev_pos + plo2.pos as u16 + one; + field_positions_vec[field.0 as usize].push(pos); + prev_pos = pos; + one = 1; + plo2.p_pos += 1; + } + } + } + + let term = match ngram_type { + NgramType::SingleTerm => TermObject { + key_hash, + key0: key0 as u32, + ngram_type: ngram_type.clone(), + term_ngram_1: String::new(), + term_ngram_0: String::new(), + field_positions_vec, + + ..Default::default() + }, + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => TermObject { + key_hash, + key0: key0 as u32, + ngram_type: ngram_type.clone(), + term_ngram_1: String::new(), + term_ngram_0: String::new(), + field_positions_vec, + field_vec_ngram1: if self.indexed_field_vec.len() == 1 { + vec![(0, plo.tf_ngram1)] + } else { + plo.field_vec_ngram1 + .iter() + .map(|field| (field.0 as usize, field.1 as u32)) + .collect() + }, + + field_vec_ngram2: if self.indexed_field_vec.len() == 1 { + vec![(0, plo.tf_ngram2)] + } else { + plo.field_vec_ngram2 + .iter() + .map(|field| (field.0 as usize, field.1 as u32)) + .collect() + }, + + ..Default::default() + }, + _ => TermObject { + key_hash, + key0: key0 as u32, + ngram_type: ngram_type.clone(), + term_ngram_1: String::new(), + term_ngram_0: String::new(), + + field_positions_vec, + field_vec_ngram1: if self.indexed_field_vec.len() == 1 { + vec![(0, plo.tf_ngram1)] + } else { + plo.field_vec_ngram1 + .iter() + .map(|field| (field.0 as usize, field.1 as u32)) + .collect() + }, + + field_vec_ngram2: if self.indexed_field_vec.len() == 1 { + vec![(0, plo.tf_ngram2)] + } else { + plo.field_vec_ngram2 + .iter() + .map(|field| (field.0 as usize, field.1 as u32)) + .collect() + }, + + field_vec_ngram3: if self.indexed_field_vec.len() == 1 { + vec![(0, plo.tf_ngram3)] + } else { + plo.field_vec_ngram3 + .iter() + .map(|field| (field.0 as usize, field.1 as u32)) + .collect() + }, + + ..Default::default() + }, + }; + + self.index_posting( + term, + docid, + true, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn iterate_docid( + self: &mut Shard, + compression_type_pointer: u32, + pointer_pivot_p_docid: u16, + posting_count: u16, + block_id: usize, + key0: usize, + key_hash: u64, + ngram_type: NgramType, + posting_count_ngram_1_compressed: u8, + posting_count_ngram_2_compressed: u8, + posting_count_ngram_3_compressed: u8, + ) { + let compression_type: CompressionType = + FromPrimitive::from_i32((compression_type_pointer >> 30) as i32).unwrap(); + + let rank_position_pointer_range: u32 = + compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum = pointer_pivot_p_docid as u32 * 2 + + if (pointer_pivot_p_docid as usize) <= posting_count as usize { + ((posting_count as u32 + 1) - pointer_pivot_p_docid as u32) * 3 + } else { + 0 + }; + let compressed_doc_id_range: u32 = rank_position_pointer_range + posting_pointer_size_sum; + + let byte_array = if self.meta.access_type == AccessType::Mmap { + let segment = &self.segments_index[key0]; + let byte_array = &self.index_file_mmap[segment.byte_array_blocks_pointer[block_id].0 + ..segment.byte_array_blocks_pointer[block_id].0 + + segment.byte_array_blocks_pointer[block_id].1]; + byte_array.to_owned() + } else { + self.segments_index[key0].byte_array_blocks[block_id].to_owned() + }; + + let mut plo = PostingListObjectQuery { + rank_position_pointer_range, + pointer_pivot_p_docid, + byte_array: &byte_array, + p_docid: 0, + ngram_type: ngram_type.clone(), + ..Default::default() + }; + + match compression_type { + CompressionType::Array => { + for i in 0..=posting_count { + plo.p_docid = i as usize; + + let docid = (block_id << 16) + | read_u16( + &byte_array[compressed_doc_id_range as usize..], + i as usize * 2, + ) as usize; + + self.add_docid( + &mut plo, + docid, + key_hash, + key0, + &ngram_type, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + } + } + + CompressionType::Rle => { + let runs_count = + read_u16(&byte_array[compressed_doc_id_range as usize..], 0) as i32; + + plo.p_docid = 0; + for i in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &byte_array[compressed_doc_id_range as usize..], + i as usize * 2, + ); + let runlength = read_u16( + &byte_array[compressed_doc_id_range as usize..], + (i + 1) as usize * 2, + ); + + for j in 0..=runlength { + let docid = (block_id << 16) | (startdocid + j) as usize; + self.add_docid( + &mut plo, + docid, + key_hash, + key0, + &ngram_type, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + + plo.p_docid += 1; + } + } + } + + CompressionType::Bitmap => { + plo.p_docid = 0; + + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &byte_array[compressed_doc_id_range as usize..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = (block_id << 16) | ((ulong_pos << 6) + bit_pos) as usize; + + self.add_docid( + &mut plo, + docid, + key_hash, + key0, + &ngram_type, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + + plo.p_docid += 1; + } + } + } + + _ => {} + } + } + + pub(crate) fn merge_incomplete_index_level_to_level0(self: &mut Shard) { + for strip0 in self.segments_level0.iter_mut() { + if strip0.positions_compressed.is_empty() { + strip0.positions_compressed = vec![0; MAX_POSITIONS_PER_TERM * 2]; + } + } + + let block_id = self.level_index.len() - 1; + let committed_doc_count = (self.committed_doc_count - 1 % ROARING_BLOCK_SIZE) + 1; + + for i in 0..self.indexed_field_vec.len() { + if self.meta.access_type == AccessType::Mmap { + block_copy( + &self.index_file_mmap[self.level_index[block_id] + .document_length_compressed_array_pointer + + i * ROARING_BLOCK_SIZE..], + 0, + &mut self.document_length_compressed_array[i], + 0, + committed_doc_count, + ); + } else { + block_copy( + &self.level_index[block_id].document_length_compressed_array[i], + 0, + &mut self.document_length_compressed_array[i], + 0, + committed_doc_count, + ); + } + } + + for key0 in 0..self.segment_number1 { + if self.meta.access_type == AccessType::Mmap { + let pointer = self.segments_index[key0].byte_array_blocks_pointer[block_id]; + + let key_count = pointer.2 as usize; + + for key_index in 0..key_count { + let key_address; + let key_hash; + let posting_count; + + let ngram_type; + let posting_count_ngram_1_compressed; + let posting_count_ngram_2_compressed; + let posting_count_ngram_3_compressed; + let pointer_pivot_p_docid_old; + let compression_type_pointer; + { + let byte_array = &self.index_file_mmap + [pointer.0 - (key_count * self.key_head_size)..pointer.0]; + key_address = key_index * self.key_head_size; + key_hash = read_u64(byte_array, key_address); + posting_count = read_u16(byte_array, key_address + 8); + ngram_type = FromPrimitive::from_u64(key_hash & 0b111) + .unwrap_or(NgramType::SingleTerm); + match ngram_type { + NgramType::SingleTerm => { + posting_count_ngram_1_compressed = 0; + posting_count_ngram_2_compressed = 0; + posting_count_ngram_3_compressed = 0; + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + posting_count_ngram_1_compressed = + read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = + read_u8(byte_array, key_address + 15); + posting_count_ngram_3_compressed = 0; + } + _ => { + posting_count_ngram_1_compressed = + read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = + read_u8(byte_array, key_address + 15); + posting_count_ngram_3_compressed = + read_u8(byte_array, key_address + 16); + } + } + + pointer_pivot_p_docid_old = + read_u16(byte_array, key_address + self.key_head_size - 6); + compression_type_pointer = + read_u32(byte_array, key_address + self.key_head_size - 4); + } + + let mut pointer_pivot_p_docid_new = 0; + let mut size_compressed_positions_key_new = 0; + let mut pointer_first_new = 0; + let mut pointer_last_new = 0; + let mut pointer_first_old = 0; + let merge = match self.segments_level0[key0].segment.get_mut(&key_hash) { + Some(plo0) => { + pointer_pivot_p_docid_new = plo0.pointer_pivot_p_docid; + size_compressed_positions_key_new = plo0.size_compressed_positions_key; + plo0.pointer_pivot_p_docid = 0; + plo0.size_compressed_positions_key = 0; + + pointer_first_new = plo0.pointer_first; + pointer_last_new = plo0.pointer_last; + pointer_first_old = self.postings_buffer_pointer; + true + } + None => false, + }; + + self.iterate_docid( + compression_type_pointer, + pointer_pivot_p_docid_old, + posting_count, + block_id, + key0, + key_hash, + ngram_type, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + + if merge { + let plo0 = self.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + plo0.pointer_pivot_p_docid = if pointer_pivot_p_docid_new == 0 { + pointer_pivot_p_docid_old + } else { + pointer_pivot_p_docid_old + pointer_pivot_p_docid_new + }; + + plo0.size_compressed_positions_key = size_compressed_positions_key_new; + + let pointer_last_old = plo0.pointer_last; + plo0.pointer_first = pointer_first_old; + plo0.pointer_last = pointer_last_new; + + write_u32( + pointer_first_new as u32, + &mut self.postings_buffer, + pointer_last_old, + ); + } + } + } else { + let keys: Vec = self.segments_index[key0].segment.keys().cloned().collect(); + + for key_hash in keys { + let plo = &self.segments_index[key0].segment[&key_hash]; + let last_block = plo.blocks.last().unwrap(); + if last_block.block_id as usize != self.level_index.len() - 1 { + continue; + } + + let posting_count = last_block.posting_count; + + let posting_count_ngram_1_compressed = plo.posting_count_ngram_1_compressed; + let posting_count_ngram_2_compressed = plo.posting_count_ngram_2_compressed; + let posting_count_ngram_3_compressed = plo.posting_count_ngram_3_compressed; + + let pointer_pivot_p_docid = last_block.pointer_pivot_p_docid; + let compression_type_pointer = last_block.compression_type_pointer; + + let mut pointer_pivot_p_docid_new = 0; + let mut size_compressed_positions_key_new = 0; + let mut pointer_first_new = 0; + let mut pointer_last_new = 0; + let mut pointer_first_old = 0; + let merge = match self.segments_level0[key0].segment.get_mut(&key_hash) { + Some(plo0) => { + pointer_pivot_p_docid_new = plo0.pointer_pivot_p_docid; + size_compressed_positions_key_new = plo0.size_compressed_positions_key; + plo0.pointer_pivot_p_docid = 0; + plo0.size_compressed_positions_key = 0; + + pointer_first_new = plo0.pointer_first; + pointer_last_new = plo0.pointer_last; + pointer_first_old = self.postings_buffer_pointer; + true + } + None => false, + }; + + let ngram_type = + FromPrimitive::from_u64(key_hash & 0b111).unwrap_or(NgramType::SingleTerm); + + self.iterate_docid( + compression_type_pointer, + pointer_pivot_p_docid, + posting_count, + block_id, + key0, + key_hash, + ngram_type, + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ); + + if merge { + let plo0 = self.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + plo0.pointer_pivot_p_docid = if pointer_pivot_p_docid_new == 0 { + pointer_pivot_p_docid + } else { + pointer_pivot_p_docid + pointer_pivot_p_docid_new + }; + plo0.size_compressed_positions_key = size_compressed_positions_key_new; + + let pointer_last_old = plo0.pointer_last; + plo0.pointer_first = pointer_first_old; + plo0.pointer_last = pointer_last_new; + + write_u32( + pointer_first_new as u32, + &mut self.postings_buffer, + pointer_last_old, + ); + } + } + } + } + } +} diff --git a/mobile_app/rust/src/seekstorm/compatible.rs b/mobile_app/rust/src/seekstorm/compatible.rs new file mode 100644 index 0000000..466235b --- /dev/null +++ b/mobile_app/rust/src/seekstorm/compatible.rs @@ -0,0 +1,21 @@ +#[cfg(target_arch = "x86_64")] +pub use std::arch::x86_64::{_blsr_u64, _lzcnt_u32, _mm_tzcnt_64}; + +#[cfg(not(target_arch = "x86_64"))] +pub unsafe fn _mm_tzcnt_64(x: u64) -> i64 { + x.trailing_zeros() as i64 +} + +#[cfg(not(target_arch = "x86_64"))] +pub unsafe fn _blsr_u64(x: u64) -> u64 { + if x == 0 { + x + } else { + x & (!(1 << x.trailing_zeros())) + } +} + +#[cfg(not(target_arch = "x86_64"))] +pub unsafe fn _lzcnt_u32(x: u32) -> u32 { + x.leading_zeros() +} diff --git a/mobile_app/rust/src/seekstorm/compress_postinglist.rs b/mobile_app/rust/src/seekstorm/compress_postinglist.rs new file mode 100644 index 0000000..cce6cc4 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/compress_postinglist.rs @@ -0,0 +1,978 @@ +use std::cmp; + +use smallvec::SmallVec; + +use crate::{ + add_result::{B, K, SIGMA, decode_positions_commit}, + compatible::_lzcnt_u32, + index::{ + AccessType, CompressionType, DOCUMENT_LENGTH_COMPRESSION, NgramType, STOP_BIT, Shard, + SimilarityType, hash32, hash64, int_to_byte4, + }, + search::decode_posting_list_count, + utils::{ + block_copy, read_u16_ref, read_u32_ref, write_u8_ref, write_u16, write_u16_ref, + write_u32_ref, write_u64_ref, + }, +}; + +/// Compress a single postinglist using roaring bitmaps compression for docid https://roaringbitmap.org/about/ +pub(crate) fn compress_postinglist( + shard: &mut Shard, + key_head_pointer_w: &mut usize, + roaring_offset: &mut usize, + key_body_offset: u32, + key0: &usize, + key_hash: &u64, +) -> usize { + let mut posting_count_ngram_1 = 0; + let mut posting_count_ngram_2 = 0; + let mut posting_count_ngram_3 = 0; + let mut posting_count_ngram_1_compressed = 0; + let mut posting_count_ngram_2_compressed = 0; + let mut posting_count_ngram_3_compressed = 0; + { + let plo = shard.segments_level0[*key0].segment.get(key_hash).unwrap(); + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + posting_count_ngram_1_compressed = if plo.term_ngram1.is_empty() { + plo.posting_count_ngram_1_compressed + } else { + let term_bytes_1 = plo.term_ngram1.as_bytes(); + let key0_1 = hash32(term_bytes_1) & shard.segment_number_mask1; + let key_hash_1 = hash64(term_bytes_1); + let mut posting_count_ngram1 = if shard.meta.access_type == AccessType::Mmap { + decode_posting_list_count( + &shard.segments_index[key0_1 as usize], + shard, + key_hash_1, + key0_1 < *key0 as u32, + ) + .unwrap_or_default() + } else if let Some(plo) = shard.segments_index[key0_1 as usize] + .segment + .get(&key_hash_1) + { + plo.posting_count + } else { + 0 + }; + + if let Some(x) = shard.segments_level0[key0_1 as usize] + .segment + .get(&key_hash_1) + { + posting_count_ngram1 += x.posting_count as u32; + } + int_to_byte4(posting_count_ngram1) + }; + + posting_count_ngram_2_compressed = if plo.term_ngram2.is_empty() { + plo.posting_count_ngram_2_compressed + } else { + let term_bytes_2 = plo.term_ngram2.as_bytes(); + let key0_2 = hash32(term_bytes_2) & shard.segment_number_mask1; + let key_hash_2 = hash64(term_bytes_2); + + let mut posting_count_ngram2 = if shard.meta.access_type == AccessType::Mmap { + decode_posting_list_count( + &shard.segments_index[key0_2 as usize], + shard, + key_hash_2, + key0_2 < *key0 as u32, + ) + .unwrap_or_default() + } else if let Some(plo) = shard.segments_index[key0_2 as usize] + .segment + .get(&key_hash_2) + { + plo.posting_count + } else { + 0 + }; + + if let Some(x) = shard.segments_level0[key0_2 as usize] + .segment + .get(&key_hash_2) + { + posting_count_ngram2 += x.posting_count as u32; + } + int_to_byte4(posting_count_ngram2) + }; + + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + } + _ => { + posting_count_ngram_1_compressed = if plo.term_ngram1.is_empty() { + plo.posting_count_ngram_1_compressed + } else { + let term_bytes_1 = plo.term_ngram1.as_bytes(); + let key0_1 = hash32(term_bytes_1) & shard.segment_number_mask1; + let key_hash_1 = hash64(term_bytes_1); + let mut posting_count_ngram1 = if shard.meta.access_type == AccessType::Mmap { + decode_posting_list_count( + &shard.segments_index[key0_1 as usize], + shard, + key_hash_1, + key0_1 < *key0 as u32, + ) + .unwrap_or_default() + } else if let Some(plo) = shard.segments_index[key0_1 as usize] + .segment + .get(&key_hash_1) + { + plo.posting_count + } else { + 0 + }; + + if let Some(x) = shard.segments_level0[key0_1 as usize] + .segment + .get(&key_hash_1) + { + posting_count_ngram1 += x.posting_count as u32; + } + int_to_byte4(posting_count_ngram1) + }; + + posting_count_ngram_2_compressed = if plo.term_ngram2.is_empty() { + plo.posting_count_ngram_2_compressed + } else { + let term_bytes_2 = plo.term_ngram2.as_bytes(); + let key0_2 = hash32(term_bytes_2) & shard.segment_number_mask1; + let key_hash_2 = hash64(term_bytes_2); + + let mut posting_count_ngram2 = if shard.meta.access_type == AccessType::Mmap { + decode_posting_list_count( + &shard.segments_index[key0_2 as usize], + shard, + key_hash_2, + key0_2 < *key0 as u32, + ) + .unwrap_or_default() + } else if let Some(plo) = shard.segments_index[key0_2 as usize] + .segment + .get(&key_hash_2) + { + plo.posting_count + } else { + 0 + }; + + if let Some(x) = shard.segments_level0[key0_2 as usize] + .segment + .get(&key_hash_2) + { + posting_count_ngram2 += x.posting_count as u32; + } + int_to_byte4(posting_count_ngram2) + }; + + posting_count_ngram_3_compressed = if plo.term_ngram3.is_empty() { + plo.posting_count_ngram_3_compressed + } else { + let term_bytes_3 = plo.term_ngram3.as_bytes(); + let key0_3 = hash32(term_bytes_3) & shard.segment_number_mask1; + let key_hash_3 = hash64(term_bytes_3); + + let mut posting_count_ngram3 = if shard.meta.access_type == AccessType::Mmap { + decode_posting_list_count( + &shard.segments_index[key0_3 as usize], + shard, + key_hash_3, + key0_3 < *key0 as u32, + ) + .unwrap_or_default() + } else if let Some(plo) = shard.segments_index[key0_3 as usize] + .segment + .get(&key_hash_3) + { + plo.posting_count + } else { + 0 + }; + + if let Some(x) = shard.segments_level0[key0_3 as usize] + .segment + .get(&key_hash_3) + { + posting_count_ngram3 += x.posting_count as u32; + } + int_to_byte4(posting_count_ngram3) + }; + + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + posting_count_ngram_3 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_3_compressed as usize]; + } + } + } + + let plo = shard.segments_level0[*key0] + .segment + .get_mut(key_hash) + .unwrap(); + let plo_posting_count = plo.posting_count; + + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + plo.posting_count_ngram_1 = posting_count_ngram_1 as f32; + plo.posting_count_ngram_2 = posting_count_ngram_2 as f32; + } + _ => { + plo.posting_count_ngram_1 = posting_count_ngram_1 as f32; + plo.posting_count_ngram_2 = posting_count_ngram_2 as f32; + plo.posting_count_ngram_3 = posting_count_ngram_3 as f32; + } + } + + let mut size_compressed_docid_key: usize = 0; + + let enable_rle_compression: bool = true; + let enable_bitmap_compression: bool = true; + let enable_delta_compression: bool = false; + + shard.docid_count += plo.posting_count; + shard.postinglist_count += 1; + shard.position_count += plo.position_count; + let mut compression_type_pointer = CompressionType::Error as u32; + + let mut runs_count: u16 = 0; + + let delta_size_bits: u32 = 4; + let range_bits: u32 = 32 - unsafe { _lzcnt_u32(plo.docid_delta_max.into()) }; + let result_bits: u32 = delta_size_bits + (range_bits * plo.posting_count as u32); + let delta_compression_size_byte: u32 = result_bits.div_ceil(8); + + if (plo.posting_count < 4096) || !enable_bitmap_compression { + if enable_rle_compression { + let runs_count_threshold: u16 = cmp::min( + (plo.posting_count / 2) as u16, + if enable_delta_compression { + (delta_compression_size_byte >> 2) as u16 + } else { + u16::MAX + }, + ); + compress_postinglist_rle( + shard, + roaring_offset, + &mut size_compressed_docid_key, + *key0, + *key_hash, + runs_count_threshold, + &mut runs_count, + &key_body_offset, + &mut compression_type_pointer, + ); + } + + if runs_count == 0 { + if enable_delta_compression + && ((delta_compression_size_byte as usize) < (plo_posting_count << 1)) + { + } else { + compress_postinglist_array( + shard, + roaring_offset, + &mut size_compressed_docid_key, + *key0, + *key_hash, + &key_body_offset, + &mut compression_type_pointer, + ); + } + } + } else { + if enable_rle_compression { + let runs_count_threshold: u16 = cmp::min( + 2048, + if enable_delta_compression { + (delta_compression_size_byte >> 2) as u16 + } else { + u16::MAX + }, + ); + compress_postinglist_rle( + shard, + roaring_offset, + &mut size_compressed_docid_key, + *key0, + *key_hash, + runs_count_threshold, + &mut runs_count, + &key_body_offset, + &mut compression_type_pointer, + ); + } + + if runs_count == 0 { + if enable_delta_compression && (delta_compression_size_byte < 8192) { + } else { + compress_postinglist_bitmap( + shard, + roaring_offset, + &mut size_compressed_docid_key, + *key0, + *key_hash, + &key_body_offset, + &mut compression_type_pointer, + ); + } + } + } + + let plo = shard.segments_level0[*key0] + .segment + .get_mut(key_hash) + .unwrap(); + + write_u64_ref( + *key_hash, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u16_ref( + (plo.posting_count - 1) as u16, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u16_ref( + plo.max_docid, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u16_ref( + plo.max_p_docid, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + match shard.key_head_size { + 20 => {} + 22 => { + write_u8_ref( + posting_count_ngram_1_compressed, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u8_ref( + posting_count_ngram_2_compressed, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + } + _ => { + write_u8_ref( + posting_count_ngram_1_compressed, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u8_ref( + posting_count_ngram_2_compressed, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u8_ref( + posting_count_ngram_3_compressed, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + } + } + + write_u16_ref( + plo.pointer_pivot_p_docid, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + write_u32_ref( + compression_type_pointer, + &mut shard.compressed_index_segment_block_buffer, + key_head_pointer_w, + ); + + size_compressed_docid_key +} + +#[allow(clippy::too_many_arguments)] +pub(crate) fn docid_iterator( + shard: &mut Shard, + posting_pointer_size: u8, + next_pointer: &mut usize, + key_position_pointer_w: &mut usize, + key_rank_position_pointer_w: &mut usize, + key0: usize, + key_hash: u64, + doc_id: &mut u16, + size_compressed_positions_key: &mut usize, + p_docid: usize, +) { + let mut read_pointer = *next_pointer; + *next_pointer = read_u32_ref(&shard.postings_buffer, &mut read_pointer) as usize; + + *doc_id = read_u16_ref(&shard.postings_buffer, &mut read_pointer); + + let position_size_byte_temp: u16 = read_u16_ref(&shard.postings_buffer, &mut read_pointer); + let embed_flag = position_size_byte_temp & 0b10000000_00000000 > 0; + let position_size_byte = (position_size_byte_temp & 0b01111111_11111111) as usize; + + let plo = shard.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + let mut field_vec_ngram1 = SmallVec::new(); + let mut field_vec_ngram2 = SmallVec::new(); + let mut field_vec_ngram3 = SmallVec::new(); + + decode_positions_commit( + posting_pointer_size, + embed_flag, + &shard.postings_buffer, + read_pointer, + &plo.ngram_type, + shard.indexed_field_vec.len(), + shard.indexed_field_id_bits, + shard.indexed_field_id_mask, + shard.longest_field_id as u16, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + + if posting_pointer_size == 2 { + if embed_flag { + block_copy( + &shard.postings_buffer, + read_pointer, + &mut shard.compressed_index_segment_block_buffer, + *key_rank_position_pointer_w, + position_size_byte, + ); + + *key_rank_position_pointer_w += 2; + } else { + *size_compressed_positions_key += position_size_byte; + *key_position_pointer_w -= position_size_byte; + + shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = + (*size_compressed_positions_key & 255) as u8; + *key_rank_position_pointer_w += 1; + shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = + ((*size_compressed_positions_key >> 8) & 127) as u8; + *key_rank_position_pointer_w += 1; + + block_copy( + &shard.postings_buffer, + read_pointer, + &mut shard.compressed_index_segment_block_buffer, + *key_position_pointer_w, + position_size_byte, + ); + } + } else if posting_pointer_size == 3 { + if embed_flag { + block_copy( + &shard.postings_buffer, + read_pointer, + &mut shard.compressed_index_segment_block_buffer, + *key_rank_position_pointer_w, + position_size_byte, + ); + + *key_rank_position_pointer_w += 3; + } else { + *size_compressed_positions_key += position_size_byte; + *key_position_pointer_w -= position_size_byte; + + shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = + (*size_compressed_positions_key & 255) as u8; + *key_rank_position_pointer_w += 1; + shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = + ((*size_compressed_positions_key >> 8) & 255) as u8; + *key_rank_position_pointer_w += 1; + shard.compressed_index_segment_block_buffer[*key_rank_position_pointer_w] = + ((*size_compressed_positions_key >> 16) & 127) as u8; + *key_rank_position_pointer_w += 1; + + block_copy( + &shard.postings_buffer, + read_pointer, + &mut shard.compressed_index_segment_block_buffer, + *key_position_pointer_w, + position_size_byte, + ); + } + } else { + println!("postingPointerSize exceeded: {}", posting_pointer_size); + } + + if plo.ngram_type == NgramType::SingleTerm + || shard.meta.similarity == SimilarityType::Bm25fProximity + { + let mut posting_score = 0.0; + for field in field_vec.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * ((tf * (K + 1.0) / (tf + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + if posting_score > plo.max_block_score { + plo.max_block_score = posting_score; + plo.max_docid = *doc_id; + plo.max_p_docid = p_docid as u16; + } + } else if plo.ngram_type == NgramType::NgramFF + || plo.ngram_type == NgramType::NgramRF + || plo.ngram_type == NgramType::NgramFR + { + let idf_ngram1 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_1 + 0.5) + / (plo.posting_count_ngram_1 + 0.5)) + + 1.0) + .ln(); + let idf_ngram2 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_2 + 0.5) + / (plo.posting_count_ngram_2 + 0.5)) + + 1.0) + .ln(); + + let mut posting_score = 0.0; + for field in field_vec_ngram1.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + if posting_score > plo.max_block_score { + plo.max_block_score = posting_score; + plo.max_docid = *doc_id; + plo.max_p_docid = p_docid as u16; + } + } else { + let idf_ngram1 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_1 + 0.5) + / (plo.posting_count_ngram_1 + 0.5)) + + 1.0) + .ln(); + let idf_ngram2 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_2 + 0.5) + / (plo.posting_count_ngram_2 + 0.5)) + + 1.0) + .ln(); + let idf_ngram3 = (((shard.indexed_doc_count as f32 - plo.posting_count_ngram_3 + 0.5) + / (plo.posting_count_ngram_3 + 0.5)) + + 1.0) + .ln(); + + let mut posting_score = 0.0; + for field in field_vec_ngram1.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + for field in field_vec_ngram3.iter() { + let document_length_compressed = + shard.document_length_compressed_array[field.0 as usize][*doc_id as usize]; + let document_length_normalized_doc = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize] as f32; + let document_length_quotient_doc = + document_length_normalized_doc / shard.document_length_normalized_average; + + let tf_ngram3 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + posting_score += weight + * idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient_doc))))) + + SIGMA); + } + + if posting_score > plo.max_block_score { + plo.max_block_score = posting_score; + plo.max_docid = *doc_id; + plo.max_p_docid = p_docid as u16; + } + } +} + +/// Compress postinglist to array +pub(crate) fn compress_postinglist_array( + shard: &mut Shard, + roaring_offset: &mut usize, + size_compressed_docid_key: &mut usize, + key0: usize, + key_hash: u64, + key_body_offset: &u32, + compression_type_pointer: &mut u32, +) { + let plo = shard.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + let key_rank_position_pointer_range = *roaring_offset + plo.size_compressed_positions_key; + let mut key_position_pointer_w = key_rank_position_pointer_range; + let mut key_rank_position_pointer_w = key_rank_position_pointer_range; + let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 + + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { + (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + let key_docid_pointer_w = + *roaring_offset + plo.size_compressed_positions_key + posting_pointer_size_sum; + let mut size_compressed_positions_key = 0; + + let count_byte = plo.posting_count * 2; + + plo.compression_type_pointer = key_body_offset | ((CompressionType::Array as u32) << 30); + *compression_type_pointer = plo.compression_type_pointer; + + let pointer_pivot_p_docid = plo.pointer_pivot_p_docid; + let mut next_pointer = plo.pointer_first; + for p_docid in 0..plo.posting_count { + let plo_posting_pointer_size = if p_docid < pointer_pivot_p_docid as usize { + 2 + } else { + 3 + }; + let mut doc_id = 0; + docid_iterator( + shard, + plo_posting_pointer_size, + &mut next_pointer, + &mut key_position_pointer_w, + &mut key_rank_position_pointer_w, + key0, + key_hash, + &mut doc_id, + &mut size_compressed_positions_key, + p_docid, + ); + + write_u16( + doc_id, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w + (p_docid * 2), + ); + } + + *size_compressed_docid_key = count_byte; + *roaring_offset = key_docid_pointer_w + count_byte; +} + +/// Compress postinglist to bitmap +pub(crate) fn compress_postinglist_bitmap( + shard: &mut Shard, + roaring_offset: &mut usize, + size_compressed_docid_key: &mut usize, + key0: usize, + key_hash: u64, + key_body_offset: &u32, + compression_type_pointer: &mut u32, +) { + let plo = shard.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + let key_rank_position_pointer_range = *roaring_offset + plo.size_compressed_positions_key; + let mut key_position_pointer_w = key_rank_position_pointer_range; + let mut key_rank_position_pointer_w = key_rank_position_pointer_range; + let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 + + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { + (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + let key_docid_pointer_w = + *roaring_offset + plo.size_compressed_positions_key + posting_pointer_size_sum; + let mut size_compressed_positions_key = 0; + + let count_byte = 8192; + + plo.compression_type_pointer = key_body_offset | ((CompressionType::Bitmap as u32) << 30); + *compression_type_pointer = plo.compression_type_pointer; + + shard.compressed_index_segment_block_buffer + [key_docid_pointer_w..key_docid_pointer_w + count_byte] + .fill(0); + + let pointer_pivot_p_docid = plo.pointer_pivot_p_docid; + let mut next_pointer = plo.pointer_first; + for p_docid in 0..plo.posting_count { + let plo_posting_pointer_size = if p_docid < pointer_pivot_p_docid as usize { + 2 + } else { + 3 + }; + + let mut doc_id = 0; + docid_iterator( + shard, + plo_posting_pointer_size, + &mut next_pointer, + &mut key_position_pointer_w, + &mut key_rank_position_pointer_w, + key0, + key_hash, + &mut doc_id, + &mut size_compressed_positions_key, + p_docid, + ); + + let docid_pos = doc_id; + let byte_pos = docid_pos >> 3; + let bit_pos = docid_pos & 7; + + shard.compressed_index_segment_block_buffer[key_docid_pointer_w + byte_pos as usize] |= + 1u8 << bit_pos; + } + + *size_compressed_docid_key = count_byte; + *roaring_offset = key_docid_pointer_w + count_byte; +} + +/// Compress postinglist to RLE +#[allow(clippy::too_many_arguments)] +pub(crate) fn compress_postinglist_rle( + shard: &mut Shard, + roaring_offset: &mut usize, + size_compressed_docid_key: &mut usize, + key0: usize, + key_hash: u64, + runs_count_threshold: u16, + runs_count: &mut u16, + key_body_offset: &u32, + compression_type_pointer: &mut u32, +) { + let plo = shard.segments_level0[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + *runs_count = 0; + + let mut run_start = 0; + let mut run_length = 0; + + let key_rank_position_pointer_range = *roaring_offset + plo.size_compressed_positions_key; + let mut key_position_pointer_w = key_rank_position_pointer_range; + let mut key_rank_position_pointer_w = key_rank_position_pointer_range; + let posting_pointer_size_sum = plo.pointer_pivot_p_docid as usize * 2 + + if (plo.pointer_pivot_p_docid as usize) < plo.posting_count { + (plo.posting_count - plo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + let mut key_docid_pointer_w = + *roaring_offset + plo.size_compressed_positions_key + posting_pointer_size_sum; + let key_docid_pointer_w_old = key_docid_pointer_w; + let mut size_compressed_positions_key = 0; + + plo.compression_type_pointer = key_body_offset | ((CompressionType::Rle as u32) << 30); + *compression_type_pointer = plo.compression_type_pointer; + + let mut doc_id_old = 0; + let pointer_pivot_p_docid = plo.pointer_pivot_p_docid; + let mut next_pointer = plo.pointer_first; + for p_docid in 0..plo.posting_count { + let plo_posting_pointer_size = if p_docid < pointer_pivot_p_docid as usize { + 2 + } else { + 3 + }; + + let mut doc_id = 0; + docid_iterator( + shard, + plo_posting_pointer_size, + &mut next_pointer, + &mut key_position_pointer_w, + &mut key_rank_position_pointer_w, + key0, + key_hash, + &mut doc_id, + &mut size_compressed_positions_key, + p_docid, + ); + + if p_docid == 0 { + run_start = doc_id; + } else if doc_id_old + 1 == doc_id { + run_length += 1; + } else { + write_u16( + run_start, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w_old + (((*runs_count << 1) as usize + 1) * 2), + ); + write_u16( + run_length, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w_old + (((*runs_count << 1) as usize + 2) * 2), + ); + key_docid_pointer_w += 4; + + run_start = doc_id; + run_length = 0; + *runs_count += 1; + } + + if *runs_count >= runs_count_threshold { + *runs_count = 0; + return; + } + doc_id_old = doc_id; + } + + write_u16( + run_start, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w_old + (((*runs_count << 1) as usize + 1) * 2), + ); + write_u16( + run_length, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w_old + (((*runs_count << 1) as usize + 2) * 2), + ); + + *runs_count += 1; + key_docid_pointer_w += 4; + + write_u16( + *runs_count, + &mut shard.compressed_index_segment_block_buffer, + key_docid_pointer_w_old, + ); + key_docid_pointer_w += 2; + + *size_compressed_docid_key = key_docid_pointer_w - key_docid_pointer_w_old; + *roaring_offset = key_docid_pointer_w; +} + +/// Compress positions: input delta compressed vector, output VINT compressioned byte array +pub(crate) fn compress_positions( + positions: &[u16], + positions_compressed: &mut [u8], + size_compressed_positions_pointer: &mut usize, +) { + for delta in positions { + if *delta < 128 { + positions_compressed[*size_compressed_positions_pointer] = *delta as u8 | STOP_BIT; + *size_compressed_positions_pointer += 1 + } else if *delta < 16_384 { + positions_compressed[*size_compressed_positions_pointer] = + (delta >> 7) as u8 & 0b01111111; + *size_compressed_positions_pointer += 1; + positions_compressed[*size_compressed_positions_pointer] = + (delta & 0b01111111) as u8 | STOP_BIT; + *size_compressed_positions_pointer += 1; + } else { + positions_compressed[*size_compressed_positions_pointer] = + (delta >> 13) as u8 & 0b01111111; + *size_compressed_positions_pointer += 1; + positions_compressed[*size_compressed_positions_pointer] = + (delta >> 7) as u8 & 0b01111111; + *size_compressed_positions_pointer += 1; + positions_compressed[*size_compressed_positions_pointer] = + (delta & 0b01111111) as u8 | STOP_BIT; + *size_compressed_positions_pointer += 1; + } + } +} diff --git a/mobile_app/rust/src/seekstorm/doc_store.rs b/mobile_app/rust/src/seekstorm/doc_store.rs new file mode 100644 index 0000000..5519d66 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/doc_store.rs @@ -0,0 +1,353 @@ +use memmap2::Mmap; +use serde_json::{Value, json}; +use std::collections::{HashMap, HashSet, VecDeque}; +use std::fs; +use std::io::{self, Seek, SeekFrom, Write}; +use std::path::PathBuf; + +use crate::geo_search::euclidian_distance; +use crate::highlighter::{Highlighter, top_fragments_from_field}; +use crate::index::{ + AccessType, DistanceField, Document, FILE_PATH, FieldType, Index, ROARING_BLOCK_SIZE, Shard, +}; +use crate::search::FacetValue; +use crate::utils::{read_u32, write_u32}; + +impl Shard { + pub(crate) fn get_file_shard(&self, doc_id: usize) -> Result, String> { + let file_path = PathBuf::new(&self.index_path_string) + .join(FILE_PATH) + .join(doc_id.to_string() + ".pdf"); + + if let Ok(data) = fs::read(file_path) { + Ok(data) + } else { + Err("not found".into()) + } + } + + pub(crate) fn get_document_shard( + &self, + doc_id: usize, + include_uncommited: bool, + highlighter_option: &Option, + fields: &HashSet, + distance_fields: &[DistanceField], + ) -> Result { + if !self.delete_hashset.is_empty() && self.delete_hashset.contains(&doc_id) { + return Err("not found".to_owned()); + } + + if doc_id >= self.indexed_doc_count { + return Err("not found".to_owned()); + } + let block_id = doc_id >> 16; + + let is_uncommitted = doc_id >= self.committed_doc_count; + if is_uncommitted && !(include_uncommited && self.uncommitted) { + return Err("not found".to_owned()); + } + + if self.stored_field_names.is_empty() { + return Err("not found".to_owned()); + } + + let doc_id_local = doc_id & 0b11111111_11111111; + + let mut doc = if self.meta.access_type == AccessType::Ram || is_uncommitted { + let docstore_pointer_docs = if is_uncommitted { + &self.compressed_docstore_segment_block_buffer + } else { + &self.level_index[block_id].docstore_pointer_docs + }; + + let position = doc_id_local * 4; + let pointer = read_u32(docstore_pointer_docs, position) as usize; + + let previous_pointer = if doc_id == self.committed_doc_count || doc_id_local == 0 { + ROARING_BLOCK_SIZE * 4 + } else { + read_u32(docstore_pointer_docs, position - 4) as usize + }; + + if previous_pointer == pointer { + return Err("not found".to_owned()); + } + + let compressed_doc = &docstore_pointer_docs[previous_pointer..pointer]; + let decompressed_doc = zstd::decode_all(compressed_doc).unwrap(); + let doc: Document = serde_json::from_slice(&decompressed_doc).unwrap(); + + doc + } else { + let level = doc_id >> 16; + + let pointer; + let previous_pointer; + let position = + self.level_index[level].docstore_pointer_docs_pointer + (doc_id_local * 4); + + if doc_id_local == 0 { + previous_pointer = ROARING_BLOCK_SIZE * 4; + pointer = read_u32(&self.docstore_file_mmap, position) as usize; + } else { + previous_pointer = read_u32(&self.docstore_file_mmap, position - 4) as usize; + pointer = read_u32(&self.docstore_file_mmap, position) as usize; + }; + + if previous_pointer == pointer { + return Err(format!("not found {} {}", previous_pointer, pointer)); + } + + let compressed_doc = &self.docstore_file_mmap[(self.level_index[level] + .docstore_pointer_docs_pointer + + previous_pointer) + ..(self.level_index[level].docstore_pointer_docs_pointer + pointer)]; + + let decompressed_doc = zstd::decode_all(compressed_doc).unwrap(); + let doc: Document = serde_json::from_slice(&decompressed_doc).unwrap(); + + doc + }; + + if let Some(highlighter) = highlighter_option { + let mut kwic_vec: VecDeque = VecDeque::new(); + for highlight in highlighter.highlights.iter() { + let kwic = + top_fragments_from_field(self, &doc, &highlighter.query_terms_ac, highlight) + .unwrap(); + kwic_vec.push_back(kwic); + } + + for highlight in highlighter.highlights.iter() { + let kwic = kwic_vec.pop_front().unwrap(); + doc.insert( + (if highlight.name.is_empty() { + &highlight.field + } else { + &highlight.name + }) + .to_string(), + json!(kwic), + ); + } + } + + for distance_field in distance_fields.iter() { + if let Some(idx) = self.facets_map.get(&distance_field.field) + && self.facets[*idx].field_type == FieldType::Point + && let FacetValue::Point(point) = + self.get_facet_value_shard(&distance_field.field, doc_id) + { + let distance = + euclidian_distance(&point, &distance_field.base, &distance_field.unit); + + doc.insert(distance_field.distance.clone(), json!(distance)); + } + } + + if !fields.is_empty() { + for key in self.stored_field_names.iter() { + if !fields.contains(key) { + doc.remove(key); + } + } + } + + Ok(doc) + } + + pub(crate) fn copy_file(&self, source_path: &PathBuf, doc_id: usize) -> io::Result { + let dir_path = PathBuf::new(&self.index_path_string).join(FILE_PATH); + if !dir_path.exists() { + fs::create_dir_all(&dir_path).unwrap(); + } + + let file_path = dir_path.join(doc_id.to_string() + ".pdf"); + fs::copy(source_path, file_path) + } + + pub(crate) fn write_file(&self, file_bytes: &[u8], doc_id: usize) -> io::Result { + let dir_path = PathBuf::new(&self.index_path_string).join(FILE_PATH); + if !dir_path.exists() { + fs::create_dir_all(&dir_path).unwrap(); + } + + let file_path = dir_path.join(doc_id.to_string() + ".pdf"); + + let mut file = fs::OpenOptions::new() + .create(true) + .truncate(true) + .write(true) + .open(file_path)?; + + let _ = file.write_all(file_bytes); + Ok(file_bytes.len() as u64) + } + + pub(crate) fn store_document(&mut self, doc_id: usize, document: HashMap) { + let mut document = document; + + let keys: Vec = document.keys().cloned().collect(); + for key in keys.into_iter() { + if !self.schema_map.contains_key(&key) || !self.schema_map.get(&key).unwrap().stored { + document.remove(&key); + } + } + + if document.is_empty() { + return; + } + + let document_string = serde_json::to_string(&document).unwrap(); + + let mut compressed = zstd::encode_all(document_string.as_bytes(), 1).unwrap(); + + self.compressed_docstore_segment_block_buffer + .append(&mut compressed); + + write_u32( + self.compressed_docstore_segment_block_buffer.len() as u32, + &mut self.compressed_docstore_segment_block_buffer, + (doc_id & 0b11111111_11111111) * 4, + ); + } + + pub(crate) fn commit_docstore( + &mut self, + indexed_doc_count: usize, + is_last_level_incomplete: bool, + ) { + let size_uncommitted = self.compressed_docstore_segment_block_buffer.len(); + let level = self.level_index.len() - 1; + + if is_last_level_incomplete { + let docstore_file_end = self.docstore_file.metadata().unwrap().len(); + + let size_committed = + docstore_file_end as usize - self.last_level_docstore_file_start_pos as usize - 4; + let size_committed_docs = size_committed - (4 * ROARING_BLOCK_SIZE); + let size_sum = size_uncommitted + size_committed_docs; + + let _ = self + .docstore_file + .seek(SeekFrom::Start(self.last_level_docstore_file_start_pos)); + + let _ = self.docstore_file.write(&(size_sum as u32).to_le_bytes()); + + let committed_doc_count = (self.committed_doc_count - 1 % ROARING_BLOCK_SIZE) + 1; + let indexed_doc_count = (indexed_doc_count - 1 % ROARING_BLOCK_SIZE) + 1; + + for i in committed_doc_count..indexed_doc_count { + let pointer = read_u32(&self.compressed_docstore_segment_block_buffer, i * 4); + + write_u32( + pointer + size_committed_docs as u32, + &mut self.compressed_docstore_segment_block_buffer, + i * 4, + ); + } + + let _ = self.docstore_file.seek(SeekFrom::Start( + self.last_level_docstore_file_start_pos + 4 + committed_doc_count as u64 * 4, + )); + + let _ = self.docstore_file.write( + &self.compressed_docstore_segment_block_buffer + [committed_doc_count * 4..ROARING_BLOCK_SIZE * 4], + ); + + let _ = self.docstore_file.seek(SeekFrom::Start(docstore_file_end)); + + let _ = self + .docstore_file + .write(&self.compressed_docstore_segment_block_buffer[4 * ROARING_BLOCK_SIZE..]); + + if self.meta.access_type == AccessType::Ram { + self.level_index[level] + .docstore_pointer_docs + .extend_from_slice( + &self.compressed_docstore_segment_block_buffer[4 * ROARING_BLOCK_SIZE..], + ); + self.level_index[level].docstore_pointer_docs + [committed_doc_count * 4..ROARING_BLOCK_SIZE * 4] + .copy_from_slice( + &self.compressed_docstore_segment_block_buffer + [committed_doc_count * 4..ROARING_BLOCK_SIZE * 4], + ); + } + } else { + let _ = self + .docstore_file + .write(&(size_uncommitted as u32).to_le_bytes()); + + self.level_index[level].docstore_pointer_docs_pointer = + self.docstore_file.stream_position().unwrap() as usize; + + let _ = self + .docstore_file + .write(&self.compressed_docstore_segment_block_buffer); + + if self.meta.access_type == AccessType::Ram { + self.level_index[level].docstore_pointer_docs.append( + &mut self + .compressed_docstore_segment_block_buffer + .drain(..) + .collect(), + ); + } + } + + let _ = self.docstore_file.flush(); + + self.compressed_docstore_segment_block_buffer = vec![0; ROARING_BLOCK_SIZE * 4]; + + if self.meta.access_type == AccessType::Mmap { + self.docstore_file_mmap = + unsafe { Mmap::map(&self.docstore_file).expect("Unable to create Mmap") }; + } + } +} + +impl Index { + /// Get file for document id + /// Arguments: + /// * `doc_id`: Specifies which document to load from the document store of the index. + /// + /// Returns: + /// * `Vec`: The file content as a byte vector. + /// + pub async fn get_file(&self, doc_id: usize) -> Result, String> { + let shard_id = doc_id & ((1 << self.shard_bits) - 1); + let doc_id = doc_id >> self.shard_bits; + self.shard_vec[shard_id].read().await.get_file_shard(doc_id) + } + + /// Get document for document id + /// Arguments: + /// * `doc_id`: Specifies which document to load from the document store of the index. + /// * `include_uncommited`: Return also documents which have not yet been committed. + /// * `highlighter_option`: Specifies the extraction of keyword-in-context (KWIC) fragments from fields in documents, and the highlighting of the query terms within. + /// * `fields`: Specifies which of the stored fields to return with each document. Default: If empty return all stored fields + /// * `distance_fields`: insert distance fields into result documents, calculating the distance between a specified facet field of type Point and a base Point, in kilometers or miles. + /// using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. + pub async fn get_document( + &self, + doc_id: usize, + include_uncommited: bool, + highlighter_option: &Option, + fields: &HashSet, + distance_fields: &[DistanceField], + ) -> Result { + let shard_id = doc_id & ((1 << self.shard_bits) - 1); + let doc_id_shard = doc_id >> self.shard_bits; + + self.shard_vec[shard_id].read().await.get_document_shard( + doc_id_shard, + include_uncommited, + highlighter_option, + fields, + distance_fields, + ) + } +} diff --git a/mobile_app/rust/src/seekstorm/geo_search.rs b/mobile_app/rust/src/seekstorm/geo_search.rs new file mode 100644 index 0000000..4377ada --- /dev/null +++ b/mobile_app/rust/src/seekstorm/geo_search.rs @@ -0,0 +1,144 @@ +use std::cmp::Ordering; + +#[cfg(target_arch = "x86_64")] +use std::arch::x86_64::{_pdep_u64, _pext_u64}; + +use crate::{ + index::DistanceUnit, + search::{Point, SortOrder}, +}; + +#[inline] +fn encode_morton_64_bit(x: u32) -> u64 { + let mut x = x as u64; + x = (x | (x << 32)) & 0x00000000ffffffff; + x = (x | (x << 16)) & 0x0000FFFF0000FFFF; + x = (x | (x << 8)) & 0x00FF00FF00FF00FF; + x = (x | (x << 4)) & 0x0F0F0F0F0F0F0F0F; + x = (x | (x << 2)) & 0x3333333333333333; + x = (x | (x << 1)) & 0x5555555555555555; + x +} + +/// encode 2D-coordinate (lat/lon) into 64-bit Morton code +/// This method is lossy/quantized as two f64 coordinate values are mapped to a single u64 Morton code! +/// The z-value of a point in multidimensions is simply calculated by interleaving the binary representations of its coordinate values. +#[inline] +pub fn encode_morton_2_d(point: &Point) -> u64 { + let x_u32 = ((point[0] * 10_000_000.0) as i32) as u32; + let y_u32 = ((point[1] * 10_000_000.0) as i32) as u32; + + #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] + { + if is_x86_feature_detected!("bmi2") { + return unsafe { + _pdep_u64(x_u32.into(), 0x5555555555555555) + | _pdep_u64(y_u32.into(), 0xAAAAAAAAAAAAAAAA) + }; + } + } + + (encode_morton_64_bit(y_u32) << 1) | encode_morton_64_bit(x_u32) +} + +#[inline] +fn decode_morton_64_bit(code: u64) -> u64 { + let mut x = code & 0x5555555555555555; + x = (x ^ (x >> 1)) & 0x3333333333333333; + x = (x ^ (x >> 2)) & 0x0F0F0F0F0F0F0F0F; + x = (x ^ (x >> 4)) & 0x00FF00FF00FF00FF; + x = (x ^ (x >> 8)) & 0x0000FFFF0000FFFF; + x = (x ^ (x >> 16)) & 0x00000000FFFFFFFF; + x +} + +/// decode 64-bit Morton code into 2D-coordinate (lat/lon) +/// This method is lossy/quantized as a single u64 Morton code is converted to two f64 coordinate values! +#[inline] +pub fn decode_morton_2_d(code: u64) -> Point { + #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] + { + if is_x86_feature_detected!("bmi2") { + let x_u32 = unsafe { _pext_u64(code, 0x5555555555555555) as u32 }; + let y_u32 = unsafe { _pext_u64(code, 0xAAAAAAAAAAAAAAAA) as u32 }; + + return vec![ + (x_u32 as i32) as f64 / 10_000_000.0, + (y_u32 as i32) as f64 / 10_000_000.0, + ]; + }; + } + + let x_u32 = decode_morton_64_bit(code) as u32; + let y_u32 = decode_morton_64_bit(code >> 1) as u32; + + vec![ + (x_u32 as i32) as f64 / 10_000_000.0, + (y_u32 as i32) as f64 / 10_000_000.0, + ] +} + +#[inline] +fn simplified_distance(point1: &Point, point2: &Point) -> f64 { + let x = (point2[1] - point1[1]) * f64::cos(DEG2RAD * (point1[0] + point2[0]) / 2.0); + let y = point2[0] - point1[0]; + + x * x + y * y +} + +/// Comparison of the distances between two morton encoded positions and a base position +pub fn morton_ordering( + morton1: u64, + morton2: u64, + base_point: &Point, + order: &SortOrder, +) -> Ordering { + let point1 = decode_morton_2_d(morton1); + let point2 = decode_morton_2_d(morton2); + + let distance1 = simplified_distance(&point1, base_point); + let distance2 = simplified_distance(&point2, base_point); + + if order == &SortOrder::Descending { + distance1.partial_cmp(&distance2).unwrap_or(Ordering::Equal) + } else { + distance2.partial_cmp(&distance1).unwrap_or(Ordering::Equal) + } +} + +const EARTH_RADIUS_KM: f64 = 6371.0087714; +const EARTH_RADIUS_MI: f64 = 3_958.761_315_801_475; +const DEG2RAD: f64 = 0.017_453_292_519_943_295; + +/// calculates distance in kilometers or miles between two 2D-coordinates using Euclidian distance (Pythagoras theorem) with Equirectangular approximation. +#[inline] +pub fn euclidian_distance(point1: &Point, point2: &Point, unit: &DistanceUnit) -> f64 { + let x = DEG2RAD * (point2[1] - point1[1]) * f64::cos(DEG2RAD * (point1[0] + point2[0]) / 2.0); + let y = DEG2RAD * (point2[0] - point1[0]); + + (if *unit == DistanceUnit::Kilometers { + EARTH_RADIUS_KM + } else { + EARTH_RADIUS_MI + }) * (x * x + y * y).sqrt() +} + +/// Converts a Point and a distance radius into a range of morton_codes for geo search range filtering. +/// The conversion is lossy due to coordinate to Morton code rounding errors and Equirectangular approximation of Euclidian distance. +pub fn point_distance_to_morton_range( + point: &Point, + distance: f64, + unit: &DistanceUnit, +) -> std::ops::Range { + let earth_radius = if *unit == DistanceUnit::Kilometers { + EARTH_RADIUS_KM + } else { + EARTH_RADIUS_MI + }; + let lat_delta = distance / (DEG2RAD * earth_radius); + let lon_delta = distance / (DEG2RAD * earth_radius * f64::cos(DEG2RAD * point[0])); + let morton_min = encode_morton_2_d(&vec![point[0] - lat_delta, point[1] - lon_delta]); + let morton_max = encode_morton_2_d(&vec![point[0] + lat_delta, point[1] + lon_delta]); + + morton_min..morton_max +} diff --git a/mobile_app/rust/src/seekstorm/highlighter.rs b/mobile_app/rust/src/seekstorm/highlighter.rs new file mode 100644 index 0000000..1138340 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/highlighter.rs @@ -0,0 +1,367 @@ +use crate::index::{Document, FieldType, IndexArc, Shard, hash64}; +use crate::min_heap::{self, MinHeap}; +use aho_corasick::{AhoCorasick, MatchKind}; +use serde::{Deserialize, Serialize}; +use utoipa::ToSchema; + +/// Specifies the number and size of fragments (snippets, summaries) to generate from each specified field to provide a "keyword in context" (KWIC) functionality. +/// With highlight_markup the matching query terms within the fragments can be highlighted with HTML markup. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct Highlight { + /// Specifies the field from which the fragments (snippets, summaries) are created. + pub field: String, + /// Allows to specifiy multiple highlight result fields from the same source field, leaving the original field intact, + /// Default: if name is empty then field is used instead, i.e the original field is overwritten with the highlight. + #[serde(default)] + #[serde(skip_serializing_if = "String::is_empty")] + pub name: String, + /// If 0/default then return the full original text without fragmenting. + #[serde(default)] + pub fragment_number: usize, + /// Specifies the length of a highlight fragment. + /// The default 0 returns the full original text without truncating, but still with highlighting if highlight_markup is enabled. + #[serde(default)] + pub fragment_size: usize, + /// if true, the matching query terms within the fragments are highlighted with HTML markup **\term\<\/b\>**. + #[serde(default)] + pub highlight_markup: bool, + /// Specifies the markup tags to insert **before** each highlighted term (e.g. \"\\" or \"\\"). This can be any string, but is most often an HTML or XML tag. + /// Only used when **highlight_markup** is set to true. + #[serde(default = "default_pre_tag")] + pub pre_tags: String, + /// Specifies the markup tags to insert **after** each highlighted term. (e.g. \"\<\/b\>\" or \"\<\/em\>\"). This can be any string, but is most often an HTML or XML tag. + /// Only used when **highlight_markup** is set to true. + #[serde(default = "default_post_tag")] + pub post_tags: String, +} + +impl Default for Highlight { + fn default() -> Self { + Highlight { + field: String::new(), + name: String::new(), + fragment_number: 1, + fragment_size: usize::MAX, + highlight_markup: true, + pre_tags: default_pre_tag(), + post_tags: default_post_tag(), + } + } +} + +fn default_pre_tag() -> String { + "".into() +} + +fn default_post_tag() -> String { + "".into() +} + +/// Highlighter object used as get_document parameter for extracting keyword-in-context (KWIC) fragments from fields in documents, and highlighting the query terms within. +#[derive(Debug)] +pub struct Highlighter { + pub(crate) highlights: Vec, + pub(crate) query_terms_ac: AhoCorasick, +} + +/// Returns the Highlighter object used as get_document parameter for highlighting fields in documents +pub async fn highlighter( + index_arc: &IndexArc, + highlights: Vec, + query_terms_vec: Vec, +) -> Highlighter { + let index_ref = index_arc.read().await; + let query_terms = if !index_ref.synonyms_map.is_empty() { + let mut query_terms_vec_mut = query_terms_vec.clone(); + for query_term in query_terms_vec.iter() { + let term_hash = hash64(query_term.to_lowercase().as_bytes()); + + if let Some(synonyms) = index_ref.synonyms_map.get(&term_hash) { + for synonym in synonyms.iter() { + query_terms_vec_mut.push(synonym.0.clone()); + } + } + } + query_terms_vec_mut + } else { + query_terms_vec + }; + + let query_terms_ac = AhoCorasick::builder() + .ascii_case_insensitive(true) + .match_kind(MatchKind::LeftmostLongest) + .build(query_terms) + .unwrap(); + + Highlighter { + highlights, + query_terms_ac, + } +} + +pub(crate) fn add_fragment<'a>( + no_score_no_highlight: bool, + mut fragment: Fragment<'a>, + query_terms_ac: &AhoCorasick, + fragments: &mut Vec>, + topk_candidates: &mut MinHeap, + fragment_number: usize, + fragment_size: usize, +) { + let mut score = 0.0; + let mut expected_pattern = usize::MAX; + let mut expected_index = usize::MAX; + + let mut first_end = 0; + let mut set = vec![0; query_terms_ac.patterns_len()]; + let mut sequence_length = 1; + + if no_score_no_highlight { + score = 1.0; + } else { + for mat in query_terms_ac.find_iter(fragment.text) { + if first_end == 0 { + first_end = mat.end(); + } + + let id = mat.pattern().as_usize(); + score += if id == expected_pattern && expected_index == mat.start() { + sequence_length += 1; + set[id] = 1; + sequence_length as f32 * 5.0 + } else if set[id] == 0 { + sequence_length = 1; + set[id] = 1; + 1.0 + } else { + sequence_length = 1; + 0.3 + }; + + expected_pattern = id + 1; + expected_index = mat.end() + 1; + } + } + + if first_end > fragment_size { + let mut idx = fragment.text.len() - fragment_size; + + while !fragment.text.is_char_boundary(idx) { + idx -= 1; + } + + match fragment.text[idx..].find(' ') { + None => idx = 0, + Some(value) => idx += value, + } + + let adjusted_fragment = &fragment.text[idx..]; + fragment.text = adjusted_fragment; + fragment.trim_left = true; + } else if fragment.text.len() > fragment_size { + let mut idx = fragment_size; + + while !fragment.text.is_char_boundary(idx) { + idx -= 1; + } + + match fragment.text[idx..].find(' ') { + None => idx = fragment.text.len(), + Some(value) => idx += value, + } + + let adjusted_fragment = &fragment.text[..idx]; + fragment.text = adjusted_fragment; + fragment.trim_right = true; + } + + let section_index = fragments.len(); + + let mut added = false; + if score > 0.0 { + added = topk_candidates.add_topk( + min_heap::Result { + doc_id: section_index, + score, + }, + fragment_number, + ); + } + if fragments.is_empty() || added { + fragments.push(fragment); + } +} + +const SENTENCE_BOUNDARY_CHARS: [char; 11] = + ['!', '?', '.', '¿', '¡', '。', '、', '!', '?', '︒', '。']; + +pub(crate) struct Fragment<'a> { + text: &'a str, + trim_left: bool, + trim_right: bool, +} +/// Extracts the most relevant fragments (snippets, summaries) from specified fields of the document to provide a "keyword in context" (KWIC) functionality. +/// I.e. the sentences containing the matches of the query terms within the field is displayed and the query term matches are optionally highlighted (e.g. bold) by injecting HTML tags in to the text. +/// Instead of showing the complete text only the relevant fragments containing keyword matches are extracted. The user is provided with concise visual feedback for relevancy of the document regarding to the query. +/// The fragment ranking score takes into account the number of matching terms, their order and proximity (phrase). +/// The score is used for the selection of top-k most relevant fragments, but the order of selected fragments is preserved how they originally appear in the field. +/// The field is fragmented into sentences, using punctuation marks '.?!' as sentence boundaries. +/// If the fragment length exceeds the specified fragment_size, then the fragment is truncated at the right or left side, so that the query term higlight positions are kept within the remaining fragment window. +/// Selecting the right fragment and the right fragment window is fundamental for the users perceived relevancy of the search results. +pub(crate) fn top_fragments_from_field( + shard: &Shard, + document: &Document, + query_terms_ac: &AhoCorasick, + highlight: &Highlight, +) -> Result { + match document.get(&highlight.field) { + None => Ok("".to_string()), + Some(value) => { + let no_score_no_highlight = + query_terms_ac.patterns_len() == 1 && query_terms_ac.max_pattern_len() == 1; + let no_fragmentation = highlight.fragment_number == 0; + let fragment_number = if no_fragmentation { + 1 + } else { + highlight.fragment_number + }; + let result_sort = Vec::new(); + let mut topk_candidates = MinHeap::new(fragment_number, shard, &result_sort); + + if let Some(schema_field) = shard.schema_map.get(&highlight.field) { + let text = match schema_field.field_type { + FieldType::Text | FieldType::String16 | FieldType::String32 => { + serde_json::from_value::(value.clone()).unwrap_or(value.to_string()) + } + _ => value.to_string(), + }; + + let mut fragments: Vec = Vec::new(); + + let mut last = 0; + if !no_fragmentation { + for (character_index, matched) in + text.match_indices(&SENTENCE_BOUNDARY_CHARS[..]) + { + if last != character_index { + let section = Fragment { + text: &text[last..character_index + matched.len()], + trim_left: false, + trim_right: false, + }; + + add_fragment( + no_score_no_highlight, + section, + query_terms_ac, + &mut fragments, + &mut topk_candidates, + fragment_number, + highlight.fragment_size, + ); + + if no_score_no_highlight + && topk_candidates.current_heap_size == fragment_number + { + break; + } + } + last = character_index + matched.len(); + } + } + + if last < text.len() - 1 { + let section = Fragment { + text: &text[last..], + trim_left: false, + trim_right: false, + }; + + add_fragment( + no_score_no_highlight, + section, + query_terms_ac, + &mut fragments, + &mut topk_candidates, + fragment_number, + highlight.fragment_size, + ); + } + + let mut combined_string = String::with_capacity(text.len()); + + if !fragments.is_empty() { + if topk_candidates.current_heap_size > 0 { + if topk_candidates.current_heap_size < fragment_number { + topk_candidates + ._elements + .truncate(topk_candidates.current_heap_size); + } + + topk_candidates + ._elements + .sort_by(|a, b| a.doc_id.partial_cmp(&b.doc_id).unwrap()); + + let mut previous_docid = 0; + for candidate in topk_candidates._elements { + if (!combined_string.is_empty() + && !combined_string.ends_with("...") + && candidate.doc_id != previous_docid + 1) + || (fragments[candidate.doc_id].trim_left + && (combined_string.is_empty() + || !combined_string.ends_with("..."))) + { + combined_string.push_str("...") + }; + combined_string.push_str(fragments[candidate.doc_id].text); + previous_docid = candidate.doc_id; + + if fragments[candidate.doc_id].trim_right { + combined_string.push_str("...") + }; + } + } else { + combined_string.push_str(fragments[0].text); + } + } + + if highlight.highlight_markup && !no_score_no_highlight { + highlight_terms( + &mut combined_string, + query_terms_ac, + &highlight.pre_tags, + &highlight.post_tags, + ); + } + + Ok(combined_string) + } else { + Ok("".to_string()) + } + } + } +} + +pub(crate) fn highlight_terms( + text: &mut String, + query_terms_ac: &AhoCorasick, + pre_tags: &str, + post_tags: &str, +) { + let mut result = String::new(); + let mut prev_end = 0; + + for mat in query_terms_ac.find_iter(&text) { + result.push_str(&text[prev_end..mat.start()]); + result.push_str(pre_tags); + result.push_str(&text[mat.start()..mat.end()]); + result.push_str(post_tags); + prev_end = mat.end(); + } + + if prev_end < text.len() { + result.push_str(&text[prev_end..text.len()]); + } + + *text = result; +} diff --git a/mobile_app/rust/src/seekstorm/index.rs b/mobile_app/rust/src/seekstorm/index.rs new file mode 100644 index 0000000..8d51543 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/index.rs @@ -0,0 +1,4740 @@ +use add_result::decode_positions_commit; +use ahash::{AHashMap, AHashSet}; +use futures::future; +use indexmap::IndexMap; +use itertools::Itertools; +use memmap2::{Mmap, MmapMut, MmapOptions}; +use num::FromPrimitive; +use num_derive::FromPrimitive; + +use num_format::{Locale, ToFormattedString}; + +use rust_stemmers::{Algorithm, Stemmer}; +use search::{QueryType, Search}; +use serde::{Deserialize, Serialize}; +use smallvec::SmallVec; +use std::{ + collections::{HashMap, VecDeque}, + fs::{self, File}, + hint, + io::{BufRead, BufReader, Read, Seek, Write}, + path::PathBuf, + sync::Arc, + time::Instant, +}; +use symspell_complete_rs::{PruningRadixTrie, SymSpell}; +use tokio::sync::{RwLock, Semaphore}; +use utils::{read_u32, write_u16}; +use utoipa::ToSchema; + +#[cfg(feature = "zh")] +use crate::word_segmentation::WordSegmentationTM; +use crate::{ + add_result::{self, B, K, SIGMA}, + commit::Commit, + geo_search::encode_morton_2_d, + search::{ + self, FacetFilter, Point, QueryFacet, QueryRewriting, Ranges, ResultObject, ResultSort, + ResultType, SearchShard, + }, + tokenizer::tokenizer, + utils::{ + self, read_u8_ref, read_u16, read_u16_ref, read_u32_ref, read_u64, read_u64_ref, write_f32, + write_f64, write_i8, write_i16, write_i32, write_i64, write_u32, write_u64, + }, +}; + + +pub(crate) const FILE_PATH: &str = "files"; +pub(crate) const INDEX_FILENAME: &str = "index.bin"; +pub(crate) const DOCSTORE_FILENAME: &str = "docstore.bin"; +pub(crate) const DELETE_FILENAME: &str = "delete.bin"; +pub(crate) const SCHEMA_FILENAME: &str = "schema.json"; +pub(crate) const SYNONYMS_FILENAME: &str = "synonyms.json"; +pub(crate) const META_FILENAME: &str = "index.json"; +pub(crate) const FACET_FILENAME: &str = "facet.bin"; +pub(crate) const FACET_VALUES_FILENAME: &str = "facet.json"; + +pub(crate) const DICTIONARY_FILENAME: &str = "dictionary.csv"; +pub(crate) const COMPLETIONS_FILENAME: &str = "completions.csv"; + +pub(crate) const VERSION: &str = env!("CARGO_PKG_VERSION"); + +const INDEX_HEADER_SIZE: u64 = 4; +/// Incompatible index format change: new library can't open old format, and old library can't open new format +pub const INDEX_FORMAT_VERSION_MAJOR: u16 = 5; +/// Backward compatible format change: new library can open old format, but old library can't open new format +pub const INDEX_FORMAT_VERSION_MINOR: u16 = 0; + +/// Maximum processed positions per term per document: default=65_536. E.g. 65,536 * 'the' per document, exceeding positions are ignored for search. +pub const MAX_POSITIONS_PER_TERM: usize = 65_536; +pub(crate) const STOP_BIT: u8 = 0b10000000; +pub(crate) const FIELD_STOP_BIT_1: u8 = 0b0010_0000; +pub(crate) const FIELD_STOP_BIT_2: u8 = 0b0100_0000; +/// maximum number of documents per block +pub const ROARING_BLOCK_SIZE: usize = 65_536; + +pub(crate) const SPEEDUP_FLAG: bool = true; +pub(crate) const SORT_FLAG: bool = true; + +pub(crate) const POSTING_BUFFER_SIZE: usize = 400_000_000; +pub(crate) const MAX_QUERY_TERM_NUMBER: usize = 100; +pub(crate) const SEGMENT_KEY_CAPACITY: usize = 1000; + +/// A document is a flattened, single level of key-value pairs, where key is an arbitrary string, and value represents any valid JSON value. +pub type Document = HashMap; + +/// File type for storing documents: PathBuf, Bytes, None. +#[derive(Clone, PartialEq)] +pub enum FileType { + /// File path + PathBuf(Box), + /// File bytes + Bytes(Box, Box<[u8]>), + /// No file + None, +} + +/// Defines where the index resides during search: +/// - Ram (the complete index is preloaded to Ram when opening the index) +/// - Mmap (the index is accessed via memory-mapped files). See architecture.md for details. +/// - At commit the data is serialized to disk for persistence both in Ram and Mmap mode. +/// - The serialization format is identical for Ram and Mmap mode, allowing to change it retrospectively. +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] +pub enum AccessType { + /// Ram (the complete index is preloaded to Ram when opening the index). + /// - Index size is limited by available RAM size. + /// - Slightly fastesr search speed. + /// - Higher index loading time. + /// - Higher RAM usage. + Ram = 0, + /// Mmap (the index is accessed via memory-mapped files). See architecture.md for details. + /// - Enables index size scaling beyond RAM size. + /// - Slightly slower search speed compared to Ram. + /// - Faster index loading time compared to Ram. + /// - Lower RAM usage. + Mmap = 1, +} + +/// Similarity type defines the scoring and ranking of the search results: +/// - Bm25f: considers documents composed from several fields, with different field lengths and importance +/// - Bm25fProximity: considers term proximity, e.g. for implicit phrase search with improved relevancy +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Default, ToSchema)] +pub enum SimilarityType { + /// Bm25f considers documents composed from several fields, with different field lengths and importance + Bm25f = 0, + /// Bm25fProximity considers term proximity, e.g. for implicit phrase search with improved relevancy + #[default] + Bm25fProximity = 1, +} + +/// Defines tokenizer behavior: +/// AsciiAlphabetic +/// - Mainly for for benchmark compatibility +/// - Only ASCII alphabetic chars are recognized as token. +/// +/// UnicodeAlphanumeric +/// - All Unicode alphanumeric chars are recognized as token. +/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. +/// +/// UnicodeAlphanumericFolded +/// - All Unicode alphanumeric chars are recognized as token. +/// - Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. +/// - Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. +/// - Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). +/// - Tokenizing might be slower due to folding and apostroph processing. +/// +/// UnicodeAlphanumericZH +/// - Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. +/// - Supports mixed Latin and Chinese texts +/// - Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. +/// - Requires feature #[cfg(feature = "zh")] +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Copy, Default, ToSchema)] +pub enum TokenizerType { + /// Only ASCII alphabetic chars are recognized as token. Mainly for benchmark compatibility. + #[default] + AsciiAlphabetic = 0, + /// All Unicode alphanumeric chars are recognized as token. + /// Allow '+' '-' '#' in middle or end of a token: c++, c#, block-max. + UnicodeAlphanumeric = 1, + /// All Unicode alphanumeric chars are recognized as token. + /// Allows '+' '-' '#' in middle or end of a token: c++, c#, block-max. + /// Diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters are converted into its basic representation. + /// Apostroph handling prevents that short term parts preceding or following the apostroph get indexed (e.g. "s" in "someone's"). + /// Tokenizing might be slower due to folding and apostroph processing. + UnicodeAlphanumericFolded = 2, + /// Tokens are separated by whitespace. Mainly for benchmark compatibility. + Whitespace = 3, + /// Tokens are separated by whitespace. Token are converted to lowercase. Mainly for benchmark compatibility. + WhitespaceLowercase = 4, + /// Implements Chinese word segmentation to segment continuous Chinese text into tokens for indexing and search. + /// Supports mixed Latin and Chinese texts + /// Supports Chinese sentence boundary chars for KWIC snippets ahd highlighting. + /// Requires feature #[cfg(feature = "zh")] + #[cfg(feature = "zh")] + UnicodeAlphanumericZH = 5, +} + +/// Defines stemming behavior, reducing inflected words to their word stem, base or root form. +/// Stemming increases recall, but decreases precision. It can introduce false positive results. +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Copy, Default, ToSchema)] +pub enum StemmerType { + /// No stemming + #[default] + None = 0, + /// Arabic stemmer + Arabic = 1, + /// Danish stemmer + Danish = 2, + /// Dutch stemmer + Dutch = 3, + /// English stemmer + English = 4, + /// Finnish stemmer + Finnish = 5, + /// French stemmer + French = 6, + /// German stemmer + German = 7, + /// Hungarian stemmer + Greek = 8, + /// Hungarian stemmer + Hungarian = 9, + /// Italian stemmer + Italian = 10, + /// Norwegian stemmer + Norwegian = 11, + /// Portuguese stemmer + Portuguese = 12, + /// Romanian stemmer + Romanian = 13, + /// Russian stemmer + Russian = 14, + /// Spanish stemmer + Spanish = 15, + /// Swedish stemmer + Swedish = 16, + /// Tamil stemmer + Tamil = 17, + /// Turkish stemmer + Turkish = 18, +} + +pub(crate) struct LevelIndex { + pub document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]>, + + pub docstore_pointer_docs: Vec, + pub docstore_pointer_docs_pointer: usize, + pub document_length_compressed_array_pointer: usize, +} + +/// Posting lists are divided into blocks of a doc id range of 65.536 (16 bit). +/// Each block can be compressed with a different method. +#[derive(Default, Debug, Deserialize, Serialize, Clone)] +pub(crate) struct BlockObjectIndex { + pub max_block_score: f32, + pub block_id: u32, + pub compression_type_pointer: u32, + pub posting_count: u16, + pub max_docid: u16, + pub max_p_docid: u16, + pub pointer_pivot_p_docid: u16, +} + +/// PostingListObjectIndex owns all blocks of a postinglist of a term +#[derive(Default)] +pub(crate) struct PostingListObjectIndex { + pub posting_count: u32, + pub posting_count_ngram_1: u32, + pub posting_count_ngram_2: u32, + pub posting_count_ngram_3: u32, + pub posting_count_ngram_1_compressed: u8, + pub posting_count_ngram_2_compressed: u8, + pub posting_count_ngram_3_compressed: u8, + pub max_list_score: f32, + pub blocks: Vec, + + pub position_range_previous: u32, +} + +#[derive(Default, Debug, Deserialize, Serialize, Clone)] +pub(crate) struct PostingListObject0 { + pub pointer_first: usize, + pub pointer_last: usize, + pub posting_count: usize, + + pub max_block_score: f32, + pub max_docid: u16, + pub max_p_docid: u16, + + pub ngram_type: NgramType, + pub term_ngram1: String, + pub term_ngram2: String, + pub term_ngram3: String, + pub posting_count_ngram_1: f32, + pub posting_count_ngram_2: f32, + pub posting_count_ngram_3: f32, + pub posting_count_ngram_1_compressed: u8, + pub posting_count_ngram_2_compressed: u8, + pub posting_count_ngram_3_compressed: u8, + + pub position_count: usize, + pub pointer_pivot_p_docid: u16, + pub size_compressed_positions_key: usize, + pub docid_delta_max: u16, + pub docid_old: u16, + pub compression_type_pointer: u32, +} + +/// Type of posting list compression. +#[derive(Default, Debug, Deserialize, Serialize, Clone, PartialEq, FromPrimitive)] +pub(crate) enum CompressionType { + Delta = 0, + Array = 1, + Bitmap = 2, + Rle = 3, + #[default] + Error = 4, +} + +pub(crate) struct QueueObject<'a> { + pub query_list: Vec>, + pub query_index: usize, + pub max_score: f32, +} + +/// PostingListObjectQuery manages thes posting list for each unique query term during intersection. +#[derive(Clone)] +pub(crate) struct PostingListObjectQuery<'a> { + pub posting_count: u32, + pub max_list_score: f32, + pub blocks: &'a Vec, + pub blocks_index: usize, + + pub term: String, + pub key0: u32, + + pub compression_type: CompressionType, + pub rank_position_pointer_range: u32, + pub compressed_doc_id_range: usize, + pub pointer_pivot_p_docid: u16, + + pub posting_pointer: usize, + pub posting_pointer_previous: usize, + + pub byte_array: &'a [u8], + + pub p_block: i32, + pub p_block_max: i32, + pub p_docid: usize, + pub p_docid_count: usize, + + pub rangebits: i32, + pub docid: i32, + pub bitposition: u32, + + pub intersect: u64, + pub ulong_pos: usize, + + pub run_end: i32, + pub p_run: i32, + pub p_run_count: i32, + pub p_run_sum: i32, + + pub term_index_unique: usize, + pub positions_count: u32, + pub positions_pointer: u32, + + pub idf: f32, + pub idf_ngram1: f32, + pub idf_ngram2: f32, + pub idf_ngram3: f32, + pub tf_ngram1: u32, + pub tf_ngram2: u32, + pub tf_ngram3: u32, + pub ngram_type: NgramType, + + pub end_flag: bool, + pub end_flag_block: bool, + pub is_embedded: bool, + pub embedded_positions: [u32; 4], + pub field_vec: SmallVec<[(u16, usize); 2]>, + pub field_vec_ngram1: SmallVec<[(u16, usize); 2]>, + pub field_vec_ngram2: SmallVec<[(u16, usize); 2]>, + pub field_vec_ngram3: SmallVec<[(u16, usize); 2]>, + pub bm25_flag: bool, +} + +pub(crate) static DUMMY_VEC: Vec = Vec::new(); +pub(crate) static DUMMY_VEC_8: Vec = Vec::new(); + +impl Default for PostingListObjectQuery<'_> { + fn default() -> Self { + Self { + posting_count: 0, + max_list_score: 0.0, + blocks: &DUMMY_VEC, + blocks_index: 0, + term: "".to_string(), + key0: 0, + compression_type: CompressionType::Error, + rank_position_pointer_range: 0, + compressed_doc_id_range: 0, + pointer_pivot_p_docid: 0, + posting_pointer: 0, + posting_pointer_previous: 0, + byte_array: &DUMMY_VEC_8, + p_block: 0, + p_block_max: 0, + p_docid: 0, + p_docid_count: 0, + rangebits: 0, + docid: 0, + bitposition: 0, + run_end: 0, + p_run: 0, + p_run_count: 0, + p_run_sum: 0, + term_index_unique: 0, + positions_count: 0, + positions_pointer: 0, + idf: 0.0, + idf_ngram1: 0.0, + idf_ngram2: 0.0, + idf_ngram3: 0.0, + ngram_type: NgramType::SingleTerm, + is_embedded: false, + embedded_positions: [0; 4], + field_vec: SmallVec::new(), + tf_ngram1: 0, + tf_ngram2: 0, + tf_ngram3: 0, + field_vec_ngram1: SmallVec::new(), + field_vec_ngram2: SmallVec::new(), + field_vec_ngram3: SmallVec::new(), + + end_flag: false, + end_flag_block: false, + bm25_flag: true, + intersect: 0, + ulong_pos: 0, + } + } +} + +/// NonUniquePostingListObjectQuery manages these posting list for each non-unique query term during intersection. +/// It references to the unique query terms. +#[derive(Clone)] +pub(crate) struct NonUniquePostingListObjectQuery<'a> { + pub term_index_unique: usize, + pub term_index_nonunique: usize, + pub pos: u32, + pub p_pos: i32, + pub positions_pointer: usize, + pub positions_count: u32, + pub byte_array: &'a [u8], + pub key0: u32, + pub is_embedded: bool, + pub embedded_positions: [u32; 4], + pub p_field: usize, + pub field_vec: SmallVec<[(u16, usize); 2]>, +} + +/// Terms are converted to hashs. The index is divided into key hash range partitioned segments. +/// for each strip (key hash range) a separate dictionary (key hash - posting list) is maintained. +/// The index hash multiple segments, each segments contains multiple terms, each term has a postinglist, each postinglist has multiple blocks. +pub(crate) struct SegmentIndex { + pub byte_array_blocks: Vec>, + pub byte_array_blocks_pointer: Vec<(usize, usize, u32)>, + pub segment: AHashMap, +} + +/// StripObject0 defines a strip (key hash range) within level 0. Level 0 is the mutable level where all writes are taking place. +/// After each 65.536 docs the level 0 is flushed as an immutable block to the next level +#[derive(Default, Debug, Clone)] +pub(crate) struct SegmentLevel0 { + pub segment: AHashMap, + pub positions_compressed: Vec, +} + +/// FieldType defines the type of a field in the document: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point, string, stringset, text. +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, Default, ToSchema)] +pub enum FieldType { + /// Unsigned 8-bit integer + U8, + /// Unsigned 16-bit integer + U16, + /// Unsigned 32-bit integer + U32, + /// Unsigned 64-bit integer + U64, + /// Signed 8-bit integer + I8, + /// Signed 16-bit integer + I16, + /// Signed 32-bit integer + I32, + /// Signed 64-bit integer + I64, + /// Timestamp is identical to I64, but to be used for Unix timestamps . + /// The reason for a separate FieldType is to enable the UI to interpret I64 as timestamp without using the field name as indicator. + /// For date facets and filtering. + Timestamp, + /// Floating point 32-bit + F32, + /// Floating point 64-bit + F64, + /// Boolean + Bool, + /// String16 + /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. + #[default] + String16, + /// String32 + /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values + String32, + /// StringSet16 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. + /// allows a maximum cardinality of 65_535 (16 bit) distinct values, is space-saving. + StringSet16, + /// StringSet32 is a set of strings, e.g. tags, categories, keywords, authors, genres, etc. + /// allows a maximum cardinality of 4_294_967_295 (32 bit) distinct values + StringSet32, + /// Point is a geographic field type: A `Vec` with two coordinate values (latitude and longitude) are internally encoded into a single u64 value (Morton code). + /// Morton codes enable efficient range queries. + /// Latitude and longitude are a pair of numbers (coordinates) used to describe a position on the plane of a geographic coordinate system. + /// The numbers are in decimal degrees format and range from -90 to 90 for latitude and -180 to 180 for longitude. + /// Coordinates are internally stored as u64 morton code: both f64 values are multiplied by 10_000_000, converted to i32 and bitwise interleaved into a single u64 morton code + /// The conversion between longitude/latitude coordinates and Morton code is lossy due to rounding errors. + Point, + /// Text is a text field, that will be tokenized by the selected Tokenizer into string tokens. + Text, +} + +/// Defines synonyms for terms per index. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct Synonym { + /// List of terms that are synonyms. + pub terms: Vec, + /// Creates alternative versions of documents where in each copy a term is replaced with one of its synonyms. + /// Doesn't impact the query latency, but does increase the index size. + /// Multi-way synonyms (default): all terms are synonyms of each other. + /// One-way synonyms: only the first term is a synonym of the following terms, but not vice versa. + /// E.g. [street, avenue, road] will result in searches for street to return documents containing any of the terms street, avenue or road, + /// but searches for avenue will only return documents containing avenue, but not documents containing street or road. + /// Currently only single terms without spaces are supported. + /// Synonyms are supported in result highlighting. + /// The synonyms that were created with the synonyms parameter in create_index are stored in synonyms.json in the index directory contains + /// Can be manually modified, but becomes effective only after restart and only for newly indexed documents. + #[serde(default = "default_as_true")] + pub multiway: bool, +} + +fn default_as_true() -> bool { + true +} + +/// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct SchemaField { + /// unique name of a field + pub field: String, + /// only stored fields are returned in the search results + pub stored: bool, + /// only indexed fields can be searched + pub indexed: bool, + /// type of a field + pub field_type: FieldType, + /// optional faceting for a field + /// Faceting can be enabled both for string field type and numerical field types. + /// both numerical and string fields can be indexed (indexed=true) and stored (stored=true) in the json document, + /// but with field_facet=true they are additionally stored in a binary format, for fast faceting and sorting without docstore access (decompression, deserialization) + #[serde(skip_serializing_if = "is_default_bool")] + #[serde(default = "default_false")] + pub facet: bool, + + /// Indicate the longest field in schema. + /// Otherwise the longest field will be automatically detected in first index_document. + /// Setting/detecting the longest field ensures efficient index encoding. + #[serde(skip_serializing_if = "is_default_bool")] + #[serde(default = "default_false")] + pub longest: bool, + + /// optional custom weight factor for Bm25 ranking + #[serde(skip_serializing_if = "is_default_f32")] + #[serde(default = "default_1")] + pub boost: f32, + + /// if both indexed=true and dictionary_source=true then the terms from this field are added to dictionary to the spelling correction dictionary. + /// if disabled, then a manually generated dictionary can be used: {index_path}/dictionary.csv + #[serde(skip_serializing_if = "is_default_bool")] + #[serde(default = "default_false")] + pub dictionary_source: bool, + + /// if both indexed=true and completion_source=true then the n-grams (unigrams, bigrams, trigrams) from this field are added to the auto-completion list. + /// if disabled, then a manually generated completion list can be used: {index_path}/completions.csv + /// it is recommended to enable completion_source only for fields that contain short text with high-quality terms for auto-completion, e.g. title, author, category, product name, tags, + /// in order to keep the extraction time and RAM requirement for completions low and the completions relevance high. + #[serde(skip_serializing_if = "is_default_bool")] + #[serde(default = "default_false")] + pub completion_source: bool, + + #[serde(skip)] + pub(crate) indexed_field_id: usize, + #[serde(skip_deserializing)] + pub(crate) field_id: usize, +} + +/// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. +/// # Parameters +/// - field: unique name of a field +/// - stored: only stored fields are returned in the search results +/// - indexed: only indexed fields can be searched +/// - field_type: type of a field: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point +/// - facet: enable faceting for a field: for sorting results by field values, for range filtering, for result count per field value or range +/// - `longest`: This allows to annotate (manually set) the longest field in schema. +/// Otherwise the longest field will be automatically detected in first index_document. +/// Setting/detecting the longest field ensures efficient index encoding. +/// - boost: optional custom weight factor for Bm25 ranking +/// # Returns +/// - SchemaField +/// # Example +/// ```rust +/// use seekstorm::index::{SchemaField, FieldType}; +/// let schema_field = SchemaField::new("title".to_string(), true, true, FieldType::String16, false, false, 1.0, false, false); +/// ``` +impl SchemaField { + /// Creates a new SchemaField. + #[allow(clippy::too_many_arguments)] + pub fn new( + field: String, + stored: bool, + indexed: bool, + field_type: FieldType, + facet: bool, + longest: bool, + boost: f32, + dictionary_source: bool, + completion_source: bool, + ) -> Self { + SchemaField { + field, + stored, + indexed, + field_type, + facet, + longest, + boost, + dictionary_source, + completion_source, + + indexed_field_id: 0, + field_id: 0, + } + } +} + +fn default_false() -> bool { + false +} + +fn is_default_bool(num: &bool) -> bool { + !(*num) +} + +fn default_1() -> f32 { + 1.0 +} + +fn is_default_f32(num: &f32) -> bool { + *num == 1.0 +} + +pub(crate) struct IndexedField { + pub schema_field_name: String, + pub field_length_sum: usize, + pub indexed_field_id: usize, + + pub is_longest_field: bool, +} + +/// StopwordType defines the stopword behavior: None, English, German, French, Spanish, Custom. +/// Stopwords are removed, both from index and query: for compact index size and faster queries. +/// Stopword removal has drawbacks: “The Who”, “Take That”, “Let it be”, “To be or not to be”, "The The", "End of days", "What might have been" are all valid queries for bands, songs, movies, literature, +/// but become impossible when stopwords are removed. +/// The lists of stop_words and frequent_words should not overlap. +#[derive(Debug, Clone, Deserialize, Serialize, Default, ToSchema)] +pub enum StopwordType { + /// No stopwords + #[default] + None, + /// English stopwords + English, + /// German stopwords + German, + /// French stopwords + French, + /// Spanish stopwords + Spanish, + /// Custom stopwords + Custom { + ///List of stopwords. + terms: Vec, + }, +} + +/// FrequentwordType defines the frequentword behavior: None, English, German, French, Spanish, Custom. +/// Adjacent frequent terms are combined to bi-grams, both in index and query: for shorter posting lists and faster phrase queries (only for bi-grams of frequent terms). +/// The lists of stop_words and frequent_words should not overlap. +#[derive(Debug, Clone, Deserialize, Serialize, Default, ToSchema)] +pub enum FrequentwordType { + /// No frequent words + None, + /// English frequent words + #[default] + English, + /// German frequent words + German, + /// French frequent words + French, + /// Spanish frequent words + Spanish, + /// Custom frequent words + Custom { + ///List of frequent terms, max. 256 terms. + terms: Vec, + }, +} + +/// Defines spelling correction (fuzzy search) settings for an index. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct SpellingCorrection { + /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. + pub max_dictionary_edit_distance: usize, + /// Term length thresholds for each edit distance. + /// None: max_dictionary_edit_distance for all terms lengths + /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, + /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 + pub term_length_threshold: Option>, + + /// The minimum frequency count for dictionary words to be considered eligible for spelling correction. + /// Depends on the corpus size, 1..20 recommended. + /// If count_threshold is too high, some correct words might be missed from the dictionary and deemed misspelled, + /// if count_threshold is too low, some misspelled words from the corpus might be considered correct and added to the dictionary. + /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold), + /// but the terms below count_threshold will be included in dictionary.csv too. + pub count_threshold: usize, + + /// Limits the maximum number of dictionary entries (terms >= count_threshold) to generate during indexing, preventing excessive RAM consumption. + /// The number of terms in dictionary.csv will be higher, because it contains also the terms < count_threshold, to become eligible in the future during incremental dictionary updates. + /// Dictionary terms eligible for spelling correction (frequency count >= count_threshold) consume much more RAM, than the candidates (frequency count < count_threshold). + /// ⚠️ Above this threshold no new terms are added to the dictionary, causing them to be deemed incorrect during spelling correction and possibly changed to similar terms that are in the dictionary. + pub max_dictionary_entries: usize, +} + +/// Defines spelling correction (fuzzy search) settings for an index. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct QueryCompletion { + /// Maximum number of completions to generate during indexing + /// disabled if == 0 + pub max_completion_entries: usize, +} + +/// Specifies SimilarityType, TokenizerType and AccessType when creating an new index +#[derive(Debug, Clone, Deserialize, Serialize)] +pub struct IndexMetaObject { + /// unique index ID + /// Only used in SeekStorm server, not by the SeekStorm library itself. + /// In the SeekStorm server with REST API, the index ID is used to specify the index (within the API key) where you want to index and search. + pub id: u64, + /// index name: used informational purposes + pub name: String, + /// SimilarityType defines the scoring and ranking of the search results: Bm25f or Bm25fProximity + pub similarity: SimilarityType, + /// TokenizerType defines the tokenizer behavior: AsciiAlphabetic, UnicodeAlphanumeric, UnicodeAlphanumericFolded, UnicodeAlphanumericZH + pub tokenizer: TokenizerType, + /// StemmerType defines the stemming behavior: None, Arabic, Armenian, Danish, Dutch, English, French, German, Greek, Hungarian, Italian, Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish, Tamil, Turkish + pub stemmer: StemmerType, + + /// StopwordType defines the stopword behavior: None, English, German, French, Spanish, Custom. + /// Stopwords are removed, both from index and query: for compact index size and faster queries. + /// Stopword removal has drawbacks: “The Who”, “Take That”, “Let it be”, “To be or not to be”, "The The", "End of days", "What might have been" are all valid queries for bands, songs, movies, literature, + /// but become impossible when stopwords are removed. + /// The lists of stop_words and frequent_words should not overlap. + #[serde(default)] + pub stop_words: StopwordType, + /// FrequentwordType defines the frequentword behavior: None, English, German, French, Spanish, Custom. + /// Adjacent frequent terms are combined to bi-grams, both in index and query: for shorter posting lists and faster phrase queries (only for bi-grams of frequent terms). + /// The lists of stop_words and frequent_words should not overlap. + #[serde(default)] + pub frequent_words: FrequentwordType, + /// N-gram indexing: n-grams are indexed in addition to single terms, for fast phrase search, at the cost of higher index size + /// Preference valid both for index time and query time. Any change requires reindexing. + /// bitwise OR flags: + /// SingleTerm = 0b00000000, always enabled in addition to the other optional NgramSet below + /// NgramFF = 0b00000001, frequent frequent + /// NgramFR = 0b00000010, frequent rare + /// NgramRF = 0b00000100, rare frequent + /// NgramFFF = 0b00001000, frequent frequent frequent + /// NgramRFF = 0b00010000, rare frequent frequent + /// NgramFFR = 0b00100000, frequent frequent rare + /// NgramFRF = 0b01000000, frequent rare frequent + /// + /// When **minimum index size** is more important than phrase query latency, we recommend **Single Terms**: + /// `NgramSet::SingleTerm as u8` + /// + /// For a **good balance of latency and index size** cost, we recommend **Single Terms + Frequent Bigrams + Frequent Trigrams** (default): + /// `NgramSet::SingleTerm as u8 | NgramSet::NgramFF as u8 | NgramSet::NgramFFF` + /// + /// When **minimal phrase query latency** is more important than low index size, we recommend **Single Terms + Mixed Bigrams + Frequent Trigrams**: + /// `NgramSet::SingleTerm as u8 | NgramSet::NgramFF as u8 | NgramSet::NgramFR as u8 | NgramSet::NgramRF | NgramSet::NgramFFF` + #[serde(default = "ngram_indexing_default")] + pub ngram_indexing: u8, + + /// AccessType defines where the index resides during search: Ram or Mmap + pub access_type: AccessType, + /// Enable spelling correction for search queries using the SymSpell algorithm. + /// SymSpell enables finding those spelling suggestions in a dictionary very fast with minimum Damerau-Levenshtein edit distance and maximum word occurrence frequency. + /// When enabled, a SymSpell dictionary is incrementally created during indexing of documents and stored in the index. + /// The spelling correction is not based on a generic dictionary, but on a domain specific one derived from your indexed documents (only indexed fields). + /// This makes it language independent and prevents any discrepancy between corrected word and indexed content. + /// The creation of an individual dictionary derived from the indexed documents improves the correction quality compared to a generic dictionary. + /// An dictionary per index improves the privacy compared to a global dictionary derived from all indices. + /// The dictionary is deleted when delete_index or clear_index is called. + /// Note: enabling spelling correction increases the index size, indexing time and query latency. + /// Default: None. Enable by setting CreateDictionary with values for max_dictionary_edit_distance (1..2 recommended) and optionally a term length thresholds for each edit distance. + /// The higher the value, the higher the number of errors taht can be corrected - but also the memory consumption, lookup latency, and the number of false positives. + /// ⚠️ In addition to the create_index parameter `meta.spelling_correction` you also need to set the parameter `query_rewriting` in the search method to enable it per query. + #[serde(default)] + pub spelling_correction: Option, + + /// Enable query completion for search queries + /// When enabled, an auto-completion list is incrementally created during indexing of documents and stored in the index. + /// Because the completions are not based on a generic dictionary, but on a domain specific one derived from your indexed documents (only from indexed fields with completion_source=true), this increases the relevance of completions. + /// ⚠️ Deriving completions from indexed documents increases the indexing time and index size. + #[serde(default)] + pub query_completion: Option, +} + +fn ngram_indexing_default() -> u8 { + NgramSet::NgramFF as u8 | NgramSet::NgramFFF as u8 +} + +#[derive(Debug, Clone, Default)] +pub(crate) struct ResultFacet { + pub field: String, + pub values: AHashMap, + pub prefix: String, + pub length: u32, + pub ranges: Ranges, +} + +/// DistanceUnit defines the unit for distance calculation: kilometers or miles. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, ToSchema)] +pub enum DistanceUnit { + /// Kilometers + Kilometers, + /// Miles + Miles, +} + +/// DistanceField defines a field for proximity search. +#[derive(Debug, Clone, Deserialize, Serialize, ToSchema)] +pub struct DistanceField { + /// field name of a numeric facet field (currently onyl Point field type supported) + pub field: String, + /// field name of the distance field we are deriving from the numeric facet field (Point type) and the base (Point type) + pub distance: String, + /// base point (lat,lon) for distance calculation + pub base: Point, + /// distance unit for the distance field: kilometers or miles + pub unit: DistanceUnit, +} + +impl Default for DistanceField { + fn default() -> Self { + DistanceField { + field: String::new(), + distance: String::new(), + base: Vec::new(), + unit: DistanceUnit::Kilometers, + } + } +} + +/// MinMaxField represents the minimum and maximum value of a field. +#[derive(Deserialize, Serialize, Debug, Clone, Default)] +pub struct MinMaxField { + /// minimum value of the field + pub min: ValueType, + /// maximum value of the field + pub max: ValueType, +} + +/// MinMaxFieldJson is a JSON representation of the minimum and maximum value of a field. +#[derive(Deserialize, Serialize, Debug, Clone, Default, ToSchema)] +pub struct MinMaxFieldJson { + /// minimum value of the field + pub min: serde_json::Value, + /// maximum value of the field + pub max: serde_json::Value, +} + +/// Value type for a field: u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, point, none. +#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq)] +pub enum ValueType { + /// Unsigned 8-bit integer + U8(u8), + /// Unsigned 16-bit integer + U16(u16), + /// Unsigned 32-bit integer + U32(u32), + /// Unsigned 64-bit integer + U64(u64), + /// Signed 8-bit integer + I8(i8), + /// Signed 16-bit integer + I16(i16), + /// Signed 32-bit integer + I32(i32), + /// Signed 64-bit integer + I64(i64), + /// Unix timestamp: the number of seconds since 1 January 1970 + Timestamp(i64), + /// Floating point 32-bit + F32(f32), + /// Floating point 64-bit + F64(f64), + /// Geographic Point: a pair of latitude and longitude coordinates and a distance unit (kilometers, miles) + Point(Point, DistanceUnit), + /// No value + #[default] + None, +} + +/// Facet field, with field name and a map of unique values and their count (number of times the specific value appears in the whole index). +#[derive(Deserialize, Serialize, Debug, Clone, Default)] +pub struct FacetField { + /// Facet field name + pub name: String, + /// Vector of facet value names and their count + /// The number of distinct string values and numerical ranges per facet field (cardinality) is limited to 65_536. + /// Once that number is reached, the facet field is not updated anymore (no new values are added, no existing values are counted). + pub values: IndexMap, usize)>, + + /// Minimum value of the facet field + pub min: ValueType, + /// Maximum value of the facet field + pub max: ValueType, + + #[serde(skip)] + pub(crate) offset: usize, + #[serde(skip)] + pub(crate) field_type: FieldType, +} + +/// Facet field, with field name and a vector of unique values and their count (number of times the specific value appears in the whole index). +/// Facet field: a vector of unique values and their count (number of times the specific value appears in the whole index). +pub type Facet = Vec<(String, usize)>; + +/// Shard wrapped in Arc and RwLock for concurrent read and write access. +pub type ShardArc = Arc>; + +/// Index wrapped in Arc and RwLock for concurrent read and write access. +pub type IndexArc = Arc>; + +/// The shard object of the index. It contains all levels and all segments of the index. +/// It also contains all properties that control indexing and intersection. +pub struct Shard { + /// Incompatible index format change: new library can't open old format, and old library can't open new format + pub index_format_version_major: u16, + /// Backward compatible format change: new library can open old format, but old library can't open new format + pub index_format_version_minor: u16, + + /// Number of indexed documents + pub(crate) indexed_doc_count: usize, + /// Number of comitted documents + pub(crate) committed_doc_count: usize, + /// The index countains indexed, but uncommitted documents. Documents will either committed automatically once the number exceeds 64K documents, or once commit is invoked manually. + pub(crate) uncommitted: bool, + + /// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. + pub schema_map: HashMap, + /// List of stored fields in the index: get_document and highlighter work only with stored fields + pub stored_field_names: Vec, + /// Specifies SimilarityType, TokenizerType and AccessType when creating an new index + pub meta: IndexMetaObject, + + pub(crate) is_last_level_incomplete: bool, + pub(crate) last_level_index_file_start_pos: u64, + pub(crate) last_level_docstore_file_start_pos: u64, + + /// Number of allowed parallel indexed documents (default=available_parallelism). Can be used to detect wehen all indexing processes are finished. + pub(crate) permits: Arc, + + pub(crate) docstore_file: File, + pub(crate) docstore_file_mmap: Mmap, + + pub(crate) delete_file: File, + pub(crate) delete_hashset: AHashSet, + + pub(crate) index_file: File, + pub(crate) index_path_string: String, + pub(crate) index_file_mmap: Mmap, + + pub(crate) compressed_index_segment_block_buffer: Vec, + pub(crate) compressed_docstore_segment_block_buffer: Vec, + + pub(crate) segment_number1: usize, + pub(crate) segment_number_bits1: usize, + + pub(crate) document_length_normalized_average: f32, + pub(crate) positions_sum_normalized: u64, + + pub(crate) level_index: Vec, + pub(crate) segments_index: Vec, + pub(crate) segments_level0: Vec, + + pub(crate) enable_fallback: bool, + pub(crate) enable_single_term_topk: bool, + pub(crate) enable_search_quality_test: bool, + pub(crate) enable_inter_query_threading: bool, + pub(crate) enable_inter_query_threading_auto: bool, + + pub(crate) segment_number_mask1: u32, + + pub(crate) indexed_field_vec: Vec, + pub(crate) indexed_field_id_bits: usize, + pub(crate) indexed_field_id_mask: usize, + pub(crate) longest_field_id: usize, + pub(crate) longest_field_auto: bool, + pub(crate) indexed_schema_vec: Vec, + + pub(crate) document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]>, + pub(crate) key_count_sum: u64, + + pub(crate) block_id: usize, + pub(crate) strip_compressed_sum: u64, + pub(crate) postings_buffer: Vec, + pub(crate) postings_buffer_pointer: usize, + + pub(crate) size_compressed_positions_index: u64, + pub(crate) size_compressed_docid_index: u64, + + pub(crate) postinglist_count: usize, + pub(crate) docid_count: usize, + pub(crate) position_count: usize, + + pub(crate) mute: bool, + pub(crate) frequentword_results: AHashMap, + + pub(crate) facets: Vec, + pub(crate) facets_map: AHashMap, + pub(crate) facets_size_sum: usize, + pub(crate) facets_file: File, + pub(crate) facets_file_mmap: MmapMut, + pub(crate) bm25_component_cache: [f32; 256], + + pub(crate) string_set_to_single_term_id_vec: Vec>>, + + pub(crate) synonyms_map: AHashMap, + + #[cfg(feature = "zh")] + pub(crate) word_segmentation_option: Option, + + pub(crate) shard_number: usize, + pub(crate) index_option: Option>>, + pub(crate) stemmer: Option, + + pub(crate) stop_words: AHashSet, + pub(crate) frequent_words: Vec, + pub(crate) frequent_hashset: AHashSet, + pub(crate) key_head_size: usize, + pub(crate) level_terms: AHashMap, + pub(crate) level_completions: Arc, usize>>>, +} + +/// The root object of the index. It contains all levels and all segments of the index. +/// It also contains all properties that control indexing and intersection. +pub struct Index { + /// Incompatible index format change: new library can't open old format, and old library can't open new format + pub index_format_version_major: u16, + /// Backward compatible format change: new library can open old format, but old library can't open new format + pub index_format_version_minor: u16, + + /// Number of indexed documents + pub(crate) indexed_doc_count: usize, + + /// Number of deleted documents + pub(crate) deleted_doc_count: usize, + + /// Defines a field in index schema: field, stored, indexed , field_type, facet, boost. + pub schema_map: HashMap, + /// List of stored fields in the index: get_document and highlighter work only with stored fields + pub stored_field_names: Vec, + /// Specifies SimilarityType, TokenizerType and AccessType when creating an new index + pub meta: IndexMetaObject, + + pub(crate) index_file: File, + pub(crate) index_path_string: String, + + pub(crate) compressed_index_segment_block_buffer: Vec, + + pub(crate) segment_number1: usize, + pub(crate) segment_number_mask1: u32, + + pub(crate) indexed_field_vec: Vec, + + pub(crate) mute: bool, + + pub(crate) facets: Vec, + + pub(crate) synonyms_map: AHashMap, + + pub(crate) shard_number: usize, + pub(crate) shard_bits: usize, + pub(crate) shard_vec: Vec>>, + pub(crate) shard_queue: Arc>>, + + pub(crate) max_dictionary_entries: usize, + pub(crate) symspell_option: Option>>, + + pub(crate) max_completion_entries: usize, + pub(crate) completion_option: Option>>, + + pub(crate) frequent_hashset: AHashSet, +} + +///SynonymItem is a vector of tuples: (synonym term, (64-bit synonym term hash, 64-bit synonym term hash)) +pub type SynonymItem = Vec<(String, (u64, u32))>; + +/// Get the version of the SeekStorm search library +pub fn version() -> &'static str { + VERSION +} + +pub(crate) fn get_synonyms_map( + synonyms: &[Synonym], + segment_number_mask1: u32, +) -> AHashMap { + let mut synonyms_map: AHashMap = AHashMap::new(); + for synonym in synonyms.iter() { + if synonym.terms.len() > 1 { + let mut hashes: Vec<(String, (u64, u32))> = Vec::new(); + for term in synonym.terms.iter() { + let term_bytes = term.to_lowercase(); + hashes.push(( + term.to_string(), + ( + hash64(term_bytes.as_bytes()), + hash32(term_bytes.as_bytes()) & segment_number_mask1, + ), + )); + } + if synonym.multiway { + for (i, hash) in hashes.iter().enumerate() { + let new_synonyms = if i == 0 { + hashes[1..].to_vec() + } else if i == hashes.len() - 1 { + hashes[..hashes.len() - 1].to_vec() + } else { + [&hashes[..i], &hashes[(i + 1)..]].concat() + }; + + if let Some(item) = synonyms_map.get_mut(&hash.1.0) { + *item = item + .clone() + .into_iter() + .chain(new_synonyms.into_iter()) + .collect::>() + .into_iter() + .collect(); + } else { + synonyms_map.insert(hash.1.0, new_synonyms); + } + } + } else { + synonyms_map.insert(hashes[0].1.0, hashes[1..].to_vec()); + } + } + } + synonyms_map +} + +/// N-gram indexing: n-grams are indexed in addition to single terms, for faster phrase search, at the cost of higher index size +/// Setting valid both for index time and query time. Any change requires reindexing. +/// bitwise OR flags: +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, FromPrimitive)] +pub enum NgramSet { + /// no n-grams, only single terms are indexed + SingleTerm = 0b00000000, + /// Ngram frequent frequent + NgramFF = 0b00000001, + /// Ngram frequent rare + NgramFR = 0b00000010, + /// Ngram rare frequent + NgramRF = 0b00000100, + /// Ngram frequent frequent frequent + NgramFFF = 0b00001000, + /// Ngram rare frequent frequent + NgramRFF = 0b00010000, + /// Ngram frequent frequent rare + NgramFFR = 0b00100000, + /// Ngram frequent rare frequent + NgramFRF = 0b01000000, +} + +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, FromPrimitive, Default)] +pub(crate) enum NgramType { + /// no n-grams, only single terms are indexed + #[default] + SingleTerm = 0, + /// Ngram frequent frequent + NgramFF = 1, + /// Ngram frequent rare + NgramFR = 2, + /// Ngram rare frequent + NgramRF = 3, + /// Ngram frequent frequent frequent + NgramFFF = 4, + /// Ngram rare frequent frequent + NgramRFF = 5, + /// Ngram frequent frequent rare + NgramFFR = 6, + /// Ngram frequent rare frequent + NgramFRF = 7, +} + +/// Create index in RAM. +/// Inner data structures for create index and open_index +/// * `index_path` - index path. +/// * `meta` - index meta object. +/// * `schema` - schema. +/// * `synonyms` - vector of synonyms. +/// * `segment_number_bits1` - number of index segments: e.g. 11 bits for 2048 segments. +/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). +/// * `force_shard_number` - set number of shards manually or automatically. +/// - none: number of shards is set automatically = number of physical processor cores (default) +/// - small: slower indexing, higher latency, slightly higher throughput, faster realtime search, lower RAM consumption +/// - large: faster indexing, lower latency, slightly lower throughput, slower realtime search, higher RAM consumption +pub async fn create_index( + index_path: PathBuf, + meta: IndexMetaObject, + schema: &Vec, + synonyms: &Vec, + segment_number_bits1: usize, + mute: bool, + force_shard_number: Option, +) -> Result { + create_index_root( + index_path, + meta, + schema, + true, + synonyms, + segment_number_bits1, + mute, + force_shard_number, + ) + .await +} + +#[allow(clippy::too_many_arguments)] +pub(crate) async fn create_index_root( + index_path: PathBuf, + meta: IndexMetaObject, + schema: &Vec, + serialize_schema: bool, + synonyms: &Vec, + segment_number_bits1: usize, + mute: bool, + force_shard_number: Option, +) -> Result { + let frequent_hashset: AHashSet = match &meta.frequent_words { + FrequentwordType::None => AHashSet::new(), + FrequentwordType::English => FREQUENT_EN.lines().map(|x| hash64(x.as_bytes())).collect(), + FrequentwordType::German => FREQUENT_EN.lines().map(|x| hash64(x.as_bytes())).collect(), + FrequentwordType::French => FREQUENT_FR.lines().map(|x| hash64(x.as_bytes())).collect(), + FrequentwordType::Spanish => FREQUENT_ES.lines().map(|x| hash64(x.as_bytes())).collect(), + FrequentwordType::Custom { terms } => terms.iter().map(|x| hash64(x.as_bytes())).collect(), + }; + + let segment_number1 = 1usize << segment_number_bits1; + let segment_number_mask1 = (1u32 << segment_number_bits1) - 1; + + let index_path_buf = index_path.to_path_buf(); + let index_path_string = index_path_buf.to_str().unwrap(); + + if !index_path.exists() { + if !mute { + println!("index path created: {} ", index_path_string); + } + fs::create_dir_all(index_path).unwrap(); + } + + let file_path = PathBuf::new(index_path_string).join(FILE_PATH); + if !file_path.exists() { + if !mute { + println!("index directory created: {} ", file_path.display()); + } + fs::create_dir_all(file_path).unwrap(); + } + + match File::options() + .read(true) + .write(true) + .create(true) + .truncate(false) + .open(PathBuf::new(index_path).join(INDEX_FILENAME)) + { + Ok(index_file) => { + let mut document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]> = Vec::new(); + let mut indexed_field_vec: Vec = Vec::new(); + let mut facets_vec: Vec = Vec::new(); + let mut facets_map: AHashMap = AHashMap::new(); + + let mut schema_map: HashMap = HashMap::new(); + let mut indexed_schema_vec: Vec = Vec::new(); + let mut stored_field_names = Vec::new(); + let mut facets_size_sum = 0; + let mut longest_field_id_option: Option = None; + for (i, schema_field) in schema.iter().enumerate() { + let mut schema_field_clone = schema_field.clone(); + schema_field_clone.indexed_field_id = indexed_field_vec.len(); + if schema_field.longest && schema_field.indexed { + longest_field_id_option = Some(schema_field_clone.indexed_field_id); + } + + schema_field_clone.field_id = i; + schema_map.insert(schema_field.field.clone(), schema_field_clone.clone()); + + if schema_field.facet { + let facet_size = match schema_field.field_type { + FieldType::U8 => 1, + FieldType::U16 => 2, + FieldType::U32 => 4, + FieldType::U64 => 8, + FieldType::I8 => 1, + FieldType::I16 => 2, + FieldType::I32 => 4, + FieldType::I64 => 8, + FieldType::Timestamp => 8, + FieldType::F32 => 4, + FieldType::F64 => 8, + FieldType::String16 => 2, + FieldType::String32 => 4, + FieldType::StringSet16 => 2, + FieldType::StringSet32 => 4, + FieldType::Point => 8, + _ => 1, + }; + + facets_map.insert(schema_field.field.clone(), facets_vec.len()); + facets_vec.push(FacetField { + name: schema_field.field.clone(), + values: IndexMap::new(), + min: ValueType::None, + max: ValueType::None, + offset: facets_size_sum, + field_type: schema_field.field_type.clone(), + }); + facets_size_sum += facet_size; + } + + if schema_field.indexed { + indexed_field_vec.push(IndexedField { + schema_field_name: schema_field.field.clone(), + is_longest_field: false, + field_length_sum: 0, + indexed_field_id: indexed_field_vec.len(), + }); + indexed_schema_vec.push(schema_field_clone); + document_length_compressed_array.push([0; ROARING_BLOCK_SIZE]); + } + + if schema_field.stored { + stored_field_names.push(schema_field.field.clone()); + } + } + + if !facets_vec.is_empty() + && let Ok(file) = File::open(PathBuf::new(index_path).join(FACET_VALUES_FILENAME)) + && let Ok(facets) = serde_json::from_reader(BufReader::new(file)) + { + let mut facets: Vec = facets; + if facets_vec.len() == facets.len() { + for i in 0..facets.len() { + facets[i].offset = facets_vec[i].offset; + facets[i].field_type = facets_vec[i].field_type.clone(); + } + } + facets_vec = facets; + } + + let synonyms_map = get_synonyms_map(synonyms, segment_number_mask1); + + let shard_number = if let Some(shard_number) = force_shard_number { + shard_number + } else { + num_cpus::get_physical() + }; + let shard_bits = if serialize_schema { + (usize::BITS - (shard_number - 1).leading_zeros()) as usize + } else { + 0 + }; + + let mut shard_vec: Vec>> = Vec::new(); + let mut shard_queue = VecDeque::::new(); + if serialize_schema { + let mut result_object_list = Vec::new(); + let index_path_clone = Arc::new(index_path.to_path_buf()); + for i in 0..shard_number { + let index_path_clone2 = index_path_clone.clone(); + let meta_clone = meta.clone(); + let schema_clone = schema.clone(); + result_object_list.push(tokio::spawn(async move { + let shard_path = index_path_clone2.join("shards").join(i.to_string()); + let mut shard_meta = meta_clone.clone(); + shard_meta.id = i as u64; + let mut shard = create_shard( + &shard_path, + &shard_meta, + &schema_clone, + serialize_schema, + &Vec::new(), + segment_number_bits1, + mute, + longest_field_id_option, + ) + .unwrap(); + shard.shard_number = shard_number; + let shard_arc = Arc::new(RwLock::new(shard)); + (shard_arc, i) + })); + } + for result_object_shard in result_object_list { + let ro_shard = result_object_shard.await.unwrap(); + shard_vec.push(ro_shard.0); + shard_queue.push_back(ro_shard.1); + } + } + + let shard_queue_arc = Arc::new(RwLock::new(shard_queue)); + + let mut index = Index { + index_format_version_major: INDEX_FORMAT_VERSION_MAJOR, + index_format_version_minor: INDEX_FORMAT_VERSION_MINOR, + + index_file, + index_path_string: index_path_string.to_owned(), + stored_field_names, + + compressed_index_segment_block_buffer: vec![0; 10_000_000], + indexed_doc_count: 0, + deleted_doc_count: 0, + segment_number1: 0, + segment_number_mask1: 0, + schema_map, + indexed_field_vec, + meta: meta.clone(), + mute, + facets: facets_vec, + synonyms_map, + + shard_number, + shard_bits, + shard_vec, + shard_queue: shard_queue_arc, + + max_dictionary_entries: if let Some(spelling_correction) = &meta.spelling_correction + { + spelling_correction.max_dictionary_entries + } else { + usize::MAX + }, + + symspell_option: if let Some(spelling_correction) = meta.spelling_correction { + Some(Arc::new(RwLock::new(SymSpell::new( + spelling_correction.max_dictionary_edit_distance, + spelling_correction.term_length_threshold, + 7, + spelling_correction.count_threshold, + )))) + } else { + None + }, + + max_completion_entries: if let Some(query_completion) = &meta.query_completion { + query_completion.max_completion_entries + } else { + usize::MAX + }, + + completion_option: meta + .query_completion + .as_ref() + .map(|_query_completion| Arc::new(RwLock::new(PruningRadixTrie::new()))), + + frequent_hashset, + }; + + let file_len = index.index_file.metadata().unwrap().len(); + if file_len == 0 { + write_u16( + INDEX_FORMAT_VERSION_MAJOR, + &mut index.compressed_index_segment_block_buffer, + 0, + ); + write_u16( + INDEX_FORMAT_VERSION_MINOR, + &mut index.compressed_index_segment_block_buffer, + 2, + ); + let _ = index.index_file.write( + &index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], + ); + } else { + let _ = index.index_file.read( + &mut index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], + ); + index.index_format_version_major = + read_u16(&index.compressed_index_segment_block_buffer, 0); + index.index_format_version_minor = + read_u16(&index.compressed_index_segment_block_buffer, 2); + + if INDEX_FORMAT_VERSION_MAJOR != index.index_format_version_major { + return Err("incompatible index format version ".to_string() + + &INDEX_FORMAT_VERSION_MAJOR.to_string() + + " " + + &index.index_format_version_major.to_string()); + }; + } + + index.segment_number1 = segment_number1; + index.segment_number_mask1 = segment_number_mask1; + + if serialize_schema { + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(SCHEMA_FILENAME)).unwrap(), + &schema, + ) + .unwrap(); + + if !synonyms.is_empty() { + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(SYNONYMS_FILENAME)).unwrap(), + &synonyms, + ) + .unwrap(); + } + + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(META_FILENAME)).unwrap(), + &index.meta, + ) + .unwrap(); + } + + let index_arc = Arc::new(RwLock::new(index)); + + if serialize_schema { + for shard in index_arc.write().await.shard_vec.iter() { + shard.write().await.index_option = Some(index_arc.clone()); + } + } + + Ok(index_arc) + } + Err(e) => { + println!("file opening error"); + Err(e.to_string()) + } + } +} + +#[allow(clippy::too_many_arguments)] +pub(crate) fn create_shard( + index_path: PathBuf, + meta: &IndexMetaObject, + schema: &Vec, + serialize_schema: bool, + synonyms: &Vec, + segment_number_bits1: usize, + mute: bool, + longest_field_id_option: Option, +) -> Result { + let segment_number1 = 1usize << segment_number_bits1; + let segment_number_mask1 = (1u32 << segment_number_bits1) - 1; + + let index_path_buf = index_path.to_path_buf(); + let index_path_string = index_path_buf.to_str().unwrap(); + + if !index_path.exists() { + fs::create_dir_all(index_path).unwrap(); + } + + let file_path = PathBuf::new(index_path_string).join(FILE_PATH); + if !file_path.exists() { + fs::create_dir_all(file_path).unwrap(); + } + + match File::options() + .read(true) + .write(true) + .create(true) + .truncate(false) + .open(PathBuf::new(index_path).join(INDEX_FILENAME)) + { + Ok(index_file) => { + let docstore_file = File::options() + .read(true) + .write(true) + .create(true) + .truncate(false) + .open(PathBuf::new(index_path).join(DOCSTORE_FILENAME)) + .unwrap(); + + let delete_file = File::options() + .read(true) + .write(true) + .create(true) + .truncate(false) + .open(PathBuf::new(index_path).join(DELETE_FILENAME)) + .unwrap(); + + let facets_file = File::options() + .read(true) + .write(true) + .create(true) + .truncate(false) + .open(PathBuf::new(index_path).join(FACET_FILENAME)) + .unwrap(); + + let mut document_length_compressed_array: Vec<[u8; ROARING_BLOCK_SIZE]> = Vec::new(); + let mut indexed_field_vec: Vec = Vec::new(); + let mut facets_vec: Vec = Vec::new(); + let mut facets_map: AHashMap = AHashMap::new(); + + let mut schema_map: HashMap = HashMap::new(); + let mut indexed_schema_vec: Vec = Vec::new(); + let mut stored_fields_flag = false; + let mut stored_field_names = Vec::new(); + let mut facets_size_sum = 0; + for (i, schema_field) in schema.iter().enumerate() { + let mut schema_field_clone = schema_field.clone(); + schema_field_clone.indexed_field_id = indexed_field_vec.len(); + schema_field_clone.field_id = i; + schema_map.insert(schema_field.field.clone(), schema_field_clone.clone()); + + if schema_field.facet { + let facet_size = match schema_field.field_type { + FieldType::U8 => 1, + FieldType::U16 => 2, + FieldType::U32 => 4, + FieldType::U64 => 8, + FieldType::I8 => 1, + FieldType::I16 => 2, + FieldType::I32 => 4, + FieldType::I64 => 8, + FieldType::Timestamp => 8, + FieldType::F32 => 4, + FieldType::F64 => 8, + FieldType::String16 => 2, + FieldType::String32 => 4, + FieldType::StringSet16 => 2, + FieldType::StringSet32 => 4, + FieldType::Point => 8, + _ => 1, + }; + + facets_map.insert(schema_field.field.clone(), facets_vec.len()); + facets_vec.push(FacetField { + name: schema_field.field.clone(), + values: IndexMap::new(), + min: ValueType::None, + max: ValueType::None, + offset: facets_size_sum, + field_type: schema_field.field_type.clone(), + }); + facets_size_sum += facet_size; + } + + if schema_field.indexed { + indexed_field_vec.push(IndexedField { + schema_field_name: schema_field.field.clone(), + is_longest_field: false, + field_length_sum: 0, + indexed_field_id: indexed_field_vec.len(), + }); + indexed_schema_vec.push(schema_field_clone); + document_length_compressed_array.push([0; ROARING_BLOCK_SIZE]); + } + + if schema_field.stored { + stored_fields_flag = true; + stored_field_names.push(schema_field.field.clone()); + } + } + + let indexed_field_id_bits = + (usize::BITS - (indexed_field_vec.len() - 1).leading_zeros()) as usize; + + let index_file_mmap; + let docstore_file_mmap = if meta.access_type == AccessType::Mmap { + index_file_mmap = unsafe { Mmap::map(&index_file).expect("Unable to create Mmap") }; + unsafe { Mmap::map(&docstore_file).expect("Unable to create Mmap") } + } else { + index_file_mmap = unsafe { + MmapOptions::new() + .len(0) + .map(&index_file) + .expect("Unable to create Mmap") + }; + unsafe { + MmapOptions::new() + .len(0) + .map(&docstore_file) + .expect("Unable to create Mmap") + } + }; + + if !facets_vec.is_empty() + && let Ok(file) = File::open(PathBuf::new(index_path).join(FACET_VALUES_FILENAME)) + && let Ok(facets) = serde_json::from_reader(BufReader::new(file)) + { + let mut facets: Vec = facets; + if facets_vec.len() == facets.len() { + for i in 0..facets.len() { + facets[i].offset = facets_vec[i].offset; + facets[i].field_type = facets_vec[i].field_type.clone(); + } + } + facets_vec = facets; + } + + let facets_file_mmap = if !facets_vec.is_empty() { + if facets_file.metadata().unwrap().len() == 0 { + facets_file + .set_len((facets_size_sum * ROARING_BLOCK_SIZE) as u64) + .expect("Unable to set len"); + } + + unsafe { MmapMut::map_mut(&facets_file).expect("Unable to create Mmap") } + } else { + unsafe { MmapMut::map_mut(&facets_file).expect("Unable to create Mmap") } + }; + + let synonyms_map = get_synonyms_map(synonyms, segment_number_mask1); + + let facets_len = facets_vec.len(); + + #[cfg(feature = "zh")] + let word_segmentation_option = if meta.tokenizer == TokenizerType::UnicodeAlphanumericZH + { + let mut word_segmentation = WordSegmentationTM::new(); + word_segmentation.load_dictionary(0, 1, true); + Some(word_segmentation) + } else { + None + }; + + let shard_number = 1; + + let stemmer = match meta.stemmer { + StemmerType::Arabic => Some(Stemmer::create(Algorithm::Arabic)), + StemmerType::Danish => Some(Stemmer::create(Algorithm::Danish)), + StemmerType::Dutch => Some(Stemmer::create(Algorithm::Dutch)), + StemmerType::English => Some(Stemmer::create(Algorithm::English)), + StemmerType::Finnish => Some(Stemmer::create(Algorithm::Finnish)), + StemmerType::French => Some(Stemmer::create(Algorithm::French)), + StemmerType::German => Some(Stemmer::create(Algorithm::German)), + StemmerType::Greek => Some(Stemmer::create(Algorithm::Greek)), + StemmerType::Hungarian => Some(Stemmer::create(Algorithm::Hungarian)), + StemmerType::Italian => Some(Stemmer::create(Algorithm::Italian)), + StemmerType::Norwegian => Some(Stemmer::create(Algorithm::Norwegian)), + StemmerType::Portuguese => Some(Stemmer::create(Algorithm::Portuguese)), + StemmerType::Romanian => Some(Stemmer::create(Algorithm::Romanian)), + StemmerType::Russian => Some(Stemmer::create(Algorithm::Russian)), + StemmerType::Spanish => Some(Stemmer::create(Algorithm::Spanish)), + StemmerType::Swedish => Some(Stemmer::create(Algorithm::Swedish)), + StemmerType::Tamil => Some(Stemmer::create(Algorithm::Tamil)), + StemmerType::Turkish => Some(Stemmer::create(Algorithm::Turkish)), + _ => None, + }; + + let stop_words: AHashSet = match &meta.stop_words { + StopwordType::None => AHashSet::new(), + StopwordType::English => FREQUENT_EN.lines().map(|x| x.to_string()).collect(), + StopwordType::German => FREQUENT_DE.lines().map(|x| x.to_string()).collect(), + StopwordType::French => FREQUENT_FR.lines().map(|x| x.to_string()).collect(), + StopwordType::Spanish => FREQUENT_ES.lines().map(|x| x.to_string()).collect(), + StopwordType::Custom { terms } => terms.iter().map(|x| x.to_string()).collect(), + }; + + let frequent_words: Vec = match &meta.frequent_words { + FrequentwordType::None => Vec::new(), + FrequentwordType::English => { + let mut words: Vec = + FREQUENT_EN.lines().map(|x| x.to_string()).collect(); + words.sort_unstable(); + words + } + FrequentwordType::German => { + let mut words: Vec = + FREQUENT_DE.lines().map(|x| x.to_string()).collect(); + words.sort_unstable(); + words + } + FrequentwordType::French => { + let mut words: Vec = + FREQUENT_FR.lines().map(|x| x.to_string()).collect(); + words.sort_unstable(); + words + } + FrequentwordType::Spanish => { + let mut words: Vec = + FREQUENT_ES.lines().map(|x| x.to_string()).collect(); + words.sort_unstable(); + words + } + FrequentwordType::Custom { terms } => { + let mut words: Vec = terms.iter().map(|x| x.to_string()).collect(); + words.sort_unstable(); + words + } + }; + + let frequent_hashset: AHashSet = frequent_words + .iter() + .map(|x| hash64(x.as_bytes())) + .collect(); + + let mut index = Shard { + index_format_version_major: INDEX_FORMAT_VERSION_MAJOR, + index_format_version_minor: INDEX_FORMAT_VERSION_MINOR, + docstore_file, + delete_file, + delete_hashset: AHashSet::new(), + index_file, + index_path_string: index_path_string.to_owned(), + index_file_mmap, + docstore_file_mmap, + stored_field_names, + compressed_index_segment_block_buffer: vec![0; 10_000_000], + compressed_docstore_segment_block_buffer: if stored_fields_flag { + vec![0; ROARING_BLOCK_SIZE * 4] + } else { + Vec::new() + }, + document_length_normalized_average: 0.0, + indexed_doc_count: 0, + committed_doc_count: 0, + is_last_level_incomplete: false, + last_level_index_file_start_pos: 0, + last_level_docstore_file_start_pos: 0, + positions_sum_normalized: 0, + segment_number1: 0, + segment_number_bits1, + segment_number_mask1: 0, + level_index: Vec::new(), + segments_index: Vec::new(), + segments_level0: Vec::new(), + uncommitted: false, + enable_fallback: false, + enable_single_term_topk: false, + enable_search_quality_test: false, + enable_inter_query_threading: false, + enable_inter_query_threading_auto: false, + schema_map, + indexed_field_id_bits, + indexed_field_id_mask: (1usize << indexed_field_id_bits) - 1, + longest_field_id: longest_field_id_option.unwrap_or_default(), + longest_field_auto: longest_field_id_option.is_none(), + indexed_field_vec, + indexed_schema_vec, + meta: meta.clone(), + document_length_compressed_array, + key_count_sum: 0, + + block_id: 0, + strip_compressed_sum: 0, + postings_buffer: vec![0; POSTING_BUFFER_SIZE], + postings_buffer_pointer: 0, + + docid_count: 0, + size_compressed_docid_index: 0, + size_compressed_positions_index: 0, + position_count: 0, + postinglist_count: 0, + permits: Arc::new(Semaphore::new(1)), + mute, + frequentword_results: AHashMap::new(), + facets: facets_vec, + facets_map, + facets_size_sum, + facets_file, + facets_file_mmap, + string_set_to_single_term_id_vec: vec![AHashMap::new(); facets_len], + bm25_component_cache: [0.0; 256], + synonyms_map, + #[cfg(feature = "zh")] + word_segmentation_option, + + shard_number, + index_option: None, + stemmer, + stop_words, + frequent_words, + frequent_hashset, + key_head_size: if meta.ngram_indexing == 0 { + 20 + } else if meta.ngram_indexing < 8 { + 22 + } else { + 23 + }, + level_terms: AHashMap::new(), + level_completions: Arc::new(RwLock::new(AHashMap::with_capacity(200_000))), + }; + + let file_len = index.index_file.metadata().unwrap().len(); + if file_len == 0 { + write_u16( + INDEX_FORMAT_VERSION_MAJOR, + &mut index.compressed_index_segment_block_buffer, + 0, + ); + write_u16( + INDEX_FORMAT_VERSION_MINOR, + &mut index.compressed_index_segment_block_buffer, + 2, + ); + let _ = index.index_file.write( + &index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], + ); + } else { + let _ = index.index_file.read( + &mut index.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize], + ); + index.index_format_version_major = + read_u16(&index.compressed_index_segment_block_buffer, 0); + index.index_format_version_minor = + read_u16(&index.compressed_index_segment_block_buffer, 2); + + if INDEX_FORMAT_VERSION_MAJOR != index.index_format_version_major { + return Err("incompatible index format version ".to_string() + + &INDEX_FORMAT_VERSION_MAJOR.to_string() + + " " + + &index.index_format_version_major.to_string()); + }; + } + + index.segment_number1 = segment_number1; + index.segment_number_mask1 = segment_number_mask1; + index.segments_level0 = vec![ + SegmentLevel0 { + segment: AHashMap::with_capacity(SEGMENT_KEY_CAPACITY), + ..Default::default() + }; + index.segment_number1 + ]; + + index.segments_index = Vec::new(); + for _i in 0..index.segment_number1 { + index.segments_index.push(SegmentIndex { + byte_array_blocks: Vec::new(), + byte_array_blocks_pointer: Vec::new(), + segment: AHashMap::new(), + }); + } + + if serialize_schema { + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(SCHEMA_FILENAME)).unwrap(), + &schema, + ) + .unwrap(); + + if !synonyms.is_empty() { + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(SYNONYMS_FILENAME)).unwrap(), + &synonyms, + ) + .unwrap(); + } + + serde_json::to_writer( + &File::create(PathBuf::new(index_path).join(META_FILENAME)).unwrap(), + &index.meta, + ) + .unwrap(); + } + + Ok(index) + } + Err(e) => { + println!("file opening error"); + Err(e.to_string()) + } + } +} + +#[inline(always)] +pub(crate) fn get_document_length_compressed_mmap( + index: &Shard, + field_id: usize, + block_id: usize, + doc_id_block: usize, +) -> u8 { + index.index_file_mmap[index.level_index[block_id].document_length_compressed_array_pointer + + (field_id << 16) + + doc_id_block] +} + +#[allow(clippy::too_many_arguments)] +pub(crate) fn get_max_score( + index: &Shard, + segment: &SegmentIndex, + posting_count_ngram_1: u32, + posting_count_ngram_2: u32, + posting_count_ngram_3: u32, + posting_count: u32, + block_id: usize, + max_docid: usize, + max_p_docid: usize, + pointer_pivot_p_docid: usize, + compression_type_pointer: u32, + ngram_type: &NgramType, +) -> f32 { + let byte_array = if index.meta.access_type == AccessType::Mmap { + &index.index_file_mmap[segment.byte_array_blocks_pointer[block_id].0 + ..segment.byte_array_blocks_pointer[block_id].0 + + segment.byte_array_blocks_pointer[block_id].1] + } else { + &segment.byte_array_blocks[block_id] + }; + + let mut bm25f = 0.0; + + let rank_position_pointer_range: u32 = + compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum; + let rank_position_pointer; + let posting_pointer_size; + let embed_flag; + if max_p_docid < pointer_pivot_p_docid { + posting_pointer_size_sum = max_p_docid as u32 * 2; + rank_position_pointer = read_u16( + byte_array, + rank_position_pointer_range as usize + posting_pointer_size_sum as usize, + ) as u32; + posting_pointer_size = 2; + embed_flag = (rank_position_pointer & 0b10000000_00000000) != 0; + } else { + posting_pointer_size_sum = (max_p_docid as u32) * 3 - pointer_pivot_p_docid as u32; + rank_position_pointer = read_u32( + byte_array, + rank_position_pointer_range as usize + posting_pointer_size_sum as usize, + ); + posting_pointer_size = 3; + embed_flag = (rank_position_pointer & 0b10000000_00000000_00000000) != 0; + }; + + let positions_pointer = if embed_flag { + rank_position_pointer_range as usize + posting_pointer_size_sum as usize + } else { + let pointer_value = if posting_pointer_size == 2 { + rank_position_pointer & 0b01111111_11111111 + } else { + rank_position_pointer & 0b01111111_11111111_11111111 + } as usize; + + rank_position_pointer_range as usize - pointer_value + }; + + let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + let mut field_vec_ngram1 = SmallVec::new(); + let mut field_vec_ngram2 = SmallVec::new(); + let mut field_vec_ngram3 = SmallVec::new(); + + decode_positions_commit( + posting_pointer_size, + embed_flag, + byte_array, + positions_pointer, + ngram_type, + index.indexed_field_vec.len(), + index.indexed_field_id_bits, + index.indexed_field_id_mask, + index.longest_field_id as u16, + &mut field_vec, + &mut field_vec_ngram1, + &mut field_vec_ngram2, + &mut field_vec_ngram3, + ); + + if ngram_type == &NgramType::SingleTerm + || index.meta.similarity == SimilarityType::Bm25fProximity + { + let idf = (((index.indexed_doc_count as f32 - posting_count as f32 + 0.5) + / (posting_count as f32 + 0.5)) + + 1.0) + .ln(); + + for field in field_vec.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf + * ((tf * (K + 1.0) / (tf + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } else if ngram_type == &NgramType::NgramFF + || ngram_type == &NgramType::NgramFR + || ngram_type == &NgramType::NgramRF + { + let idf_ngram1 = (((index.indexed_doc_count as f32 - posting_count_ngram_1 as f32 + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + let idf_ngram2 = (((index.indexed_doc_count as f32 - posting_count_ngram_2 as f32 + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + + for field in field_vec_ngram1.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } else { + let idf_ngram1 = (((index.indexed_doc_count as f32 - posting_count_ngram_1 as f32 + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + let idf_ngram2 = (((index.indexed_doc_count as f32 - posting_count_ngram_2 as f32 + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + + let idf_ngram3 = (((index.indexed_doc_count as f32 - posting_count_ngram_3 as f32 + 0.5) + / (posting_count_ngram_3 as f32 + 0.5)) + + 1.0) + .ln(); + + for field in field_vec_ngram1.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in field_vec_ngram2.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in field_vec_ngram3.iter() { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[if index.meta.access_type + == AccessType::Mmap + { + get_document_length_compressed_mmap(index, field.0 as usize, block_id, max_docid) + } else { + index.level_index[block_id].document_length_compressed_array[field.0 as usize] + [max_docid] + } as usize] as f32; + + let document_length_quotient = + document_length_normalized / index.document_length_normalized_average; + + let tf_ngram3 = field.1 as f32; + + let weight = index.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + bm25f +} + +pub(crate) fn update_list_max_impact_score(index: &mut Shard) { + if index.meta.access_type == AccessType::Mmap { + return; + } + + for key0 in 0..index.segment_number1 { + let keys: Vec = index.segments_index[key0].segment.keys().cloned().collect(); + for key in keys { + let ngram_type = FromPrimitive::from_u64(key & 0b111).unwrap_or(NgramType::SingleTerm); + + let blocks_len = index.segments_index[key0].segment[&key].blocks.len(); + let mut max_list_score = 0.0; + for block_index in 0..blocks_len { + let segment = &index.segments_index[key0]; + let posting_list = &segment.segment[&key]; + let block = &posting_list.blocks[block_index]; + let max_block_score = get_max_score( + index, + segment, + posting_list.posting_count_ngram_1, + posting_list.posting_count_ngram_2, + posting_list.posting_count_ngram_3, + posting_list.posting_count, + block.block_id as usize, + block.max_docid as usize, + block.max_p_docid as usize, + block.pointer_pivot_p_docid as usize, + block.compression_type_pointer, + &ngram_type, + ); + + index.segments_index[key0] + .segment + .get_mut(&key) + .unwrap() + .blocks[block_index] + .max_block_score = max_block_score; + max_list_score = f32::max(max_list_score, max_block_score); + } + index.segments_index[key0] + .segment + .get_mut(&key) + .unwrap() + .max_list_score = max_list_score; + } + } +} + +/// Loads the index from disk into RAM or MMAP. +/// * `index_path` - index path. +/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). +pub(crate) async fn open_shard(index_path: PathBuf, mute: bool) -> Result { + if !mute { + println!("opening index ..."); + } + + let mut index_mmap_position = INDEX_HEADER_SIZE as usize; + let mut docstore_mmap_position = 0; + + match File::open(PathBuf::new(index_path).join(META_FILENAME)) { + Ok(meta_file) => { + let meta: IndexMetaObject = serde_json::from_reader(BufReader::new(meta_file)).unwrap(); + + match File::open(PathBuf::new(index_path).join(SCHEMA_FILENAME)) { + Ok(schema_file) => { + let schema = serde_json::from_reader(BufReader::new(schema_file)).unwrap(); + + let synonyms = if let Ok(synonym_file) = + File::open(PathBuf::new(index_path).join(SYNONYMS_FILENAME)) + { + serde_json::from_reader(BufReader::new(synonym_file)).unwrap_or_default() + } else { + Vec::new() + }; + + match create_shard(index_path, &meta, &schema, false, &synonyms, 11, mute, None) + { + Ok(mut shard) => { + let mut block_count_sum = 0; + + let is_mmap = shard.meta.access_type == AccessType::Mmap; + + let file_len = if is_mmap { + shard.index_file_mmap.len() as u64 + } else { + shard.index_file.metadata().unwrap().len() + }; + + while if is_mmap { + index_mmap_position as u64 + } else { + shard.index_file.stream_position().unwrap() + } < file_len + { + let mut segment_head_vec: Vec<(u32, u32)> = Vec::new(); + for key0 in 0..shard.segment_number1 { + if key0 == 0 { + shard.last_level_index_file_start_pos = if is_mmap { + index_mmap_position as u64 + } else { + shard.index_file.stream_position().unwrap() + }; + + shard.last_level_docstore_file_start_pos = if is_mmap { + docstore_mmap_position as u64 + } else { + shard.docstore_file.stream_position().unwrap() + }; + + if shard.level_index.is_empty() { + let longest_field_id = if is_mmap { + read_u16_ref( + &shard.index_file_mmap, + &mut index_mmap_position, + ) + as usize + } else { + let _ = shard.index_file.read( + &mut shard + .compressed_index_segment_block_buffer + [0..2], + ); + read_u16( + &shard.compressed_index_segment_block_buffer, + 0, + ) + as usize + }; + + for indexed_field in shard.indexed_field_vec.iter_mut() + { + indexed_field.is_longest_field = indexed_field + .indexed_field_id + == longest_field_id; + + if indexed_field.is_longest_field { + shard.longest_field_id = longest_field_id + } + } + } + + let mut document_length_compressed_array_vec: Vec< + [u8; ROARING_BLOCK_SIZE], + > = Vec::new(); + + let document_length_compressed_array_pointer = if is_mmap { + index_mmap_position + } else { + shard.index_file.stream_position().unwrap() as usize + }; + + for _i in 0..shard.indexed_field_vec.len() { + if is_mmap { + index_mmap_position += ROARING_BLOCK_SIZE; + } else { + let mut document_length_compressed_array_item = + [0u8; ROARING_BLOCK_SIZE]; + + let _ = shard.index_file.read( + &mut document_length_compressed_array_item, + ); + document_length_compressed_array_vec + .push(document_length_compressed_array_item); + } + } + + let mut docstore_pointer_docs: Vec = Vec::new(); + + let mut docstore_pointer_docs_pointer = 0; + if !shard.stored_field_names.is_empty() { + if is_mmap { + let docstore_pointer_docs_size = read_u32_ref( + &shard.docstore_file_mmap, + &mut docstore_mmap_position, + ) + as usize; + docstore_pointer_docs_pointer = + docstore_mmap_position; + docstore_mmap_position += + docstore_pointer_docs_size; + } else { + let _ = shard.docstore_file.read( + &mut shard + .compressed_index_segment_block_buffer + [0..4], + ); + + let docstore_pointer_docs_size = read_u32( + &shard.compressed_index_segment_block_buffer, + 0, + ) + as usize; + + docstore_pointer_docs_pointer = + shard.docstore_file.stream_position().unwrap() + as usize; + docstore_pointer_docs = + vec![0; docstore_pointer_docs_size]; + let _ = shard + .docstore_file + .read(&mut docstore_pointer_docs); + } + } + + if is_mmap { + shard.indexed_doc_count = read_u64_ref( + &shard.index_file_mmap, + &mut index_mmap_position, + ) + as usize; + shard.positions_sum_normalized = read_u64_ref( + &shard.index_file_mmap, + &mut index_mmap_position, + ); + + for _key0 in 0..shard.segment_number1 { + let block_length = read_u32_ref( + &shard.index_file_mmap, + &mut index_mmap_position, + ); + let key_count = read_u32_ref( + &shard.index_file_mmap, + &mut index_mmap_position, + ); + + segment_head_vec.push((block_length, key_count)); + } + } else { + let _ = shard.index_file.read( + &mut shard.compressed_index_segment_block_buffer + [0..16], + ); + + shard.indexed_doc_count = read_u64( + &shard.compressed_index_segment_block_buffer, + 0, + ) + as usize; + + shard.positions_sum_normalized = read_u64( + &shard.compressed_index_segment_block_buffer, + 8, + ); + + for _key0 in 0..shard.segment_number1 { + let _ = shard.index_file.read( + &mut shard + .compressed_index_segment_block_buffer + [0..8], + ); + + let block_length = read_u32( + &shard.compressed_index_segment_block_buffer, + 0, + ); + let key_count = read_u32( + &shard.compressed_index_segment_block_buffer, + 4, + ); + segment_head_vec.push((block_length, key_count)); + } + } + + shard.document_length_normalized_average = + shard.positions_sum_normalized as f32 + / shard.indexed_doc_count as f32; + + shard.level_index.push(LevelIndex { + document_length_compressed_array: + document_length_compressed_array_vec, + docstore_pointer_docs, + docstore_pointer_docs_pointer, + document_length_compressed_array_pointer, + }); + } + + let block_length = segment_head_vec[key0].0; + let key_count = segment_head_vec[key0].1; + + let block_id = + (block_count_sum >> shard.segment_number_bits1) as u32; + block_count_sum += 1; + + let key_body_pointer_write_start: u32 = + key_count * shard.key_head_size as u32; + + if is_mmap { + index_mmap_position += + key_count as usize * shard.key_head_size; + shard.segments_index[key0].byte_array_blocks_pointer.push( + ( + index_mmap_position, + (block_length - key_body_pointer_write_start) + as usize, + key_count, + ), + ); + + index_mmap_position += + (block_length - key_body_pointer_write_start) as usize; + } else { + let _ = shard.index_file.read( + &mut shard.compressed_index_segment_block_buffer + [0..(key_count as usize * shard.key_head_size)], + ); + let compressed_index_segment_block_buffer = &shard + .compressed_index_segment_block_buffer + [0..(key_count as usize * shard.key_head_size)]; + + let mut block_array: Vec = vec![ + 0; + (block_length - key_body_pointer_write_start) + as usize + ]; + + let _ = shard.index_file.read(&mut block_array); + shard.segments_index[key0] + .byte_array_blocks + .push(block_array); + + let mut read_pointer = 0; + + let mut posting_count_previous = 0; + let mut pointer_pivot_p_docid_previous = 0; + let mut compression_type_pointer_previous = 0; + + for key_index in 0..key_count { + let key_hash = read_u64_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + let posting_count = read_u16_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + let max_docid = read_u16_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + let max_p_docid = read_u16_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + let mut posting_count_ngram_1 = 0; + let mut posting_count_ngram_2 = 0; + let mut posting_count_ngram_3 = 0; + match shard.key_head_size { + 20 => {} + 22 => { + let posting_count_ngram_1_compressed = + read_u8_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION + [posting_count_ngram_1_compressed + as usize]; + + let posting_count_ngram_2_compressed = + read_u8_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION + [posting_count_ngram_2_compressed + as usize]; + } + _ => { + let posting_count_ngram_1_compressed = + read_u8_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION + [posting_count_ngram_1_compressed + as usize]; + + let posting_count_ngram_2_compressed = + read_u8_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION + [posting_count_ngram_2_compressed + as usize]; + + let posting_count_ngram_3_compressed = + read_u8_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + posting_count_ngram_3 = + DOCUMENT_LENGTH_COMPRESSION + [posting_count_ngram_3_compressed + as usize]; + } + } + + let pointer_pivot_p_docid = read_u16_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + let compression_type_pointer = read_u32_ref( + compressed_index_segment_block_buffer, + &mut read_pointer, + ); + + if let Some(value) = shard.segments_index[key0] + .segment + .get_mut(&key_hash) + { + value.posting_count += posting_count as u32 + 1; + + value.blocks.push(BlockObjectIndex { + max_block_score: 0.0, + block_id, + posting_count, + max_docid, + max_p_docid, + pointer_pivot_p_docid, + compression_type_pointer, + }); + } else { + let value = PostingListObjectIndex { + posting_count: posting_count as u32 + 1, + posting_count_ngram_1, + posting_count_ngram_2, + posting_count_ngram_3, + max_list_score: 0.0, + position_range_previous: 0, + blocks: vec![BlockObjectIndex { + max_block_score: 0.0, + block_id, + posting_count, + max_docid, + max_p_docid, + pointer_pivot_p_docid, + compression_type_pointer, + }], + ..Default::default() + }; + shard.segments_index[key0] + .segment + .insert(key_hash, value); + }; + + if !shard + .indexed_doc_count + .is_multiple_of(ROARING_BLOCK_SIZE) + && block_id as usize + == shard.indexed_doc_count / ROARING_BLOCK_SIZE + && shard.meta.access_type == AccessType::Ram + { + let position_range_previous = if key_index == 0 { + 0 + } else { + let posting_pointer_size_sum_previous = + pointer_pivot_p_docid_previous as usize * 2 + + if (pointer_pivot_p_docid_previous + as usize) + < posting_count_previous + { + (posting_count_previous + - pointer_pivot_p_docid_previous + as usize) + * 3 + } else { + 0 + }; + + let rank_position_pointer_range_previous= compression_type_pointer_previous & 0b0011_1111_1111_1111_1111_1111_1111_1111; + let compression_type_previous: CompressionType = + FromPrimitive::from_i32( + (compression_type_pointer_previous + >> 30) + as i32, + ) + .unwrap(); + + let compressed_docid_previous = + match compression_type_previous { + CompressionType::Array => { + posting_count_previous * 2 + } + CompressionType::Bitmap => 8192, + CompressionType::Rle => { + let byte_array_docid = &shard + .segments_index[key0] + .byte_array_blocks + [block_id as usize]; + 4 * read_u16( byte_array_docid, rank_position_pointer_range_previous as usize +posting_pointer_size_sum_previous) as usize + 2 + } + _ => 0, + }; + + rank_position_pointer_range_previous + + (posting_pointer_size_sum_previous + + compressed_docid_previous) + as u32 + }; + + let plo = shard.segments_index[key0] + .segment + .get_mut(&key_hash) + .unwrap(); + + plo.position_range_previous = + position_range_previous; + + posting_count_previous = posting_count as usize + 1; + pointer_pivot_p_docid_previous = + pointer_pivot_p_docid; + compression_type_pointer_previous = + compression_type_pointer; + }; + } + } + } + } + + shard.committed_doc_count = shard.indexed_doc_count; + shard.is_last_level_incomplete = + !shard.committed_doc_count.is_multiple_of(ROARING_BLOCK_SIZE); + + for (i, component) in shard.bm25_component_cache.iter_mut().enumerate() + { + let document_length_quotient = DOCUMENT_LENGTH_COMPRESSION[i] + as f32 + / shard.document_length_normalized_average; + *component = K * (1.0 - B + B * document_length_quotient); + } + + shard.string_set_to_single_term_id(); + + update_list_max_impact_score(&mut shard); + + let mut reader = BufReader::with_capacity(8192, &shard.delete_file); + while let Ok(buffer) = reader.fill_buf() { + let length = buffer.len(); + + if length == 0 { + break; + } + + for i in (0..length).step_by(8) { + let docid = read_u64(buffer, i); + shard.delete_hashset.insert(docid as usize); + } + + reader.consume(length); + } + + let shard_arc = Arc::new(RwLock::new(shard)); + + warmup(&shard_arc).await; + Ok(shard_arc.clone()) + } + Err(err) => Err(err.to_string()), + } + } + Err(err) => Err(err.to_string()), + } + } + Err(err) => Err(err.to_string()), + } +} + +/// Loads the index from disk into RAM or MMAP. +/// * `index_path` - index path. +/// * `mute` - prevent emitting status messages (e.g. when using pipes for data interprocess communication). +pub async fn open_index(index_path: PathBuf, mute: bool) -> Result { + if !mute { + println!("opening index ..."); + } + + let start_time = Instant::now(); + + match File::open(PathBuf::new(index_path).join(META_FILENAME)) { + Ok(meta_file) => { + let meta: IndexMetaObject = serde_json::from_reader(BufReader::new(meta_file)).unwrap(); + + match File::open(PathBuf::new(index_path).join(SCHEMA_FILENAME)) { + Ok(schema_file) => { + let schema = serde_json::from_reader(BufReader::new(schema_file)).unwrap(); + + let synonyms = if let Ok(synonym_file) = + File::open(PathBuf::new(index_path).join(SYNONYMS_FILENAME)) + { + serde_json::from_reader(BufReader::new(synonym_file)).unwrap_or_default() + } else { + Vec::new() + }; + + match create_index_root( + index_path, meta, &schema, false, &synonyms, 11, false, None, + ) + .await + { + Ok(index_arc) => { + let lock = Arc::into_inner(index_arc).unwrap(); + let index = RwLock::into_inner(lock); + + let index_arc = Arc::new(RwLock::new(index)); + + if let Some(symspell) = + &mut index_arc.read().await.symspell_option.as_ref() + { + let dictionary_path = + PathBuf::new(&index_arc.read().await.index_path_string) + .join(DICTIONARY_FILENAME); + let _ = symspell.write().await.load_dictionary( + &dictionary_path, + 0, + 1, + " ", + ); + } + + if let Some(completion_option) = + &mut index_arc.read().await.completion_option.as_ref() + { + let _ = completion_option.write().await.load_completions( + PathBuf::new(&index_arc.read().await.index_path_string) + .join(COMPLETIONS_FILENAME), + 0, + 1, + ":", + ); + } + + let mut level_count = 0; + + let mut shard_vec: Vec>> = Vec::new(); + let mut shard_queue = VecDeque::::new(); + + let paths: Vec<_> = fs::read_dir(index_path.join("shards")) + .unwrap() + .filter_map(Result::ok) + .collect(); + let mut shard_handle_vec = Vec::new(); + let index_path_clone = Arc::new(index_path.to_path_buf()); + for i in 0..paths.len() { + let index_path_clone2 = index_path_clone.clone(); + shard_handle_vec.push(tokio::spawn(async move { + let path = index_path_clone2.join("shards").join(i.to_string()); + + open_shard(&path, true).await.unwrap() + })); + } + + for shard_handle in shard_handle_vec { + let shard_arc = shard_handle.await.unwrap(); + shard_arc.write().await.index_option = Some(index_arc.clone()); + index_arc.write().await.indexed_doc_count += + shard_arc.read().await.indexed_doc_count; + index_arc.write().await.deleted_doc_count += + shard_arc.read().await.delete_hashset.len(); + level_count += shard_arc.read().await.level_index.len(); + let shard_id = shard_arc.read().await.meta.id; + shard_queue.push_back(shard_id as usize); + shard_vec.push(shard_arc); + } + + index_arc.write().await.shard_number = shard_vec.len(); + index_arc.write().await.shard_bits = + (usize::BITS - (shard_vec.len() - 1).leading_zeros()) as usize; + + for shard in shard_vec.iter() { + shard.write().await.shard_number = shard_vec.len(); + } + + index_arc.write().await.shard_vec = shard_vec; + index_arc.write().await.shard_queue = + Arc::new(RwLock::new(shard_queue)); + + let elapsed_time = start_time.elapsed().as_nanos(); + + if !mute { + let index_ref = index_arc.read().await; + println!( + "{} name {} id {} version {} {} shards {} ngrams {:08b} level {} fields {} {} facets {} docs {} deleted {} segments {} dictionary {} {} completions {} time {} s", + INDEX_FILENAME, + index_ref.meta.name, + index_ref.meta.id, + index_ref.index_format_version_major.to_string() + + "." + + &index_ref.index_format_version_minor.to_string(), + INDEX_FORMAT_VERSION_MAJOR.to_string() + + "." + + &INDEX_FORMAT_VERSION_MINOR.to_string(), + index_ref.shard_count().await, + index_ref.meta.ngram_indexing, + level_count, + index_ref.indexed_field_vec.len(), + index_ref.schema_map.len(), + index_ref.facets.len(), + index_ref.indexed_doc_count.to_formatted_string(&Locale::en), + index_ref.deleted_doc_count.to_formatted_string(&Locale::en), + index_ref.segment_number1, + if let Some(symspell) = index_ref.symspell_option.as_ref() { + symspell + .read() + .await + .get_dictionary_size() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + if let Some(symspell) = index_ref.symspell_option.as_ref() { + symspell + .read() + .await + .get_candidates_size() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + if let Some(completions) = index_ref.completion_option.as_ref() + { + completions + .read() + .await + .len() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + elapsed_time / 1_000_000_000 + ); + } + + Ok(index_arc.clone()) + } + Err(err) => Err(err.to_string()), + } + } + Err(err) => Err(err.to_string()), + } + } + Err(err) => Err(err.to_string()), + } +} + +pub(crate) async fn warmup(shard_object_arc: &ShardArc) { + shard_object_arc.write().await.frequentword_results.clear(); + let mut query_facets: Vec = Vec::new(); + for facet in shard_object_arc.read().await.facets.iter() { + match facet.field_type { + FieldType::String16 => query_facets.push(QueryFacet::String16 { + field: facet.name.clone(), + prefix: "".into(), + length: u16::MAX, + }), + FieldType::String32 => query_facets.push(QueryFacet::String32 { + field: facet.name.clone(), + prefix: "".into(), + length: u32::MAX, + }), + FieldType::StringSet16 => query_facets.push(QueryFacet::StringSet16 { + field: facet.name.clone(), + prefix: "".into(), + length: u16::MAX, + }), + FieldType::StringSet32 => query_facets.push(QueryFacet::StringSet32 { + field: facet.name.clone(), + prefix: "".into(), + length: u32::MAX, + }), + _ => {} + } + } + + let frequent_words = shard_object_arc.read().await.frequent_words.clone(); + for frequentword in frequent_words.iter() { + let results_list = shard_object_arc + .search_shard( + frequentword.to_owned(), + QueryType::Union, + 0, + 1000, + ResultType::TopkCount, + false, + Vec::new(), + query_facets.clone(), + Vec::new(), + Vec::new(), + ) + .await; + + let mut index_mut = shard_object_arc.write().await; + index_mut + .frequentword_results + .insert(frequentword.to_string(), results_list); + } +} + +#[derive(Default, Debug, Deserialize, Serialize, Clone)] +pub(crate) struct TermObject { + pub key_hash: u64, + pub key0: u32, + pub term: String, + + pub ngram_type: NgramType, + + pub term_ngram_2: String, + pub term_ngram_1: String, + pub term_ngram_0: String, + pub field_vec_ngram1: Vec<(usize, u32)>, + pub field_vec_ngram2: Vec<(usize, u32)>, + pub field_vec_ngram3: Vec<(usize, u32)>, + + pub field_positions_vec: Vec>, +} + +#[derive(Default, Debug, Serialize, Deserialize, Clone)] +pub(crate) struct NonUniqueTermObject { + pub term: String, + pub ngram_type: NgramType, + + pub term_ngram_2: String, + pub term_ngram_1: String, + pub term_ngram_0: String, + pub op: QueryType, +} + +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +use ahash::RandomState; +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +use std::sync::LazyLock; + +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +pub static HASHER_32: LazyLock = + LazyLock::new(|| RandomState::with_seeds(805272099, 242851902, 646123436, 591410655)); + +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +pub static HASHER_64: LazyLock = + LazyLock::new(|| RandomState::with_seeds(808259318, 750368348, 84901999, 789810389)); + +#[inline] +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +pub(crate) fn hash32(term_bytes: &[u8]) -> u32 { + HASHER_32.hash_one(term_bytes) as u32 +} + +#[inline] +#[cfg(not(all(target_feature = "aes", target_feature = "sse2")))] +pub(crate) fn hash64(term_bytes: &[u8]) -> u64 { + HASHER_64.hash_one(term_bytes) + & 0b1111111111111111111111111111111111111111111111111111111111111000 +} + +static FREQUENT_EN: &str = include_str!("../../assets/dictionaries/frequent_en.txt"); +static FREQUENT_DE: &str = include_str!("../../assets/dictionaries/frequent_de.txt"); +static FREQUENT_FR: &str = include_str!("../../assets/dictionaries/frequent_fr.txt"); +static FREQUENT_ES: &str = include_str!("../../assets/dictionaries/frequent_es.txt"); + +pub(crate) const NUM_FREE_VALUES: u32 = 24; + +/// Compress an u32 to a byte, preserving 4 significant bits. +/// used for compressing n-gram frequent_term positions_count and doc/field length +/// Ported from Lucene SmallFloat.java https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java +pub(crate) fn int_to_byte4(i: u32) -> u8 { + if i < NUM_FREE_VALUES { + i as u8 + } else { + let ii = i - NUM_FREE_VALUES; + let num_bits = 32 - ii.leading_zeros(); + if num_bits < 4 { + (NUM_FREE_VALUES + ii) as u8 + } else { + let shift = num_bits - 4; + (NUM_FREE_VALUES + (((ii >> shift) & 0x07) | (shift + 1) << 3)) as u8 + } + } +} + +/// Decompress a byte that has been compressed with intToByte4(int), to an u32 +/// used for pre-calculating DOCUMENT_LENGTH_COMPRESSION table. Decompressing n-gram frequent_term positions_count and doc/field length via table lookup. +/// Ported from Lucene SmallFloat.java https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/util/SmallFloat.java +pub(crate) const fn byte4_to_int(b: u8) -> u32 { + if (b as u32) < NUM_FREE_VALUES { + b as u32 + } else { + let i = b as u32 - NUM_FREE_VALUES; + let bits = i & 0x07; + let shift = i >> 3; + if shift == 0 { + NUM_FREE_VALUES + bits + } else { + NUM_FREE_VALUES + ((bits | 0x08) << (shift - 1)) + } + } +} + +/// Pre-calculated DOCUMENT_LENGTH_COMPRESSION table for fast lookup. +pub(crate) const DOCUMENT_LENGTH_COMPRESSION: [u32; 256] = { + let mut k2 = [0; 256]; + let mut i = 0usize; + while i < 256 { + k2[i] = byte4_to_int(i as u8); + i += 1; + } + k2 +}; + +impl Shard { + pub(crate) fn string_set_to_single_term_id(&mut self) { + for (i, facet) in self.facets.iter().enumerate() { + if facet.field_type == FieldType::StringSet16 + || facet.field_type == FieldType::StringSet32 + { + for (idx, value) in facet.values.iter().enumerate() { + for term in value.1.0.iter() { + self.string_set_to_single_term_id_vec[i] + .entry(term.to_string()) + .or_insert(AHashSet::from_iter(vec![idx as u32])) + .insert(idx as u32); + } + } + } + } + } + + /// Reset shard to empty, while maintaining schema + async fn clear_shard(&mut self) { + let permit = self.permits.clone().acquire_owned().await.unwrap(); + + self.level_terms.clear(); + + let mut mmap_options = MmapOptions::new(); + let mmap: MmapMut = mmap_options.len(4).map_anon().unwrap(); + self.index_file_mmap = mmap + .make_read_only() + .expect("Unable to make Mmap read-only"); + + let _ = self.index_file.rewind(); + if let Err(e) = self.index_file.set_len(0) { + println!( + "Unable to index_file.set_len in clear_index {} {} {:?}", + self.index_path_string, self.indexed_doc_count, e + ) + }; + + if !self.compressed_docstore_segment_block_buffer.is_empty() { + self.compressed_docstore_segment_block_buffer = vec![0; ROARING_BLOCK_SIZE * 4]; + }; + + write_u16( + INDEX_FORMAT_VERSION_MAJOR, + &mut self.compressed_index_segment_block_buffer, + 0, + ); + write_u16( + INDEX_FORMAT_VERSION_MINOR, + &mut self.compressed_index_segment_block_buffer, + 2, + ); + + let _ = self + .index_file + .write(&self.compressed_index_segment_block_buffer[0..INDEX_HEADER_SIZE as usize]); + let _ = self.index_file.flush(); + + self.index_file_mmap = + unsafe { Mmap::map(&self.index_file).expect("Unable to create Mmap") }; + + self.docstore_file_mmap = unsafe { + MmapOptions::new() + .len(0) + .map(&self.docstore_file) + .expect("Unable to create Mmap") + }; + + let _ = self.docstore_file.rewind(); + if let Err(e) = self.docstore_file.set_len(0) { + println!("Unable to docstore_file.set_len in clear_index {:?}", e) + }; + let _ = self.docstore_file.flush(); + + let _ = self.delete_file.rewind(); + if let Err(e) = self.delete_file.set_len(0) { + println!("Unable to delete_file.set_len in clear_index {:?}", e) + }; + let _ = self.delete_file.flush(); + self.delete_hashset.clear(); + + self.facets_file_mmap = unsafe { + MmapOptions::new() + .len(0) + .map_mut(&self.facets_file) + .expect("Unable to create Mmap") + }; + let _ = self.facets_file.rewind(); + if let Err(e) = self + .facets_file + .set_len((self.facets_size_sum * ROARING_BLOCK_SIZE) as u64) + { + println!("Unable to facets_file.set_len in clear_index {:?}", e) + }; + let _ = self.facets_file.flush(); + + self.facets_file_mmap = + unsafe { MmapMut::map_mut(&self.facets_file).expect("Unable to create Mmap") }; + let index_path = PathBuf::new(&self.index_path_string); + let _ = fs::remove_file(index_path.join(FACET_VALUES_FILENAME)); + for facet in self.facets.iter_mut() { + facet.values.clear(); + facet.min = ValueType::None; + facet.max = ValueType::None; + } + + if !self.stored_field_names.is_empty() && self.meta.access_type == AccessType::Mmap { + self.docstore_file_mmap = + unsafe { Mmap::map(&self.docstore_file).expect("Unable to create Mmap") }; + } + + self.document_length_normalized_average = 0.0; + self.indexed_doc_count = 0; + self.committed_doc_count = 0; + self.positions_sum_normalized = 0; + + self.level_index = Vec::new(); + + for segment in self.segments_index.iter_mut() { + segment.byte_array_blocks.clear(); + segment.byte_array_blocks_pointer.clear(); + segment.segment.clear(); + } + + for segment in self.segments_level0.iter_mut() { + segment.segment.clear(); + } + + self.key_count_sum = 0; + self.block_id = 0; + self.strip_compressed_sum = 0; + self.postings_buffer_pointer = 0; + self.docid_count = 0; + self.size_compressed_docid_index = 0; + self.size_compressed_positions_index = 0; + self.position_count = 0; + self.postinglist_count = 0; + + self.is_last_level_incomplete = false; + + drop(permit); + } + + pub(crate) fn get_index_string_facets_shard( + &self, + query_facets: Vec, + ) -> Option> { + if self.facets.is_empty() { + return None; + } + + let mut result_query_facets = Vec::new(); + if !query_facets.is_empty() { + result_query_facets = vec![ResultFacet::default(); self.facets.len()]; + for query_facet in query_facets.iter() { + match &query_facet { + QueryFacet::String16 { + field, + prefix, + length, + } => { + if let Some(idx) = self.facets_map.get(field) + && self.facets[*idx].field_type == FieldType::String16 + { + result_query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length as u32, + ..Default::default() + } + } + } + QueryFacet::StringSet16 { + field, + prefix, + length, + } => { + if let Some(idx) = self.facets_map.get(field) + && self.facets[*idx].field_type == FieldType::StringSet16 + { + result_query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length as u32, + ..Default::default() + } + } + } + + QueryFacet::String32 { + field, + prefix, + length, + } => { + if let Some(idx) = self.facets_map.get(field) + && self.facets[*idx].field_type == FieldType::String32 + { + result_query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length, + ..Default::default() + } + } + } + QueryFacet::StringSet32 { + field, + prefix, + length, + } => { + if let Some(idx) = self.facets_map.get(field) + && self.facets[*idx].field_type == FieldType::StringSet32 + { + result_query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length, + ..Default::default() + } + } + } + + _ => {} + }; + } + } + + let mut facets: AHashMap = AHashMap::new(); + for (i, facet) in result_query_facets.iter().enumerate() { + if facet.length == 0 || self.facets[i].values.is_empty() { + continue; + } + + if self.facets[i].field_type == FieldType::StringSet16 + || self.facets[i].field_type == FieldType::StringSet32 + { + let mut hash_map: AHashMap = AHashMap::new(); + for value in self.facets[i].values.iter() { + for term in value.1.0.iter() { + *hash_map.entry(term.clone()).or_insert(0) += value.1.1; + } + } + + let v = hash_map + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| (a.to_string(), *c)) + .filter(|(a, _c)| facet.prefix.is_empty() || a.starts_with(&facet.prefix)) + .take(facet.length as usize) + .collect::>(); + + if !v.is_empty() { + facets.insert(facet.field.clone(), v); + } + } else { + let v = self.facets[i] + .values + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| (a.to_string(), c.1)) + .filter(|(a, _c)| facet.prefix.is_empty() || a.starts_with(&facet.prefix)) + .take(facet.length as usize) + .collect::>(); + + if !v.is_empty() { + facets.insert(facet.field.clone(), v); + } + } + } + + Some(facets) + } +} + +impl Index { + /// Current document count: indexed document count - deleted document count + pub async fn current_doc_count(&self) -> usize { + let mut current_doc_count = 0; + for shard in self.shard_vec.iter() { + current_doc_count += + shard.read().await.indexed_doc_count - shard.read().await.delete_hashset.len(); + } + current_doc_count + } + + /// are there uncommited documents? + pub async fn uncommitted_doc_count(&self) -> usize { + let mut uncommitted_doc_count = 0; + for shard in self.shard_vec.iter() { + uncommitted_doc_count += + shard.read().await.indexed_doc_count - shard.read().await.committed_doc_count; + } + uncommitted_doc_count + } + + /// Get number of indexed documents. + pub async fn committed_doc_count(&self) -> usize { + let mut committed_doc_count = 0; + for shard in self.shard_vec.iter() { + committed_doc_count += shard.read().await.committed_doc_count; + } + committed_doc_count + } + + /// Get number of indexed documents. + pub async fn indexed_doc_count(&self) -> usize { + let mut indexed_doc_count = 0; + for shard in self.shard_vec.iter() { + indexed_doc_count += shard.read().await.indexed_doc_count; + } + indexed_doc_count + } + + /// Get number of index levels. One index level comprises 64K documents. + pub async fn level_count(&self) -> usize { + let mut level_count = 0; + for shard in self.shard_vec.iter() { + level_count += shard.read().await.level_index.len(); + } + level_count + } + + /// Get number of index shards. + pub async fn shard_count(&self) -> usize { + self.shard_number + } + + /// Get number of facets defined in the index schema. + pub fn facets_count(&self) -> usize { + self.facets.len() + } + + /// get_index_facets_minmax: return map of numeric facet fields, each with field name and min/max values. + pub async fn index_facets_minmax(&self) -> HashMap { + let mut facets_minmax: HashMap = HashMap::new(); + for shard in self.shard_vec.iter() { + for facet in shard.read().await.facets.iter() { + match (&facet.min, &facet.max) { + (ValueType::U8(min), ValueType::U8(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_u64().unwrap() as u8))).into(), + max: (*max.min(&(item.max.as_u64().unwrap() as u8))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::U16(min), ValueType::U16(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_u64().unwrap() as u16))).into(), + max: (*max.min(&(item.max.as_u64().unwrap() as u16))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::U32(min), ValueType::U32(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_u64().unwrap() as u32))).into(), + max: (*max.min(&(item.max.as_u64().unwrap() as u32))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::U64(min), ValueType::U64(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_u64().unwrap()))).into(), + max: (*max.min(&(item.max.as_u64().unwrap()))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::I8(min), ValueType::I8(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_i64().unwrap() as i8))).into(), + max: (*max.min(&(item.max.as_i64().unwrap() as i8))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::I16(min), ValueType::I16(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_i64().unwrap() as i16))).into(), + max: (*max.min(&(item.max.as_i64().unwrap() as i16))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::I32(min), ValueType::I32(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_i64().unwrap() as i32))).into(), + max: (*max.min(&(item.max.as_i64().unwrap() as i32))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::I64(min), ValueType::I64(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_i64().unwrap()))).into(), + max: (*max.min(&(item.max.as_i64().unwrap()))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::Timestamp(min), ValueType::Timestamp(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: (*min.min(&(item.min.as_i64().unwrap()))).into(), + max: (*max.min(&(item.max.as_i64().unwrap()))).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::F32(min), ValueType::F32(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: min.min(item.min.as_f64().unwrap() as f32).into(), + max: max.min(item.max.as_f64().unwrap() as f32).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + (ValueType::F64(min), ValueType::F64(max)) => { + if let Some(item) = facets_minmax.get_mut(&facet.name) { + *item = MinMaxFieldJson { + min: min.min(item.min.as_f64().unwrap()).into(), + max: max.min(item.max.as_f64().unwrap()).into(), + } + } else { + facets_minmax.insert( + facet.name.clone(), + MinMaxFieldJson { + min: (*min).into(), + max: (*max).into(), + }, + ); + } + } + _ => {} + } + } + } + facets_minmax + } + + /// get_index_string_facets: list of string facet fields, each with field name and a map of unique values and their count (number of times the specific value appears in the whole index). + /// values are sorted by their occurrence count within all indexed documents in descending order + /// * `query_facets`: Must be set if facet fields should be returned in get_index_facets. If set to Vec::new() then no facet fields are returned. + /// The prefix property of a QueryFacet allows to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. + /// The length property of a QueryFacet allows limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. + /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are returned. + /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. + /// Example: query_facets = vec![QueryFacet::String16 {field: "language".to_string(),prefix: "ger".to_string(),length: 5},QueryFacet::String16 {field: "brand".to_string(),prefix: "a".to_string(),length: 5}]; + pub async fn get_index_string_facets( + &self, + query_facets: Vec, + ) -> Option> { + if self.facets.is_empty() { + return None; + } + + let mut result: AHashMap = AHashMap::new(); + + let mut result_facets: AHashMap, u32)> = AHashMap::new(); + for query_facet in query_facets.iter() { + match query_facet { + QueryFacet::String16 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); + } + QueryFacet::StringSet16 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); + } + + QueryFacet::String32 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length)); + } + QueryFacet::StringSet32 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length)); + } + + _ => {} + } + } + + for shard_arc in self.shard_vec.iter() { + let shard = shard_arc.read().await; + if !shard.facets.is_empty() { + for facet in shard.facets.iter() { + if let Some(existing) = result_facets.get_mut(&facet.name) { + for (key, value) in facet.values.iter() { + *existing.0.entry(key.clone()).or_insert(0) += value.1; + } + }; + } + } + } + + for (key, value) in result_facets.iter_mut() { + let sum = value + .0 + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| (a.clone(), *c)) + .take(value.1 as usize) + .collect::>(); + result.insert(key.clone(), sum); + } + + Some(result) + } + + /// Reset index to empty, while maintaining schema + pub async fn clear_index(&mut self) { + let index_path = PathBuf::new(&self.index_path_string); + let _ = fs::remove_file(index_path.join(DICTIONARY_FILENAME)); + if let Some(spelling_correction) = self.meta.spelling_correction.as_ref() { + self.symspell_option = Some(Arc::new(RwLock::new(SymSpell::new( + spelling_correction.max_dictionary_edit_distance, + spelling_correction.term_length_threshold.clone(), + 7, + spelling_correction.count_threshold, + )))); + } + + let _ = fs::remove_file(index_path.join(COMPLETIONS_FILENAME)); + if let Some(_query_completion) = self.meta.query_completion.as_ref() { + self.completion_option = Some(Arc::new(RwLock::new(PruningRadixTrie::new()))); + } + + let mut result_object_list = Vec::new(); + for shard in self.shard_vec.iter() { + let shard_clone = shard.clone(); + result_object_list.push(tokio::spawn(async move { + shard_clone.write().await.clear_shard().await; + })); + } + future::join_all(result_object_list).await; + } + + /// Delete index from disc and ram + pub fn delete_index(&mut self) { + let index_path = PathBuf::new(&self.index_path_string); + + let _ = fs::remove_file(index_path.join(DICTIONARY_FILENAME)); + let _ = fs::remove_file(index_path.join(COMPLETIONS_FILENAME)); + + let _ = fs::remove_file(index_path.join(INDEX_FILENAME)); + let _ = fs::remove_file(index_path.join(SCHEMA_FILENAME)); + let _ = fs::remove_file(index_path.join(META_FILENAME)); + let _ = fs::remove_file(index_path.join(DELETE_FILENAME)); + let _ = fs::remove_file(index_path.join(FACET_FILENAME)); + let _ = fs::remove_file(index_path.join(FACET_VALUES_FILENAME)); + let _ = fs::remove_dir(index_path); + } + + /// Get synonyms from index + pub fn get_synonyms(&self) -> Result, String> { + if let Ok(synonym_file) = + File::open(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)) + { + if let Ok(synonyms) = serde_json::from_reader(BufReader::new(synonym_file)) { + Ok(synonyms) + } else { + Err("not found".into()) + } + } else { + Err("not found".into()) + } + } + + /// Set/replace/overwrite synonyms in index + /// Affects only subsequently indexed documents + pub fn set_synonyms(&mut self, synonyms: &Vec) -> Result { + serde_json::to_writer( + &File::create(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)).unwrap(), + &synonyms, + ) + .unwrap(); + + self.synonyms_map = get_synonyms_map(synonyms, self.segment_number_mask1); + Ok(synonyms.len()) + } + + /// Add/append/update/merge synonyms in index + /// Affects only subsequently indexed documents + pub fn add_synonyms(&mut self, synonyms: &[Synonym]) -> Result { + let mut merged_synonyms = if let Ok(synonym_file) = + File::open(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)) + { + serde_json::from_reader(BufReader::new(synonym_file)).unwrap_or_default() + } else { + Vec::new() + }; + + merged_synonyms.extend(synonyms.iter().cloned()); + + serde_json::to_writer( + &File::create(PathBuf::new(&self.index_path_string).join(SYNONYMS_FILENAME)).unwrap(), + &merged_synonyms, + ) + .unwrap(); + + self.synonyms_map = get_synonyms_map(&merged_synonyms, self.segment_number_mask1); + Ok(merged_synonyms.len()) + } +} + +/// Remove index from RAM (Reverse of open_index) +#[allow(async_fn_in_trait)] +pub trait Close { + /// Remove index from RAM (Reverse of open_index) + async fn close(&self); +} + +/// Remove index from RAM (Reverse of open_index) +impl Close for IndexArc { + /// Remove index from RAM (Reverse of open_index) + async fn close(&self) { + self.commit().await; + + if let Some(completion_option) = &self.read().await.completion_option.as_ref() { + let trie = completion_option.read().await; + let completions_path = + PathBuf::new(&self.read().await.index_path_string).join(COMPLETIONS_FILENAME); + + _ = trie.save_completions(&completions_path, ":"); + } + + if let Some(symspell) = &mut self.read().await.symspell_option.as_ref() { + let dictionary_path = + PathBuf::new(&self.read().await.index_path_string).join(DICTIONARY_FILENAME); + let _ = symspell.read().await.save_dictionary(&dictionary_path, " "); + } + + let mut result_object_list = Vec::new(); + for shard in self.read().await.shard_vec.iter() { + let shard_clone = shard.clone(); + result_object_list.push(tokio::spawn(async move { + let mut mmap_options = MmapOptions::new(); + let mmap: MmapMut = mmap_options.len(4).map_anon().unwrap(); + shard_clone.write().await.index_file_mmap = mmap + .make_read_only() + .expect("Unable to make Mmap read-only"); + + let mut mmap_options = MmapOptions::new(); + let mmap: MmapMut = mmap_options.len(4).map_anon().unwrap(); + shard_clone.write().await.docstore_file_mmap = mmap + .make_read_only() + .expect("Unable to make Mmap read-only"); + })); + } + future::join_all(result_object_list).await; + } +} + +/// Delete document from index by document id +#[allow(async_fn_in_trait)] +pub trait DeleteDocument { + /// Delete document from index by document id + async fn delete_document(&self, docid: u64); +} + +/// Delete document from index by document id +/// Document ID can by obtained by search. +/// Immediately effective, indpendent of commit. +/// Index space used by deleted documents is not reclaimed (until compaction is implemented), but result_count_total is updated. +/// By manually deleting the delete.bin file the deleted documents can be recovered (until compaction). +/// Deleted documents impact performance, especially but not limited to counting (Count, TopKCount). They also increase the size of the index (until compaction is implemented). +/// For minimal query latency delete index and reindexing documents is preferred over deleting documents (until compaction is implemented). +/// BM25 scores are not updated (until compaction is implemented), but the impact is minimal. +impl DeleteDocument for IndexArc { + async fn delete_document(&self, docid: u64) { + let index_ref = self.read().await; + let shard_id = docid & ((1 << index_ref.shard_bits) - 1); + let doc_id = docid >> index_ref.shard_bits; + let mut shard_mut = index_ref.shard_vec[shard_id as usize].write().await; + + if doc_id as usize >= shard_mut.indexed_doc_count { + return; + } + if shard_mut.delete_hashset.insert(doc_id as usize) { + let mut buffer: [u8; 8] = [0; 8]; + write_u64(doc_id, &mut buffer, 0); + let _ = shard_mut.delete_file.write(&buffer); + let _ = shard_mut.delete_file.flush(); + } + } +} + +/// Delete documents from index by document id +#[allow(async_fn_in_trait)] +pub trait DeleteDocuments { + /// Delete documents from index by document id + async fn delete_documents(&self, docid_vec: Vec); +} + +/// Delete documents from index by document id +/// Document ID can by obtained by search. +/// Immediately effective, indpendent of commit. +/// Index space used by deleted documents is not reclaimed (until compaction is implemented), but result_count_total is updated. +/// By manually deleting the delete.bin file the deleted documents can be recovered (until compaction). +/// Deleted documents impact performance, especially but not limited to counting (Count, TopKCount). They also increase the size of the index (until compaction is implemented). +/// For minimal query latency delete index and reindexing documents is preferred over deleting documents (until compaction is implemented). +/// BM25 scores are not updated (until compaction is implemented), but the impact is minimal. +impl DeleteDocuments for IndexArc { + async fn delete_documents(&self, docid_vec: Vec) { + for docid in docid_vec { + self.delete_document(docid).await; + } + } +} + +/// Delete documents from index by query +/// Delete and search have identical parameters. +/// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub trait DeleteDocumentsByQuery { + /// Delete documents from index by query + /// Delete and search have identical parameters. + /// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. + async fn delete_documents_by_query( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + include_uncommited: bool, + field_filter: Vec, + facet_filter: Vec, + result_sort: Vec, + ); +} + +/// Delete documents from index by query +/// Delete and search have identical parameters. +/// It is recommended to test with search prior to delete to verify that only those documents are returned that you really want to delete. +impl DeleteDocumentsByQuery for IndexArc { + async fn delete_documents_by_query( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + include_uncommited: bool, + field_filter: Vec, + facet_filter: Vec, + result_sort: Vec, + ) { + let rlo = self + .search( + query_string.to_owned(), + query_type_default, + offset, + length, + ResultType::Topk, + include_uncommited, + field_filter, + Vec::new(), + facet_filter, + result_sort, + QueryRewriting::SearchOnly, + ) + .await; + + let document_id_vec: Vec = rlo + .results + .iter() + .map(|result| result.doc_id as u64) + .collect(); + self.delete_documents(document_id_vec).await; + } +} + +/// Update document in index +/// Update_document is a combination of delete_document and index_document. +/// All current limitations of delete_document apply. +#[allow(async_fn_in_trait)] +pub trait UpdateDocument { + /// Update document in index + /// Update_document is a combination of delete_document and index_document. + /// All current limitations of delete_document apply. + async fn update_document(&self, id_document: (u64, Document)); +} + +/// Update document in index +/// Update_document is a combination of delete_document and index_document. +/// All current limitations of delete_document apply. +impl UpdateDocument for IndexArc { + async fn update_document(&self, id_document: (u64, Document)) { + self.delete_document(id_document.0).await; + self.index_document(id_document.1, FileType::None).await; + } +} + +/// Update documents in index +/// Update_document is a combination of delete_document and index_document. +/// All current limitations of delete_document apply. +#[allow(async_fn_in_trait)] +pub trait UpdateDocuments { + /// Update documents in index + /// Update_document is a combination of delete_document and index_document. + /// All current limitations of delete_document apply. + async fn update_documents(&self, id_document_vec: Vec<(u64, Document)>); +} + +/// Update documents in index +/// Update_document is a combination of delete_document and index_document. +/// All current limitations of delete_document apply. +impl UpdateDocuments for IndexArc { + async fn update_documents(&self, id_document_vec: Vec<(u64, Document)>) { + let (docid_vec, document_vec): (Vec<_>, Vec<_>) = id_document_vec.into_iter().unzip(); + self.delete_documents(docid_vec).await; + self.index_documents(document_vec).await; + } +} + +/// Indexes a list of documents +#[allow(async_fn_in_trait)] +pub trait IndexDocuments { + /// Indexes a list of documents + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_documents(&self, document_vec: Vec); +} + +impl IndexDocuments for IndexArc { + /// Index list of documents (bulk) + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_documents(&self, document_vec: Vec) { + for document in document_vec { + self.index_document(document, FileType::None).await; + } + } +} + +/// Indexes a single document +#[allow(async_fn_in_trait)] +pub trait IndexDocument { + /// Indexes a single document + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_document(&self, document: Document, file: FileType); +} + +impl IndexDocument for IndexArc { + /// Index document + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_document(&self, document: Document, file: FileType) { + while self.read().await.shard_queue.read().await.is_empty() { + hint::spin_loop(); + } + + let index_arc_clone = self.clone(); + let index_id = self + .read() + .await + .shard_queue + .write() + .await + .pop_front() + .unwrap(); + let index_shard = self.read().await.shard_vec[index_id].clone(); + + let permit = index_shard + .read() + .await + .permits + .clone() + .acquire_owned() + .await + .unwrap(); + + tokio::spawn(async move { + let index_id2 = index_id; + index_shard.index_document_shard(document, file).await; + + index_arc_clone + .read() + .await + .shard_queue + .write() + .await + .push_back(index_id2); + drop(permit); + }); + } +} + +/// Indexes a single document +#[allow(async_fn_in_trait)] +pub(crate) trait IndexDocumentShard { + /// Indexes a single document + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_document_shard(&self, document: Document, file: FileType); +} + +impl IndexDocumentShard for ShardArc { + /// Index document + /// May block, if the threshold of documents indexed in parallel is exceeded. + async fn index_document_shard(&self, document: Document, file: FileType) { + let shard_arc_clone = self.clone(); + let index_ref = self.read().await; + let schema = index_ref.indexed_schema_vec.clone(); + let ngram_indexing = index_ref.meta.ngram_indexing; + let indexed_field_vec_len = index_ref.indexed_field_vec.len(); + let tokenizer_type = index_ref.meta.tokenizer; + let segment_number_mask1 = index_ref.segment_number_mask1; + drop(index_ref); + + let token_per_field_max: u32 = u16::MAX as u32; + let mut unique_terms: AHashMap = AHashMap::new(); + let mut field_vec: Vec<(usize, u8, u32, u32)> = Vec::new(); + let shard_ref2 = shard_arc_clone.read().await; + + for schema_field in schema.iter() { + if !schema_field.indexed { + continue; + } + + let field_name = &schema_field.field; + + if let Some(field_value) = document.get(field_name) { + let mut non_unique_terms: Vec = Vec::new(); + let mut nonunique_terms_count = 0u32; + + let text = match schema_field.field_type { + FieldType::Text | FieldType::String16 | FieldType::String32 => { + serde_json::from_value::(field_value.clone()) + .unwrap_or(field_value.to_string()) + } + _ => field_value.to_string(), + }; + + let mut query_type_mut = QueryType::Union; + + tokenizer( + &shard_ref2, + &text, + &mut unique_terms, + &mut non_unique_terms, + tokenizer_type, + segment_number_mask1, + &mut nonunique_terms_count, + token_per_field_max, + MAX_POSITIONS_PER_TERM, + false, + &mut query_type_mut, + ngram_indexing, + schema_field.indexed_field_id, + indexed_field_vec_len, + ) + .await; + + let document_length_compressed: u8 = int_to_byte4(nonunique_terms_count); + let document_length_normalized: u32 = + DOCUMENT_LENGTH_COMPRESSION[document_length_compressed as usize]; + field_vec.push(( + schema_field.indexed_field_id, + document_length_compressed, + document_length_normalized, + nonunique_terms_count, + )); + } + } + drop(shard_ref2); + + let ngrams: Vec = unique_terms + .iter() + .filter(|term| term.1.ngram_type != NgramType::SingleTerm) + .map(|term| term.1.term.clone()) + .collect(); + + for term in ngrams.iter() { + let ngram = unique_terms.get(term).unwrap(); + + match ngram.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + let term_ngram1 = ngram.term_ngram_1.clone(); + let term_ngram2 = ngram.term_ngram_0.clone(); + + for indexed_field_id in 0..indexed_field_vec_len { + let positions_count_ngram1 = + unique_terms[&term_ngram1].field_positions_vec[indexed_field_id].len(); + let positions_count_ngram2 = + unique_terms[&term_ngram2].field_positions_vec[indexed_field_id].len(); + let ngram = unique_terms.get_mut(term).unwrap(); + + if positions_count_ngram1 > 0 { + ngram + .field_vec_ngram1 + .push((indexed_field_id, positions_count_ngram1 as u32)); + } + if positions_count_ngram2 > 0 { + ngram + .field_vec_ngram2 + .push((indexed_field_id, positions_count_ngram2 as u32)); + } + } + } + _ => { + let term_ngram1 = ngram.term_ngram_2.clone(); + let term_ngram2 = ngram.term_ngram_1.clone(); + let term_ngram3 = ngram.term_ngram_0.clone(); + + for indexed_field_id in 0..indexed_field_vec_len { + let positions_count_ngram1 = + unique_terms[&term_ngram1].field_positions_vec[indexed_field_id].len(); + let positions_count_ngram2 = + unique_terms[&term_ngram2].field_positions_vec[indexed_field_id].len(); + let positions_count_ngram3 = + unique_terms[&term_ngram3].field_positions_vec[indexed_field_id].len(); + let ngram = unique_terms.get_mut(term).unwrap(); + + if positions_count_ngram1 > 0 { + ngram + .field_vec_ngram1 + .push((indexed_field_id, positions_count_ngram1 as u32)); + } + if positions_count_ngram2 > 0 { + ngram + .field_vec_ngram2 + .push((indexed_field_id, positions_count_ngram2 as u32)); + } + if positions_count_ngram3 > 0 { + ngram + .field_vec_ngram3 + .push((indexed_field_id, positions_count_ngram3 as u32)); + } + } + } + } + } + + let document_item = DocumentItem { + document, + unique_terms, + field_vec, + }; + + shard_arc_clone.index_document_2(document_item, file).await; + } +} + +#[allow(async_fn_in_trait)] +pub(crate) trait IndexDocument2 { + async fn index_document_2(&self, document_item: DocumentItem, file: FileType); +} + +impl IndexDocument2 for ShardArc { + async fn index_document_2(&self, document_item: DocumentItem, file: FileType) { + let mut shard_mut = self.write().await; + + let doc_id: usize = shard_mut.indexed_doc_count; + shard_mut.indexed_doc_count += 1; + + let do_commit = shard_mut.block_id != doc_id >> 16; + if do_commit { + shard_mut.commit(doc_id).await; + + shard_mut.block_id = doc_id >> 16; + } + + if !shard_mut.facets.is_empty() { + let facets_size_sum = shard_mut.facets_size_sum; + for i in 0..shard_mut.facets.len() { + let facet = &mut shard_mut.facets[i]; + if let Some(field_value) = document_item.document.get(&facet.name) { + let address = (facets_size_sum * doc_id) + facet.offset; + + match facet.field_type { + FieldType::U8 => { + let value = field_value.as_u64().unwrap_or_default() as u8; + match (&facet.min, &facet.max) { + (ValueType::U8(min), ValueType::U8(max)) => { + if value < *min { + facet.min = ValueType::U8(value); + } + if value > *max { + facet.max = ValueType::U8(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::U8(value); + facet.max = ValueType::U8(value); + } + _ => {} + } + shard_mut.facets_file_mmap[address] = value + } + FieldType::U16 => { + let value = field_value.as_u64().unwrap_or_default() as u16; + match (&facet.min, &facet.max) { + (ValueType::U16(min), ValueType::U16(max)) => { + if value < *min { + facet.min = ValueType::U16(value); + } + if value > *max { + facet.max = ValueType::U16(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::U16(value); + facet.max = ValueType::U16(value); + } + _ => {} + } + write_u16(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::U32 => { + let value = field_value.as_u64().unwrap_or_default() as u32; + match (&facet.min, &facet.max) { + (ValueType::U32(min), ValueType::U32(max)) => { + if value < *min { + facet.min = ValueType::U32(value); + } + if value > *max { + facet.max = ValueType::U32(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::U32(value); + facet.max = ValueType::U32(value); + } + _ => {} + } + write_u32(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::U64 => { + let value = field_value.as_u64().unwrap_or_default(); + match (&facet.min, &facet.max) { + (ValueType::U64(min), ValueType::U64(max)) => { + if value < *min { + facet.min = ValueType::U64(value); + } + if value > *max { + facet.max = ValueType::U64(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::U64(value); + facet.max = ValueType::U64(value); + } + _ => {} + } + write_u64(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::I8 => { + let value = field_value.as_i64().unwrap_or_default() as i8; + match (&facet.min, &facet.max) { + (ValueType::I8(min), ValueType::I8(max)) => { + if value < *min { + facet.min = ValueType::I8(value); + } + if value > *max { + facet.max = ValueType::I8(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::I8(value); + facet.max = ValueType::I8(value); + } + _ => {} + } + write_i8(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::I16 => { + let value = field_value.as_i64().unwrap_or_default() as i16; + match (&facet.min, &facet.max) { + (ValueType::I16(min), ValueType::I16(max)) => { + if value < *min { + facet.min = ValueType::I16(value); + } + if value > *max { + facet.max = ValueType::I16(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::I16(value); + facet.max = ValueType::I16(value); + } + _ => {} + } + write_i16(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::I32 => { + let value = field_value.as_i64().unwrap_or_default() as i32; + match (&facet.min, &facet.max) { + (ValueType::I32(min), ValueType::I32(max)) => { + if value < *min { + facet.min = ValueType::I32(value); + } + if value > *max { + facet.max = ValueType::I32(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::I32(value); + facet.max = ValueType::I32(value); + } + _ => {} + } + write_i32(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::I64 => { + let value = field_value.as_i64().unwrap_or_default(); + match (&facet.min, &facet.max) { + (ValueType::I64(min), ValueType::I64(max)) => { + if value < *min { + facet.min = ValueType::I64(value); + } + if value > *max { + facet.max = ValueType::I64(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::I64(value); + facet.max = ValueType::I64(value); + } + _ => {} + } + write_i64(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::Timestamp => { + let value = field_value.as_i64().unwrap_or_default(); + match (&facet.min, &facet.max) { + (ValueType::Timestamp(min), ValueType::Timestamp(max)) => { + if value < *min { + facet.min = ValueType::Timestamp(value); + } + if value > *max { + facet.max = ValueType::Timestamp(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::Timestamp(value); + facet.max = ValueType::Timestamp(value); + } + _ => {} + } + + write_i64(value, &mut shard_mut.facets_file_mmap, address); + } + FieldType::F32 => { + let value = field_value.as_f64().unwrap_or_default() as f32; + match (&facet.min, &facet.max) { + (ValueType::F32(min), ValueType::F32(max)) => { + if value < *min { + facet.min = ValueType::F32(value); + } + if value > *max { + facet.max = ValueType::F32(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::F32(value); + facet.max = ValueType::F32(value); + } + _ => {} + } + + write_f32(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::F64 => { + let value = field_value.as_f64().unwrap_or_default(); + match (&facet.min, &facet.max) { + (ValueType::F64(min), ValueType::F64(max)) => { + if value < *min { + facet.min = ValueType::F64(value); + } + if value > *max { + facet.max = ValueType::F64(value); + } + } + (ValueType::None, ValueType::None) => { + facet.min = ValueType::F64(value); + facet.max = ValueType::F64(value); + } + _ => {} + } + + write_f64(value, &mut shard_mut.facets_file_mmap, address) + } + FieldType::String16 => { + if facet.values.len() < u16::MAX as usize { + let key = serde_json::from_value::(field_value.clone()) + .unwrap_or(field_value.to_string()); + + let key_string = key.clone(); + let key = vec![key]; + + facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; + + let facet_value_id = + facet.values.get_index_of(&key_string).unwrap() as u16; + write_u16(facet_value_id, &mut shard_mut.facets_file_mmap, address) + } + } + + FieldType::StringSet16 => { + if facet.values.len() < u16::MAX as usize { + let mut key: Vec = + serde_json::from_value(field_value.clone()).unwrap(); + key.sort(); + + let key_string = key.join("_"); + facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; + + let facet_value_id = + facet.values.get_index_of(&key_string).unwrap() as u16; + write_u16(facet_value_id, &mut shard_mut.facets_file_mmap, address) + } + } + + FieldType::String32 => { + if facet.values.len() < u32::MAX as usize { + let key = serde_json::from_value::(field_value.clone()) + .unwrap_or(field_value.to_string()); + + let key_string = key.clone(); + let key = vec![key]; + + facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; + + let facet_value_id = + facet.values.get_index_of(&key_string).unwrap() as u32; + write_u32(facet_value_id, &mut shard_mut.facets_file_mmap, address) + } + } + + FieldType::StringSet32 => { + if facet.values.len() < u32::MAX as usize { + let mut key: Vec = + serde_json::from_value(field_value.clone()).unwrap(); + key.sort(); + + let key_string = key.join("_"); + facet.values.entry(key_string.clone()).or_insert((key, 0)).1 += 1; + + let facet_value_id = + facet.values.get_index_of(&key_string).unwrap() as u32; + write_u32(facet_value_id, &mut shard_mut.facets_file_mmap, address) + } + } + + FieldType::Point => { + if let Ok(point) = serde_json::from_value::(field_value.clone()) + && point.len() == 2 + { + if point[0] >= -90.0 + && point[0] <= 90.0 + && point[1] >= -180.0 + && point[1] <= 180.0 + { + let morton_code = encode_morton_2_d(&point); + write_u64(morton_code, &mut shard_mut.facets_file_mmap, address) + } else { + println!( + "outside valid coordinate range: {} {}", + point[0], point[1] + ); + } + } + } + + _ => {} + }; + } + } + } + + if !shard_mut.uncommitted { + if shard_mut.segments_level0[0].positions_compressed.is_empty() { + for strip0 in shard_mut.segments_level0.iter_mut() { + strip0.positions_compressed = vec![0; MAX_POSITIONS_PER_TERM * 2]; + } + } + shard_mut.uncommitted = true; + } + + let mut longest_field_id: usize = 0; + let mut longest_field_length: u32 = 0; + for value in document_item.field_vec { + if doc_id == 0 && value.3 > longest_field_length { + longest_field_id = value.0; + longest_field_length = value.3; + } + + shard_mut.document_length_compressed_array[value.0][doc_id & 0b11111111_11111111] = + value.1; + shard_mut.positions_sum_normalized += value.2 as u64; + shard_mut.indexed_field_vec[value.0].field_length_sum += value.2 as usize; + } + + if doc_id == 0 { + if !shard_mut.longest_field_auto { + longest_field_id = shard_mut.longest_field_id; + } + shard_mut.longest_field_id = longest_field_id; + shard_mut.indexed_field_vec[longest_field_id].is_longest_field = true; + if shard_mut.indexed_field_vec.len() > 1 { + println!( + "detect longest field id {} name {} length {}", + longest_field_id, + shard_mut.indexed_field_vec[longest_field_id].schema_field_name, + longest_field_length + ); + } + } + + let mut unique_terms = document_item.unique_terms; + if !shard_mut.synonyms_map.is_empty() { + let unique_terms_clone = unique_terms.clone(); + for term in unique_terms_clone.iter() { + if term.1.ngram_type == NgramType::SingleTerm { + let synonym = shard_mut.synonyms_map.get(&term.1.key_hash).cloned(); + if let Some(synonym) = synonym { + for synonym_term in synonym { + let mut term_clone = term.1.clone(); + term_clone.key_hash = synonym_term.1.0; + term_clone.key0 = synonym_term.1.1; + term_clone.term = synonym_term.0.clone(); + + if let Some(existing) = unique_terms.get_mut(&synonym_term.0) { + existing + .field_positions_vec + .iter_mut() + .zip(term_clone.field_positions_vec.iter()) + .for_each(|(x1, x2)| { + x1.extend_from_slice(x2); + x1.sort_unstable(); + }); + } else { + unique_terms.insert(synonym_term.0.clone(), term_clone); + }; + } + } + } + } + } + + for term in unique_terms { + shard_mut.index_posting(term.1, doc_id, false, 0, 0, 0); + } + + match file { + FileType::PathBuf(file_path) => { + if let Err(e) = shard_mut.copy_file(&file_path, doc_id) { + println!("can't copy PDF {} {}", file_path.display(), e); + } + } + + FileType::Bytes(file_path, file_bytes) => { + if let Err(e) = shard_mut.write_file(&file_bytes, doc_id) { + println!("can't copy PDF {} {}", file_path.display(), e); + } + } + + _ => {} + } + + if !shard_mut.stored_field_names.is_empty() { + shard_mut.store_document(doc_id, document_item.document); + } + + if do_commit { + drop(shard_mut); + warmup(self).await; + } + } +} + +pub(crate) struct DocumentItem { + pub document: Document, + pub unique_terms: AHashMap, + pub field_vec: Vec<(usize, u8, u32, u32)>, +} diff --git a/mobile_app/rust/src/seekstorm/index_posting.rs b/mobile_app/rust/src/seekstorm/index_posting.rs new file mode 100644 index 0000000..01a21aa --- /dev/null +++ b/mobile_app/rust/src/seekstorm/index_posting.rs @@ -0,0 +1,941 @@ +use std::cmp; + +use num::FromPrimitive; + +use crate::{ + compress_postinglist::compress_positions, + index::{ + AccessType, CompressionType, FIELD_STOP_BIT_1, FIELD_STOP_BIT_2, NgramType, + POSTING_BUFFER_SIZE, PostingListObject0, ROARING_BLOCK_SIZE, STOP_BIT, Shard, TermObject, + }, + search::binary_search, + utils::{block_copy_mut, read_u16, read_u32, write_u16_ref, write_u32}, +}; + +impl Shard { + pub(crate) fn index_posting( + &mut self, + term: TermObject, + doc_id: usize, + restore: bool, + posting_count_ngram_1_compressed: u8, + posting_count_ngram_2_compressed: u8, + posting_count_ngram_3_compressed: u8, + ) { + if let Some(spelling_correction) = self.meta.spelling_correction.as_ref() + && term.key_hash & 7 == 0 + && (spelling_correction.term_length_threshold.as_ref().is_none() + || spelling_correction + .term_length_threshold + .as_ref() + .unwrap() + .is_empty() + || term.term.len() + >= spelling_correction.term_length_threshold.as_ref().unwrap()[0]) + { + let sum: usize = term + .field_positions_vec + .iter() + .enumerate() + .filter(|&x| self.indexed_schema_vec[x.0].dictionary_source) + .map(|field| field.1.len()) + .sum(); + if sum > 0 { + _ = self + .level_terms + .entry((term.key_hash >> 32) as u32) + .or_insert(term.term.clone()); + } + }; + + let mut positions_count_sum = 0; + let mut field_positions_vec: Vec> = Vec::new(); + for positions_uncompressed in term.field_positions_vec.iter() { + positions_count_sum += positions_uncompressed.len(); + let mut positions: Vec = Vec::new(); + let mut previous_position: u16 = 0; + for pos in positions_uncompressed.iter() { + if positions.is_empty() { + positions.push(*pos); + } else { + positions.push(*pos - previous_position - 1); + } + previous_position = *pos; + } + field_positions_vec.push(positions); + } + + if positions_count_sum == 0 { + println!("empty posting {} docid {}", term.term, doc_id); + return; + } + + if self.postings_buffer_pointer > self.postings_buffer.len() - (POSTING_BUFFER_SIZE >> 4) { + self.postings_buffer + .resize(self.postings_buffer.len() + (POSTING_BUFFER_SIZE >> 2), 0); + } + + let strip_object0 = self.segments_level0.get_mut(term.key0 as usize).unwrap(); + + let value = strip_object0 + .segment + .entry(term.key_hash) + .or_insert(PostingListObject0 { + posting_count_ngram_1_compressed, + posting_count_ngram_2_compressed, + posting_count_ngram_3_compressed, + ..Default::default() + }); + let exists: bool = value.posting_count > 0; + + if self.is_last_level_incomplete && !exists && !restore { + if self.meta.access_type == AccessType::Mmap { + let pointer = self.segments_index[term.key0 as usize] + .byte_array_blocks_pointer + .last() + .unwrap(); + + let key_count = pointer.2 as usize; + + let byte_array_keys = + &self.index_file_mmap[pointer.0 - (key_count * self.key_head_size)..pointer.0]; + let key_index = binary_search( + byte_array_keys, + key_count, + term.key_hash, + self.key_head_size, + ); + + if key_index >= 0 { + let key_address = key_index as usize * self.key_head_size; + let compression_type_pointer = + read_u32(byte_array_keys, key_address + self.key_head_size - 4); + let rank_position_pointer_range = + compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let position_range_previous = if key_index == 0 { + 0 + } else { + let posting_count_previous = + read_u16(byte_array_keys, key_address + 8 - self.key_head_size) + as usize + + 1; + let pointer_pivot_p_docid_previous = + read_u16(byte_array_keys, key_address - 6); + + let posting_pointer_size_sum_previous = pointer_pivot_p_docid_previous + as usize + * 2 + + if (pointer_pivot_p_docid_previous as usize) < posting_count_previous + { + (posting_count_previous - pointer_pivot_p_docid_previous as usize) + * 3 + } else { + 0 + }; + + let compression_type_pointer_previous = + read_u32(byte_array_keys, key_address + 18 - self.key_head_size); + let rank_position_pointer_range_previous = compression_type_pointer_previous + & 0b0011_1111_1111_1111_1111_1111_1111_1111; + let compression_type_previous: CompressionType = FromPrimitive::from_i32( + (compression_type_pointer_previous >> 30) as i32, + ) + .unwrap(); + + let compressed_docid_previous = match compression_type_previous { + CompressionType::Array => posting_count_previous * 2, + CompressionType::Bitmap => 8192, + CompressionType::Rle => { + let block_id = doc_id >> 16; + let segment: &crate::index::SegmentIndex = + &self.segments_index[term.key0 as usize]; + let byte_array_docid = &self.index_file_mmap[segment + .byte_array_blocks_pointer[block_id] + .0 + ..segment.byte_array_blocks_pointer[block_id].0 + + segment.byte_array_blocks_pointer[block_id].1]; + + 4 * read_u16( + byte_array_docid, + rank_position_pointer_range_previous as usize + + posting_pointer_size_sum_previous, + ) as usize + + 2 + } + _ => 0, + }; + + rank_position_pointer_range_previous + + (posting_pointer_size_sum_previous + compressed_docid_previous) as u32 + }; + + value.size_compressed_positions_key = + (rank_position_pointer_range - position_range_previous) as usize; + } + } else { + let posting_list_object_index_option = self.segments_index[term.key0 as usize] + .segment + .get(&term.key_hash); + + if let Some(plo) = posting_list_object_index_option { + let block = plo.blocks.last().unwrap(); + if block.block_id as usize == self.level_index.len() - 1 { + let rank_position_pointer_range: u32 = block.compression_type_pointer + & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + value.size_compressed_positions_key = + (rank_position_pointer_range - plo.position_range_previous) as usize; + } + }; + } + } + + let mut posting_pointer_size = + if value.size_compressed_positions_key < 32_768 && value.posting_count < 65_535 { + value.pointer_pivot_p_docid = value.posting_count as u16 + 1; + 2u8 + } else { + 3u8 + }; + + let mut nonempty_field_count = 0; + let mut only_longest_field = true; + for (field_id, item) in field_positions_vec.iter().enumerate() { + if !item.is_empty() { + nonempty_field_count += 1; + + if !self.indexed_field_vec[field_id].is_longest_field { + only_longest_field = false; + } + } + } + + let mut positions_meta_compressed_nonembedded_size = 0; + + match term.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + for (i, field) in term.field_vec_ngram1.iter().enumerate() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.1 < 128 { + 1 + } else if field.1 < 16_384 { + 2 + } else { + 3 + }; + } else if term.field_vec_ngram1.len() == 1 + && term.field_vec_ngram1[0].0 == self.longest_field_id + { + positions_meta_compressed_nonembedded_size += if field.1 < 64 { + 1 + } else if field.1 < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + } + for (i, field) in term.field_vec_ngram2.iter().enumerate() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.1 < 128 { + 1 + } else if field.1 < 16_384 { + 2 + } else { + 3 + }; + } else if term.field_vec_ngram2.len() == 1 + && term.field_vec_ngram2[0].0 == self.longest_field_id + { + positions_meta_compressed_nonembedded_size += if field.1 < 64 { + 1 + } else if field.1 < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + } + } + _ => { + for (i, field) in term.field_vec_ngram1.iter().enumerate() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.1 < 128 { + 1 + } else if field.1 < 16_384 { + 2 + } else { + 3 + }; + } else if term.field_vec_ngram1.len() == 1 + && term.field_vec_ngram1[0].0 == self.longest_field_id + { + positions_meta_compressed_nonembedded_size += if field.1 < 64 { + 1 + } else if field.1 < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + } + for (i, field) in term.field_vec_ngram2.iter().enumerate() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.1 < 128 { + 1 + } else if field.1 < 16_384 { + 2 + } else { + 3 + }; + } else if term.field_vec_ngram2.len() == 1 + && term.field_vec_ngram2[0].0 == self.longest_field_id + { + positions_meta_compressed_nonembedded_size += if field.1 < 64 { + 1 + } else if field.1 < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + } + for (i, field) in term.field_vec_ngram3.iter().enumerate() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.1 < 128 { + 1 + } else if field.1 < 16_384 { + 2 + } else { + 3 + }; + } else if term.field_vec_ngram3.len() == 1 + && term.field_vec_ngram3[0].0 == self.longest_field_id + { + positions_meta_compressed_nonembedded_size += if field.1 < 64 { + 1 + } else if field.1 < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + } + } + } + + let mut positions_sum = 0; + let mut positions_vec: Vec = Vec::new(); + let mut field_vec: Vec<(usize, u32)> = Vec::new(); + for (field_id, field) in field_positions_vec.iter().enumerate() { + if !field.is_empty() { + if field_positions_vec.len() == 1 { + positions_meta_compressed_nonembedded_size += if field.len() < 128 { + 1 + } else if field.len() < 16_384 { + 2 + } else { + 3 + }; + } else if only_longest_field { + positions_meta_compressed_nonembedded_size += if field.len() < 64 { + 1 + } else if field.len() < 8_192 { + 2 + } else { + 3 + }; + } else { + let required_position_count_bits = usize::BITS - field.len().leading_zeros(); + let only_longest_field_bit = if field_vec.is_empty() { 1 } else { 0 }; + + let meta_bits = only_longest_field_bit + + required_position_count_bits + + self.indexed_field_id_bits as u32; + + if meta_bits <= 6 { + positions_meta_compressed_nonembedded_size += 1; + } else if meta_bits <= 13 { + positions_meta_compressed_nonembedded_size += 2; + } else if meta_bits <= 20 { + positions_meta_compressed_nonembedded_size += 3; + } + } + + positions_sum += field.len(); + if self.indexed_field_vec.len() > 1 && field.len() <= 4 { + positions_vec.append(&mut field.clone()) + }; + + field_vec.push((field_id, field.len() as u32)); + } + } + + let mut embed_flag = term.ngram_type == NgramType::SingleTerm; + + if self.indexed_field_vec.len() == 1 { + if posting_pointer_size == 2 { + embed_flag &= positions_sum <= 2 + && ((positions_sum == 1 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 14) + || (positions_sum == 2 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 7 + && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 7)); + } else { + embed_flag &= positions_sum <= 4 + && ((positions_sum == 1 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 21) + || (positions_sum == 2 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 10 + && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 11) + || (positions_sum == 3 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 7 + && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 7 + && u16::BITS - field_positions_vec[0][2].leading_zeros() <= 7) + || (positions_sum == 4 + && u16::BITS - field_positions_vec[0][0].leading_zeros() <= 5 + && u16::BITS - field_positions_vec[0][1].leading_zeros() <= 5 + && u16::BITS - field_positions_vec[0][2].leading_zeros() <= 5 + && u16::BITS - field_positions_vec[0][3].leading_zeros() <= 6)); + } + } else if only_longest_field { + if posting_pointer_size == 2 { + embed_flag &= positions_sum <= 2 + && ((positions_sum == 1 && u16::BITS - positions_vec[0].leading_zeros() <= 13) + || (positions_sum == 2 + && u16::BITS - positions_vec[0].leading_zeros() <= 6 + && u16::BITS - positions_vec[1].leading_zeros() <= 7)); + } else { + embed_flag &= positions_sum <= 4 + && ((positions_sum == 1 && u16::BITS - positions_vec[0].leading_zeros() <= 20) + || (positions_sum == 2 + && u16::BITS - positions_vec[0].leading_zeros() <= 10 + && u16::BITS - positions_vec[1].leading_zeros() <= 10) + || (positions_sum == 3 + && u16::BITS - positions_vec[0].leading_zeros() <= 6 + && u16::BITS - positions_vec[1].leading_zeros() <= 7 + && u16::BITS - positions_vec[2].leading_zeros() <= 7) + || (positions_sum == 4 + && u16::BITS - positions_vec[0].leading_zeros() <= 5 + && u16::BITS - positions_vec[1].leading_zeros() <= 5 + && u16::BITS - positions_vec[2].leading_zeros() <= 5 + && u16::BITS - positions_vec[3].leading_zeros() <= 5)); + } + } else { + let used_bits = nonempty_field_count * self.indexed_field_id_bits as u32; + let bits = if posting_pointer_size == 2 { 12 } else { 19 }; + let remaining_bits_new = if used_bits < bits { + bits - used_bits + } else { + embed_flag = false; + 0 + }; + + if posting_pointer_size == 2 { + embed_flag &= positions_sum <= 3 + && ((positions_sum == 1 + && u16::BITS - positions_vec[0].leading_zeros() <= remaining_bits_new) + || (positions_sum == 2 + && u16::BITS - positions_vec[0].leading_zeros() + <= remaining_bits_new / 2 + && u16::BITS - positions_vec[1].leading_zeros() + <= remaining_bits_new - remaining_bits_new / 2) + || (positions_sum == 3 + && nonempty_field_count == 1 + && u16::BITS - positions_vec[0].leading_zeros() + <= remaining_bits_new / 3 + && u16::BITS - positions_vec[1].leading_zeros() + <= (remaining_bits_new - remaining_bits_new / 3) / 2 + && u16::BITS - positions_vec[2].leading_zeros() + <= remaining_bits_new + - (remaining_bits_new - remaining_bits_new / 3) / 2 + - (remaining_bits_new / 3))); + } else { + embed_flag &= positions_sum <= 4 + && ((positions_sum == 1 + && u16::BITS - positions_vec[0].leading_zeros() <= remaining_bits_new) + || (positions_sum == 2 + && u16::BITS - positions_vec[0].leading_zeros() + <= remaining_bits_new / 2 + && u16::BITS - positions_vec[1].leading_zeros() + <= remaining_bits_new - remaining_bits_new / 2) + || (positions_sum == 3 + && u16::BITS - positions_vec[0].leading_zeros() + <= remaining_bits_new / 3 + && u16::BITS - positions_vec[1].leading_zeros() + <= (remaining_bits_new - remaining_bits_new / 3) / 2 + && u16::BITS - positions_vec[2].leading_zeros() + <= remaining_bits_new + - (remaining_bits_new - remaining_bits_new / 3) / 2 + - (remaining_bits_new / 3)) + || (positions_sum == 4 + && nonempty_field_count == 1 + && u16::BITS - positions_vec[0].leading_zeros() + <= remaining_bits_new / 4 + && u16::BITS - positions_vec[1].leading_zeros() + <= (remaining_bits_new - remaining_bits_new / 4) / 3 + && u16::BITS - positions_vec[2].leading_zeros() + <= (remaining_bits_new + - (remaining_bits_new - remaining_bits_new / 4) / 3 + - (remaining_bits_new / 4)) + / 2 + && u16::BITS - positions_vec[3].leading_zeros() + <= remaining_bits_new + - remaining_bits_new / 4 + - (remaining_bits_new - remaining_bits_new / 4) / 3 + - (remaining_bits_new + - (remaining_bits_new - remaining_bits_new / 4) / 3 + - (remaining_bits_new / 4)) + / 2)); + } + }; + + let mut write_pointer_base = self.postings_buffer_pointer; + let mut write_pointer = self.postings_buffer_pointer + 8; + + let mut positions_compressed_pointer = 0usize; + let positions_stack = if embed_flag { + 0 + } else { + for field_positions in field_positions_vec.iter() { + compress_positions( + field_positions, + &mut strip_object0.positions_compressed, + &mut positions_compressed_pointer, + ); + } + + let exceeded = posting_pointer_size == 2 + && (value.size_compressed_positions_key + + positions_meta_compressed_nonembedded_size + + positions_compressed_pointer + >= 32_768); + if exceeded { + posting_pointer_size = 3; + value.pointer_pivot_p_docid = value.posting_count as u16; + } + + positions_meta_compressed_nonembedded_size + positions_compressed_pointer + }; + + let compressed_position_size = if embed_flag { + let mut positions_vec: Vec = Vec::new(); + let mut data: u32 = 0; + for field in field_vec.iter() { + for pos in field_positions_vec[field.0].iter() { + positions_vec.push(*pos); + } + if self.indexed_field_vec.len() > 1 && !only_longest_field { + data <<= self.indexed_field_id_bits; + data |= field.0 as u32; + } + } + + let mut remaining_bits = posting_pointer_size as usize * 8 + - if posting_pointer_size == 2 { 0 } else { 1 } + - if self.indexed_field_vec.len() == 1 { + 2 + } else if only_longest_field { + 3 + } else { + 4 + nonempty_field_count as usize * self.indexed_field_id_bits + }; + for (i, position) in positions_vec.iter().enumerate() { + let position_bits = remaining_bits / (positions_vec.len() - i); + remaining_bits -= position_bits; + data <<= position_bits; + data |= *position as u32; + } + + if posting_pointer_size == 2 { + self.postings_buffer[write_pointer] = (data & 0b11111111) as u8; + if self.indexed_field_vec.len() == 1 { + self.postings_buffer[write_pointer + 1] = + (data >> 8) as u8 | 0b10000000 | ((positions_vec.len() - 1) << 6) as u8; + } else if only_longest_field { + self.postings_buffer[write_pointer + 1] = + (data >> 8) as u8 | 0b11000000 | ((positions_vec.len() - 1) << 5) as u8; + } else if nonempty_field_count == 1 { + self.postings_buffer[write_pointer + 1] = + (data >> 8) as u8 | 0b10000000 | ((positions_vec.len() - 1) << 4) as u8; + } else { + self.postings_buffer[write_pointer + 1] = (data >> 8) as u8 | 0b10110000; + }; + } else { + self.postings_buffer[write_pointer] = (data & 0b11111111) as u8; + self.postings_buffer[write_pointer + 1] = ((data >> 8) & 0b11111111) as u8; + if self.indexed_field_vec.len() == 1 { + self.postings_buffer[write_pointer + 2] = + (data >> 16) as u8 | 0b10000000 | ((positions_vec.len() - 1) << 5) as u8; + } else if only_longest_field { + self.postings_buffer[write_pointer + 2] = + (data >> 16) as u8 | 0b11000000 | ((positions_vec.len() - 1) << 4) as u8; + } else { + self.postings_buffer[write_pointer + 2] = (data >> 16) as u8 + | 0b10000000 + | if nonempty_field_count == 1 { + ((positions_vec.len() - 1) << 3) as u8 + } else if nonempty_field_count == 3 { + 0b00111000 + } else if field_vec[0].1 == 1 && field_vec[1].1 == 1 { + 0b00100000 + } else if field_vec[0].1 == 1 && field_vec[1].1 == 2 { + 0b00101000 + } else { + 0b00110000 + }; + } + } + + write_pointer += posting_pointer_size as usize; + posting_pointer_size as usize + } else { + let write_pointer_start = write_pointer; + + match term.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &term.field_vec_ngram1, + self.indexed_field_vec.len(), + term.field_vec_ngram1.len() == 1 + && term.field_vec_ngram1[0].0 == self.longest_field_id, + term.field_vec_ngram1.len() as u32, + self.indexed_field_id_bits as u32, + ); + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &term.field_vec_ngram2, + self.indexed_field_vec.len(), + term.field_vec_ngram2.len() == 1 + && term.field_vec_ngram2[0].0 == self.longest_field_id, + term.field_vec_ngram2.len() as u32, + self.indexed_field_id_bits as u32, + ); + } + _ => { + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &term.field_vec_ngram1, + self.indexed_field_vec.len(), + term.field_vec_ngram1.len() == 1 + && term.field_vec_ngram1[0].0 == self.longest_field_id, + term.field_vec_ngram1.len() as u32, + self.indexed_field_id_bits as u32, + ); + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &term.field_vec_ngram2, + self.indexed_field_vec.len(), + term.field_vec_ngram2.len() == 1 + && term.field_vec_ngram2[0].0 == self.longest_field_id, + term.field_vec_ngram2.len() as u32, + self.indexed_field_id_bits as u32, + ); + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &term.field_vec_ngram3, + self.indexed_field_vec.len(), + term.field_vec_ngram3.len() == 1 + && term.field_vec_ngram3[0].0 == self.longest_field_id, + term.field_vec_ngram3.len() as u32, + self.indexed_field_id_bits as u32, + ); + } + } + + write_field_vec( + &mut self.postings_buffer, + &mut write_pointer, + &field_vec, + self.indexed_field_vec.len(), + only_longest_field, + nonempty_field_count, + self.indexed_field_id_bits as u32, + ); + + block_copy_mut( + &mut strip_object0.positions_compressed, + 0, + &mut self.postings_buffer, + write_pointer, + positions_compressed_pointer, + ); + + write_pointer += positions_compressed_pointer; + write_pointer - write_pointer_start + }; + + let docid_lsb = (doc_id & 0xFFFF) as u16; + if exists { + value.posting_count += 1; + value.position_count += positions_count_sum; + value.size_compressed_positions_key += positions_stack; + if docid_lsb > value.docid_old { + value.docid_delta_max = + cmp::max(value.docid_delta_max, docid_lsb - value.docid_old - 1); + } + value.docid_old = docid_lsb; + + write_u32( + write_pointer_base as u32, + &mut self.postings_buffer, + value.pointer_last, + ); + + value.pointer_last = write_pointer_base; + } else if term.ngram_type == NgramType::NgramFF + || term.ngram_type == NgramType::NgramRF + || term.ngram_type == NgramType::NgramFR + { + *value = PostingListObject0 { + pointer_first: write_pointer_base, + pointer_last: write_pointer_base, + posting_count: 1, + position_count: positions_count_sum, + ngram_type: term.ngram_type.clone(), + term_ngram1: term.term_ngram_1, + term_ngram2: term.term_ngram_0, + term_ngram3: term.term_ngram_2, + size_compressed_positions_key: value.size_compressed_positions_key + + positions_stack, + docid_delta_max: docid_lsb, + docid_old: docid_lsb, + ..*value + }; + } else { + *value = PostingListObject0 { + pointer_first: write_pointer_base, + pointer_last: write_pointer_base, + posting_count: 1, + position_count: positions_count_sum, + ngram_type: term.ngram_type.clone(), + term_ngram1: term.term_ngram_2, + term_ngram2: term.term_ngram_1, + term_ngram3: term.term_ngram_0, + size_compressed_positions_key: value.size_compressed_positions_key + + positions_stack, + docid_delta_max: docid_lsb, + docid_old: docid_lsb, + ..*value + }; + } + + write_pointer_base += 4; + + write_u16_ref( + docid_lsb, + &mut self.postings_buffer, + &mut write_pointer_base, + ); + + if positions_compressed_pointer + 2 > ROARING_BLOCK_SIZE { + println!( + "compressed positions size exceeded: {}", + positions_compressed_pointer + 2 + ) + }; + + if !embed_flag && positions_stack != compressed_position_size { + println!( + "size conflict: embed {} term {} ngram_type {:?} frequent {} pos_count {} : positions_stack {} compressed_position_size {} : positions_compressed_pointer {} posting_pointer_size {} docid {}", + embed_flag, + term.term, + term.ngram_type, + only_longest_field, + positions_count_sum, + positions_stack, + compressed_position_size, + positions_compressed_pointer, + posting_pointer_size, + doc_id + ); + } + + write_u16_ref( + if embed_flag { + compressed_position_size | 0b10000000_00000000 + } else { + compressed_position_size & 0b01111111_11111111 + } as u16, + &mut self.postings_buffer, + &mut write_pointer_base, + ); + + self.postings_buffer_pointer = write_pointer; + } +} + +pub(crate) fn write_field_vec( + postings_buffer: &mut [u8], + write_pointer: &mut usize, + field_vec: &[(usize, u32)], + indexed_field_vec_len: usize, + only_longest_field: bool, + nonempty_field_count: u32, + indexed_field_id_bits: u32, +) { + for (i, field) in field_vec.iter().enumerate() { + if indexed_field_vec_len == 1 { + if field.1 < 128 { + postings_buffer[*write_pointer] = field.1 as u8 | STOP_BIT; + *write_pointer += 1; + } else if field.1 < 16_384 { + postings_buffer[*write_pointer] = (field.1 >> 7) as u8; + *write_pointer += 1; + postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else if field.1 < 2_097_152 { + postings_buffer[*write_pointer] = (field.1 >> 14) as u8; + *write_pointer += 1; + postings_buffer[*write_pointer] = ((field.1 >> 7) & 0b01111111) as u8; + *write_pointer += 1; + + postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else { + println!("positionCount exceeded1: {}", field.1); + } + } else if only_longest_field { + if field.1 < 64 { + postings_buffer[*write_pointer] = field.1 as u8 | 0b11000000; + *write_pointer += 1; + } else if field.1 < 8_192 { + postings_buffer[*write_pointer] = (field.1 >> 7) as u8 | 0b01000000; + *write_pointer += 1; + postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else if field.1 < 1_048_576 { + postings_buffer[*write_pointer] = (field.1 >> 14) as u8 | 0b01000000; + *write_pointer += 1; + postings_buffer[*write_pointer] = ((field.1 >> 7) & 0b01111111) as u8; + *write_pointer += 1; + + postings_buffer[*write_pointer] = (field.1 & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else { + println!("positionCount exceeded2: {}", field.1); + } + } else { + let field_stop_bit = if i == nonempty_field_count as usize - 1 { + if i == 0 { + FIELD_STOP_BIT_1 + } else { + FIELD_STOP_BIT_2 + } + } else { + 0b00000000 + }; + + let required_position_count_bits = u32::BITS - field.1.leading_zeros(); + + let field_id_position_count = ((field.1 as usize) << indexed_field_id_bits) | field.0; + let only_longest_field_bit = if i == 0 { 1 } else { 0 }; + let meta_bits = + only_longest_field_bit + required_position_count_bits + indexed_field_id_bits; + + if meta_bits <= 6 { + postings_buffer[*write_pointer] = + field_stop_bit | field_id_position_count as u8 | STOP_BIT; + *write_pointer += 1; + } else if meta_bits <= 13 { + postings_buffer[*write_pointer] = + field_stop_bit | (field_id_position_count >> 7) as u8; + *write_pointer += 1; + postings_buffer[*write_pointer] = + (field_id_position_count & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else if meta_bits <= 20 { + postings_buffer[*write_pointer] = + field_stop_bit | (field_id_position_count >> 14) as u8; + *write_pointer += 1; + postings_buffer[*write_pointer] = + ((field_id_position_count >> 7) & 0b01111111) as u8; + *write_pointer += 1; + postings_buffer[*write_pointer] = + (field_id_position_count & 0b01111111) as u8 | STOP_BIT; + *write_pointer += 1; + } else { + println!("positionCount exceeded3: {} ", field_id_position_count); + } + } + } +} diff --git a/mobile_app/rust/src/seekstorm/ingest.rs b/mobile_app/rust/src/seekstorm/ingest.rs new file mode 100644 index 0000000..11c137f --- /dev/null +++ b/mobile_app/rust/src/seekstorm/ingest.rs @@ -0,0 +1,756 @@ +use std::{ + collections::HashMap, + ffi::OsStr, + fs::{File, metadata}, + io::{self, BufReader, Read}, + path::PathBuf, + sync::Arc, + time::{Instant, SystemTime}, +}; + +use chrono::{DateTime, NaiveDateTime, TimeZone, Utc}; +use colored::Colorize; +use csv::{ReaderBuilder, Terminator}; +use num_format::{Locale, ToFormattedString}; +#[cfg(feature = "pdf")] +use pdfium_render::prelude::{PdfDocumentMetadataTagType, Pdfium}; +use serde_json::{Deserializer, json}; +use tokio::sync::RwLock; +use walkdir::WalkDir; + +use crate::{ + commit::Commit, + index::{Document, FileType, Index, IndexArc, IndexDocument}, + utils::truncate, +}; + +use lazy_static::lazy_static; + +#[cfg(feature = "pdf")] +type PdfDocument<'a> = pdfium_render::prelude::PdfDocument<'a>; +#[cfg(not(feature = "pdf"))] +type PdfDocument<'a> = (); + +#[cfg(feature = "pdf")] +lazy_static! { + pub(crate) static ref pdfium_option: Option = if let Ok(pdfium) = + Pdfium::bind_to_library(Pdfium::pdfium_platform_library_name_at_path("./")) + .or_else(|_| Pdfium::bind_to_system_library()) + { + Some(Pdfium::new(pdfium)) + } else { + None + }; +} + +fn read_skipping_ws(mut reader: impl Read) -> io::Result { + loop { + let mut byte = 0u8; + reader.read_exact(std::slice::from_mut(&mut byte))?; + if !byte.is_ascii_whitespace() { + return Ok(byte); + } + } +} + +/// Index PDF file from local disk. +/// - converts pdf to text and indexes it +/// - extracts title from metatag, or first line of text, or from filename +/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) +/// - copies all ingested pdf files to "files" subdirectory in index +/// # Arguments +/// * `file_path` - PathBuf to the file +/// # Returns +/// * `Result<(), String>` - Ok(()) or Err(String) +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub trait IndexPdfFile { + /// Index PDF file from local disk. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - PathBuf to the file + /// # Returns + /// * `Result<(), String>` - Ok(()) or Err(String) + async fn index_pdf_file(&self, file_path: &PathBuf) -> Result<(), String>; +} + +impl IndexPdfFile for IndexArc { + /// Index PDF file from local disk. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + async fn index_pdf_file(&self, file_path: &PathBuf) -> Result<(), String> { + #[cfg(feature = "pdf")] + { + if let Some(pdfium) = pdfium_option.as_ref() { + let file_size = file_path.metadata().unwrap().len() as usize; + + let date: DateTime = if let Ok(metadata) = metadata(file_path) { + if let Ok(time) = metadata.created() { + time + } else { + SystemTime::now() + } + } else { + SystemTime::now() + } + .into(); + let file_date = date.timestamp(); + + if let Ok(pdf) = pdfium.load_pdf_from_file(file_path, None) { + self.index_pdf( + file_path, + file_size, + file_date, + FileType::PathBuf(file_path.into()), + pdf, + ) + .await; + Ok(()) + } else { + println!("can't read PDF {} {}", file_path.display(), file_size); + Err("can't read PDF".to_string()) + } + } else { + println!( + "Pdfium library not found: download and copy into the same folder as the seekstorm_server.exe: https://github.com/bblanchon/pdfium-binaries" + ); + Err("Pdfium library not found".to_string()) + } + } + #[cfg(not(feature = "pdf"))] + { + println!("pdf feature flag not enabled"); + Err("pdf feature flag not enabled".to_string()) + } + } +} + +/// Index PDF file from byte array. +/// - converts pdf to text and indexes it +/// - extracts title from metatag, or first line of text, or from filename +/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) +/// - copies all ingested pdf files to "files" subdirectory in index +/// # Arguments +/// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) +/// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) +/// * `file_bytes` - Byte array of the file +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub trait IndexPdfBytes { + /// Index PDF file from byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) + /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) + /// * `file_bytes` - Byte array of the file + async fn index_pdf_bytes( + &self, + file_path: &PathBuf, + file_date: i64, + file_bytes: &[u8], + ) -> Result<(), String>; +} + +#[cfg(feature = "pdf")] +impl IndexPdfBytes for IndexArc { + /// Index PDF file from byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) + /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) + /// * `file_bytes` - Byte array of the file + async fn index_pdf_bytes( + &self, + file_path: &PathBuf, + file_date: i64, + file_bytes: &[u8], + ) -> Result<(), String> { + if let Some(pdfium) = pdfium_option.as_ref() { + let file_size = file_bytes.len(); + if let Ok(pdf) = pdfium.load_pdf_from_byte_slice(file_bytes, None) { + self.index_pdf( + file_path, + file_size, + file_date, + FileType::Bytes(file_path.into(), file_bytes.into()), + pdf, + ) + .await; + Ok(()) + } else { + println!("can't read PDF {} {}", file_path.display(), file_size); + Err("can't read PDF".to_string()) + } + } else { + println!( + "Pdfium library not found: download and copy into the same folder as the seekstorm_server.exe: https://github.com/bblanchon/pdfium-binaries" + ); + Err("Pdfium library not found".to_string()) + } + } +} + +#[cfg(not(feature = "pdf"))] +impl IndexPdfBytes for IndexArc { + /// Index PDF file from byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) + /// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) + /// * `file_bytes` - Byte array of the file + async fn index_pdf_bytes( + &self, + file_path: &PathBuf, + file_date: i64, + file_bytes: &[u8], + ) -> Result<(), String> { + println!("pdf feature flag not enabled"); + Err("pdf feature flag not enabled".to_string()) + } +} + +/// Index PDF file from local disk or byte array. +/// - converts pdf to text and indexes it +/// - extracts title from metatag, or first line of text, or from filename +/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) +/// - copies all ingested pdf files to "files" subdirectory in index +/// # Arguments +/// * `file_path` - PathBuf to the file (fallback, if title and date can't be extracted) +/// * `file_date` - File creation date (Unix timestamp: the number of seconds since 1 January 1970) (fallback, if date can't be extracted) +/// * `file` - FileType::PathBuf or FileType::Bytes +/// * `pdf` - pdfium_render::prelude::PdfDocument +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +trait IndexPdf { + async fn index_pdf( + &self, + file_path: &PathBuf, + file_size: usize, + file_date: i64, + file: FileType, + pdf: PdfDocument<'_>, + ); +} + +#[cfg(feature = "pdf")] +impl IndexPdf for IndexArc { + /// Index PDF file from local disk or byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + async fn index_pdf( + &self, + file_path: &PathBuf, + file_size: usize, + file_date: i64, + file: FileType, + pdf: PdfDocument<'_>, + ) { + let mut text = String::with_capacity(file_size); + + pdf.pages().iter().for_each(|page| { + text.push_str(&page.text().unwrap().all()); + text.push_str(" \n"); + }); + + if text.is_empty() { + println!("can't extract text from PDF {}", file_path.display(),); + } else { + let meta = pdf.metadata(); + + let title = if let Some(title) = meta.get(PdfDocumentMetadataTagType::Title) { + title.value().to_owned() + } else { + let mut i = 0; + let mut lines = text.lines(); + loop { + i += 1; + if let Some(title) = lines.next() { + if title.trim().len() > 1 { + break truncate(title, 160).trim().to_owned(); + } else if i < 10 { + continue; + } + } + + break file_path + .file_stem() + .unwrap() + .to_string_lossy() + .to_string() + .replace("_", ""); + } + }; + + let mut creation_timestamp = + if let Some(date) = meta.get(PdfDocumentMetadataTagType::CreationDate) { + let mut date_string = if date.value().starts_with("D:") { + &date.value()[2..] + } else { + &date.value()[0..] + }; + + if date_string.len() > 14 + && date_string + .chars() + .nth(14) + .unwrap() + .eq_ignore_ascii_case(&'z') + { + date_string = &date_string[0..14]; + } + + if date_string.len() == 14 + || date_string.len() == 19 + || date_string.len() == 20 + || date_string.len() == 21 + { + let mut date_string2 = String::with_capacity(23); + date_string2.push_str(&date_string[0..4]); + date_string2.push('-'); + date_string2.push_str(&date_string[4..6]); + date_string2.push('-'); + date_string2.push_str(&date_string[6..8]); + date_string2.push('T'); + date_string2.push_str(&date_string[8..10]); + date_string2.push(':'); + date_string2.push_str(&date_string[10..12]); + date_string2.push(':'); + date_string2.push_str(&date_string[12..14]); + if date_string.len() == 14 { + date_string2.push_str("+00:00") + } else if date_string.chars().nth(17).unwrap() == '\'' { + date_string2.push_str(&date_string[14..17]); + date_string2.push(':'); + date_string2.push_str(&date_string[18..20]); + } else { + date_string2.push_str(&date_string[14..17]); + date_string2.push(':'); + date_string2.push_str(&date_string[17..19]); + } + + if let Ok(date) = DateTime::parse_from_rfc3339(&date_string2) { + date.timestamp() + } else { + file_date + } + } else if let Ok(date) = + NaiveDateTime::parse_from_str(date.value(), "%a %b %e %H:%M:%S %Y") + .map(|ndt| Utc.from_utc_datetime(&ndt)) + { + date.timestamp() + } else if let Ok(date) = + NaiveDateTime::parse_from_str(date.value(), "%Y/%m/%d %H:%M:%S") + .map(|ndt| Utc.from_utc_datetime(&ndt)) + { + date.timestamp() + } else if let Ok(date) = + NaiveDateTime::parse_from_str(date.value(), "%m/%e/%Y %H:%M:%S") + .map(|ndt| Utc.from_utc_datetime(&ndt)) + { + date.timestamp() + } else { + file_date + } + } else { + file_date + }; + + if creation_timestamp > Utc::now().timestamp() || creation_timestamp < 0 { + creation_timestamp = file_date; + } + + let document: Document = HashMap::from([ + ("title".to_string(), json!(title)), + ("body".to_string(), json!(text)), + ("url".to_string(), json!(&file_path.display().to_string())), + ("date".to_string(), json!(creation_timestamp)), + ]); + + self.index_document(document, file).await; + + let date_time = Utc.timestamp_opt(creation_timestamp, 0).unwrap(); + println!( + "indexed {} {} {} {}", + date_time.format("%d/%m/%Y %H:%M"), + file_path.display(), + text.len().to_formatted_string(&Locale::en), + title + ); + } + } +} + +#[cfg(not(feature = "pdf"))] +impl IndexPdf for IndexArc { + /// Index PDF file from local disk or byte array. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + async fn index_pdf( + &self, + file_path: &PathBuf, + file_size: usize, + file_date: i64, + file: FileType, + pdf: PdfDocument<'_>, + ) { + println!("pdf feature flag not enabled"); + } +} + +pub(crate) async fn path_recurse( + index_arc: &Arc>, + data_path: &PathBuf, + docid: &mut usize, +) { + for entry in WalkDir::new(data_path) { + let entry = entry.unwrap(); + let path = entry.path(); + + let md = metadata(path).unwrap(); + if md.is_file() + && let Some(extension) = path.extension().and_then(OsStr::to_str) + && extension.to_lowercase() == "pdf" + && index_arc.index_pdf_file(path).await.is_ok() + { + *docid += 1; + }; + } +} + +/// Index PDF files from local disk directory and sub-directories or from file. +/// - converts pdf to text and indexes it +/// - extracts title from metatag, or first line of text, or from filename +/// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) +/// - copies all ingested pdf files to "files" subdirectory in index +/// # Arguments +/// * `file_path` - PathBuf to the file +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub trait IngestPdf { + /// Index PDF files from local disk directory and sub-directories or from file. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + /// # Arguments + /// * `file_path` - PathBuf to the file + async fn ingest_pdf(&mut self, file_path: &PathBuf); +} + +#[cfg(feature = "pdf")] +impl IngestPdf for IndexArc { + /// Index PDF files from local disk directory and sub-directories or from file. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + async fn ingest_pdf(&mut self, data_path: &PathBuf) { + if pdfium_option.is_some() { + match data_path.exists() { + true => { + println!("ingesting PDF from: {}", data_path.display()); + + let start_time = Instant::now(); + let mut docid = 0usize; + + let index_ref = self.read().await; + drop(index_ref); + + let md = metadata(data_path).unwrap(); + if md.is_file() { + if let Some(extension) = PathBuf::new(&data_path.display().to_string()) + .extension() + .and_then(OsStr::to_str) + && extension.to_lowercase() == "pdf" + && self.index_pdf_file(data_path).await.is_ok() + { + docid += 1; + } + } else { + path_recurse(self, data_path, &mut docid).await; + } + + self.commit().await; + + let elapsed_time = start_time.elapsed().as_nanos(); + + println!( + "{}: docs {} docs/sec {} docs/day {} minutes {:.2} seconds {}", + "Indexing finished".green(), + docid.to_formatted_string(&Locale::en), + (docid as u128 * 1_000_000_000 / elapsed_time) + .to_formatted_string(&Locale::en), + ((docid as u128 * 1_000_000_000 / elapsed_time) * 3600 * 24) + .to_formatted_string(&Locale::en), + elapsed_time as f64 / 1_000_000_000.0 / 60.0, + elapsed_time / 1_000_000_000 + ); + } + false => { + println!("data file not found: {}", data_path.display()); + } + } + } else { + println!( + "Pdfium library not found: download and copy into the same folder as the seekstorm_server.exe: https://github.com/bblanchon/pdfium-binaries" + ) + } + } +} + +#[cfg(not(feature = "pdf"))] +impl IngestPdf for IndexArc { + /// Index PDF files from local disk directory and sub-directories or from file. + /// - converts pdf to text and indexes it + /// - extracts title from metatag, or first line of text, or from filename + /// - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) + /// - copies all ingested pdf files to "files" subdirectory in index + async fn ingest_pdf(&mut self, data_path: &PathBuf) { + println!("pdf feature flag not enabled"); + } +} + +/// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. +/// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub trait IngestJson { + /// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + async fn ingest_json(&mut self, data_path: &PathBuf); +} + +impl IngestJson for IndexArc { + /// Ingest local data files in [JSON](https://en.wikipedia.org/wiki/JSON), [Newline-delimited JSON](https://github.com/ndjson/ndjson-spec) (ndjson), and [Concatenated JSON](https://en.wikipedia.org/wiki/JSON_streaming) formats via console command. + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + async fn ingest_json(&mut self, data_path: &PathBuf) { + match data_path.exists() { + true => { + println!("ingesting data from: {}", data_path.display()); + + let start_time = Instant::now(); + let mut docid: i64 = 0; + + let index_arc_clone2 = self.clone(); + let index_ref = index_arc_clone2.read().await; + drop(index_ref); + + let index_arc_clone = self.clone(); + let file = File::open(data_path).unwrap(); + let mut reader = BufReader::new(file); + + let is_vector = read_skipping_ws(&mut reader).unwrap() == b'['; + + if !is_vector { + println!("Newline-delimited JSON (ndjson) or Concatenated JSON detected"); + reader.seek_relative(-1).unwrap(); + + for doc_object in Deserializer::from_reader(reader).into_iter::() { + let index_arc_clone_clone = index_arc_clone.clone(); + + index_arc_clone_clone + .index_document(doc_object.unwrap(), FileType::None) + .await; + docid += 1; + } + } else { + println!("JSON detected"); + + let index_arc_clone_clone = index_arc_clone.clone(); + loop { + let next_obj = Deserializer::from_reader(reader.by_ref()) + .into_iter::() + .next(); + match next_obj { + Some(doc_object) => { + index_arc_clone_clone + .index_document(doc_object.unwrap(), FileType::None) + .await + } + None => break, + } + + docid += 1; + + match read_skipping_ws(reader.by_ref()).unwrap() { + b',' => {} + b']' => break, + _ => break, + } + } + } + + self.commit().await; + + let elapsed_time = start_time.elapsed().as_nanos(); + + let date: DateTime = DateTime::from(SystemTime::now()); + + let index_ref = self.read().await; + + println!( + "{}: {} shards {} levels {} ngrams {:08b} docs {} docs/sec {} docs/day {} dictionary {} {} completions {} minutes {:.2} seconds {}", + "Indexing finished".green(), + date.format("%D"), + index_ref.shard_count().await, + index_ref.shard_vec[0].read().await.level_index.len(), + index_ref.meta.ngram_indexing, + docid.to_formatted_string(&Locale::en), + (docid as u128 * 1_000_000_000 / elapsed_time).to_formatted_string(&Locale::en), + ((docid as u128 * 1_000_000_000 / elapsed_time) * 3600 * 24) + .to_formatted_string(&Locale::en), + if let Some(symspell) = index_ref.symspell_option.as_ref() { + symspell + .read() + .await + .get_dictionary_size() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + if let Some(symspell) = index_ref.symspell_option.as_ref() { + symspell + .read() + .await + .get_candidates_size() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + if let Some(completions) = index_ref.completion_option.as_ref() { + completions + .read() + .await + .len() + .to_formatted_string(&Locale::en) + } else { + "None".to_string() + }, + elapsed_time as f64 / 1_000_000_000.0 / 60.0, + elapsed_time / 1_000_000_000 + ); + } + false => { + println!("data file not found: {}", data_path.display()); + } + } + } +} + +#[allow(async_fn_in_trait)] +/// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). +/// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. +pub trait IngestCsv { + /// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + async fn ingest_csv( + &mut self, + data_path: &PathBuf, + has_header: bool, + quoting: bool, + delimiter: u8, + skip_docs: Option, + num_docs: Option, + ); +} + +impl IngestCsv for IndexArc { + /// Ingest local data files in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values). + /// The document ingestion is streamed without loading the whole document vector into memory to allwow for unlimited file size while keeping RAM consumption low. + async fn ingest_csv( + &mut self, + data_path: &PathBuf, + has_header: bool, + quoting: bool, + delimiter: u8, + skip_docs: Option, + num_docs: Option, + ) { + match data_path.exists() { + true => { + println!("ingesting data from: {}", data_path.display()); + + let start_time = Instant::now(); + let mut docid: usize = 0; + + let index_arc_clone2 = self.clone(); + let index_ref = index_arc_clone2.read().await; + drop(index_ref); + + let index_arc_clone = self.clone(); + let index_arc_clone_clone = index_arc_clone.clone(); + + let index_ref = index_arc_clone.read().await; + let mut schema_vec: Vec = vec!["".to_string(); index_ref.schema_map.len()]; + for (key, value) in index_ref.schema_map.iter() { + schema_vec[value.field_id] = key.clone(); + } + drop(index_ref); + + let mut rdr = ReaderBuilder::new() + .has_headers(has_header) + .quoting(quoting) + .delimiter(delimiter) + .terminator(Terminator::CRLF) + .from_path(data_path) + .unwrap(); + + let skip = skip_docs.unwrap_or(0); + let max = num_docs.unwrap_or(usize::MAX); + let mut i: usize = 0; + let mut record = csv::StringRecord::new(); + while rdr.read_record(&mut record).unwrap() && docid < max { + if i < skip { + i += 1; + continue; + } + let mut document: Document = HashMap::new(); + for (i, element) in record.iter().enumerate() { + document.insert(schema_vec[i].clone(), json!(element)); + } + + index_arc_clone_clone + .index_document(document, FileType::None) + .await; + docid += 1; + } + + self.commit().await; + + let elapsed_time = start_time.elapsed().as_nanos(); + + println!( + "{}: docs {} docs/sec {} docs/day {} minutes {:.2} seconds {}", + "Indexing finished".green(), + docid.to_formatted_string(&Locale::en), + (docid as u128 * 1_000_000_000 / elapsed_time).to_formatted_string(&Locale::en), + ((docid as u128 * 1_000_000_000 / elapsed_time) * 3600 * 24) + .to_formatted_string(&Locale::en), + elapsed_time as f64 / 1_000_000_000.0 / 60.0, + elapsed_time / 1_000_000_000 + ); + } + false => { + println!("data file not found: {}", data_path.display()); + } + } + } +} diff --git a/mobile_app/rust/src/seekstorm/intersection.rs b/mobile_app/rust/src/seekstorm/intersection.rs new file mode 100644 index 0000000..671996c --- /dev/null +++ b/mobile_app/rust/src/seekstorm/intersection.rs @@ -0,0 +1,2300 @@ +use crate::{ + add_result::add_result_multiterm_multifield, + compatible::{_blsr_u64, _mm_tzcnt_64}, + index::{ + AccessType, CompressionType, NonUniquePostingListObjectQuery, PostingListObjectQuery, + SORT_FLAG, SPEEDUP_FLAG, Shard, + }, + intersection_simd::intersection_vector16, + search::{FilterSparse, ResultType, SearchResult}, + utils::{read_u16, read_u64}, +}; +use ahash::AHashSet; +use num_traits::FromPrimitive; +use std::{ + cmp, + cmp::Ordering as OtherOrdering, + sync::{ + Arc, + atomic::{AtomicUsize, Ordering}, + }, +}; + +pub(crate) fn bitpacking32_get_delta(body: &[u8], bitposition: u32, rangebits: u32) -> u16 { + let bodyspan = &body[((bitposition >> 3) as usize)..]; + let bodyspan_4: &[u8; 4] = bodyspan.try_into().unwrap(); + let source_bytes = u32::from_be_bytes(*bodyspan_4); + ((source_bytes >> (32 - rangebits - (bitposition & 7)) as i32) + & (0b1111_1111_1111_1111_1111_1111_1111_1111 >> (32 - rangebits as i32))) as u16 +} + +#[allow(clippy::too_many_arguments)] +pub(crate) fn intersection_bitmap_2( + result_count: &mut i32, + block_id: usize, + shard: &Shard, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, + filtered: bool, + block_score: f32, + all_terms_frequent: bool, +) { + for ulong_pos in 0..1024 { + let mut bits1 = read_u64( + &query_list[0].byte_array[query_list[0].compressed_doc_id_range..], + ulong_pos * 8, + ); + let mut bits2 = read_u64( + &query_list[1].byte_array[query_list[1].compressed_doc_id_range..], + ulong_pos * 8, + ); + + let mut intersect = bits1 & bits2; + + if !filtered && result_type == &ResultType::Count { + *result_count += u64::count_ones(intersect) as i32; + } else if !filtered + && search_result.topk_candidates.current_heap_size == top_k + && block_score <= search_result.topk_candidates._elements[0].score + { + if result_type != &ResultType::Topk { + *result_count += u64::count_ones(intersect) as i32; + } + } else { + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as usize; + let doc_id1 = (ulong_pos << 6) + bit_pos; + + if bit_pos > 0 { + let mask2 = u64::MAX << bit_pos; + let mask1 = !mask2; + query_list[0].p_docid += (bits1 & mask1).count_ones() as usize; + query_list[1].p_docid += (bits2 & mask1).count_ones() as usize; + bits1 &= mask2; + bits2 &= mask2; + } + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + intersect = unsafe { _blsr_u64(intersect) }; + } + query_list[0].p_docid += bits1.count_ones() as usize; + query_list[1].p_docid += bits2.count_ones() as usize; + } + } +} + +#[allow(clippy::too_many_arguments)] +#[allow(clippy::never_loop)] +pub(crate) async fn intersection_docid( + shard: &Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'_>], + query_list: &mut [PostingListObjectQuery<'_>], + not_query_list: &mut [PostingListObjectQuery<'_>], + block_id: usize, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + phrase_query: bool, + block_score: f32, +) { + let t1 = 0; + let mut t2 = 1; + + let filtered = !not_query_list.is_empty() + || phrase_query + || !field_filter_set.is_empty() + || !search_result.topk_candidates.result_sort.is_empty() + || (!search_result.query_facets.is_empty() || !facet_filter.is_empty()) + && (!search_result.skip_facet_count || !facet_filter.is_empty()); + + for plo in not_query_list.iter_mut() { + let query_list_item_mut = plo; + + let result = query_list_item_mut + .blocks + .binary_search_by(|block| block.block_id.cmp(&(block_id as u32))); + match result { + Ok(p_block) => { + query_list_item_mut.bm25_flag = true; + query_list_item_mut.p_block = p_block as i32 + } + Err(_) => { + query_list_item_mut.bm25_flag = false; + continue; + } + }; + + let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; + + query_list_item_mut.compression_type = + FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); + + query_list_item_mut.rank_position_pointer_range = + blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 + + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { + ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + query_list_item_mut.compressed_doc_id_range = + query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; + + query_list_item_mut.p_docid = 0; + query_list_item_mut.p_docid_count = blo.posting_count as usize + 1; + + query_list_item_mut.pointer_pivot_p_docid = blo.pointer_pivot_p_docid; + + query_list_item_mut.docid = 0; + + if query_list_item_mut.compression_type == CompressionType::Rle { + query_list_item_mut.p_run_count = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range, + ) as i32; + let startdocid = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 2, + ); + let runlength = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 4, + ); + query_list_item_mut.docid = startdocid as i32; + query_list_item_mut.run_end = (startdocid + runlength) as i32; + query_list_item_mut.p_run_sum = runlength as i32; + query_list_item_mut.p_run = 6; + } + } + + let mut all_terms_frequent = shard.indexed_doc_count > (top_k << 8); + for query_list_item_mut in query_list.iter_mut() { + let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; + + query_list_item_mut.p_docid = 0; + query_list_item_mut.p_docid_count = blo.posting_count as usize + 1; + + if query_list_item_mut.bm25_flag + && (query_list_item_mut.posting_count as f32) / (shard.indexed_doc_count as f32) < 0.5 + { + all_terms_frequent = false; + } + + query_list_item_mut.compression_type = + FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); + + query_list_item_mut.rank_position_pointer_range = + blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + query_list_item_mut.pointer_pivot_p_docid = blo.pointer_pivot_p_docid; + + let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 + + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { + ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + query_list_item_mut.compressed_doc_id_range = + query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; + + query_list_item_mut.docid = 0; + query_list_item_mut.p_run = 0; + query_list_item_mut.p_run_count = 0; + + query_list_item_mut.p_run_sum = + if query_list_item_mut.compression_type == CompressionType::Rle { + query_list_item_mut.p_run_count = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range, + ) as i32; + + read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 4, + ) + .into() + } else { + 0 + }; + } + + if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && (result_type == &ResultType::Topk) + && (search_result.topk_candidates.current_heap_size == top_k) + && (block_score <= search_result.topk_candidates._elements[0].score) + { + return; + } + + query_list.sort_unstable_by(|x, y| { + if (x.compression_type == CompressionType::Bitmap) + != (y.compression_type == CompressionType::Bitmap) + { + if x.compression_type == CompressionType::Bitmap { + OtherOrdering::Greater + } else { + OtherOrdering::Less + } + } else { + x.blocks[x.p_block as usize] + .posting_count + .partial_cmp(&y.blocks[y.p_block as usize].posting_count) + .unwrap() + } + }); + + 'restart: loop { + match ( + &query_list[t1].compression_type, + &query_list[t2].compression_type, + ) { + (CompressionType::Array, CompressionType::Array) => 'exit: loop { + let mut doc_id1: u16 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + let mut doc_id2: u16 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + + if query_list.len() == 2 + && cfg!(any(target_arch = "x86_64", target_arch = "aarch64")) + { + intersection_vector16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[0].p_docid_count, + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + query_list[1].p_docid_count, + result_count, + block_id, + shard, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + all_terms_frequent, + ); + + break 'exit; + } + + loop { + match doc_id1.cmp(&doc_id2) { + cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Array { + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + continue 'restart; + } else { + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + doc_id1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + } + cmp::Ordering::Greater => { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].p_docid_count { + break; + } + + let mut bound = 2; + while (query_list[t2].p_docid + bound < query_list[t2].p_docid_count) + && (read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (query_list[t2].p_docid + bound) * 2, + ) < doc_id1) + { + query_list[t2].p_docid += bound; + bound <<= 1; + } + + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } + cmp::Ordering::Equal => { + if t2 + 1 < query_list.len() { + t2 += 1; + if query_list[t2].compression_type != CompressionType::Array { + continue 'restart; + } else { + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + continue; + } + } + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break 'exit; + } + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 == item.run_end as u16) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Array { + continue 'restart; + } + doc_id1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } + } + } + + break; + }, + + (CompressionType::Array, CompressionType::Delta) => 'exit: loop { + let mut doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + let mut doc_id2: u16 = query_list[t2].docid as u16; + + loop { + match doc_id1.cmp(&doc_id2) { + cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Delta { + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + continue 'restart; + } else { + doc_id2 = query_list[t2].docid as u16; + } + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + doc_id1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + } + cmp::Ordering::Greater => { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].p_docid_count { + break; + } + + query_list[t2].bitposition += query_list[t2].rangebits as u32; + doc_id2 = query_list[t2].docid as u16 + + bitpacking32_get_delta( + query_list[t2].byte_array, + query_list[t2].bitposition, + query_list[t2].rangebits as u32, + ) + + 1; + query_list[t2].docid = doc_id2 as i32; + } + cmp::Ordering::Equal => { + if t2 + 1 < query_list.len() { + t2 += 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } else { + doc_id2 = query_list[t2].docid as u16; + continue; + } + } + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut() { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 == item.run_end as u16) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } + doc_id1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + doc_id2 = query_list[t2].docid as u16; + } + } + } + + break; + }, + (CompressionType::Bitmap, CompressionType::Bitmap) => 'exit: loop { + if query_list.len() == 2 && SPEEDUP_FLAG { + intersection_bitmap_2( + result_count, + block_id, + shard, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + filtered, + block_score, + all_terms_frequent, + ); + break 'exit; + } + + let mut intersect_mask: u64 = u64::MAX << (query_list[t1].docid & 63); + + for ulong_pos in (query_list[t1].docid as usize >> 6)..1024 { + let ulong_1 = read_u64( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + ulong_pos * 8, + ); + let ulong_2 = read_u64( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + ulong_pos * 8, + ); + let mut intersect: u64 = ulong_1 & ulong_2 & intersect_mask; + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as usize; + let doc_id1 = (ulong_pos << 6) + bit_pos; + + if t2 + 1 < query_list.len() { + for i in (query_list[t2].p_run as usize)..ulong_pos { + query_list[t2].p_run_sum += read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + i * 8, + ) + .count_ones() + as i32 + } + query_list[t2].p_docid = if bit_pos == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos * 8, + ) << (64 - bit_pos)) + .count_ones() as usize + }; + + query_list[t2].p_run = ulong_pos as i32; + + t2 += 1; + + intersect &= read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos * 8, + ); + + if ((1u64 << bit_pos) & intersect) == 0 { + t2 = 1; + } + + query_list[t1].docid = doc_id1 as i32; + + continue; + } + + intersect = unsafe { _blsr_u64(intersect) }; + + if SPEEDUP_FLAG + && !filtered + && (result_type == &ResultType::Count + || ((search_result.topk_candidates.current_heap_size == top_k) + && (block_score + <= search_result.topk_candidates._elements[0].score))) + { + if result_type != &ResultType::Topk { + *result_count += 1; + } + } else { + for i in (query_list[t1].p_run as usize)..ulong_pos { + query_list[t1].p_run_sum += read_u64( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + i * 8, + ) + .count_ones() + as i32 + } + query_list[t1].p_docid = if bit_pos == 0 { + query_list[t1].p_run_sum as usize + } else { + query_list[t1].p_run_sum as usize + + (read_u64( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + ulong_pos * 8, + ) << (64 - bit_pos)) + .count_ones() as usize + }; + query_list[t1].p_run = ulong_pos as i32; + + for i in (query_list[t2].p_run as usize)..ulong_pos { + query_list[t2].p_run_sum += read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + i * 8, + ) + .count_ones() + as i32 + } + query_list[t2].p_docid = if bit_pos == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos * 8, + ) << (64 - bit_pos)) + .count_ones() as usize + }; + query_list[t2].p_run = ulong_pos as i32; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 == item.run_end as usize) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + } + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Bitmap { + query_list[t1].docid = doc_id1 as i32 + 1; + continue 'restart; + } + } + + intersect_mask = u64::MAX; + } + + break; + }, + + (CompressionType::Array, CompressionType::Bitmap) => 'exit: loop { + if query_list.len() == 2 { + let block_id_bits = block_id << 16; + let mut p_docid = query_list[0].p_docid; + let compressed_doc_id_range = query_list[1].compressed_doc_id_range; + let p_docid_count = query_list[0].p_docid_count; + loop { + let doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + p_docid * 2, + ); + if (query_list[1].byte_array + [compressed_doc_id_range + (doc_id1 >> 3) as usize] + & (1u32 << (doc_id1 & 7)) as u8) + > 0 + { + query_list[0].p_docid = p_docid; + + let byte_pos = (doc_id1 >> 6) << 3; + let bit_pos = doc_id1 & 63; + for i in (((query_list[t2].p_run << 3) as usize)..byte_pos as usize) + .step_by(8) + { + query_list[t2].p_run_sum += read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + i, + ) + .count_ones() + as i32; + } + + query_list[t2].p_docid = if bit_pos == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + byte_pos as usize, + ) << (64 - bit_pos)) + .count_ones() as usize + }; + + query_list[t2].p_run = (doc_id1 >> 6) as i32; + add_result_multiterm_multifield( + shard, + block_id_bits | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + } + + p_docid += 1; + if p_docid == p_docid_count { + break 'exit; + } + } + } + + loop { + let doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + + if (query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range + (doc_id1 >> 3) as usize] + & (1u32 << (doc_id1 & 7)) as u8) + > 0 + { + let byte_pos2 = (doc_id1 >> 6) << 3; + let bit_pos2 = doc_id1 & 63; + + if t2 + 1 < query_list.len() { + for i in (((query_list[t2].p_run << 3) as usize)..byte_pos2 as usize) + .step_by(8) + { + query_list[t2].p_run_sum += read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + i, + ) + .count_ones() + as i32; + } + query_list[t2].p_docid = if bit_pos2 == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + byte_pos2 as usize, + ) << (64 - bit_pos2)) + .count_ones() as usize + }; + query_list[t2].p_run = (doc_id1 >> 6) as i32; + + t2 += 1; + continue; + } + + for i in + (((query_list[t2].p_run << 3) as usize)..byte_pos2 as usize).step_by(8) + { + query_list[t2].p_run_sum += (read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + i, + )) + .count_ones() + as i32; + } + query_list[t2].p_docid = if bit_pos2 == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + query_list[t2].byte_array, + query_list[t2].compressed_doc_id_range + byte_pos2 as usize, + ) << (64 - bit_pos2)) + .count_ones() as usize + }; + query_list[t2].p_run = (doc_id1 >> 6) as i32; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 as i32 == item.run_end) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, + ) as i32; + } + } + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break 'exit; + } + t2 = 1; + if query_list[t2].compression_type != CompressionType::Bitmap { + continue 'restart; + } + } + }, + + (CompressionType::Array, CompressionType::Rle) => 'exit: loop { + query_list[t2].p_run_count = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + 0, + ) as i32; + let mut doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + let mut run_start2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + let mut run_length2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + let mut run_end2 = run_start2 + run_length2; + query_list[t2].run_end = run_end2 as i32; + + loop { + if doc_id1 > run_end2 { + query_list[t2].p_run += 1; + if query_list[t2].p_run == query_list[t2].p_run_count { + break; + } + + if false { + let mut bound: i32 = 2; + while (query_list[t2].p_run + bound < query_list[t2].p_run_count) + && (read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + ((query_list[t2].p_run + bound) << 1) as usize) * 2, + ) + read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + ((query_list[t2].p_run + bound) << 1) as usize) * 2, + ) < doc_id1) + { + query_list[t2].p_run += bound; + bound <<= 1; + } + } + + run_start2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + run_length2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + run_end2 = run_start2 + run_length2; + query_list[t2].p_run_sum += run_length2 as i32; + query_list[t2].run_end = run_end2 as i32; + } else if doc_id1 < run_start2 { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Rle { + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + continue 'restart; + } else { + run_start2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + run_end2 = query_list[t2].run_end as u16; + } + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + } else { + if t2 + 1 < query_list.len() { + run_length2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + query_list[t2].p_docid = query_list[t2].p_run_sum as usize + - run_length2 as usize + + doc_id1 as usize + - run_start2 as usize + + query_list[t2].p_run as usize; + + t2 += 1; + if query_list[t2].compression_type != CompressionType::Rle { + continue 'restart; + } else { + query_list[t2].p_run_count = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + 0, + ) + as i32; + run_start2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + run_length2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + run_end2 = run_start2 + run_length2; + query_list[t2].run_end = run_end2 as i32; + + continue; + } + } + + query_list[t2].p_docid = query_list[t2].p_run_sum as usize + - run_length2 as usize + + doc_id1 as usize + - run_start2 as usize + + query_list[t2].p_run as usize; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break 'exit; + } + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 as i32 == item.run_end) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Rle { + continue 'restart; + } + + doc_id1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + query_list[t1].p_docid * 2, + ); + + run_start2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + run_length2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + run_end2 = run_start2 + run_length2; + query_list[t2].run_end = run_end2 as i32; + } + } + + break; + }, + + (CompressionType::Delta, CompressionType::Delta) => 'exit: loop { + let mut doc_id1: u16 = query_list[t1].docid as u16; + let mut doc_id2: u16 = query_list[t2].docid as u16; + + loop { + match doc_id1.cmp(&doc_id2) { + cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Delta { + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + continue 'restart; + } else { + doc_id2 = query_list[t2].docid as u16; + } + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].p_docid_count { + break; + } + + query_list[t1].bitposition += query_list[t1].rangebits as u32; + doc_id1 = query_list[t1].docid as u16 + + bitpacking32_get_delta( + query_list[t1].byte_array, + query_list[t1].bitposition, + query_list[t1].rangebits as u32, + ) + + 1; + query_list[t1].docid = doc_id1 as i32; + } + cmp::Ordering::Greater => { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].p_docid_count { + break; + } + + query_list[t2].bitposition += query_list[t2].rangebits as u32; + doc_id2 = query_list[t2].docid as u16 + + bitpacking32_get_delta( + query_list[t2].byte_array, + query_list[t2].bitposition, + query_list[t2].rangebits as u32, + ) + + 1; + query_list[t2].docid = doc_id2 as i32; + } + cmp::Ordering::Equal => { + if t2 + 1 < query_list.len() { + t2 += 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } else { + doc_id2 = query_list[t2].docid as u16; + continue; + } + } + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id1 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut() { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id1 == item.run_end as u16) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } + doc_id1 = query_list[t1].docid as u16; + doc_id2 = query_list[t2].docid as u16; + } + } + } + + break; + }, + + (CompressionType::Bitmap, CompressionType::Delta) => 'exit: loop { + loop { + let doc_id2 = query_list[t2].docid as u16; + let byte_pos = doc_id2 >> 3; + let bit_pos = doc_id2 & 7; + + if (query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range + byte_pos as usize] + & (1u32 << bit_pos) as u8) + > 0 + { + if t2 + 1 < query_list.len() { + t2 += 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } else { + continue; + } + } + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id2 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id2 == item.run_end as u16) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Delta { + continue 'restart; + } + } else { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].p_docid_count { + break 'exit; + } + } + } + }, + + (CompressionType::Rle, CompressionType::Rle) => 'exit: loop { + query_list[t1].p_run_count = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + 0, + ) as i32; + let mut runstart1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + let mut runlength1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + + let mut runend1 = runstart1 + runlength1; + query_list[t1].run_end = runend1 as i32; + + query_list[t2].p_run_count = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + 0, + ) as i32; + let mut runstart2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + let mut runlength2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + let mut runend2 = runstart2 + runlength2; + query_list[t2].run_end = runend2 as i32; + + 'start: loop { + if query_list[t1].docid < runstart2 as i32 && t2 > 1 { + query_list[t1].docid = runstart2 as i32; + + t2 = 1; + + continue 'restart; + } + + if runstart1 > runend2 { + query_list[t2].p_run += 1; + if query_list[t2].p_run == query_list[t2].p_run_count { + break 'exit; + } + + runstart2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + runlength2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + runend2 = runstart2 + runlength2; + + query_list[t2].p_run_sum += runlength2 as i32; + query_list[t2].run_end = runend2 as i32; + } else if runend1 < runstart2 { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Rle { + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + + query_list[t1].p_run_sum += read_u16( + query_list[t1].byte_array, + query_list[t1].compressed_doc_id_range + + 4 + + (query_list[t1].p_run << 2) as usize, + ) + as i32; + + continue 'restart; + } else { + runstart2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + runlength2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + runend2 = query_list[t2].run_end as u16; + } + } + + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + runstart1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + runlength1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + runend1 = runstart1 + runlength1; + + query_list[t1].p_run_sum += runlength1 as i32; + query_list[t1].run_end = runend1 as i32; + } else { + for doc_id in cmp::max( + query_list[t1].docid, + cmp::max(runstart1 as i32, runstart2 as i32), + ) + ..=(cmp::min(runend1 as i32, runend2 as i32)) + { + if t2 + 1 < query_list.len() { + query_list[t2].p_docid = query_list[t2].p_run_sum as usize + - runlength2 as usize + + doc_id as usize + - read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ) as usize + + query_list[t2].p_run as usize; + + t2 += 1; + if query_list[t2].compression_type != CompressionType::Rle { + query_list[t1].docid = doc_id; + + continue 'restart; + } else { + query_list[t2].p_run_count = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + 0, + ) + as i32; + runstart2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + runlength2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + + runend2 = runstart2 + runlength2; + query_list[t2].run_end = runend2 as i32; + + query_list[t1].docid = doc_id; + + continue 'start; + } + } + + query_list[t1].p_docid = query_list[t1].p_run_sum as usize + - runlength1 as usize + + doc_id as usize + - read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ) as usize + + query_list[t1].p_run as usize; + + query_list[t2].p_docid = query_list[t2].p_run_sum as usize + - runlength2 as usize + + doc_id as usize + - read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ) as usize + + query_list[t2].p_run as usize; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + query_list[t1].docid = doc_id + 1; + + let mut flag = false; + for item in query_list.iter_mut() { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id >= item.run_end) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + + flag = true; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Rle { + continue 'restart; + } else if flag || (query_list.len() > 2) { + continue 'exit; + } + } + + if query_list[t1].docid > query_list[t1].run_end { + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + runstart1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + runlength1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + runend1 = runstart1 + runlength1; + query_list[t1].p_run_sum += runlength1 as i32; + query_list[t1].run_end = runend1 as i32; + } + + if query_list[t1].docid > query_list[t2].run_end { + query_list[t2].p_run += 1; + if query_list[t2].p_run == query_list[t2].p_run_count { + break 'exit; + } + runstart2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (1 + query_list[t2].p_run * 2) as usize * 2, + ); + runlength2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (2 + query_list[t2].p_run * 2) as usize * 2, + ); + runend2 = runstart2 + runlength2; + query_list[t2].p_run_sum += runlength2 as i32; + query_list[t2].run_end = runend2 as i32; + } + } + } + + #[allow(unreachable_code)] + break; + }, + + (CompressionType::Rle, CompressionType::Bitmap) => 'exit: loop { + query_list[t1].p_run_count = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + 0, + ) as i32; + + loop { + let mut runstart1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (1 + (query_list[t1].p_run * 2) as usize) * 2, + ); + let runlength1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + (query_list[t1].p_run * 2) as usize) * 2, + ); + + let runend1 = runstart1 + runlength1; + query_list[t1].run_end = runend1 as i32; + + runstart1 = cmp::max(runstart1, query_list[t1].docid as u16); + + let mut intersect_mask: u64 = if (query_list[t1].docid as u16) < runstart1 { + u64::MAX + } else { + u64::MAX << (query_list[t1].docid & 63) + }; + + let byte_pos_start = runstart1 >> 6; + let byte_pos_end = runend1 >> 6; + + for ulong_pos in byte_pos_start..=byte_pos_end { + let mut intersect: u64 = read_u64( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + ulong_pos as usize * 8, + ) & intersect_mask; + + if ulong_pos == byte_pos_start { + intersect &= u64::MAX << (runstart1 & 63); + } + if ulong_pos == byte_pos_end { + intersect &= u64::MAX >> (63 - (runend1 & 63)); + } + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) }; + let doc_id = ((ulong_pos as u32) << 6) + bit_pos as u32; + + query_list[t1].docid = doc_id as i32; + + if t2 + 1 < query_list.len() { + for i in (query_list[t2].p_run as usize)..ulong_pos as usize { + query_list[t2].p_run_sum += read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + i * 8, + ) + .count_ones() + as i32 + } + query_list[t2].p_docid = if bit_pos == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos as usize * 8, + ) << (64 - bit_pos)) + .count_ones() + as usize + }; + query_list[t2].p_run = ulong_pos as i32; + + t2 += 1; + intersect &= read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + continue; + } + + intersect = unsafe { _blsr_u64(intersect) }; + + query_list[t1].p_docid = query_list[t1].p_run_sum as usize + - runlength1 as usize + + doc_id as usize + - read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (1 + (query_list[t1].p_run * 2)) as usize * 2, + ) as usize + + query_list[t1].p_run as usize; + + for i in (query_list[t2].p_run as usize)..ulong_pos as usize { + query_list[t2].p_run_sum += read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + i * 8, + ) + .count_ones() + as i32 + } + query_list[t2].p_docid = if bit_pos == 0 { + query_list[t2].p_run_sum as usize + } else { + query_list[t2].p_run_sum as usize + + (read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos as usize * 8, + ) << (64 - bit_pos)) + .count_ones() as usize + }; + + query_list[t2].p_run = ulong_pos as i32; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + }; + } else if (item.compression_type == CompressionType::Rle) + && (doc_id == item.run_end as u32) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + }; + + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + + 4 + + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Bitmap { + if doc_id == query_list[t1].run_end as u32 { + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + query_list[t1].p_run_sum += read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (2 + (query_list[t1].p_run * 2)) as usize * 2, + ) + as i32; + } + if doc_id == 65_535 { + break 'exit; + } + query_list[t1].docid = doc_id as i32 + 1; + continue 'restart; + } + intersect &= read_u64( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + intersect_mask = u64::MAX; + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Bitmap { + if query_list[t1].docid == 65_535 { + break 'exit; + } + + query_list[t1].docid = cmp::max( + query_list[t1].docid + 1, + cmp::min(((ulong_pos + 1) << 6) as i32, runend1 as i32 + 1), + ); + + continue 'restart; + } + } + + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + query_list[t1].p_run_sum += read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + (query_list[t1].p_run * 2)) as usize * 2, + ) as i32; + } + }, + + (CompressionType::Rle, CompressionType::Array) => 'exit: loop { + query_list[t1].p_run_count = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + 0, + ) as i32; + let mut runstart1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + let mut runlength1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + + let mut runend1 = runstart1 + runlength1; + query_list[t1].run_end = runend1 as i32; + + runstart1 = cmp::max(runstart1, query_list[t1].docid as u16); + + let mut doc_id2: u16 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + + loop { + if doc_id2 > runend1 { + if t2 > 1 { + t2 = 1; + if query_list[t2].compression_type != CompressionType::Array { + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break; + } + query_list[t1].p_run_sum += read_u16( + query_list[t1].byte_array, + query_list[t1].compressed_doc_id_range + + 4 + + (query_list[t1].p_run << 2) as usize, + ) + as i32; + + continue 'restart; + } else { + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } + } + + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break; + } + + runstart1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + runlength1 = read_u16( + &query_list[t1].byte_array[query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + runend1 = runstart1 + runlength1; + query_list[t1].p_run_sum += runlength1 as i32; + query_list[t1].run_end = runend1 as i32; + } else if doc_id2 < runstart1 { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].p_docid_count { + break; + } + + if true { + let mut bound = 2; + while (query_list[t2].p_docid + bound < query_list[t2].p_docid_count) + && (read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + (query_list[t2].p_docid + bound) * 2, + ) < runstart1) + { + query_list[t2].p_docid += bound; + bound <<= 1; + } + } + doc_id2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } else { + if t2 + 1 < query_list.len() { + t2 += 1; + if query_list[t2].compression_type != CompressionType::Array { + query_list[t1].docid = doc_id2 as i32; + continue 'restart; + } else { + doc_id2 = read_u16( + &query_list[t2].byte_array + [query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + continue; + } + } + + query_list[t1].p_docid = query_list[t1].p_run_sum as usize + - runlength1 as usize + + doc_id2 as usize + - runstart1 as usize + + query_list[t1].p_run as usize; + + add_result_multiterm_multifield( + shard, + (block_id << 16) | doc_id2 as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + block_score, + all_terms_frequent, + ); + + for item in query_list.iter_mut().skip(1) { + if item.compression_type == CompressionType::Array { + item.p_docid += 1; + if item.p_docid == item.p_docid_count { + break 'exit; + } + } else if (item.compression_type == CompressionType::Rle) + && (doc_id2 == item.run_end as u16) + { + item.p_run += 1; + if item.p_run == item.p_run_count { + break 'exit; + } + item.p_run_sum += read_u16( + item.byte_array, + item.compressed_doc_id_range + 4 + (item.p_run << 2) as usize, + ) as i32; + } + } + + t2 = 1; + if query_list[t2].compression_type != CompressionType::Array { + query_list[t1].docid = doc_id2 as i32 + 1; + + continue 'restart; + } + + if doc_id2 == query_list[t1].run_end as u16 { + query_list[t1].p_run += 1; + if query_list[t1].p_run == query_list[t1].p_run_count { + break 'exit; + } + runstart1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (1 + query_list[t1].p_run * 2) as usize * 2, + ); + runlength1 = read_u16( + &query_list[t1].byte_array + [query_list[t1].compressed_doc_id_range..], + (2 + query_list[t1].p_run * 2) as usize * 2, + ); + runend1 = runstart1 + runlength1; + query_list[t1].p_run_sum += runlength1 as i32; + query_list[t1].run_end = runend1 as i32; + } + doc_id2 = read_u16( + &query_list[t2].byte_array[query_list[t2].compressed_doc_id_range..], + query_list[t2].p_docid * 2, + ); + } + } + + break; + }, + + _ => { + println!( + "invalid compression combination: block: {} t1: {} {} {} {:?} t2: {} {} {} {:?} {} ", + block_id, + t1, + query_list[t1].term, + query_list[t1].blocks[query_list[t1].p_block as usize].posting_count, + query_list[t1].compression_type, + t2, + query_list[t2].term, + query_list[t2].blocks[query_list[t2].p_block as usize].posting_count, + query_list[t2].compression_type, + query_list.len() + ); + } + } + + break; + } +} + +pub(crate) struct BlockObject { + pub block_id: usize, + pub block_score: f32, + pub p_block_vec: Vec, +} + +/// Intersection between blocks of 64k docids of a posting list +#[allow(clippy::too_many_arguments)] +pub(crate) async fn intersection_blockid<'a>( + shard: &'a Shard, + non_unique_query_list: &mut Vec>, + query_list: &mut Vec>, + not_query_list: &mut [PostingListObjectQuery<'a>], + result_count_arc: &Arc, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + matching_blocks: &mut i32, + phrase_query: bool, + query_term_count: usize, +) { + let item_0 = &query_list[0]; + let enable_inter_query_threading_multi = + if !shard.enable_search_quality_test && shard.enable_inter_query_threading_auto { + item_0.posting_count / item_0.p_block_max as u32 > 10 + } else { + shard.enable_inter_query_threading + }; + + let mut task_list = Vec::new(); + + let t1: i32 = 0; + let mut t2: i32 = 1; + + let item_1 = &query_list[t1 as usize]; + let item_2 = &query_list[t2 as usize]; + let mut block_id1 = item_1.blocks[item_1.p_block as usize].block_id; + let mut block_id2 = item_2.blocks[item_2.p_block as usize].block_id; + + let mut block_vec: Vec = Vec::new(); + + 'exit: loop { + match block_id1.cmp(&block_id2) { + cmp::Ordering::Less => { + let item_1 = &mut query_list[t1 as usize]; + item_1.p_block += 1; + if item_1.p_block == item_1.p_block_max { + break; + } + block_id1 = item_1.blocks[item_1.p_block as usize].block_id; + + t2 = 1; + let item_2 = &query_list[t2 as usize]; + block_id2 = item_2.blocks[item_2.p_block as usize].block_id; + } + cmp::Ordering::Greater => { + let item_2 = &mut query_list[t2 as usize]; + item_2.p_block += 1; + if item_2.p_block == item_2.p_block_max { + break; + } + block_id2 = item_2.blocks[item_2.p_block as usize].block_id; + } + cmp::Ordering::Equal => { + if t2 + 1 < query_list.len() as i32 { + t2 += 1; + let item_2 = &query_list[t2 as usize]; + block_id2 = item_2.blocks[item_2.p_block as usize].block_id; + + continue; + } + + if !enable_inter_query_threading_multi { + let mut block_score = 0.0; + if SPEEDUP_FLAG && result_type != &ResultType::Count { + for query_list_item_mut in query_list.iter_mut() { + block_score += query_list_item_mut.blocks + [query_list_item_mut.p_block as usize] + .max_block_score; + } + } + + if SPEEDUP_FLAG && SORT_FLAG && result_type != &ResultType::Count { + let mut p_block_vec: Vec = vec![0; query_term_count]; + for i in 0..query_list.len() { + p_block_vec[query_list[i].term_index_unique] = query_list[i].p_block + } + let block_object = BlockObject { + block_id: block_id1 as usize, + block_score, + p_block_vec, + }; + block_vec.push(block_object); + } else if !SPEEDUP_FLAG + || result_type == &ResultType::Count + || search_result.topk_candidates.current_heap_size < top_k + || block_score > search_result.topk_candidates._elements[0].score + { + if shard.meta.access_type == AccessType::Mmap { + for query_list_item_mut in query_list.iter_mut() { + let segment = + &shard.segments_index[query_list_item_mut.key0 as usize]; + query_list_item_mut.byte_array = &shard.index_file_mmap[segment + .byte_array_blocks_pointer + [block_id1 as usize] + .0 + ..segment.byte_array_blocks_pointer[block_id1 as usize].0 + + segment.byte_array_blocks_pointer[block_id1 as usize].1]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + let segment = &shard.segments_index + [nonunique_query_list_item_mut.key0 as usize]; + nonunique_query_list_item_mut.byte_array = &shard.index_file_mmap + [segment.byte_array_blocks_pointer[block_id1 as usize].0 + ..segment.byte_array_blocks_pointer[block_id1 as usize].0 + + segment.byte_array_blocks_pointer + [block_id1 as usize] + .1]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + let segment = + &shard.segments_index[not_query_list_item_mut.key0 as usize]; + not_query_list_item_mut.byte_array = &shard.index_file_mmap[segment + .byte_array_blocks_pointer + [block_id1 as usize] + .0 + ..segment.byte_array_blocks_pointer[block_id1 as usize].0 + + segment.byte_array_blocks_pointer[block_id1 as usize].1]; + } + } else { + for query_list_item_mut in query_list.iter_mut() { + query_list_item_mut.byte_array = &shard.segments_index + [query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id1 as usize]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + nonunique_query_list_item_mut.byte_array = &shard.segments_index + [nonunique_query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id1 as usize]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + not_query_list_item_mut.byte_array = &shard.segments_index + [not_query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id1 as usize]; + } + } + + let mut result_count_local = 0; + intersection_docid( + shard, + non_unique_query_list, + query_list, + not_query_list, + block_id1 as usize, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + phrase_query, + block_score, + ) + .await; + + result_count_arc.fetch_add(result_count_local as usize, Ordering::Relaxed); + } + } else { + let mut query_list_copy: Vec = Vec::new(); + let mut non_unique_query_list_copy: Vec = + Vec::new(); + + for x in &mut *query_list { + query_list_copy.push(x.clone()); + } + + for x in &mut *non_unique_query_list { + let y = x.clone(); + non_unique_query_list_copy.push(y); + } + + let result_count_clone = result_count_arc.clone(); + task_list.push(tokio::spawn(async move { + let result_count_local = 1; + result_count_clone.fetch_add(result_count_local, Ordering::Relaxed); + })); + } + + *matching_blocks += 1; + + t2 = 1; + + for item in query_list.iter_mut() { + item.p_block += 1; + if item.p_block == item.p_block_max { + break 'exit; + } + } + + let item_1 = &query_list[t1 as usize]; + let item_2 = &query_list[t2 as usize]; + block_id1 = item_1.blocks[item_1.p_block as usize].block_id; + block_id2 = item_2.blocks[item_2.p_block as usize].block_id; + } + } + } + + if SORT_FLAG && SPEEDUP_FLAG && (result_type != &ResultType::Count) { + block_vec.sort_unstable_by(|x, y| y.block_score.partial_cmp(&x.block_score).unwrap()); + for block in block_vec { + if (result_type == &ResultType::Topk) + && search_result.topk_candidates.result_sort.is_empty() + && (search_result.topk_candidates.current_heap_size == top_k) + && (block.block_score <= search_result.topk_candidates._elements[0].score) + { + break; + } + + for item in query_list.iter_mut() { + item.p_block = block.p_block_vec[item.term_index_unique]; + } + + if shard.meta.access_type == AccessType::Mmap { + for query_list_item_mut in query_list.iter_mut() { + let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; + query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block.block_id].0 + ..segment.byte_array_blocks_pointer[block.block_id].0 + + segment.byte_array_blocks_pointer[block.block_id].1]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + let segment = + &shard.segments_index[nonunique_query_list_item_mut.key0 as usize]; + nonunique_query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block.block_id].0 + ..segment.byte_array_blocks_pointer[block.block_id].0 + + segment.byte_array_blocks_pointer[block.block_id].1]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + let segment = &shard.segments_index[not_query_list_item_mut.key0 as usize]; + not_query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block.block_id].0 + ..segment.byte_array_blocks_pointer[block.block_id].0 + + segment.byte_array_blocks_pointer[block.block_id].1]; + } + } else { + for query_list_item_mut in query_list.iter_mut() { + query_list_item_mut.byte_array = &shard.segments_index + [query_list_item_mut.key0 as usize] + .byte_array_blocks[block.block_id]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + nonunique_query_list_item_mut.byte_array = &shard.segments_index + [nonunique_query_list_item_mut.key0 as usize] + .byte_array_blocks[block.block_id]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + not_query_list_item_mut.byte_array = &shard.segments_index + [not_query_list_item_mut.key0 as usize] + .byte_array_blocks[block.block_id]; + } + } + + let mut result_count_local = 0; + intersection_docid( + shard, + non_unique_query_list, + query_list, + not_query_list, + block.block_id, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + phrase_query, + block.block_score, + ) + .await; + + result_count_arc.fetch_add(result_count_local as usize, Ordering::Relaxed); + } + } +} diff --git a/mobile_app/rust/src/seekstorm/intersection_simd.rs b/mobile_app/rust/src/seekstorm/intersection_simd.rs new file mode 100644 index 0000000..6fd0489 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/intersection_simd.rs @@ -0,0 +1,178 @@ +#[cfg(target_arch = "aarch64")] +use std::{ + arch::aarch64::{uint16x8_t, vceqq_u16, vld1q_dup_u16, vld1q_u16, vst1q_u16}, + mem::{self}, +}; + +use crate::index::Shard; +use crate::{ + add_result::add_result_multiterm_multifield, + index::{NonUniquePostingListObjectQuery, PostingListObjectQuery}, + search::{FilterSparse, ResultType, SearchResult}, + utils::read_u16, +}; +use ahash::AHashSet; + + + +#[cfg(target_arch = "aarch64")] +pub(crate) fn intersection_vector16( + a: &[u8], + s_a: usize, + b: &[u8], + s_b: usize, + result_count: &mut i32, + block_id: usize, + index: &Shard, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, + all_terms_frequent: bool, +) { + unsafe { + let mut i_a = 0; + let mut i_b = 0; + let vectorlength = mem::size_of::() / mem::size_of::(); + let st_b = (s_b / vectorlength) * vectorlength; + while i_a < s_a && i_b < st_b { + if read_u16(&a[..], i_a * 2) < read_u16(&b[..], i_b * 2) { + i_a += 1; + continue; + } else if read_u16(&a[..], i_a * 2) > read_u16(&b[..], (i_b + vectorlength - 1) * 2) { + i_b += vectorlength; + continue; + } + + let v_a = vld1q_dup_u16(a[(i_a * 2)..].as_ptr() as *const _); + let v_b = vld1q_u16(b[(i_b * 2)..].as_ptr() as *const _); + let res_v = vceqq_u16(v_a, v_b); + let mut res = [0u16; 8]; + vst1q_u16(res.as_mut_ptr(), res_v); + for i in 0..res.len() { + if res[i] == 0 { + continue; + } + query_list[0].p_docid = i_a; + query_list[1].p_docid = i_b + i; + add_result_multiterm_multifield( + index, + (block_id << 16) | read_u16(&a[..], i_a * 2) as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + f32::MAX, + all_terms_frequent, + ); + break; + } + i_a += 1; + } + while i_a < s_a && i_b < s_b { + let a = read_u16(&a[..], i_a * 2); + let b = read_u16(&b[..], i_b * 2); + match a.cmp(&b) { + std::cmp::Ordering::Less => { + i_a += 1; + } + std::cmp::Ordering::Greater => { + i_b += 1; + } + std::cmp::Ordering::Equal => { + query_list[0].p_docid = i_a; + query_list[1].p_docid = i_b; + add_result_multiterm_multifield( + index, + (block_id << 16) | a as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + f32::MAX, + all_terms_frequent, + ); + + i_a += 1; + i_b += 1; + } + } + } + } +} + +#[cfg(not(any(target_arch = "x86_64", target_arch = "aarch64")))] +pub(crate) fn intersection_vector16( + a: &[u8], + s_a: usize, + b: &[u8], + s_b: usize, + result_count: &mut i32, + block_id: usize, + index: &Shard, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, + all_terms_frequent: bool, +) { + let mut i_a = 0; + let mut i_b = 0; + while i_a < s_a && i_b < s_b { + let a = read_u16(&a[..], i_a * 2); + let b = read_u16(&b[..], i_b * 2); + match a.cmp(&b) { + std::cmp::Ordering::Less => { + i_a += 1; + } + std::cmp::Ordering::Greater => { + i_b += 1; + } + std::cmp::Ordering::Equal => { + query_list[0].p_docid = i_a; + query_list[1].p_docid = i_b; + add_result_multiterm_multifield( + index, + (block_id << 16) | a as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + f32::MAX, + all_terms_frequent, + ); + + i_a += 1; + i_b += 1; + } + } + } +} diff --git a/mobile_app/rust/src/seekstorm/lib.rs b/mobile_app/rust/src/seekstorm/lib.rs new file mode 100644 index 0000000..2538c60 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/lib.rs @@ -0,0 +1,517 @@ +#![crate_type = "lib"] +#![crate_name = "seekstorm"] +#![doc(html_logo_url = "http://seekstorm.com/assets/logo.svg")] +#![doc(html_favicon_url = "http://seekstorm.com/favicon.ico")] + +//! # `seekstorm` +//! SeekStorm is an open-source, sub-millisecond full-text search library & multi-tenancy server written in Rust. +//! The **SeekStorm library** can be embedded into your program, while the **SeekStorm server** is a standalone search server to be accessed via HTTP. +//! ### Add required crates to your project +//! ```text +//! cargo add seekstorm +//! cargo add tokio +//! cargo add serde_json +//! ``` +//! ### use an asynchronous Rust runtime +//! ```no_run +//! use std::error::Error; +//! #[tokio::main] +//! async fn main() -> Result<(), Box> { +//! +//! // your SeekStorm code here +//! +//! Ok(()) +//! } +//! ``` +//! ### create index +//! ```no_run +//! # tokio_test::block_on(async { +//! use std::path::PathBuf; +//! use std::sync::{Arc, RwLock}; +//! use seekstorm::index::{IndexMetaObject, SimilarityType,TokenizerType,StopwordType,FrequentwordType,AccessType,StemmerType,NgramSet,create_index}; +//! +//! let index_path=PathBuf::new("C:/index/"); +//! let schema_json = r#" +//! [{"field":"title","field_type":"Text","stored":false,"indexed":false}, +//! {"field":"body","field_type":"Text","stored":true,"indexed":true}, +//! {"field":"url","field_type":"Text","stored":false,"indexed":false}]"#; +//! let schema=serde_json::from_str(schema_json).unwrap(); +//! let meta = IndexMetaObject { +//! id: 0, +//! name: "test_index".into(), +//! similarity:SimilarityType::Bm25f, +//! tokenizer:TokenizerType::AsciiAlphabetic, +//! stemmer:StemmerType::None, +//! stop_words: StopwordType::None, +//! frequent_words:FrequentwordType::English, +//! ngram_indexing:NgramSet::NgramFF as u8, +//! access_type: AccessType::Mmap, +//! spelling_correction: None, +//! query_completion: None, +//! }; +//! let segment_number_bits1=11; +//! let serialize_schema=true; +//! let index_arc=create_index(index_path,meta,&schema,&Vec::new(),segment_number_bits1,false,None).await.unwrap(); +//! # }); +//! ``` +//! ### open index (alternatively to create index) +//! ```no_run +//! # tokio_test::block_on(async { +//! use seekstorm::index::open_index; +//! use std::path::PathBuf; +//! +//! let index_path=PathBuf::new("C:/index/"); +//! let index_arc=open_index(index_path,false).await.unwrap(); +//! # }); +//! ``` +//! ### index document +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::IndexDocument; +//! use seekstorm::index::FileType; +//! +//! let document_json = r#" +//! {"title":"title1 test","body":"body1","url":"url1"}"#; +//! let document=serde_json::from_str(document_json).unwrap(); +//! index_arc.index_document(document,FileType::None).await; +//! # }); +//! ``` +//! ### index documents +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::IndexDocuments; +//! let documents_json = r#" +//! [{"title":"title1 test","body":"body1","url":"url1"}, +//! {"title":"title2","body":"body2 test","url":"url2"}, +//! {"title":"title3 test","body":"body3 test","url":"url3"}]"#; +//! let documents_vec=serde_json::from_str(documents_json).unwrap(); +//! index_arc.index_documents(documents_vec).await; +//! # }); +//! ``` +//! ### delete documents by document id +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::DeleteDocuments; +//! +//! let docid_vec=vec![1,2]; +//! index_arc.delete_documents(docid_vec).await; +//! # }); +//! ``` +//! ### delete documents by query +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::search::QueryType; +//! use seekstorm::index::DeleteDocumentsByQuery; +//! +//! let query="test".to_string(); +//! let offset=0; +//! let length=10; +//! let query_type=QueryType::Intersection; +//! let include_uncommitted=false; +//! let field_filter=Vec::new(); +//! let facet_filter=Vec::new(); +//! let result_sort=Vec::new(); +//! index_arc.delete_documents_by_query(query, query_type, offset, length, include_uncommitted,field_filter,facet_filter,result_sort).await; +//! # }); +//! ``` +//! ### update documents +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::UpdateDocuments; +//! use seekstorm::commit::Commit; +//! +//! let id_document_vec_json = r#" +//! [[1,{"title":"title1 test","body":"body1","url":"url1"}], +//! [2,{"title":"title3 test","body":"body3 test","url":"url3"}]]"#; +//! let id_document_vec=serde_json::from_str(id_document_vec_json).unwrap(); +//! index_arc.update_documents(id_document_vec).await; +//! +//! // ### commit documents +//! +//! index_arc.commit().await; +//! # }); +//! ``` +//! ### search index +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::search::{Search, QueryType, ResultType, QueryRewriting}; +//! +//! let query="test".to_string(); +//! let offset=10; +//! let length=10; +//! let query_type=QueryType::Intersection; +//! let result_type=ResultType::TopkCount; +//! let include_uncommitted=false; +//! let field_filter=Vec::new(); +//! let query_facets=Vec::new(); +//! let facet_filter=Vec::new(); +//! let result_sort=Vec::new(); +//! let result_object = index_arc.search(query, query_type, offset, length, result_type,include_uncommitted,field_filter,query_facets,facet_filter,result_sort,QueryRewriting::SearchOnly).await; +//! +//! // ### display results +//! +//! use seekstorm::highlighter::{Highlight, highlighter}; +//! use std::collections::HashSet; +//! +//! let highlights:Vec= vec![ +//! Highlight { +//! field: "body".to_string(), +//! name:String::new(), +//! fragment_number: 2, +//! fragment_size: 160, +//! highlight_markup: true, +//! ..Default::default() +//! }, +//! ]; +//! let highlighter=Some(highlighter(&index_arc,highlights, result_object.query_terms).await); +//! let return_fields_filter= HashSet::new(); +//! let distance_fields=Vec::new(); +//! let index=index_arc.read().await; +//! for result in result_object.results.iter() { +//! let doc=index.get_document(result.doc_id,false,&highlighter,&return_fields_filter,&distance_fields).await.unwrap(); +//! println!("result {} rank {} body field {:?}" , result.doc_id,result.score, doc.get("body")); +//! } +//! println!("result counts {} {} {}",result_object.results.len(), result_object.result_count, result_object.result_count_total); +//! # }); +//! ``` +//! ### get document +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use std::collections::HashSet; +//! +//! let doc_id=0; +//! let highlighter=None; +//! let return_fields_filter= HashSet::new(); +//! let distance_fields=Vec::new(); +//! let index=index_arc.read().await; +//! let doc=index.get_document(doc_id,false,&highlighter,&return_fields_filter,&distance_fields).await.unwrap(); +//! # }); +//! ``` +//! ### index JSON file in JSON, Newline-delimited JSON and Concatenated JSON format +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::ingest::IngestJson; +//! use std::path::PathBuf; +//! +//! let file_path=PathBuf::new("wiki-articles.json"); +//! let _ =index_arc.ingest_json(file_path).await; +//! # }); +//! ``` +//! ### index all PDF files in directory and sub-directories +//! - converts pdf to text and indexes it +//! - extracts title from metatag, or first line of text, or from filename +//! - extracts creation date from metatag, or from file creation date (Unix timestamp: the number of seconds since 1 January 1970) +//! - copies all ingested pdf files to "files" subdirectory in index +//! - the following index schema is required (and automatically created by the console `ingest` command): +//! ```no_run +//! let schema_json = r#" +//! [ +//! { +//! "field": "title", +//! "stored": true, +//! "indexed": true, +//! "field_type": "Text", +//! "boost": 10 +//! }, +//! { +//! "field": "body", +//! "stored": true, +//! "indexed": true, +//! "field_type": "Text" +//! }, +//! { +//! "field": "url", +//! "stored": true, +//! "indexed": false, +//! "field_type": "Text" +//! }, +//! { +//! "field": "date", +//! "stored": true, +//! "indexed": false, +//! "field_type": "Timestamp", +//! "facet": true +//! } +//! ]"#; +//! ``` +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! use std::path::PathBuf; +//! use seekstorm::ingest::IngestPdf; +//! +//! let file_path=PathBuf::new("C:/Users/johndoe/Downloads"); +//! let _ =index_arc.ingest_pdf(file_path).await; +//! # }); +//! ``` +//! ### index PDF file +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! use std::path::PathBuf; +//! use seekstorm::ingest::IndexPdfFile; +//! +//! let file_path=PathBuf::new("C:/test.pdf"); +//! let _ =index_arc.index_pdf_file(file_path).await; +//! # }); +//! ``` +//! ### index PDF file bytes +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! use std::path::PathBuf; +//! use std::fs; +//! use chrono::Utc; +//! use seekstorm::ingest::IndexPdfBytes; +//! +//! let file_date=Utc::now().timestamp(); +//! let file_path=PathBuf::new("C:/test.pdf"); +//! let document = fs::read(file_path).unwrap(); +//! let _ =index_arc.index_pdf_bytes(file_path, file_date, &document).await; +//! # }); +//! ``` +//! ### get PDF file bytes +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # use std::path::PathBuf; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! let doc_id=0; +//! let _file=index_arc.read().await.get_file(doc_id).await.unwrap(); +//! # }); +//! ``` +//! ### clear index +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # use std::path::PathBuf; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! index_arc.write().await.clear_index().await; +//! # }); +//! ``` +//! ### delete index +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # use std::path::PathBuf; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! index_arc.write().await.delete_index(); +//! # }); +//! ``` +//! ### close index +//! ```no_run +//! # tokio_test::block_on(async { +//! # use seekstorm::index::open_index; +//! # use std::path::PathBuf; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let mut index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::Close; +//! +//! index_arc.close().await; +//! # }); +//! ``` +//! ### seekstorm library version string +//! ```no_run +//! use seekstorm::index::version; +//! +//! let version=version(); +//! println!("version {}",version); +//! ``` +//! +//! ---------------- +//! ### Faceted search - Quick start +//! **Facets are defined in 3 different places:** +//! 1. the facet fields are defined in schema at create_index, +//! 2. the facet field values are set in index_document at index time, +//! 3. the query_facets/facet_filter search parameters are specified at query time. +//! Facets are then returned in the search result object. +//! +//! A minimal working example of faceted indexing & search requires just 60 lines of code. But to puzzle it all together from the documentation alone might be tedious. +//! This is why we provide a quick start example here: +//! ### create index +//! ```no_run +//! # tokio_test::block_on(async { +//! use std::path::PathBuf; +//! use seekstorm::index::{IndexMetaObject, SimilarityType,TokenizerType,StopwordType,FrequentwordType,AccessType,StemmerType,NgramSet,create_index}; +//! +//! let index_path=PathBuf::new("C:/index/"); +//! let schema_json = r#" +//! [{"field":"title","field_type":"Text","stored":false,"indexed":false}, +//! {"field":"body","field_type":"Text","stored":true,"indexed":true}, +//! {"field":"url","field_type":"Text","stored":true,"indexed":false}, +//! {"field":"town","field_type":"String15","stored":false,"indexed":false,"facet":true}]"#; +//! let schema=serde_json::from_str(schema_json).unwrap(); +//! let meta = IndexMetaObject { +//! id: 0, +//! name: "test_index".into(), +//! similarity:SimilarityType::Bm25f, +//! tokenizer:TokenizerType::AsciiAlphabetic, +//! stemmer:StemmerType::None, +//! stop_words: StopwordType::None, +//! frequent_words:FrequentwordType::English, +//! ngram_indexing:NgramSet::NgramFF as u8, +//! access_type: AccessType::Mmap, +//! spelling_correction: None, +//! query_completion: None, +//! }; +//! let serialize_schema=true; +//! let segment_number_bits1=11; +//! let index_arc=create_index(index_path,meta,&schema,&Vec::new(),segment_number_bits1,false,None).await.unwrap(); +//! # }); +//! ``` +//! ### index documents +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::index::IndexDocuments; +//! use seekstorm::commit::Commit; +//! use seekstorm::search::{QueryType, ResultType, QueryFacet, FacetFilter}; +//! +//! let documents_json = r#" +//! [{"title":"title1 test","body":"body1","url":"url1","town":"Berlin"}, +//! {"title":"title2","body":"body2 test","url":"url2","town":"Warsaw"}, +//! {"title":"title3 test","body":"body3 test","url":"url3","town":"New York"}]"#; +//! let documents_vec=serde_json::from_str(documents_json).unwrap(); +//! index_arc.index_documents(documents_vec).await; +//! +//! // ### commit documents +//! +//! index_arc.commit().await; +//! # }); +//! ``` +//! ### search index +//! ```no_run +//! # tokio_test::block_on(async { +//! # use std::path::PathBuf; +//! # use seekstorm::index::open_index; +//! # let index_path=PathBuf::new("C:/index/"); +//! # let index_arc=open_index(index_path,false).await.unwrap(); +//! use seekstorm::search::{QueryType, ResultType, QueryFacet, FacetFilter, QueryRewriting,Search}; +//! +//! let query="test".to_string(); +//! let offset=0; +//! let length=10; +//! let query_type=QueryType::Intersection; +//! let result_type=ResultType::TopkCount; +//! let include_uncommitted=false; +//! let field_filter=Vec::new(); +//! let query_facets = vec![QueryFacet::String16 {field: "town".to_string(),prefix: "".to_string(),length: u16::MAX}]; +//! let facet_filter=Vec::new(); +//! //let facet_filter = vec![FacetFilter {field: "town".to_string(), filter:Filter::String(vec!["Berlin".to_string()])}]; +//! let result_sort=Vec::new(); +//! let result_object = index_arc.search(query, query_type, offset, length, result_type,include_uncommitted,field_filter,query_facets,facet_filter,result_sort,QueryRewriting::SearchOnly).await; +//! +//! // ### display results +//! +//! use std::collections::HashSet; +//! use seekstorm::highlighter::{highlighter, Highlight}; +//! +//! let highlights:Vec= vec![ +//! Highlight { +//! field: "body".to_owned(), +//! name:String::new(), +//! fragment_number: 2, +//! fragment_size: 160, +//! highlight_markup: true, +//! ..Default::default() +//! }, +//! ]; +//! let highlighter=Some(highlighter(&index_arc,highlights, result_object.query_terms).await); +//! let return_fields_filter= HashSet::new(); +//! let distance_fields=Vec::new(); +//! let index=index_arc.write().await; +//! for result in result_object.results.iter() { +//! let doc=index.get_document(result.doc_id,false,&highlighter,&return_fields_filter,&distance_fields).await.unwrap(); +//! println!("result {} rank {} body field {:?}" , result.doc_id,result.score, doc.get("body")); +//! } +//! println!("result counts {} {} {}",result_object.results.len(), result_object.result_count, result_object.result_count_total); +//! +//! // ### display facets +//! +//! println!("{}", serde_json::to_string_pretty(&result_object.facets).unwrap()); +//! # }); +//! ``` + +/// include README.md in documentation +#[cfg_attr(doctest, doc = include_str!("../../README.md"))] +pub struct ReadmeDoctests; + +/// include FACETED_SEARCH.md in documentation +#[cfg_attr(doctest, doc = include_str!("../../FACETED_SEARCH.md"))] +pub struct ReadmeDoctests2; + +pub(crate) mod add_result; +/// Commit moves indexed documents from the intermediate uncompressed data structure in RAM +/// to the final compressed data structure on disk. +pub mod commit; +pub(crate) mod compatible; +pub(crate) mod compress_postinglist; +pub(crate) mod doc_store; +/// Geo search by indexing geo points (latitude, longitude), proximity searching for points within a specified radius, and proximity sorting. +pub mod geo_search; +/// Extracts the most relevant fragments (snippets, summaries) from specified fields of the document to provide a "keyword in context" (KWIC) functionality. +/// With highlight_markup the matching query terms within the fragments can be highlighted with HTML markup. +pub mod highlighter; +/// Operate the index: reate_index, open_index, clear_index, close_index, delete_index, index_document(s) +pub mod index; +pub(crate) mod index_posting; +/// Ingest JSON, Newline-delimited JSON, Concatenated JSON files, and PDF files into the index. +pub mod ingest; +pub(crate) mod intersection; +pub(crate) mod intersection_simd; +pub(crate) mod min_heap; +pub(crate) mod realtime_search; +/// Search the index for all indexed documents, both for committed and uncommitted documents. +/// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. +pub mod search; +pub(crate) mod single; +/// Tokenizes text into tokens (words), supports Chinese word segmentation, folds (converts) diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters into their basic representation. +pub(crate) mod tokenizer; +pub(crate) mod union; +/// Utils `truncate()` and `substring()` +pub mod utils; +#[cfg(feature = "zh")] +pub(crate) mod word_segmentation; diff --git a/mobile_app/rust/src/seekstorm/min_heap.rs b/mobile_app/rust/src/seekstorm/min_heap.rs new file mode 100644 index 0000000..dd12ddb --- /dev/null +++ b/mobile_app/rust/src/seekstorm/min_heap.rs @@ -0,0 +1,1167 @@ +use tokio::sync::RwLockReadGuard; + +use ahash::AHashMap; +use serde::{Deserialize, Serialize}; + +use crate::{ + geo_search::morton_ordering, + index::{FieldType, Shard}, + search::{FacetValue, ResultSortIndex, SortOrder}, + utils::{ + read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u16, read_u32, read_u64, + }, +}; + +#[derive(Clone, Debug, Copy, Default, Deserialize, Serialize)] +pub struct Result { + pub doc_id: usize, + pub score: f32, +} + +/// MinHeap implements an min-heap, which is a binary heap used as priority queue. +/// Maintains a list of the top-k most relevant result candidates. +/// Better performance than a ordered list with binary search, inserts, and deletes +pub(crate) struct MinHeap<'a> { + pub _elements: Vec, + pub current_heap_size: usize, + pub docid_hashset: AHashMap, + + pub index: &'a Shard, + pub result_sort: &'a Vec>, +} + +#[inline] +pub(crate) fn result_ordering_root( + shard_vec: &[RwLockReadGuard<'_, Shard>], + shard_bits: usize, + result_sort: &Vec>, + result1: Result, + result2: Result, +) -> core::cmp::Ordering { + let shard_id1 = result1.doc_id & ((1 << shard_bits) - 1); + let doc_id1 = result1.doc_id >> shard_bits; + let shard1 = &shard_vec[shard_id1]; + + let shard_id2 = result2.doc_id & ((1 << shard_bits) - 1); + let doc_id2 = result2.doc_id >> shard_bits; + let shard2 = &shard_vec[shard_id2]; + + for field in result_sort.iter() { + match shard1.facets[field.idx].field_type { + FieldType::U8 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = + &shard1.facets_file_mmap[(shard1.facets_size_sum * doc_id1) + offset]; + + let facet_value_2 = + &shard2.facets_file_mmap[(shard2.facets_size_sum * doc_id2) + offset]; + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(facet_value_2) + } else { + facet_value_2.cmp(facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::U16 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_u16( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_u16( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::U32 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_u32( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_u32( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::U64 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_u64( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_u64( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::I8 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_i8( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_i8( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::I16 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_i16( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_i16( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::I32 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_i32( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_i32( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::I64 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_i64( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_i64( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::Timestamp => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_i64( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_i64( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::F32 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_f32( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_f32( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1 + .partial_cmp(&facet_value_2) + .unwrap_or(core::cmp::Ordering::Equal) + } else { + facet_value_2 + .partial_cmp(&facet_value_1) + .unwrap_or(core::cmp::Ordering::Equal) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::F64 => { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_f64( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_f64( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1 + .partial_cmp(&facet_value_2) + .unwrap_or(core::cmp::Ordering::Equal) + } else { + facet_value_2 + .partial_cmp(&facet_value_1) + .unwrap_or(core::cmp::Ordering::Equal) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::String16 => { + let offset = shard1.facets[field.idx].offset; + + let facet_id_1 = read_u16( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_id_2 = read_u16( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let facet_value_1 = shard1.facets[field.idx] + .values + .get_index((facet_id_1).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = shard2.facets[field.idx] + .values + .get_index((facet_id_2).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::StringSet16 => { + let offset = shard1.facets[field.idx].offset; + + let facet_id_1 = read_u16( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_id_2 = read_u16( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let facet_value_1 = shard1.facets[field.idx] + .values + .get_index((facet_id_1).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = shard2.facets[field.idx] + .values + .get_index((facet_id_2).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::String32 => { + let offset = shard1.facets[field.idx].offset; + + let facet_id_1 = read_u32( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_id_2 = read_u32( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let facet_value_1 = shard1.facets[field.idx] + .values + .get_index(facet_id_1 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = shard2.facets[field.idx] + .values + .get_index(facet_id_2 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::StringSet32 => { + let offset = shard1.facets[field.idx].offset; + + let facet_id_1 = read_u32( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_id_2 = read_u32( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let facet_value_1 = shard1.facets[field.idx] + .values + .get_index(facet_id_1 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = shard2.facets[field.idx] + .values + .get_index(facet_id_2 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::Point => { + if let FacetValue::Point(base) = &field.base { + let offset = shard1.facets[field.idx].offset; + + let facet_value_1 = read_u64( + &shard1.facets_file_mmap, + (shard1.facets_size_sum * doc_id1) + offset, + ); + let facet_value_2 = read_u64( + &shard2.facets_file_mmap, + (shard2.facets_size_sum * doc_id2) + offset, + ); + + let order = morton_ordering(facet_value_1, facet_value_2, base, &field.order); + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + } + + _ => {} + } + } + + result1 + .score + .partial_cmp(&result2.score) + .unwrap_or(core::cmp::Ordering::Equal) +} + +impl<'a> MinHeap<'a> { + #[inline(always)] + pub(crate) fn new( + size: usize, + index: &'a Shard, + result_sort: &'a Vec, + ) -> MinHeap<'a> { + MinHeap { + current_heap_size: 0, + docid_hashset: AHashMap::new(), + _elements: vec![ + Result { + doc_id: 0, + score: 0.0, + }; + size + ], + index, + result_sort, + } + } + + #[inline] + pub(crate) fn result_ordering_shard( + &self, + result1: Result, + result2: Result, + ) -> core::cmp::Ordering { + for field in self.result_sort.iter() { + match self.index.facets[field.idx].field_type { + FieldType::U8 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = &self.index.facets_file_mmap + [(self.index.facets_size_sum * result1.doc_id) + offset]; + + let facet_value_2 = &self.index.facets_file_mmap + [(self.index.facets_size_sum * result2.doc_id) + offset]; + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(facet_value_2) + } else { + facet_value_2.cmp(facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::U16 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::U32 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::U64 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_u64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_u64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::I8 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_i8( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_i8( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::I16 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_i16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_i16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::I32 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_i32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_i32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + FieldType::I64 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_i64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_i64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::Timestamp => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_i64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_i64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::F32 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_f32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_f32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1 + .partial_cmp(&facet_value_2) + .unwrap_or(core::cmp::Ordering::Equal) + } else { + facet_value_2 + .partial_cmp(&facet_value_1) + .unwrap_or(core::cmp::Ordering::Equal) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::F64 => { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_f64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_f64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = if field.order == SortOrder::Descending { + facet_value_1 + .partial_cmp(&facet_value_2) + .unwrap_or(core::cmp::Ordering::Equal) + } else { + facet_value_2 + .partial_cmp(&facet_value_1) + .unwrap_or(core::cmp::Ordering::Equal) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::String16 => { + let offset = self.index.facets[field.idx].offset; + + let facet_id_1 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_id_2 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let facet_value_1 = self.index.facets[field.idx] + .values + .get_index((facet_id_1).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = self.index.facets[field.idx] + .values + .get_index((facet_id_2).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::StringSet16 => { + let offset = self.index.facets[field.idx].offset; + + let facet_id_1 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_id_2 = read_u16( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let facet_value_1 = self.index.facets[field.idx] + .values + .get_index((facet_id_1).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = self.index.facets[field.idx] + .values + .get_index((facet_id_2).into()) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::String32 => { + let offset = self.index.facets[field.idx].offset; + + let facet_id_1 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_id_2 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let facet_value_1 = self.index.facets[field.idx] + .values + .get_index(facet_id_1 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = self.index.facets[field.idx] + .values + .get_index(facet_id_2 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::StringSet32 => { + let offset = self.index.facets[field.idx].offset; + + let facet_id_1 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_id_2 = read_u32( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let facet_value_1 = self.index.facets[field.idx] + .values + .get_index(facet_id_1 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let facet_value_2 = self.index.facets[field.idx] + .values + .get_index(facet_id_2 as usize) + .unwrap() + .1 + .0[0] + .clone(); + + let order = if field.order == SortOrder::Descending { + facet_value_1.cmp(&facet_value_2) + } else { + facet_value_2.cmp(&facet_value_1) + }; + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + + FieldType::Point => { + if let FacetValue::Point(base) = &field.base { + let offset = self.index.facets[field.idx].offset; + + let facet_value_1 = read_u64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result1.doc_id) + offset, + ); + let facet_value_2 = read_u64( + &self.index.facets_file_mmap, + (self.index.facets_size_sum * result2.doc_id) + offset, + ); + + let order = + morton_ordering(facet_value_1, facet_value_2, base, &field.order); + + if order != core::cmp::Ordering::Equal { + return order; + }; + } + } + + _ => {} + } + } + + result1 + .score + .partial_cmp(&result2.score) + .unwrap_or(core::cmp::Ordering::Equal) + } + + #[inline(always)] + fn get_left_child_index(element_index: usize) -> usize { + 2 * element_index + 1 + } + + #[inline(always)] + fn get_right_child_index(element_index: usize) -> usize { + 2 * element_index + 2 + } + + #[inline(always)] + fn get_parent_index(element_index: usize) -> usize { + (element_index - 1) / 2 + } + + #[inline(always)] + fn has_left_child(&self, element_index: usize) -> bool { + Self::get_left_child_index(element_index) < self.current_heap_size + } + + #[inline(always)] + fn has_right_child(&self, element_index: usize) -> bool { + Self::get_right_child_index(element_index) < self.current_heap_size + } + + #[inline(always)] + fn is_root(element_index: usize) -> bool { + element_index == 0 + } + + #[inline(always)] + fn get_left_child(&self, element_index: usize) -> &Result { + &self._elements[Self::get_left_child_index(element_index)] + } + + #[inline(always)] + fn get_right_child(&self, element_index: usize) -> &Result { + &self._elements[Self::get_right_child_index(element_index)] + } + + #[inline(always)] + fn get_parent(&self, element_index: usize) -> &Result { + &self._elements[Self::get_parent_index(element_index)] + } + + #[inline(always)] + fn swap(&mut self, first_index: usize, second_index: usize) { + self._elements.swap(first_index, second_index); + } + + #[inline(always)] + fn add(&mut self, result: &Result) { + self._elements[self.current_heap_size].score = result.score; + self._elements[self.current_heap_size].doc_id = result.doc_id; + self.current_heap_size += 1; + + self.heapify_up(); + } + + #[inline(always)] + fn pop_add(&mut self, score: f32, doc_id: usize) { + if !self.docid_hashset.is_empty() { + self.docid_hashset.remove(&self._elements[0].doc_id); + } + + self._elements[0].score = score; + self._elements[0].doc_id = doc_id; + self.heapify_down(); + } + + #[inline(always)] + fn heapify_up(&mut self) { + let mut index = self.current_heap_size - 1; + while !Self::is_root(index) + && self + .result_ordering_shard(self._elements[index], *Self::get_parent(self, index)) + .is_lt() + { + let parent_index = Self::get_parent_index(index); + self.swap(parent_index, index); + index = parent_index; + } + } + + #[inline(always)] + fn heapify_down(&mut self) { + let mut index: usize = 0; + while self.has_left_child(index) { + let mut smaller_index = Self::get_left_child_index(index); + if self.has_right_child(index) + && self + .result_ordering_shard( + *self.get_right_child(index), + *self.get_left_child(index), + ) + .is_lt() + { + smaller_index = Self::get_right_child_index(index); + } + if self + .result_ordering_shard(self._elements[smaller_index], self._elements[index]) + .is_ge() + { + break; + } + + self.swap(smaller_index, index); + index = smaller_index; + } + } + + #[inline(always)] + fn heapify_down_index(&mut self, index: usize) { + let mut index: usize = index; + while self.has_left_child(index) { + let mut smaller_index = Self::get_left_child_index(index); + if self.has_right_child(index) + && self + .result_ordering_shard( + *self.get_right_child(index), + *self.get_left_child(index), + ) + .is_lt() + { + smaller_index = Self::get_right_child_index(index); + } + + if self + .result_ordering_shard(self._elements[smaller_index], self._elements[index]) + .is_ge() + { + break; + } + + self.swap(smaller_index, index); + index = smaller_index; + } + } + + #[inline(always)] + pub(crate) fn add_topk(&mut self, result: Result, top_k: usize) -> bool { + if self.current_heap_size > top_k + && self + .result_ordering_shard(self._elements[0], result) + .is_ge() + { + return false; + } + + if !self.docid_hashset.is_empty() && self.docid_hashset.contains_key(&result.doc_id) { + if self._elements[0].doc_id == result.doc_id { + if self + .result_ordering_shard(result, self._elements[0]) + .is_gt() + { + self._elements[0].score = result.score; + self.heapify_down(); + return true; + } else { + return false; + } + } else { + if self + .result_ordering_shard( + Result { + doc_id: result.doc_id, + score: self.docid_hashset[&result.doc_id], + }, + result, + ) + .is_ge() + { + return false; + } + + let mut index = 0; + while result.doc_id != self._elements[index].doc_id { + if index == self.current_heap_size - 1 { + self.pop_add(result.score, result.doc_id); + return true; + } + index += 1; + } + + self._elements[index].score = result.score; + self.heapify_down_index(index); + return true; + } + } + + if self.current_heap_size < top_k { + self.add(&result); + true + } else if self + .result_ordering_shard(result, self._elements[0]) + .is_gt() + { + self.pop_add(result.score, result.doc_id); + true + } else { + false + } + } +} diff --git a/mobile_app/rust/src/seekstorm/realtime_search.rs b/mobile_app/rust/src/seekstorm/realtime_search.rs new file mode 100644 index 0000000..ff7daad --- /dev/null +++ b/mobile_app/rust/src/seekstorm/realtime_search.rs @@ -0,0 +1,2077 @@ +use std::sync::{ + Arc, + atomic::{AtomicUsize, Ordering}, +}; + +use ahash::{AHashMap, AHashSet}; +use smallvec::SmallVec; + +use crate::{ + add_result::{B, K, SIGMA, facet_count, is_facet_filter, read_multifield_vec}, + index::{ + AccessType, DOCUMENT_LENGTH_COMPRESSION, DUMMY_VEC_8, NgramType, + NonUniquePostingListObjectQuery, NonUniqueTermObject, PostingListObjectQuery, STOP_BIT, + Shard, SimilarityType, TermObject, hash32, hash64, + }, + min_heap, + search::{FilterSparse, QueryType, ResultType, SearchResult, decode_posting_list_counts}, + utils::{read_u16, read_u16_ref, read_u32, read_u32_ref}, +}; + +#[inline(always)] +pub(crate) fn get_next_position_uncommitted( + shard: &Shard, + plo: &mut NonUniquePostingListObjectQuery, +) -> u32 { + if plo.is_embedded { + return plo.embedded_positions[if plo.p_field == 0 { + plo.p_pos as usize + } else { + plo.field_vec[plo.p_field - 1].1 + plo.p_pos as usize + }]; + } + + if (shard.postings_buffer[plo.positions_pointer] & STOP_BIT) != 0 { + let position = (shard.postings_buffer[plo.positions_pointer] & 0b0111_1111) as u32; + plo.positions_pointer += 1; + position + } else if (shard.postings_buffer[plo.positions_pointer + 1] & STOP_BIT) != 0 { + let position = ((shard.postings_buffer[plo.positions_pointer] as u32) << 7) + | (shard.postings_buffer[plo.positions_pointer + 1] & 0b0111_1111) as u32; + plo.positions_pointer += 2; + position + } else { + let position = ((shard.postings_buffer[plo.positions_pointer] as u32) << 13) + | ((shard.postings_buffer[plo.positions_pointer + 1] as u32) << 7) + | (shard.postings_buffer[plo.positions_pointer + 2] & 0b0111_1111) as u32; + plo.positions_pointer += 3; + position + } +} + +#[allow(clippy::too_many_arguments)] +pub(crate) fn add_result_singleterm_uncommitted( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + + plo_single: &mut PostingListObjectQuery, + not_query_list: &mut [PostingListObjectQuery], +) { + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + let local_docid = docid & 0b11111111_11111111; + + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + let mut read_pointer = plo.posting_pointer; + + plo.posting_pointer = read_u32_ref(&shard.postings_buffer, &mut read_pointer) as usize; + plo.docid = read_u16_ref(&shard.postings_buffer, &mut read_pointer) as i32; + + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + let filtered = !not_query_list.is_empty() + || !field_filter_set.is_empty() + || !shard.delete_hashset.is_empty() + || !facet_filter.is_empty(); + + shard.decode_positions_uncommitted(plo_single, false); + + if !field_filter_set.is_empty() + && plo_single.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() + { + let mut match_flag = false; + for field in plo_single.field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + + match *result_type { + ResultType::Count => { + if filtered { + facet_count(shard, search_result, docid); + + *result_count += 1; + } + return; + } + ResultType::Topk => {} + ResultType::TopkCount => { + if filtered { + facet_count(shard, search_result, docid); + + *result_count += 1; + } + } + } + + let bm25 = get_bm25f_singleterm_multifield_uncommitted(shard, docid, plo_single); + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25, + }, + top_k, + ); +} + +#[allow(clippy::too_many_arguments)] +#[inline(always)] +pub(crate) fn add_result_multiterm_uncommitted( + shard: &Shard, + docid: usize, + result_count: &mut i32, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + phrase_query: bool, +) { + if !shard.delete_hashset.is_empty() && shard.delete_hashset.contains(&docid) { + return; + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + let local_docid = docid & 0b11111111_11111111; + + while plo.p_docid < plo.p_docid_count + && (plo.p_docid == 0 || (plo.docid as usize) < local_docid) + { + let mut read_pointer = plo.posting_pointer; + + plo.posting_pointer = read_u32_ref(&shard.postings_buffer, &mut read_pointer) as usize; + plo.docid = read_u16_ref(&shard.postings_buffer, &mut read_pointer) as i32; + + plo.p_docid += 1; + } + if (plo.docid as usize) == local_docid { + return; + } + } + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + return; + }; + + let filtered = phrase_query + || !field_filter_set.is_empty() + || !shard.delete_hashset.is_empty() + || !facet_filter.is_empty(); + + if !filtered && result_type == &ResultType::Count { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + + for plo in query_list.iter_mut() { + shard.decode_positions_uncommitted(plo, phrase_query); + + if !field_filter_set.is_empty() + && plo.field_vec.len() + field_filter_set.len() <= shard.indexed_field_vec.len() + { + let mut match_flag = false; + for field in plo.field_vec.iter() { + if field_filter_set.contains(&field.0) { + match_flag = true; + } + } + if !match_flag { + return; + } + } + } + + if phrase_query { + let len = query_list.len(); + let mut index_transpose = vec![0; len]; + for i in 0..len { + index_transpose[query_list[i].term_index_unique] = i; + } + + let mut phrasematch_count = 0; + if shard.indexed_field_vec.len() == 1 { + for plo in non_unique_query_list.iter_mut() { + plo.p_pos = 0; + let item = &query_list[index_transpose[plo.term_index_unique]]; + plo.positions_pointer = item.positions_pointer as usize; + plo.positions_count = item.positions_count; + + plo.is_embedded = item.is_embedded; + plo.embedded_positions = item.embedded_positions; + + plo.pos = get_next_position_uncommitted(shard, plo); + } + + non_unique_query_list + .sort_by(|x, y| x.positions_count.partial_cmp(&y.positions_count).unwrap()); + + let t1 = 0; + let mut t2 = 1; + let mut pos1 = non_unique_query_list[t1].pos; + let mut pos2 = non_unique_query_list[t2].pos; + + loop { + match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) + .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) + { + std::cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + pos2 = non_unique_query_list[t2].pos; + } + + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + pos1 += + get_next_position_uncommitted(shard, &mut non_unique_query_list[t1]) + + 1; + } + std::cmp::Ordering::Greater => { + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + pos2 = non_unique_query_list[t2].pos + + get_next_position_uncommitted(shard, &mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + std::cmp::Ordering::Equal => { + if t2 + 1 < non_unique_query_list.len() { + t2 += 1; + pos2 = non_unique_query_list[t2].pos; + continue; + } + + phrasematch_count += 1; + if phrasematch_count >= 1 { + break; + } + + t2 = 1; + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + break; + } + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + break; + } + + pos1 += + get_next_position_uncommitted(shard, &mut non_unique_query_list[t1]) + + 1; + pos2 = non_unique_query_list[t2].pos + + get_next_position_uncommitted(shard, &mut non_unique_query_list[t2]) + + 1; + non_unique_query_list[t2].pos = pos2; + } + } + } + } else { + for plo in non_unique_query_list.iter_mut() { + let item = &query_list[index_transpose[plo.term_index_unique]]; + plo.positions_pointer = item.positions_pointer as usize; + plo.is_embedded = item.is_embedded; + plo.embedded_positions = item.embedded_positions; + plo.field_vec.clone_from(&item.field_vec); + plo.p_pos = 0; + plo.positions_count = item.positions_count; + plo.p_field = 0; + } + + 'main: for i in 0..shard.indexed_field_vec.len() as u16 { + for plo in non_unique_query_list.iter_mut() { + while plo.field_vec[plo.p_field].0 < i { + if !plo.is_embedded { + for _ in plo.p_pos..plo.field_vec[plo.p_field].1 as i32 { + get_next_position_uncommitted(shard, plo); + } + } + if plo.p_field < plo.field_vec.len() - 1 { + plo.p_field += 1; + plo.p_pos = 0; + } else { + break 'main; + } + } + if plo.field_vec[plo.p_field].0 > i { + continue 'main; + } + } + + for plo in non_unique_query_list.iter_mut() { + plo.p_pos = 0; + plo.positions_count = plo.field_vec[plo.p_field].1 as u32; + plo.pos = get_next_position_uncommitted(shard, plo); + } + + if !field_filter_set.is_empty() && !field_filter_set.contains(&i) { + continue; + } + + non_unique_query_list + .sort_by(|x, y| x.positions_count.partial_cmp(&y.positions_count).unwrap()); + + let t1 = 0; + let mut t2 = 1; + let mut pos1 = non_unique_query_list[t1].pos; + let mut pos2 = non_unique_query_list[t2].pos; + + loop { + match (pos1 + non_unique_query_list[t2].term_index_nonunique as u32) + .cmp(&(pos2 + non_unique_query_list[t1].term_index_nonunique as u32)) + { + std::cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + pos2 = non_unique_query_list[t2].pos; + } + + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(1) { + item.p_pos += 1 + } + } + break; + } + pos1 += get_next_position_uncommitted( + shard, + &mut non_unique_query_list[t1], + ) + 1; + } + std::cmp::Ordering::Greater => { + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for (j, item) in non_unique_query_list.iter_mut().enumerate() { + if j != t2 { + item.p_pos += 1 + } + } + } + break; + } + pos2 = non_unique_query_list[t2].pos + + get_next_position_uncommitted( + shard, + &mut non_unique_query_list[t2], + ) + + 1; + non_unique_query_list[t2].pos = pos2; + } + std::cmp::Ordering::Equal => { + if t2 + 1 < non_unique_query_list.len() { + t2 += 1; + pos2 = non_unique_query_list[t2].pos; + continue; + } + + phrasematch_count += 1; + if phrasematch_count >= 1 { + break 'main; + } + + t2 = 1; + non_unique_query_list[t1].p_pos += 1; + if non_unique_query_list[t1].p_pos + == non_unique_query_list[t1].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(1) { + item.p_pos += 1 + } + } + break; + } + non_unique_query_list[t2].p_pos += 1; + if non_unique_query_list[t2].p_pos + == non_unique_query_list[t2].positions_count as i32 + { + if (i as usize) < shard.indexed_field_vec.len() - 1 { + for item in non_unique_query_list.iter_mut().skip(2) { + item.p_pos += 1 + } + } + break; + } + + pos1 += get_next_position_uncommitted( + shard, + &mut non_unique_query_list[t1], + ) + 1; + pos2 = non_unique_query_list[t2].pos + + get_next_position_uncommitted( + shard, + &mut non_unique_query_list[t2], + ) + + 1; + non_unique_query_list[t2].pos = pos2; + } + } + } + } + } + + if phrase_query && (phrasematch_count == 0) { + return; + } + } + + match *result_type { + ResultType::Count => { + facet_count(shard, search_result, docid); + + *result_count += 1; + return; + } + ResultType::Topk => {} + ResultType::TopkCount => { + facet_count(shard, search_result, docid); + + *result_count += 1; + } + } + + let bm25 = get_bm25f_multiterm_multifield_uncommitted(shard, docid, query_list); + + search_result.topk_candidates.add_topk( + min_heap::Result { + doc_id: docid, + score: bm25, + }, + top_k, + ); +} + +#[inline(always)] +pub(crate) fn get_bm25f_singleterm_multifield_uncommitted( + shard: &Shard, + docid: usize, + plo_single: &PostingListObjectQuery, +) -> f32 { + let mut bm25f = 0.0; + + let document_length_normalized_average = if shard.document_length_normalized_average == 0.0 { + shard.positions_sum_normalized as f32 / shard.indexed_doc_count as f32 + } else { + shard.document_length_normalized_average + }; + + if shard.indexed_field_vec.len() == 1 { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION + [shard.document_length_compressed_array[0][docid & 0b11111111_11111111] as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + match plo_single.ngram_type { + NgramType::SingleTerm => { + let tf = plo_single.field_vec[0].1 as f32; + + bm25f = plo_single.idf + * ((tf * (K + 1.0) / (tf + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + let tf_ngram1 = plo_single.field_vec_ngram1[0].1 as f32; + let tf_ngram2 = plo_single.field_vec_ngram2[0].1 as f32; + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + _ => { + let tf_ngram1 = plo_single.field_vec_ngram1[0].1 as f32; + let tf_ngram2 = plo_single.field_vec_ngram2[0].1 as f32; + let tf_ngram3 = plo_single.field_vec_ngram3[0].1 as f32; + bm25f = plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo_single.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + } else { + match plo_single.ngram_type { + NgramType::SingleTerm => { + for field in plo_single.field_vec.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf = field.1 as f32; + + bm25f += plo_single.idf + * ((tf * (K + 1.0) + / (tf + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + for field in plo_single.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + bm25f += plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo_single.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + bm25f += plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + _ => { + for field in plo_single.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + bm25f += plo_single.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo_single.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + bm25f += plo_single.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo_single.field_vec_ngram3.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram3 = field.1 as f32; + + bm25f += plo_single.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + } + } + + bm25f +} + +#[inline(always)] +pub(crate) fn get_bm25f_multiterm_multifield_uncommitted( + shard: &Shard, + docid: usize, + query_list: &mut [PostingListObjectQuery], +) -> f32 { + let mut bm25f = 0.0; + + let document_length_normalized_average = if shard.document_length_normalized_average == 0.0 { + shard.positions_sum_normalized as f32 / shard.indexed_doc_count as f32 + } else { + shard.document_length_normalized_average + }; + + if shard.indexed_field_vec.len() == 1 { + let mut document_length_quotient = 0.0; + + for plo in query_list.iter() { + if !plo.bm25_flag { + continue; + } + + if document_length_quotient == 0.0 { + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[0][docid & 0b11111111_11111111] + as usize] as f32; + + document_length_quotient = + document_length_normalized / document_length_normalized_average; + } + + match plo.ngram_type { + NgramType::SingleTerm => { + let tf = plo.field_vec[0].1 as f32; + + bm25f += plo.idf + * ((tf * (K + 1.0) + / (tf + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + let tf_ngram1 = plo.field_vec_ngram1[0].1 as f32; + let tf_ngram2 = plo.field_vec_ngram2[0].1 as f32; + + bm25f += plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + _ => { + let tf_ngram1 = plo.field_vec_ngram1[0].1 as f32; + let tf_ngram2 = plo.field_vec_ngram2[0].1 as f32; + let tf_ngram3 = plo.field_vec_ngram3[0].1 as f32; + + bm25f += plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA) + + plo.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + } + } else { + for plo in query_list.iter() { + if !plo.bm25_flag { + continue; + } + + match plo.ngram_type { + NgramType::SingleTerm => { + for field in plo.field_vec.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf + * ((tf * (K + 1.0) + / (tf + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + for field in plo.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + _ => { + for field in plo.field_vec_ngram1.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram1 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram1 + * ((tf_ngram1 * (K + 1.0) + / (tf_ngram1 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo.field_vec_ngram2.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram2 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram2 + * ((tf_ngram2 * (K + 1.0) + / (tf_ngram2 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + + for field in plo.field_vec_ngram3.iter() { + let field_id = field.0 as usize; + + let document_length_normalized = DOCUMENT_LENGTH_COMPRESSION[shard + .document_length_compressed_array[field_id][docid & 0b11111111_11111111] + as usize] + as f32; + + let document_length_quotient = + document_length_normalized / document_length_normalized_average; + + let tf_ngram3 = field.1 as f32; + + let weight = shard.indexed_schema_vec[field.0 as usize].boost; + + bm25f += weight + * plo.idf_ngram3 + * ((tf_ngram3 * (K + 1.0) + / (tf_ngram3 + (K * (1.0 - B + (B * document_length_quotient))))) + + SIGMA); + } + } + } + } + } + + bm25f +} + +impl Shard { + pub(crate) fn get_posting_count_uncommited(&self, term_string: &str) -> usize { + let term_bytes = term_string.as_bytes(); + let key0 = hash32(term_bytes) & self.segment_number_mask1; + let key_hash = hash64(term_bytes); + + match self.segments_level0[key0 as usize].segment.get(&key_hash) { + Some(value1) => value1.posting_count, + + None => 0, + } + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn search_uncommitted( + &self, + unique_terms: &AHashMap, + non_unique_terms: &[NonUniqueTermObject], + query_type_mut: &mut QueryType, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + + search_result: &mut SearchResult, + result_count_arc: &Arc, + top_k: usize, + ) { + let mut query_list_map: AHashMap = AHashMap::new(); + let mut query_list: Vec; + + let mut not_query_list_map: AHashMap = AHashMap::new(); + let mut not_query_list: Vec; + + let mut non_unique_query_list: Vec = Vec::new(); + + let block_id = if self.is_last_level_incomplete { + self.level_index.len() - 1 + } else { + self.level_index.len() + }; + let mut preceding_ngram_count = 0; + + for non_unique_term in non_unique_terms.iter() { + let term = unique_terms.get(&non_unique_term.term).unwrap(); + let key0: u32 = term.key0; + let key_hash: u64 = term.key_hash; + + match self.segments_level0[key0 as usize].segment.get(&key_hash) { + Some(value1) => { + let mut idf = 0.0; + let mut idf_ngram1 = 0.0; + let mut idf_ngram2 = 0.0; + let mut idf_ngram3 = 0.0; + if result_type != &ResultType::Count { + let posting_counts_option = if self.meta.access_type == AccessType::Mmap { + decode_posting_list_counts( + &self.segments_index[key0 as usize], + self, + key_hash, + ) + } else { + let posting_list_object_index_option = + self.segments_index[key0 as usize].segment.get(&key_hash); + posting_list_object_index_option.map(|plo| { + ( + plo.posting_count, + plo.posting_count_ngram_1, + plo.posting_count_ngram_2, + plo.posting_count_ngram_3, + ) + }) + }; + + if non_unique_term.ngram_type == NgramType::SingleTerm + || self.meta.similarity == SimilarityType::Bm25fProximity + { + let posting_count = if let Some(posting_count) = posting_counts_option { + posting_count.0 as usize + value1.posting_count + } else { + value1.posting_count + }; + + idf = (((self.indexed_doc_count as f32 - posting_count as f32 + 0.5) + / (posting_count as f32 + 0.5)) + + 1.0) + .ln(); + } else if term.ngram_type == NgramType::NgramFF + || term.ngram_type == NgramType::NgramRF + || term.ngram_type == NgramType::NgramFR + { + let posting_count_ngram_1 = + if let Some(posting_count) = posting_counts_option { + posting_count.1 + } else { + 0 + } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_1) + as u32; + + let posting_count_ngram_2 = + if let Some(posting_count) = posting_counts_option { + posting_count.2 + } else { + 0 + } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_0) + as u32; + + idf_ngram1 = (((self.indexed_doc_count as f32 + - posting_count_ngram_1 as f32 + + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram2 = (((self.indexed_doc_count as f32 + - posting_count_ngram_2 as f32 + + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + } else { + let posting_count_ngram_1 = + if let Some(posting_count) = posting_counts_option { + posting_count.1 + } else { + 0 + } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_1) + as u32; + + let posting_count_ngram_2 = + if let Some(posting_count) = posting_counts_option { + posting_count.2 + } else { + 0 + } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_0) + as u32; + + let posting_count_ngram_3 = + if let Some(posting_count) = posting_counts_option { + posting_count.3 + } else { + 0 + } + self.get_posting_count_uncommited(&non_unique_term.term_ngram_0) + as u32; + + idf_ngram1 = (((self.indexed_doc_count as f32 + - posting_count_ngram_1 as f32 + + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram2 = (((self.indexed_doc_count as f32 + - posting_count_ngram_2 as f32 + + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram3 = (((self.indexed_doc_count as f32 + - posting_count_ngram_3 as f32 + + 0.5) + / (posting_count_ngram_3 as f32 + 0.5)) + + 1.0) + .ln(); + } + } + + let term_index_unique = if non_unique_term.op == QueryType::Not { + let query_list_map_len = not_query_list_map.len(); + let value = + not_query_list_map + .entry(key_hash) + .or_insert(PostingListObjectQuery { + posting_count: value1.posting_count as u32, + posting_pointer: value1.pointer_first, + term: non_unique_term.term.clone(), + key0, + term_index_unique: query_list_map_len, + + p_docid: 0, + p_docid_count: value1.posting_count, + docid: 0, + + idf, + idf_ngram1, + idf_ngram2, + idf_ngram3, + ngram_type: non_unique_term.ngram_type.clone(), + ..Default::default() + }); + value.term_index_unique + } else { + let query_list_map_len = query_list_map.len(); + let value = + query_list_map + .entry(key_hash) + .or_insert(PostingListObjectQuery { + posting_count: value1.posting_count as u32, + posting_pointer: value1.pointer_first, + term: non_unique_term.term.clone(), + key0, + term_index_unique: query_list_map_len, + + pointer_pivot_p_docid: value1.pointer_pivot_p_docid, + p_docid: 0, + p_docid_count: value1.posting_count, + docid: 0, + + idf, + idf_ngram1, + idf_ngram2, + idf_ngram3, + ngram_type: non_unique_term.ngram_type.clone(), + ..Default::default() + }); + value.term_index_unique + }; + + if non_unique_term.op == QueryType::Phrase { + let nu_plo = NonUniquePostingListObjectQuery { + term_index_unique, + term_index_nonunique: non_unique_query_list.len() + + preceding_ngram_count, + pos: 0, + p_pos: 0, + positions_pointer: 0, + positions_count: 0, + byte_array: &DUMMY_VEC_8, + key0, + is_embedded: false, + p_field: 0, + field_vec: SmallVec::new(), + embedded_positions: [0; 4], + }; + + non_unique_query_list.push(nu_plo); + } + + match non_unique_term.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { + preceding_ngram_count += 1 + } + _ => preceding_ngram_count += 2, + }; + } + None => { + if non_unique_term.op == QueryType::Intersection + || non_unique_term.op == QueryType::Phrase + { + return; + } + } + } + } + + not_query_list = not_query_list_map.into_values().collect(); + query_list = query_list_map.into_values().collect(); + let query_list_len = query_list.len(); + + let non_unique_query_list_count = non_unique_query_list.len(); + + if query_list_len == 0 { + } else if query_list_len == 1 { + self.single_docid_uncommitted( + block_id, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + 0, + result_type, + field_filter_set, + facet_filter, + search_result, + result_count_arc, + top_k, + ); + } else if query_type_mut == &QueryType::Union { + self.union_docid_uncommitted( + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + block_id, + result_count_arc, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ); + } else { + self.intersection_docid_uncommitted( + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + block_id, + result_count_arc, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + query_type_mut == &mut QueryType::Phrase && non_unique_query_list_count >= 2, + ); + } + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn single_docid_uncommitted<'a>( + self: &Shard, + block_id: usize, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], + query_list: &mut [PostingListObjectQuery<'a>], + not_query_list: &mut [PostingListObjectQuery<'a>], + term_index: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + + search_result: &mut SearchResult, + result_count_arc: &Arc, + top_k: usize, + ) { + let filtered = !not_query_list.is_empty() + || !field_filter_set.is_empty() + || !self.delete_hashset.is_empty() + || !facet_filter.is_empty(); + + if (self.enable_single_term_topk || (result_type == &ResultType::Count)) + && (non_unique_query_list.len() <= 1 && !filtered) + { + result_count_arc.fetch_add( + query_list[term_index].posting_count as usize, + Ordering::Relaxed, + ); + + return; + } + + let plo1 = &mut query_list[term_index]; + + let mut result_count_local = 0; + for i in 0..plo1.posting_count { + plo1.p_docid = i as usize; + + self.get_next_docid_uncommitted(plo1); + + add_result_singleterm_uncommitted( + self, + (block_id << 16) | plo1.docid as usize, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + plo1, + not_query_list, + ); + } + + if result_type != &ResultType::Topk { + let filtered = !not_query_list.is_empty() || !field_filter_set.is_empty(); + result_count_arc.fetch_add( + if filtered { + result_count_local as usize + } else { + plo1.posting_count as usize + }, + Ordering::Relaxed, + ); + } + } + + pub(crate) fn get_next_docid_uncommitted(self: &Shard, plo: &mut PostingListObjectQuery) { + plo.posting_pointer_previous = plo.posting_pointer; + + let mut read_pointer = plo.posting_pointer; + + plo.posting_pointer = read_u32_ref(&self.postings_buffer, &mut read_pointer) as usize; + + plo.docid = read_u16_ref(&self.postings_buffer, &mut read_pointer) as i32; + } + + #[inline(always)] + pub(crate) fn decode_positions_uncommitted( + self: &Shard, + plo: &mut PostingListObjectQuery, + phrase_query: bool, + ) { + let mut read_pointer = plo.posting_pointer_previous + 6; + + let position_size_byte_temp: u16 = read_u16_ref(&self.postings_buffer, &mut read_pointer); + + let mut field_vec: SmallVec<[(u16, usize); 2]> = SmallVec::new(); + plo.is_embedded = position_size_byte_temp & 0b10000000_00000000 > 0; + + if !plo.is_embedded { + match plo.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramFR | NgramType::NgramRF => { + plo.field_vec_ngram1 = SmallVec::new(); + plo.field_vec_ngram2 = SmallVec::new(); + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut plo.field_vec_ngram1, + &self.postings_buffer, + &mut read_pointer, + ); + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut plo.field_vec_ngram2, + &self.postings_buffer, + &mut read_pointer, + ); + } + _ => { + plo.field_vec_ngram1 = SmallVec::new(); + plo.field_vec_ngram2 = SmallVec::new(); + plo.field_vec_ngram3 = SmallVec::new(); + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut plo.field_vec_ngram1, + &self.postings_buffer, + &mut read_pointer, + ); + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut plo.field_vec_ngram2, + &self.postings_buffer, + &mut read_pointer, + ); + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut plo.field_vec_ngram3, + &self.postings_buffer, + &mut read_pointer, + ); + } + } + + read_multifield_vec( + self.indexed_field_vec.len(), + self.indexed_field_id_bits, + self.indexed_field_id_mask, + self.longest_field_id, + &mut field_vec, + &self.postings_buffer, + &mut read_pointer, + ); + } else { + let field_id; + + if plo.p_docid < plo.pointer_pivot_p_docid as usize { + let rank_position_pointer = read_u16(&self.postings_buffer, read_pointer) as u32; + + match ( + self.indexed_field_vec.len() == 1, + rank_position_pointer >> 12, + ) { + (true, 0b1000..=0b1011) => { + if phrase_query { + plo.embedded_positions = + [rank_position_pointer & 0b00111111_11111111, 0, 0, 0]; + }; + field_vec.push((0, 1)); + } + (true, 0b1100..=0b1111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 7) & 0b00000000_01111111, + rank_position_pointer & 0b00000000_01111111, + 0, + 0, + ]; + }; + field_vec.push((0, 2)); + } + + (false, 0b1100 | 0b1101) => { + if phrase_query { + plo.embedded_positions = + [rank_position_pointer & 0b00011111_11111111, 0, 0, 0]; + }; + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 1)); + } + (false, 0b1110 | 0b1111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 7) & 0b00000000_00111111, + rank_position_pointer & 0b00000000_01111111, + 0, + 0, + ]; + }; + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 2)); + } + + (false, 0b1000) => { + let position_bits = 12 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer & ((1 << position_bits) - 1)), + 0, + 0, + 0, + ]; + }; + } + (false, 0b1001) => { + let position_bits = 12 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 2)); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b1010) => { + let position_bits = 12 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 3)); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b1011) => { + let position_bits = + 12 - self.indexed_field_id_bits - self.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + + (_, _) => { + if phrase_query { + println!("unsupported 2 byte pointer embedded"); + plo.embedded_positions = [0, 0, 0, 0] + }; + } + } + } else { + let rank_position_pointer = read_u32(&self.postings_buffer, read_pointer); + + match ( + self.indexed_field_vec.len() == 1, + (rank_position_pointer & 0b11111111_11111111_11111111) >> 19, + ) { + (true, 0b10000..=0b10011) => { + if phrase_query { + plo.embedded_positions = [ + rank_position_pointer & 0b00011111_11111111_11111111, + 0, + 0, + 0, + ]; + }; + field_vec.push((0, 1)); + } + (true, 0b10100..=0b10111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 11) & 0b00000000_00000011_11111111, + rank_position_pointer & 0b00000000_00000111_11111111, + 0, + 0, + ]; + }; + field_vec.push((0, 2)); + } + (true, 0b11000..=0b11011) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 14) & 0b00000000_00000000_01111111, + (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, + rank_position_pointer & 0b00000000_00000000_01111111, + 0, + ]; + }; + field_vec.push((0, 3)); + } + (true, 0b11100..=0b11111) => { + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 16) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 11) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 6) & 0b00000000_00000000_00011111, + rank_position_pointer & 0b00000000_00000000_00111111, + ]; + }; + field_vec.push((0, 4)); + } + + (false, 0b11000 | 0b11001) => { + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + rank_position_pointer & 0b00001111_11111111_11111111, + 0, + 0, + 0, + ]; + }; + } + (false, 0b11010 | 0b11011) => { + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 2)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 10) & 0b00000000_00000011_11111111, + rank_position_pointer & 0b00000000_00000011_11111111, + 0, + 0, + ]; + }; + } + (false, 0b11100 | 0b11101) => { + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 3)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 14) & 0b00000000_00000000_00111111, + (rank_position_pointer >> 7) & 0b00000000_00000000_01111111, + rank_position_pointer & 0b00000000_00000000_01111111, + 0, + ]; + }; + } + (false, 0b11110 | 0b11111) => { + field_id = self.longest_field_id as u16; + field_vec.push((field_id, 4)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer >> 15) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 10) & 0b00000000_00000000_00011111, + (rank_position_pointer >> 5) & 0b00000000_00000000_00011111, + rank_position_pointer & 0b00000000_00000000_00011111, + ]; + }; + } + + (false, 0b10000) => { + let position_bits = 19 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 1)); + if phrase_query { + plo.embedded_positions = [ + (rank_position_pointer & ((1 << position_bits) - 1)), + 0, + 0, + 0, + ]; + }; + } + + (false, 0b10001) => { + let position_bits = 19 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 2)); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b10010) => { + let position_bits = 19 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 3)); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10011) => { + let position_bits = 19 - self.indexed_field_id_bits; + field_id = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.push((field_id, 4)); + if phrase_query { + let position_bits_1 = position_bits >> 2; + let position_bits_2 = (position_bits - position_bits_1) / 3; + let position_bits_3 = + (position_bits - position_bits_1 - position_bits_2) >> 1; + let position_bits_4 = + position_bits - position_bits_1 - position_bits_2 - position_bits_3; + plo.embedded_positions = [ + ((rank_position_pointer + >> (position_bits_2 + position_bits_3 + position_bits_4)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> (position_bits_3 + position_bits_4)) + & ((1 << position_bits_2) - 1)), + ((rank_position_pointer >> position_bits_4) + & ((1 << position_bits_3) - 1)), + (rank_position_pointer & ((1 << position_bits_4) - 1)), + ]; + }; + } + (false, 0b10100) => { + let position_bits = + 19 - self.indexed_field_id_bits - self.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits >> 1; + let position_bits_2 = position_bits - position_bits_1; + plo.embedded_positions = [ + ((rank_position_pointer >> position_bits_2) + & ((1 << position_bits_1) - 1)), + (rank_position_pointer & ((1 << position_bits_2) - 1)), + 0, + 0, + ]; + }; + } + (false, 0b10101) => { + let position_bits = + 19 - self.indexed_field_id_bits - self.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 2)]); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10110) => { + let position_bits = + 19 - self.indexed_field_id_bits - self.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_2 = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 2), (field_id_2, 1)]); + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + (false, 0b10111) => { + let position_bits = 19 + - self.indexed_field_id_bits + - self.indexed_field_id_bits + - self.indexed_field_id_bits; + field_id = ((rank_position_pointer + >> (position_bits + + self.indexed_field_id_bits + + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_2 = ((rank_position_pointer + >> (position_bits + self.indexed_field_id_bits)) + & self.indexed_field_id_mask as u32) + as u16; + let field_id_3 = ((rank_position_pointer >> position_bits) + & self.indexed_field_id_mask as u32) + as u16; + field_vec.extend([(field_id, 1), (field_id_2, 1), (field_id_3, 1)]); + + if phrase_query { + let position_bits_1 = position_bits / 3; + let position_bits_2 = (position_bits - position_bits_1) >> 1; + let position_bits_3 = position_bits - position_bits_1 - position_bits_2; + plo.embedded_positions = [ + ((rank_position_pointer >> (position_bits_2 + position_bits_3)) + & ((1 << position_bits_1) - 1)), + ((rank_position_pointer >> position_bits_3) + & ((1 << position_bits_2) - 1)), + (rank_position_pointer & ((1 << position_bits_3) - 1)), + 0, + ]; + }; + } + + (_, _) => { + if phrase_query { + println!("unsupported 3 byte pointer embedded"); + plo.embedded_positions = [0, 0, 0, 0] + }; + } + } + }; + } + + plo.positions_count = field_vec[0].1 as u32; + plo.field_vec = field_vec; + plo.positions_pointer = read_pointer as u32; + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn intersection_docid_uncommitted( + self: &Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'_>], + query_list: &mut [PostingListObjectQuery<'_>], + not_query_list: &mut [PostingListObjectQuery<'_>], + block_id: usize, + result_count_arc: &Arc, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + phrase_query: bool, + ) { + let mut result_count = 0; + let t1 = 0; + let mut t2 = 1; + + query_list.sort_by(|x, y| x.posting_count.partial_cmp(&y.posting_count).unwrap()); + + for plo in query_list.iter_mut() { + plo.p_docid = 0; + self.get_next_docid_uncommitted(plo); + } + + 'outer: loop { + match query_list[t1].docid.cmp(&query_list[t2].docid) { + std::cmp::Ordering::Less => { + if t2 > 1 { + t2 = 1; + } + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].posting_count as usize { + break; + } + self.get_next_docid_uncommitted(&mut query_list[t1]); + } + std::cmp::Ordering::Greater => { + query_list[t2].p_docid += 1; + if query_list[t2].p_docid == query_list[t2].posting_count as usize { + break; + } + + self.get_next_docid_uncommitted(&mut query_list[t2]); + } + std::cmp::Ordering::Equal => { + if t2 + 1 < query_list.len() { + t2 += 1; + continue; + } + + add_result_multiterm_uncommitted( + self, + (block_id << 16) | query_list[t1].docid as usize, + &mut result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + phrase_query, + ); + + query_list[t1].p_docid += 1; + if query_list[t1].p_docid == query_list[t1].posting_count as usize { + break; + } + for item in query_list.iter_mut().skip(1) { + item.p_docid += 1; + if item.p_docid == item.posting_count as usize { + break 'outer; + } + self.get_next_docid_uncommitted(item); + } + + t2 = 1; + self.get_next_docid_uncommitted(&mut query_list[t1]); + } + } + } + + if result_type != &ResultType::Topk { + result_count_arc.fetch_add(result_count as usize, Ordering::Relaxed); + } + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn union_docid_uncommitted( + &self, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + block_id: usize, + result_count_arc: &Arc, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + ) { + let mut result_count: i32 = 0; + + if result_type == &ResultType::Count { + self.union_count_uncommitted(&mut result_count, query_list); + result_count_arc.fetch_add(result_count as usize, Ordering::Relaxed); + return; + } + + self.union_scan_uncommitted( + &mut result_count, + block_id, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + ); + + result_count_arc.fetch_add(result_count as usize, Ordering::Relaxed); + } + + pub(crate) fn union_count_uncommitted( + &self, + result_count: &mut i32, + query_list: &mut [PostingListObjectQuery], + ) { + query_list.sort_by(|a, b| b.posting_count.partial_cmp(&a.posting_count).unwrap()); + + let mut result_count_local = query_list[0].posting_count; + let mut bitmap_0: [u8; 8192] = [0u8; 8192]; + + for (i, item) in query_list.iter_mut().enumerate() { + if item.end_flag { + continue; + } + + if i == 0 { + for _p_docid in 0..item.posting_count { + self.get_next_docid_uncommitted(item); + let docid = item.docid as usize; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + bitmap_0[byte_index] |= 1 << bit_index; + } + } else { + for _p_docid in 0..item.posting_count { + self.get_next_docid_uncommitted(item); + let docid = item.docid as usize; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + if bitmap_0[byte_index] & (1 << bit_index) == 0 { + bitmap_0[byte_index] |= 1 << bit_index; + result_count_local += 1; + } + } + } + } + + *result_count += result_count_local as i32; + } + + #[allow(clippy::too_many_arguments)] + pub(crate) fn union_scan_uncommitted( + &self, + result_count: &mut i32, + block_id: usize, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + non_unique_query_list: &mut [NonUniquePostingListObjectQuery], + query_list: &mut [PostingListObjectQuery], + not_query_list: &mut [PostingListObjectQuery], + ) { + for plo in query_list.iter_mut() { + if !plo.end_flag { + self.get_next_docid_uncommitted(plo); + } + } + + loop { + let mut break_loop = true; + let mut docid_min = u16::MAX; + + for plo in query_list.iter_mut() { + if !plo.end_flag && (plo.docid as u16) < docid_min { + docid_min = plo.docid as u16; + } + } + + if result_type != &ResultType::Count { + let mut term_match_count = 0; + let mut term_index = 0; + for (i, plo) in query_list.iter_mut().enumerate() { + if !plo.end_flag && (plo.docid as u16 == docid_min) { + plo.bm25_flag = true; + term_match_count += 1; + term_index = i; + } else { + plo.bm25_flag = false; + } + } + + if term_match_count == 1 { + add_result_singleterm_uncommitted( + self, + (block_id << 16) | docid_min as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + &mut query_list[term_index], + not_query_list, + ); + if not_query_list.is_empty() && result_type != &ResultType::Topk { + *result_count += 1; + } + } else { + add_result_multiterm_uncommitted( + self, + (block_id << 16) | docid_min as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + false, + ); + } + } else { + *result_count += 1; + } + + for plo in query_list.iter_mut() { + if !plo.end_flag { + let doc_id = plo.docid as u16; + if doc_id == docid_min { + if plo.p_docid < plo.posting_count as usize - 1 { + plo.p_docid += 1; + self.get_next_docid_uncommitted(plo); + break_loop = false; + } else { + plo.end_flag = true; + } + } else { + break_loop = false; + } + } + } + + if break_loop { + break; + } + } + } +} diff --git a/mobile_app/rust/src/seekstorm/search.rs b/mobile_app/rust/src/seekstorm/search.rs new file mode 100644 index 0000000..7bc184c --- /dev/null +++ b/mobile_app/rust/src/seekstorm/search.rs @@ -0,0 +1,3243 @@ +use crate::geo_search::{decode_morton_2_d, point_distance_to_morton_range}; +use crate::index::{ + DOCUMENT_LENGTH_COMPRESSION, DistanceUnit, Facet, FieldType, NgramType, ResultFacet, Shard, + ShardArc, hash64, +}; +use crate::min_heap::{Result, result_ordering_root}; +use crate::tokenizer::{tokenizer, tokenizer_lite}; +use crate::union::{union_docid_2, union_docid_3}; +use crate::utils::{ + read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u8, read_u16, read_u32, + read_u64, +}; +use crate::{ + index::{ + AccessType, BlockObjectIndex, DUMMY_VEC, DUMMY_VEC_8, Index, IndexArc, + MAX_POSITIONS_PER_TERM, NonUniquePostingListObjectQuery, NonUniqueTermObject, + PostingListObjectIndex, PostingListObjectQuery, QueueObject, SPEEDUP_FLAG, SegmentIndex, + SimilarityType, TermObject, get_max_score, + }, + intersection::intersection_blockid, + min_heap::MinHeap, + single::single_blockid, + union::union_blockid, +}; + +use ahash::{AHashMap, AHashSet}; +use itertools::Itertools; +use num::FromPrimitive; +use serde::{Deserialize, Serialize}; +use smallvec::SmallVec; +use std::mem::discriminant; +use std::ops::Range; +use std::sync::{ + Arc, + atomic::{AtomicUsize, Ordering}, +}; +use std::{cmp, mem}; +use utoipa::ToSchema; + +use symspell_complete_rs::Suggestion; + +/// Specifies the default QueryType: The following query types are supported: +/// - **Union** (OR, disjunction), +/// - **Intersection** (AND, conjunction), +/// - **Phrase** (""), +/// - **Not** (-). +/// +/// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (+ - ""). +#[derive(Default, PartialEq, Clone, Debug, Serialize, Deserialize, ToSchema)] +pub enum QueryType { + /// Union (OR, disjunction) + #[default] + Union = 0, + /// Intersection (AND, conjunction) + Intersection = 1, + /// Phrase ("") + Phrase = 2, + /// Not (-) + Not = 3, +} + +/// Specifies whether query rewriting is enabled or disabled +#[derive(Default, PartialEq, Clone, Debug, Serialize, Deserialize, ToSchema)] +pub enum QueryRewriting { + /// Query rewriting disabled, returns query results for query as-is, returns no suggestions for corrected or completed query. + /// No performance overhead for spelling correction and suggestions. + #[default] + SearchOnly, + /// Query rewriting disabled, returns query results for original query string, returns suggestions for corrected or completed query. + /// Additional latency for spelling suggestions. + SearchSuggest { + /// Enable query correction, for queries with query string length >= threshold + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + correct: Option, + /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. + distance: usize, + /// Term length thresholds for each edit distance. + /// None: max_dictionary_edit_distance for all terms lengths + /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, + /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 + term_length_threshold: Option>, + /// Enable query completions, for queries with query string length >= threshold, in addition to spelling corrections + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + complete: Option, + /// An option to limit maximum number of returned suggestions. + length: Option, + }, + /// Query rewriting enabled, returns query results for spelling corrected or completed query string (=instant search), returns suggestions for corrected or completed query. + /// Additional latency for spelling correction and suggestions. + SearchRewrite { + /// Enable query correction, for queries with query string length >= threshold + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + correct: Option, + /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. + distance: usize, + /// Term length thresholds for each edit distance. + /// None: max_dictionary_edit_distance for all terms lengths + /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, + /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 + term_length_threshold: Option>, + /// Enable query completions, for queries with query string length >= threshold, in addition to spelling corrections + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + complete: Option, + /// An option to limit maximum number of returned suggestions. + length: Option, + }, + /// Search disabled, returns no query results, only returns suggestions for corrected or completed query. + SuggestOnly { + /// Enable query correction, for queries with query string length >= threshold + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + correct: Option, + /// The edit distance thresholds for suggestions: 1..2 recommended; higher values increase latency and memory consumption. + distance: usize, + /// Term length thresholds for each edit distance. + /// None: max_dictionary_edit_distance for all terms lengths + /// Some(\[4\]): max_dictionary_edit_distance for all terms lengths >= 4, + /// Some(\[2,8\]): max_dictionary_edit_distance for all terms lengths >=2, max_dictionary_edit_distance +1 for all terms for lengths>=8 + term_length_threshold: Option>, + /// Enable query completions, for queries with query string length >= threshold, in addition to spelling corrections + /// A minimum length of 2 is advised to prevent irrelevant suggestions and results. + complete: Option, + /// An option to limit maximum number of returned suggestions. + length: Option, + }, +} + +/// The following result types are supported: +/// - **Count** (count all results that match the query, but returning top-k results is not required) +/// - **Topk** (returns the top-k results per query, but counting all results that match the query is not required) +/// - **TopkCount** (returns the top-k results per query + count all results that match the query) +#[derive(Default, PartialEq, Clone, Debug, Serialize, Deserialize, ToSchema)] +pub enum ResultType { + /// Count all results that match the query, without returning top-k results + Count = 0, + /// Return the top-k results per query, without counting all results that match the query + Topk = 1, + /// Return the top-k results per query and count all results that match the query + #[default] + TopkCount = 2, +} + +pub(crate) struct SearchResult<'a> { + pub topk_candidates: MinHeap<'a>, + pub query_facets: Vec, + pub skip_facet_count: bool, +} + +/// Contains the results returned when searching the index. +#[derive(Default, Debug, Deserialize, Serialize, Clone)] +pub struct ResultObject { + /// Search query string + pub original_query: String, + /// Search query string after any automatic query correction or completion + pub query: String, + /// Vector of search query terms. Can be used e.g. for custom highlighting. + pub query_terms: Vec, + /// Number of returned search results. Identical to results.len() + pub result_count: usize, + + /// Total number of search results that match the query + /// result_count_total is only accurate if result_type=TopkCount or ResultType=Count, but not for ResultType=Topk + pub result_count_total: usize, + + /// List of search results: doc ID and BM25 score + pub results: Vec, + /// List of facet fields: field name and vector of unique values and their counts. + /// Unique values and their counts are only accurate if result_type=TopkCount or ResultType=Count, but not for ResultType=Topk + pub facets: AHashMap, + ///Suggestions for auto complete and spelling correction. + pub suggestions: Vec, +} + +/// specifies how to count the frequency of numerical facet field values +#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq, ToSchema)] +pub enum RangeType { + /// within the specified range + #[default] + CountWithinRange, + /// within the range and all ranges above + CountAboveRange, + /// within the range and all ranges below + CountBelowRange, +} + +/// Defines the query facets: +/// - string facet field values +/// - range segments for numerical facet field values +#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq, ToSchema)] +pub enum QueryFacet { + /// Range segment definition for numerical facet field values of type u8 + U8 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, u8)>, + }, + /// Range segment definition for numerical facet field values of type u16 + U16 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, u16)>, + }, + /// Range segment definition for numerical facet field values of type u32 + U32 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, u32)>, + }, + /// Range segment definition for numerical facet field values of type u64 + U64 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, u64)>, + }, + /// Range segment definition for numerical facet field values of type i8 + I8 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, i8)>, + }, + /// Range segment definition for numerical facet field values of type i16 + I16 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, i16)>, + }, + /// Range segment definition for numerical facet field values of type i32 + I32 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, i32)>, + }, + /// Range segment definition for numerical facet field values of type i64 + I64 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, i64)>, + }, + /// Range segment definition for numerical facet field values of type Unix timestamp + Timestamp { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, i64)>, + }, + /// Range segment definition for numerical facet field values of type f32 + F32 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, f32)>, + }, + /// Range segment definition for numerical facet field values of type f64 + F64 { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, f64)>, + }, + /// Facet field values of type string + String16 { + /// field name + field: String, + /// Prefix filter of facet values to return + prefix: String, + /// maximum number of facet values to return + length: u16, + }, + /// Facet field values of type string + String32 { + /// field name + field: String, + /// Prefix filter of facet values to return + prefix: String, + /// maximum number of facet values to return + length: u32, + }, + /// Facet field values of type string set + StringSet16 { + /// field name + field: String, + /// Prefix filter of facet values to return + prefix: String, + /// maximum number of facet values to return + length: u16, + }, + /// Facet field values of type string set + StringSet32 { + /// field name + field: String, + /// Prefix filter of facet values to return + prefix: String, + /// maximum number of facet values to return + length: u32, + }, + /// Range segment definition for numerical facet field values of type Point (distance between base of type Point and facet field of type Point) + Point { + /// field name + field: String, + /// range type (CountWithinRange,CountBelowRange,CountAboveRange) + range_type: RangeType, + /// range label, range start + ranges: Vec<(String, f64)>, + /// base point (latitude/lat, longitude/lon) + base: Point, + /// distance unit (kilometers/miles) + unit: DistanceUnit, + }, + /// No query facet + #[default] + None, +} + +/// Defines the range segments for numerical facet field values +#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq)] +pub enum Ranges { + /// U8 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + U8(RangeType, Vec<(String, u8)>), + /// U16 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + U16(RangeType, Vec<(String, u16)>), + /// U32 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + U32(RangeType, Vec<(String, u32)>), + /// U64 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + U64(RangeType, Vec<(String, u64)>), + /// I8 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + I8(RangeType, Vec<(String, i8)>), + /// I16 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + I16(RangeType, Vec<(String, i16)>), + /// I32 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + I32(RangeType, Vec<(String, i32)>), + /// I64 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + I64(RangeType, Vec<(String, i64)>), + /// Unix timestamp (number of seconds since 1 January 1970) range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + Timestamp(RangeType, Vec<(String, i64)>), + /// F32 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + F32(RangeType, Vec<(String, f32)>), + /// F64 range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, range start + F64(RangeType, Vec<(String, f64)>), + /// Proximity range filter: range type (CountWithinRange,CountBelowRange,CountAboveRange), range label, base point (longitude/lon, latitude/lat), distance unit + Point(RangeType, Vec<(String, f64)>, Point, DistanceUnit), + #[default] + /// No range filter + None, +} + +/// FacetValue: Facet field value types +#[derive(Clone, PartialEq, Serialize, Deserialize, ToSchema)] +pub enum FacetValue { + /// Boolean value + Bool(bool), + /// Unsigned 8-bit integer + U8(u8), + /// Unsigned 16-bit integer + U16(u16), + /// Unsigned 32-bit integer + U32(u32), + /// Unsigned 64-bit integer + U64(u64), + /// Signed 8-bit integer + I8(i8), + /// Signed 16-bit integer + I16(i16), + /// Signed 32-bit integer + I32(i32), + /// Signed 64-bit integer + I64(i64), + /// Unix timestamp: the number of seconds since 1 January 1970 + Timestamp(i64), + /// 32-bit floating point number + F32(f32), + /// 64-bit floating point number + F64(f64), + /// String value + String(String), + /// String set value + StringSet(Vec), + /// Point value: latitude/lat, longitude/lon + Point(Point), + /// No value + None, +} + +impl Index { + /// get_facet_value: Returns value from facet field for a doc_id even if schema stored=false (field not stored in document JSON). + /// Facet fields are more compact than fields stored in document JSON. + /// Strings are stored more compact as indices to a unique term dictionary. Numbers are stored binary, not as strings. + /// Facet fields are faster because no document loading, decompression and JSON decoding is required. + /// Facet fields are always memory mapped, internally always stored with fixed byte length layout, regardless of string size. + #[inline] + pub async fn get_facet_value(self: &Index, field: &str, doc_id: usize) -> FacetValue { + let shard_id = doc_id & ((1 << self.shard_bits) - 1); + let doc_id = doc_id >> self.shard_bits; + self.shard_vec[shard_id] + .read() + .await + .get_facet_value_shard(field, doc_id) + } +} + +impl Shard { + #[inline] + pub(crate) fn get_facet_value_shard(self: &Shard, field: &str, doc_id: usize) -> FacetValue { + if let Some(field_idx) = self.facets_map.get(field) { + match &self.facets[*field_idx].field_type { + FieldType::U8 => { + let facet_value = &self.facets_file_mmap + [(self.facets_size_sum * doc_id) + self.facets[*field_idx].offset]; + FacetValue::U8(*facet_value) + } + FieldType::U16 => { + let facet_value = read_u16( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::U16(facet_value) + } + FieldType::U32 => { + let facet_value = read_u32( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::U32(facet_value) + } + FieldType::U64 => { + let facet_value = read_u64( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::U64(facet_value) + } + FieldType::I8 => { + let facet_value = read_i8( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::I8(facet_value) + } + FieldType::I16 => { + let facet_value = read_i16( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::I16(facet_value) + } + FieldType::I32 => { + let facet_value = read_i32( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::I32(facet_value) + } + FieldType::I64 => { + let facet_value = read_i64( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::I64(facet_value) + } + FieldType::Timestamp => { + let facet_value = read_i64( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::Timestamp(facet_value) + } + FieldType::F32 => { + let facet_value = read_f32( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::F32(facet_value) + } + FieldType::F64 => { + let facet_value = read_f64( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + FacetValue::F64(facet_value) + } + + FieldType::String16 => { + let facet_id = read_u16( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + + let facet_value = self.facets[*field_idx] + .values + .get_index((facet_id).into()) + .unwrap(); + + FacetValue::String(facet_value.1.0[0].clone()) + } + + FieldType::StringSet16 => { + let facet_id = read_u16( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + + let facet_value = self.facets[*field_idx] + .values + .get_index((facet_id).into()) + .unwrap(); + + FacetValue::StringSet(facet_value.1.0.clone()) + } + + FieldType::String32 => { + let facet_id = read_u32( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + + let facet_value = self.facets[*field_idx] + .values + .get_index(facet_id as usize) + .unwrap(); + + FacetValue::String(facet_value.1.0[0].clone()) + } + + FieldType::StringSet32 => { + let facet_id = read_u32( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + + let facet_value = self.facets[*field_idx] + .values + .get_index(facet_id as usize) + .unwrap(); + + FacetValue::StringSet(facet_value.1.0.clone()) + } + + FieldType::Point => { + let code = read_u64( + &self.facets_file_mmap, + (self.facets_size_sum * doc_id) + self.facets[*field_idx].offset, + ); + + let x = decode_morton_2_d(code); + + FacetValue::Point(x.clone()) + } + + _ => FacetValue::None, + } + } else { + FacetValue::None + } + } +} + +/// U8 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeU8 { + /// range start + pub start: u8, + /// range end + pub end: u8, +} + +/// U16 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeU16 { + /// range start + pub start: u16, + /// range end + pub end: u16, +} + +/// U32 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeU32 { + /// range start + pub start: u32, + /// range end + pub end: u32, +} + +/// U64 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeU64 { + /// range start + pub start: u64, + /// range end + pub end: u64, +} + +/// I8 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeI8 { + /// range start + pub start: i8, + /// range end + pub end: i8, +} + +/// I16 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeI16 { + /// range start + pub start: i16, + /// range end + pub end: i16, +} + +/// I32 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeI32 { + /// range start + pub start: i32, + /// range end + pub end: i32, +} + +/// I64 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeI64 { + /// range start + pub start: i64, + /// range end + pub end: i64, +} + +/// F32 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeF32 { + /// range start + pub start: f32, + /// range end + pub end: f32, +} + +/// F64 range filter +#[allow(dead_code)] +#[derive(ToSchema)] +pub struct RangeF64 { + /// range start + pub start: f64, + /// range end + pub end: f64, +} + +/// FacetFilter: +/// either numerical range facet filter (range start/end) or +/// string facet filter (vector of strings) at least one (boolean OR) must match. +#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ToSchema)] +pub enum FacetFilter { + /// U8 range filter + U8 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeU8)] + filter: Range, + }, + /// U16 range filter + U16 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeU16)] + filter: Range, + }, + /// U32 range filter + U32 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeU32)] + filter: Range, + }, + /// U64 range filter + U64 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeU64)] + filter: Range, + }, + /// I8 range filter + I8 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeI8)] + filter: Range, + }, + /// I16 range filter + I16 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeI16)] + filter: Range, + }, + /// I32 range filter + I32 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeI32)] + filter: Range, + }, + /// I64 range filter + I64 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeI64)] + filter: Range, + }, + /// Timestamp range filter, Unix timestamp: the number of seconds since 1 January 1970 + Timestamp { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeI64)] + filter: Range, + }, + /// F32 range filter + F32 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeF32)] + filter: Range, + }, + /// F64 range filter + F64 { + /// field name + field: String, + /// filter: range start, range end + #[schema(value_type=RangeF64)] + filter: Range, + }, + /// String16 filter + String16 { + /// field name + field: String, + /// filter: array of facet string values + filter: Vec, + }, + /// StringSet16 filter + StringSet16 { + /// field name + field: String, + /// filter: array of facet string values + filter: Vec, + }, + /// String32 filter + String32 { + /// field name + field: String, + /// filter: array of facet string values + filter: Vec, + }, + /// StringSet32 filter + StringSet32 { + /// field name + field: String, + /// filter: array of facet string values + filter: Vec, + }, + /// Point proximity range filter + Point { + /// field name + field: String, + /// filter: base point (latitude/lat, longitude/lon), proximity range start, proximity range end, distance unit + #[schema(value_type=(Point, RangeF64, DistanceUnit))] + filter: (Point, Range, DistanceUnit), + }, +} + +#[derive(Debug, Clone, Deserialize, Serialize, Default, PartialEq)] +pub(crate) enum FilterSparse { + U8(Range), + U16(Range), + U32(Range), + U64(Range), + I8(Range), + I16(Range), + I32(Range), + I64(Range), + /// Unix timestamp: the number of seconds since 1 January 1970 + Timestamp(Range), + F32(Range), + F64(Range), + String16(Vec), + String32(Vec), + Point(Point, Range, DistanceUnit, Range), + #[default] + None, +} + +/// Specifies the sort order for the search results. +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq, ToSchema)] +pub enum SortOrder { + /// Ascending sort order + Ascending = 0, + /// Descending sort order + Descending = 1, +} + +/// Specifies the sort order for the search results. +#[derive(Clone, Deserialize, Serialize, ToSchema)] +pub struct ResultSort { + /// name of the facet field to sort by + pub field: String, + /// Sort order: Ascending or Descending + pub order: SortOrder, + /// Base value/point for (geo) proximity sorting + pub base: FacetValue, +} + +/// Specifies the sort order for the search results. +#[derive(Clone, Serialize)] +pub(crate) struct ResultSortIndex<'a> { + /// Index/ID of the facet field to sort by + pub idx: usize, + /// Sort order: Ascending or Descending + pub order: SortOrder, + /// Base value/point for (geo) proximity sorting + pub base: &'a FacetValue, +} + +/// latitude lat +/// longitude lon +pub type Point = Vec; + +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +/// Search the index for all indexed documents, both for committed and uncommitted documents. +/// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. +/// Arguments: +/// * `query_string`: query string `+` `-` `""` search operators are recognized. +/// * `query_type_default`: Specifiy default QueryType: +/// * **Union**, disjunction, OR, +/// * **Intersection**, conjunction, AND, `+`, +/// * **Phrase** `""`, +/// * **Not**, except, minus `-`. +/// +/// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (`+` `-` `""`). +/// +/// Boolean queries are specified in the search method either via the query_type parameter or via operator chars within the query parameter. +/// The interpretation of operator chars within the query string (set `query_type=QueryType::Union`) allows to specify advanced search operations via a simple search box. +/// +/// Intersection, AND `+` +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Union; +/// let query_string="+red +apple".to_string(); +/// ``` +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Intersection; +/// let query_string="red apple".to_string(); +/// ``` +/// Union, OR +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Union; +/// let query_string="red apple".to_string(); +/// ``` +/// Phrase `""` +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Union; +/// let query_string="\"red apple\"".to_string(); +/// ``` +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Phrase; +/// let query_string="red apple".to_string(); +/// ``` +/// Except, minus, NOT `-` +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Union; +/// let query_string="apple -red".to_string(); +/// ``` +/// Mixed phrase and intersection +/// ```rust ,no_run +/// use seekstorm::search::QueryType; +/// let query_type=QueryType::Union; +/// let query_string="+\"the who\" +uk".to_string(); +/// ``` +/// * `offset`: offset of search results to return. +/// * `length`: number of search results to return. +/// With length=0, resultType::TopkCount will be automatically downgraded to resultType::Count, returning the number of results only, without returning the results itself. +/// * `result_type`: type of search results to return: Count, Topk, TopkCount. +/// * `include_uncommited`: true realtime search: include indexed documents which where not yet committed into search results. +/// * `field_filter`: Specify field names where to search at querytime, whereas SchemaField.indexed is set at indextime. If set to Vec::new() then all indexed fields are searched. +/// * `query_facets`: Must be set if facets should be returned in ResultObject. If set to Vec::new() then no facet fields are returned. +/// Facet fields are only collected, counted and returned for ResultType::Count and ResultType::TopkCount, but not for ResultType::Topk. +/// The prefix property of a QueryFacet allows at query time to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. +/// The length property of a QueryFacet allows at query time limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. +/// If the length property of a QueryFacet is set to 0 then no facet values for that facet are collected, counted and returned at query time. That decreases the query latency significantly. +/// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. +/// Examples: +/// query_facets = vec![QueryFacet::String16 {field: "language".into(),prefix: "ger".into(),length: 5},QueryFacet::String16 {field: "brand".into(),prefix: "a".into(),length: 5}]; +/// query_facets = vec![QueryFacet::U8 {field: "age".into(), range_type: RangeType::CountWithinRange, ranges: vec![("0-20".into(), 0),("20-40".into(), 20), ("40-60".into(), 40),("60-80".into(), 60), ("80-100".into(), 80)]}]; +/// query_facets = vec![QueryFacet::Point {field: "location".into(),base:vec![38.8951, -77.0364],unit:DistanceUnit::Kilometers,range_type: RangeType::CountWithinRange,ranges: vec![ ("0-200".into(), 0.0),("200-400".into(), 200.0), ("400-600".into(), 400.0), ("600-800".into(), 600.0), ("800-1000".into(), 800.0)]}]; +/// * `facet_filter`: Search results are filtered to documents matching specific string values or numerical ranges in the facet fields. If set to Vec::new() then result are not facet filtered. +/// The filter parameter filters the returned results to those documents both matching the query AND matching for all (boolean AND) stated facet filter fields at least one (boolean OR) of the stated values. +/// If the query is changed then both facet counts and search results are changed. If the facet filter is changed then only the search results are changed, while facet counts remain unchanged. +/// The facet counts depend only from the query and not which facet filters are selected. +/// Examples: +/// facet_filter=vec![FacetFilter::String{field:"language".into(),filter:vec!["german".into()]},FacetFilter::String{field:"brand".into(),filter:vec!["apple".into(),"google".into()]}]; +/// facet_filter=vec![FacetFilter::U8{field:"age".into(),filter: 21..65}]; +/// facet_filter = vec![FacetFilter::Point {field: "location".into(),filter: (vec![38.8951, -77.0364], 0.0..1000.0, DistanceUnit::Kilometers)}]; +/// * `result_sort`: Sort field and order: Search results are sorted by the specified facet field, either in ascending or descending order. +/// If no sort field is specified, then the search results are sorted by rank in descending order per default. +/// Multiple sort fields are combined by a "sort by, then sort by"-method ("tie-breaking"-algorithm). +/// The results are sorted by the first field, and only for those results where the first field value is identical (tie) the results are sub-sorted by the second field, +/// until the n-th field value is either not equal or the last field is reached. +/// A special _score field (BM25x), reflecting how relevant the result is for a given search query (phrase match, match in title etc.) can be combined with any of the other sort fields as primary, secondary or n-th search criterium. +/// Sort is only enabled on facet fields that are defined in schema at create_index! +/// Examples: +/// result_sort = vec![ResultSort {field: "price".into(), order: SortOrder::Descending, base: FacetValue::None},ResultSort {field: "language".into(), order: SortOrder::Ascending, base: FacetValue::None}]; +/// result_sort = vec![ResultSort {field: "location".into(),order: SortOrder::Ascending, base: FacetValue::Point(vec![38.8951, -77.0364])}]; +/// +/// If query_string is empty, then index facets (collected at index time) are returned, otherwise query facets (collected at query time) are returned. +/// Facets are defined in 3 different places: +/// the facet fields are defined in schema at create_index, +/// the facet field values are set in index_document at index time, +/// the query_facets/facet_filter search parameters are specified at query time. +/// Facets are then returned in the search result object. +pub trait Search { + /// Search the index for all indexed documents, both for committed and uncommitted documents. + /// The latter enables true realtime search: documents are available for search in exact the same millisecond they are indexed. + /// Arguments: + /// * `query_string`: query string `+` `-` `""` search operators are recognized. + /// * `query_type_default`: Specifiy default QueryType: + /// * **Union**, disjunction, OR, + /// * **Intersection**, conjunction, AND, `+`, + /// * **Phrase** `""`, + /// * **Not**, except, minus `-`. + /// + /// The default QueryType is superseded if the query parser detects that a different query type is specified within the query string (`+` `-` `""`). + /// + /// Boolean queries are specified in the search method either via the query_type parameter or via operator chars within the query parameter. + /// The interpretation of operator chars within the query string (set `query_type=QueryType::Union`) allows to specify advanced search operations via a simple search box. + /// + /// Intersection, AND `+` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="+red +apple".to_string(); + /// ``` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Intersection; + /// let query_string="red apple".to_string(); + /// ``` + /// Union, OR + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="red apple".to_string(); + /// ``` + /// Phrase `""` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="\"red apple\"".to_string(); + /// ``` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Phrase; + /// let query_string="red apple".to_string(); + /// ``` + /// Except, minus, NOT `-` + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="apple -red".to_string(); + /// ``` + /// Mixed phrase and intersection + /// ```rust ,no_run + /// use seekstorm::search::QueryType; + /// let query_type=QueryType::Union; + /// let query_string="+\"the who\" +uk".to_string(); + /// ``` + /// * `offset`: offset of search results to return. + /// * `length`: number of search results to return. + /// With length=0, resultType::TopkCount will be automatically downgraded to resultType::Count, returning the number of results only, without returning the results itself. + /// * `result_type`: type of search results to return: Count, Topk, TopkCount. + /// * `include_uncommited`: true realtime search: include indexed documents which where not yet committed into search results. + /// * `field_filter`: Specify field names where to search at querytime, whereas SchemaField.indexed is set at indextime. If set to Vec::new() then all indexed fields are searched. + /// * `query_facets`: Must be set if facets should be returned in ResultObject. If set to Vec::new() then no facet fields are returned. + /// Facet fields are only collected, counted and returned for ResultType::Count and ResultType::TopkCount, but not for ResultType::Topk. + /// The prefix property of a QueryFacet allows at query time to filter the returned facet values to those matching a given prefix, if there are too many distinct values per facet field. + /// The length property of a QueryFacet allows at query time limiting the number of returned distinct values per facet field, if there are too many distinct values. The QueryFacet can be used to improve the usability in an UI. + /// If the length property of a QueryFacet is set to 0 then no facet values for that facet are collected, counted and returned at query time. That decreases the query latency significantly. + /// The facet values are sorted by the frequency of the appearance of the value within the indexed documents matching the query in descending order. + /// Examples: + /// query_facets = vec![QueryFacet::String16 {field: "language".into(),prefix: "ger".into(),length: 5},QueryFacet::String16 {field: "brand".into(),prefix: "a".into(),length: 5}]; + /// query_facets = vec![QueryFacet::U8 {field: "age".into(), range_type: RangeType::CountWithinRange, ranges: vec![("0-20".into(), 0),("20-40".into(), 20), ("40-60".into(), 40),("60-80".into(), 60), ("80-100".into(), 80)]}]; + /// query_facets = vec![QueryFacet::Point {field: "location".into(),base:vec![38.8951, -77.0364],unit:DistanceUnit::Kilometers,range_type: RangeType::CountWithinRange,ranges: vec![ ("0-200".into(), 0.0),("200-400".into(), 200.0), ("400-600".into(), 400.0), ("600-800".into(), 600.0), ("800-1000".into(), 800.0)]}]; + /// * `facet_filter`: Search results are filtered to documents matching specific string values or numerical ranges in the facet fields. If set to Vec::new() then result are not facet filtered. + /// The filter parameter filters the returned results to those documents both matching the query AND matching for all (boolean AND) stated facet filter fields at least one (boolean OR) of the stated values. + /// If the query is changed then both facet counts and search results are changed. If the facet filter is changed then only the search results are changed, while facet counts remain unchanged. + /// The facet counts depend only from the query and not which facet filters are selected. + /// Examples: + /// facet_filter=vec![FacetFilter::String{field:"language".into(),filter:vec!["german".into()]},FacetFilter::String{field:"brand".into(),filter:vec!["apple".into(),"google".into()]}]; + /// facet_filter=vec![FacetFilter::U8{field:"age".into(),filter: 21..65}]; + /// facet_filter = vec![FacetFilter::Point {field: "location".into(),filter: (vec![38.8951, -77.0364], 0.0..1000.0, DistanceUnit::Kilometers)}]; + /// * `result_sort`: Sort field and order: Search results are sorted by the specified facet field, either in ascending or descending order. + /// If no sort field is specified, then the search results are sorted by rank in descending order per default. + /// Multiple sort fields are combined by a "sort by, then sort by"-method ("tie-breaking"-algorithm). + /// The results are sorted by the first field, and only for those results where the first field value is identical (tie) the results are sub-sorted by the second field, + /// until the n-th field value is either not equal or the last field is reached. + /// A special _score field (BM25x), reflecting how relevant the result is for a given search query (phrase match, match in title etc.) can be combined with any of the other sort fields as primary, secondary or n-th search criterium. + /// Sort is only enabled on facet fields that are defined in schema at create_index! + /// Examples: + /// result_sort = vec![ResultSort {field: "price".into(), order: SortOrder::Descending, base: FacetValue::None},ResultSort {field: "language".into(), order: SortOrder::Ascending, base: FacetValue::None}]; + /// result_sort = vec![ResultSort {field: "location".into(),order: SortOrder::Ascending, base: FacetValue::Point(vec![38.8951, -77.0364])}]; + /// * `query_rewriting`: Enables query rewriting features such as spelling correction and query auto-completion (QAC). + /// The spelling correction of multi-term query strings handles three cases: + /// 1. mistakenly inserted space into a correct term led to two incorrect terms: `hels inki` -> `helsinki` + /// 2. mistakenly omitted space between two correct terms led to one incorrect combined term: `modernart` -> `modern art` + /// 3. multiple independent input terms with/without spelling errors: `cinese indastrialication` -> `chinese industrialization` + /// + /// Query correction/completion supports phrases "", but is disabled, if +- operators are used, or if a opening quote is used after the first term, or if a closing quote is used before the last term. + /// See QueryRewriting enum for details. + /// ⚠️ In addition to setting the query_rewriting parameter per query, the incremental creation of the Symspell dictionary during the indexing of documents has to be enabled via the create_index parameter `meta.spelling_correction`. + /// + /// Facets: + /// If query_string is empty, then index facets (collected at index time) are returned, otherwise query facets (collected at query time) are returned. + /// Facets are defined in 3 different places: + /// the facet fields are defined in schema at create_index, + /// the facet field values are set in index_document at index time, + /// the query_facets/facet_filter search parameters are specified at query time. + /// Facets are then returned in the search result object. + async fn search( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + result_type: ResultType, + include_uncommited: bool, + field_filter: Vec, + query_facets: Vec, + facet_filter: Vec, + result_sort: Vec, + query_rewriting: QueryRewriting, + ) -> ResultObject; +} + +impl Search for IndexArc { + async fn search( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + result_type: ResultType, + include_uncommited: bool, + field_filter: Vec, + query_facets: Vec, + facet_filter: Vec, + result_sort: Vec, + query_rewriting: QueryRewriting, + ) -> ResultObject { + let index_ref = self.read().await; + let original_query = query_string.clone(); + + let (edit_distance_max, term_length_threshold, correct, complete, suggestion_length) = + match &query_rewriting { + QueryRewriting::SearchSuggest { + distance, + term_length_threshold, + correct, + complete, + length, + } => (distance, term_length_threshold, correct, complete, length), + QueryRewriting::SuggestOnly { + distance, + term_length_threshold, + correct, + complete, + length, + } => (distance, term_length_threshold, correct, complete, length), + QueryRewriting::SearchRewrite { + distance, + term_length_threshold, + correct, + complete, + length, + } => (distance, term_length_threshold, correct, complete, length), + _ => (&0, &None, &None, &None, &None), + }; + + let (query_string, suggestions) = if correct.is_some() || complete.is_some() { + let mut query_string = query_string; + let mut allow_loop = true; + let mut previous_qac: Option<(String, Vec)> = None; + loop { + let shard = index_ref.shard_vec[0].read().await; + let query_terms = tokenizer_lite(&query_string, &index_ref.meta.tokenizer, &shard); + drop(shard); + + let qac = if !query_terms.is_empty() { + let query_terms_vec: Vec = + query_terms.iter().map(|s| s.0.to_string()).collect(); + + let suffix = if query_string.ends_with(" ") { " " } else { "" }; + let (query_terms_prefix, query_terms_str) = if query_terms.len() + suffix.len() + > 3 + { + ( + query_terms_vec[..query_terms.len() - 3 + suffix.len()].join(" ") + " ", + query_terms_vec[query_terms.len() - 3 + suffix.len()..].join(" ") + + suffix, + ) + } else { + (String::new(), query_terms_vec.join(" ") + suffix) + }; + let is_phrase = + !query_terms.is_empty() && query_terms[0].1 == QueryType::Phrase; + + let qac: Option<(String, Vec)> = if let Some(completion_option) = + index_ref.completion_option.as_ref() + && complete.is_some() + && query_string.len() >= complete.unwrap() + && query_rewriting != QueryRewriting::SearchOnly + { + let trie = completion_option.read().await; + let completions = + trie.lookup_completions(&query_terms_str, suggestion_length.to_owned()); + + if completions.is_empty() { + previous_qac.clone() + } else { + let mut suggestions: Vec = Vec::new(); + for qc in completions.iter() { + suggestions.push(Suggestion { + term: if is_phrase { + ["\"", &query_terms_prefix, &qc.term, "\""].join("") + } else { + [query_terms_prefix.as_str(), &qc.term].join("") + }, + distance: qc.term.len() - query_string.len(), + count: *qc.count, + }); + } + + if let Some(suggestion_length) = suggestion_length.as_ref() + && suggestions.len() < *suggestion_length + && query_terms.len() >= 2 + { + let mut position = 0; + let mut completion_term_vec = Vec::new(); + for (i, completion) in completions.iter().enumerate() { + completion_term_vec = + completion.term.split(" ").collect::>(); + if completion_term_vec.len() >= 3 { + position = i + 1; + break; + } + } + + if completion_term_vec.len() >= 3 { + let completion_term_str = + completion_term_vec[1..].join(" ") + " "; + let additional_completions = trie.lookup_completions( + &completion_term_str, + Some(suggestion_length - suggestions.len() + 5), + ); + + let query_terms_prefix = query_terms_vec[..query_terms.len() + - if query_terms.len() == 2 { 1 } else { 2 }] + .join(" ") + + " "; + + let mut j = 0; + for qc in additional_completions.iter() { + if let Some(p) = qc.term.rfind(' ') + && p + 1 < qc.term.len() + { + let suffix = qc.term[p + 1..].to_string(); + let hash = hash64(suffix.as_bytes()); + if index_ref.frequent_hashset.contains(&hash) { + continue; + } + }; + + suggestions.insert( + position + j, + Suggestion { + term: if is_phrase { + ["\"", &query_terms_prefix, &qc.term, "\""] + .join("") + } else { + [query_terms_prefix.as_str(), &qc.term].join("") + }, + distance: qc.term.len() - query_string.len(), + count: *qc.count, + }, + ); + + j += 1; + + if suggestions.len() >= *suggestion_length { + break; + } + } + } + } + + let completed_query = suggestions[0].term.to_string(); + + Some((completed_query, suggestions)) + } + } else { + previous_qac.clone() + }; + + let qac: Option<(String, Vec)> = if let Some(symspell) = + &index_ref.symspell_option + && correct.is_some() + && query_string.len() >= correct.unwrap() + && query_rewriting != QueryRewriting::SearchOnly + && qac.is_none() + && allow_loop + { + if let Ok(symspell) = symspell.try_read() + && (term_length_threshold.is_none() + || term_length_threshold.as_ref().unwrap().is_empty() + || query_string.len() >= term_length_threshold.as_ref().unwrap()[0]) + { + let mut corrections = symspell.lookup_compound_vec( + &query_terms_vec, + edit_distance_max.to_owned(), + term_length_threshold, + false, + ); + + if corrections.is_empty() { + None + } else { + if is_phrase { + for suggestion in corrections.iter_mut() { + suggestion.term = ["\"", &suggestion.term, "\""].join(""); + } + } + + query_string = corrections[0].term.clone(); + allow_loop = false; + previous_qac = Some((corrections[0].term.clone(), corrections)); + continue; + } + } else { + None + } + } else { + qac + }; + + if let Some((corrected_query, suggestions)) = qac { + if discriminant(&query_rewriting) + == discriminant(&QueryRewriting::SearchRewrite { + distance: 0, + term_length_threshold: None, + correct: None, + complete: None, + length: None, + }) + { + (corrected_query, Some(suggestions)) + } else { + (query_string, Some(suggestions)) + } + } else { + (query_string, None) + } + } else { + (query_string, None) + }; + + break qac; + } + } else { + (query_string, None) + }; + + if discriminant(&query_rewriting) + == discriminant(&QueryRewriting::SuggestOnly { + distance: 0, + term_length_threshold: None, + correct: None, + complete: None, + length: None, + }) + { + let mut result_object = ResultObject { + original_query, + query: query_string.clone(), + ..Default::default() + }; + if let Some(suggestions) = suggestions.as_ref() { + result_object.suggestions = suggestions.iter().map(|s| s.term.clone()).collect(); + } + return result_object; + } + + if index_ref.shard_vec.len() == 1 { + let mut result_object = index_ref.shard_vec[0] + .search_shard( + query_string.clone(), + query_type_default, + offset, + length, + result_type, + include_uncommited, + field_filter, + query_facets, + facet_filter, + result_sort, + ) + .await; + result_object.original_query = original_query; + result_object.query = query_string.clone(); + if let Some(suggestions) = suggestions.as_ref() { + result_object.suggestions = suggestions.iter().map(|s| s.term.clone()).collect(); + } + return result_object; + } + + let mut result_object_list = Vec::new(); + let shard_bits = index_ref.shard_bits; + let aggregate_results = result_type != ResultType::Count; + + for shard in index_ref.shard_vec.iter() { + let query_string_clone = query_string.clone(); + let shard_clone = shard.clone(); + let query_type_clone = query_type_default.clone(); + let result_type_clone = result_type.clone(); + let field_filter_clone = field_filter.clone(); + let query_facets_clone = query_facets.clone(); + let facet_filter_clone = facet_filter.clone(); + let result_sort_clone = result_sort.clone(); + let shard_id = shard.read().await.meta.id; + + result_object_list.push(tokio::spawn(async move { + let mut rlo = shard_clone + .search_shard( + query_string_clone, + query_type_clone, + 0, + offset + length, + result_type_clone, + include_uncommited, + field_filter_clone, + query_facets_clone, + facet_filter_clone, + result_sort_clone, + ) + .await; + + if aggregate_results { + for result in rlo.results.iter_mut() { + result.doc_id = (result.doc_id << shard_bits) | shard_id as usize; + } + } + + rlo + })); + } + + let mut result_object: ResultObject = Default::default(); + + let mut result_facets: AHashMap, u32)> = AHashMap::new(); + if result_type != ResultType::Topk { + for query_facet in query_facets.iter() { + match query_facet { + QueryFacet::String16 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); + } + QueryFacet::StringSet16 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length as u32)); + } + QueryFacet::String32 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length)); + } + QueryFacet::StringSet32 { + field, + prefix: _, + length, + } => { + result_facets.insert(field.into(), (AHashMap::new(), *length)); + } + QueryFacet::Timestamp { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + + QueryFacet::U8 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::U16 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::U32 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::U64 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::I8 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::I16 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::I32 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::I64 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::F32 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::F64 { + field, + range_type: _, + ranges: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + QueryFacet::Point { + field, + range_type: _, + ranges: _, + base: _, + unit: _, + } => { + result_facets.insert(field.into(), (AHashMap::new(), u16::MAX as u32)); + } + + _ => {} + } + } + } + + for result_object_shard in result_object_list { + let mut rlo_shard = result_object_shard.await.unwrap(); + + result_object.result_count_total += rlo_shard.result_count_total; + if aggregate_results { + result_object.results.append(&mut rlo_shard.results); + } + + if result_object.query_terms.is_empty() { + result_object.query_terms = rlo_shard.query_terms + }; + + if !rlo_shard.facets.is_empty() { + for facet in rlo_shard.facets.iter() { + if let Some(existing) = result_facets.get_mut(facet.0) { + for (key, value) in facet.1.iter() { + *existing.0.entry(key.clone()).or_insert(0) += value; + } + }; + } + } + } + + for (key, value) in result_facets.iter_mut() { + let sum = value + .0 + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| (a.clone(), *c)) + .take(value.1 as usize) + .collect::>(); + result_object.facets.insert(key.clone(), sum); + } + + if aggregate_results { + let mut result_sort_index: Vec = Vec::new(); + if !result_sort.is_empty() { + for rs in result_sort.iter() { + if let Some(idx) = index_ref.shard_vec[0] + .read() + .await + .facets_map + .get(&rs.field) + { + result_sort_index.push(ResultSortIndex { + idx: *idx, + order: rs.order.clone(), + base: &rs.base, + }); + } + } + let shard_vec = + futures::future::join_all(index_ref.shard_vec.iter().map(|s| s.read())).await; + + result_object.results.sort_by(|a, b| { + result_ordering_root( + &shard_vec, + index_ref.shard_bits, + &result_sort_index, + *b, + *a, + ) + }); + } else { + result_object + .results + .sort_by(|a, b| b.score.partial_cmp(&a.score).unwrap()); + } + + if offset > 0 { + result_object.results = if offset >= result_object.results.len() { + Vec::new() + } else { + result_object.results.split_off(offset) + }; + } + + if result_object.results.len() > length { + result_object.results.truncate(length); + } + + result_object.result_count = result_object.results.len(); + } + + result_object.original_query = original_query; + result_object.query = query_string.clone(); + if let Some(suggestions) = suggestions { + result_object.suggestions = suggestions.into_iter().map(|s| s.term.clone()).collect(); + } + + result_object + } +} + +#[allow(clippy::too_many_arguments)] +#[allow(async_fn_in_trait)] +pub(crate) trait SearchShard { + async fn search_shard( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + result_type: ResultType, + include_uncommited: bool, + field_filter: Vec, + query_facets: Vec, + facet_filter: Vec, + result_sort: Vec, + ) -> ResultObject; +} + +/// Non-recursive binary search of non-consecutive u64 values in a slice of bytes +#[inline(never)] +pub(crate) fn binary_search( + byte_array: &[u8], + len: usize, + key_hash: u64, + key_head_size: usize, +) -> i64 { + let mut left = 0i64; + let mut right = len as i64 - 1; + while left <= right { + let mid = (left + right) / 2; + + let pivot = read_u64(byte_array, mid as usize * key_head_size); + match pivot.cmp(&key_hash) { + cmp::Ordering::Equal => { + return mid; + } + cmp::Ordering::Less => left = mid + 1, + cmp::Ordering::Greater => right = mid - 1, + } + } + + -1 +} + +/// Decode posting_list_object and blocks on demand from mmap, instead keepping all posting_list_object and blocks for all keys in ram +#[inline(always)] +pub(crate) fn decode_posting_list_count( + segment: &SegmentIndex, + index: &Shard, + key_hash1: u64, + previous: bool, +) -> Option { + let offset = if previous { 1 } else { 0 }; + + let mut posting_count_list = 0u32; + let mut found = false; + + if segment.byte_array_blocks_pointer.len() <= offset { + return None; + } + + let block_id_last = segment.byte_array_blocks_pointer.len() - 1 - offset; + for pointer in segment + .byte_array_blocks_pointer + .iter() + .take(block_id_last + 1) + { + let key_count = pointer.2 as usize; + + let byte_array = + &index.index_file_mmap[pointer.0 - (key_count * index.key_head_size)..pointer.0]; + let key_index = binary_search(byte_array, key_count, key_hash1, index.key_head_size); + + if key_index >= 0 { + found = true; + let key_address = key_index as usize * index.key_head_size; + let posting_count = read_u16(byte_array, key_address + 8); + posting_count_list += posting_count as u32 + 1; + } + } + + if found { + Some(posting_count_list) + } else { + None + } +} + +#[inline(always)] +pub(crate) fn decode_posting_list_counts( + segment: &SegmentIndex, + index: &Shard, + key_hash1: u64, +) -> Option<(u32, u32, u32, u32)> { + let mut posting_count_list = 0u32; + let mut posting_count_ngram_1_compressed = 0; + let mut posting_count_ngram_2_compressed = 0; + let mut posting_count_ngram_3_compressed = 0; + let mut posting_count_ngram_1 = 0; + let mut posting_count_ngram_2 = 0; + let mut posting_count_ngram_3 = 0; + let mut found = false; + + let read_flag = key_hash1 & 0b111 > 0; + + if segment.byte_array_blocks_pointer.is_empty() { + return None; + } + + for pointer in segment.byte_array_blocks_pointer.iter() { + let key_count = pointer.2 as usize; + + let byte_array = + &index.index_file_mmap[pointer.0 - (key_count * index.key_head_size)..pointer.0]; + let key_index = binary_search(byte_array, key_count, key_hash1, index.key_head_size); + + if key_index >= 0 { + found = true; + let key_address = key_index as usize * index.key_head_size; + let posting_count = read_u16(byte_array, key_address + 8); + + match index.key_head_size { + 20 => {} + 22 => { + if read_flag { + posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); + } + } + _ => { + if read_flag { + posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); + posting_count_ngram_3_compressed = read_u8(byte_array, key_address + 16); + } + } + } + + posting_count_list += posting_count as u32 + 1; + } + } + + if found { + match index.key_head_size { + 20 => {} + 22 => { + if read_flag { + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + } + } + _ => { + if read_flag { + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + posting_count_ngram_3 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_3_compressed as usize]; + } + } + } + + Some(( + posting_count_list, + posting_count_ngram_1, + posting_count_ngram_2, + posting_count_ngram_3, + )) + } else { + None + } +} + +/// Decode posting_list_object and blocks on demand from mmap, instead keepping all posting_list_object and blocks for all keys in ram +#[inline(always)] +pub(crate) fn decode_posting_list_object( + segment: &SegmentIndex, + shard: &Shard, + key_hash1: u64, + calculate_score: bool, +) -> Option { + let mut posting_count_list = 0u32; + let mut max_list_score = 0.0; + let mut blocks_owned: Vec = Vec::new(); + let mut posting_count_ngram_1_compressed = 0; + let mut posting_count_ngram_2_compressed = 0; + let mut posting_count_ngram_3_compressed = 0; + let mut posting_count_ngram_1 = 0; + let mut posting_count_ngram_2 = 0; + let mut posting_count_ngram_3 = 0; + + let read_flag = key_hash1 & 0b111 > 0; + + for (block_id, pointer) in segment.byte_array_blocks_pointer.iter().enumerate() { + let key_count = pointer.2 as usize; + + let byte_array = + &shard.index_file_mmap[pointer.0 - (key_count * shard.key_head_size)..pointer.0]; + let key_index = binary_search(byte_array, key_count, key_hash1, shard.key_head_size); + + if key_index >= 0 { + let key_address = key_index as usize * shard.key_head_size; + let posting_count = read_u16(byte_array, key_address + 8); + + let max_docid = read_u16(byte_array, key_address + 10); + let max_p_docid = read_u16(byte_array, key_address + 12); + + match shard.key_head_size { + 20 => {} + 22 => { + if read_flag { + posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); + } + } + _ => { + if read_flag { + posting_count_ngram_1_compressed = read_u8(byte_array, key_address + 14); + posting_count_ngram_2_compressed = read_u8(byte_array, key_address + 15); + posting_count_ngram_3_compressed = read_u8(byte_array, key_address + 16); + } + } + } + + let pointer_pivot_p_docid = read_u16(byte_array, key_address + shard.key_head_size - 6); + let compression_type_pointer = + read_u32(byte_array, key_address + shard.key_head_size - 4); + + posting_count_list += posting_count as u32 + 1; + + let block_object_index = BlockObjectIndex { + max_block_score: 0.0, + block_id: block_id as u32, + posting_count, + max_docid, + max_p_docid, + pointer_pivot_p_docid, + compression_type_pointer, + }; + blocks_owned.push(block_object_index); + } + } + + if !blocks_owned.is_empty() { + if calculate_score { + match shard.key_head_size { + 20 => {} + 22 => { + if read_flag { + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + } + } + _ => { + if read_flag { + posting_count_ngram_1 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_1_compressed as usize]; + posting_count_ngram_2 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_2_compressed as usize]; + posting_count_ngram_3 = + DOCUMENT_LENGTH_COMPRESSION[posting_count_ngram_3_compressed as usize]; + } + } + } + + let ngram_type = + FromPrimitive::from_u64(key_hash1 & 0b111).unwrap_or(NgramType::SingleTerm); + + for block in blocks_owned.iter_mut() { + block.max_block_score = get_max_score( + shard, + segment, + posting_count_ngram_1, + posting_count_ngram_2, + posting_count_ngram_3, + posting_count_list, + block.block_id as usize, + block.max_docid as usize, + block.max_p_docid as usize, + block.pointer_pivot_p_docid as usize, + block.compression_type_pointer, + &ngram_type, + ); + + if block.max_block_score > max_list_score { + max_list_score = block.max_block_score + } + } + } + + let posting_list_object_index = PostingListObjectIndex { + posting_count: posting_count_list, + posting_count_ngram_1, + posting_count_ngram_2, + posting_count_ngram_3, + max_list_score, + blocks: blocks_owned, + position_range_previous: 0, + ..Default::default() + }; + + Some(posting_list_object_index) + } else { + None + } +} + +impl SearchShard for ShardArc { + async fn search_shard( + &self, + query_string: String, + query_type_default: QueryType, + offset: usize, + length: usize, + result_type: ResultType, + include_uncommited: bool, + field_filter: Vec, + query_facets: Vec, + facet_filter: Vec, + result_sort: Vec, + ) -> ResultObject { + let shard_ref = self.read().await; + let mut query_type_mut = query_type_default; + + let facet_cap = if shard_ref.shard_number == 1 { + 0 + } else { + u32::MAX + }; + + let mut result_object: ResultObject = Default::default(); + + let mut result_type = result_type; + if length == 0 && result_type != ResultType::Count { + if result_type == ResultType::Topk { + return result_object; + } + result_type = ResultType::Count; + } + + if shard_ref.segments_index.is_empty() { + return result_object; + } + + let mut field_filter_set: AHashSet = AHashSet::new(); + for item in field_filter.iter() { + match shard_ref.schema_map.get(item) { + Some(value) => { + if value.indexed { + field_filter_set.insert(value.indexed_field_id as u16); + } + } + None => { + println!("field not found: {}", item) + } + } + } + + let mut result_sort_index: Vec = Vec::new(); + if !result_sort.is_empty() && result_type != ResultType::Count { + for rs in result_sort.iter() { + if let Some(idx) = shard_ref.facets_map.get(&rs.field) { + result_sort_index.push(ResultSortIndex { + idx: *idx, + order: rs.order.clone(), + base: &rs.base, + }); + } + } + } + + let heap_size = if result_type != ResultType::Count { + cmp::min(offset + length, shard_ref.indexed_doc_count) + } else { + 0 + }; + let mut search_result = SearchResult { + topk_candidates: MinHeap::new(heap_size, &shard_ref, &result_sort_index), + query_facets: Vec::new(), + skip_facet_count: false, + }; + + let mut facet_filter_sparse: Vec = Vec::new(); + if !facet_filter.is_empty() { + facet_filter_sparse = vec![FilterSparse::None; shard_ref.facets.len()]; + for facet_filter_item in facet_filter.iter() { + match &facet_filter_item { + FacetFilter::U8 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U8 + { + facet_filter_sparse[*idx] = FilterSparse::U8(filter.clone()) + } + } + FacetFilter::U16 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U16 + { + facet_filter_sparse[*idx] = FilterSparse::U16(filter.clone()) + } + } + FacetFilter::U32 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U32 + { + facet_filter_sparse[*idx] = FilterSparse::U32(filter.clone()) + } + } + FacetFilter::U64 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U64 + { + facet_filter_sparse[*idx] = FilterSparse::U64(filter.clone()) + } + } + FacetFilter::I8 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I8 + { + facet_filter_sparse[*idx] = FilterSparse::I8(filter.clone()) + } + } + FacetFilter::I16 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I16 + { + facet_filter_sparse[*idx] = FilterSparse::I16(filter.clone()) + } + } + FacetFilter::I32 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I32 + { + facet_filter_sparse[*idx] = FilterSparse::I32(filter.clone()) + } + } + FacetFilter::I64 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I64 + { + facet_filter_sparse[*idx] = FilterSparse::I64(filter.clone()) + } + } + FacetFilter::Timestamp { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::Timestamp + { + facet_filter_sparse[*idx] = FilterSparse::Timestamp(filter.clone()) + } + } + FacetFilter::F32 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::F32 + { + facet_filter_sparse[*idx] = FilterSparse::F32(filter.clone()) + } + } + FacetFilter::F64 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::F64 + { + facet_filter_sparse[*idx] = FilterSparse::F64(filter.clone()) + } + } + + FacetFilter::String16 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) { + let facet = &shard_ref.facets[*idx]; + if shard_ref.facets[*idx].field_type == FieldType::String16 { + let mut string_id_vec = Vec::new(); + for value in filter.iter() { + let key = [value.clone()]; + if let Some(facet_value_id) = facet.values.get_index_of(&key[0]) + { + string_id_vec.push(facet_value_id as u16); + } + } + facet_filter_sparse[*idx] = FilterSparse::String16(string_id_vec); + } + } + } + + FacetFilter::StringSet16 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) { + let facet = &shard_ref.facets[*idx]; + if shard_ref.facets[*idx].field_type == FieldType::StringSet16 { + let mut string_id_vec = Vec::new(); + for value in filter.iter() { + let key = [value.clone()]; + if let Some(facet_value_id) = + facet.values.get_index_of(&key.join("_")) + { + string_id_vec.push(facet_value_id as u16); + } + + if let Some(facet_value_ids) = shard_ref + .string_set_to_single_term_id_vec[*idx] + .get(&value.clone()) + { + for code in facet_value_ids.iter() { + string_id_vec.push(*code as u16); + } + } + } + facet_filter_sparse[*idx] = FilterSparse::String16(string_id_vec); + } + } + } + + FacetFilter::String32 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) { + let facet = &shard_ref.facets[*idx]; + + if shard_ref.facets[*idx].field_type == FieldType::String32 { + let mut string_id_vec = Vec::new(); + for value in filter.iter() { + let key = [value.clone()]; + if let Some(facet_value_id) = facet.values.get_index_of(&key[0]) + { + string_id_vec.push(facet_value_id as u32); + } + } + facet_filter_sparse[*idx] = FilterSparse::String32(string_id_vec); + } + } + } + + FacetFilter::StringSet32 { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) { + let facet = &shard_ref.facets[*idx]; + if shard_ref.facets[*idx].field_type == FieldType::StringSet32 { + let mut string_id_vec = Vec::new(); + for value in filter.iter() { + let key = [value.clone()]; + if let Some(facet_value_id) = + facet.values.get_index_of(&key.join("_")) + { + string_id_vec.push(facet_value_id as u32); + } + + if let Some(facet_value_ids) = shard_ref + .string_set_to_single_term_id_vec[*idx] + .get(&value.clone()) + { + for code in facet_value_ids.iter() { + string_id_vec.push(*code); + } + } + } + facet_filter_sparse[*idx] = FilterSparse::String32(string_id_vec); + } + } + } + + FacetFilter::Point { field, filter } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::Point + { + facet_filter_sparse[*idx] = FilterSparse::Point( + filter.0.clone(), + filter.1.clone(), + filter.2.clone(), + point_distance_to_morton_range(&filter.0, filter.1.end, &filter.2), + ); + } + } + } + } + } + + let mut is_range_facet = false; + if !query_facets.is_empty() { + search_result.query_facets = vec![ResultFacet::default(); shard_ref.facets.len()]; + for query_facet in query_facets.iter() { + match &query_facet { + QueryFacet::U8 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U8 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::U8(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::U16 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U16 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::U16(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::U32 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U32 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::U32(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::U64 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::U64 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::U64(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::I8 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I8 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::I8(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::I16 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I16 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::I16(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::I32 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I32 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::I32(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::I64 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::I64 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::I64(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::Timestamp { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::Timestamp + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::Timestamp(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::F32 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::F32 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::F32(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::F64 { + field, + range_type, + ranges, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::F64 + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::F64(range_type.clone(), ranges.clone()), + ..Default::default() + }; + } + } + QueryFacet::String16 { + field, + prefix, + length, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::String16 + { + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length as u32, + ..Default::default() + } + } + } + QueryFacet::StringSet16 { + field, + prefix, + length, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::StringSet16 + { + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length as u32, + ..Default::default() + } + } + } + + QueryFacet::String32 { + field, + prefix, + length, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::String32 + { + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length, + ..Default::default() + } + } + } + QueryFacet::StringSet32 { + field, + prefix, + length, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::StringSet32 + { + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + prefix: prefix.clone(), + length: *length, + ..Default::default() + } + } + } + + QueryFacet::Point { + field, + range_type, + ranges, + base, + unit, + } => { + if let Some(idx) = shard_ref.facets_map.get(field) + && shard_ref.facets[*idx].field_type == FieldType::Point + { + is_range_facet = true; + search_result.query_facets[*idx] = ResultFacet { + field: field.clone(), + length: u16::MAX as u32, + ranges: Ranges::Point( + range_type.clone(), + ranges.clone(), + base.clone(), + unit.clone(), + ), + ..Default::default() + }; + } + } + + QueryFacet::None => {} + }; + } + } + + let result_count_arc = Arc::new(AtomicUsize::new(0)); + let result_count_uncommitted_arc = Arc::new(AtomicUsize::new(0)); + + 'fallback: loop { + let mut unique_terms: AHashMap = AHashMap::new(); + let mut non_unique_terms: Vec = Vec::new(); + let mut nonunique_terms_count = 0u32; + + tokenizer( + &shard_ref, + &query_string, + &mut unique_terms, + &mut non_unique_terms, + shard_ref.meta.tokenizer, + shard_ref.segment_number_mask1, + &mut nonunique_terms_count, + u16::MAX as u32, + MAX_POSITIONS_PER_TERM, + true, + &mut query_type_mut, + shard_ref.meta.ngram_indexing, + 0, + 1, + ) + .await; + + if include_uncommited && shard_ref.uncommitted { + shard_ref.search_uncommitted( + &unique_terms, + &non_unique_terms, + &mut query_type_mut, + &result_type, + &field_filter_set, + &facet_filter_sparse, + &mut search_result, + &result_count_uncommitted_arc, + offset + length, + ); + } + + let mut query_list_map: AHashMap = AHashMap::new(); + let mut query_list: Vec; + + let mut not_query_list_map: AHashMap = AHashMap::new(); + let mut not_query_list: Vec; + + let mut non_unique_query_list: Vec = Vec::new(); + let mut preceding_ngram_count = 0; + + let mut blocks_vec: Vec> = Vec::new(); + + let mut not_found_terms_hashset: AHashSet = AHashSet::new(); + + for non_unique_term in non_unique_terms.iter() { + let term = unique_terms.get(&non_unique_term.term).unwrap(); + let key0: u32 = term.key0; + let key_hash: u64 = term.key_hash; + let term_no_diacritics_umlaut_case = &non_unique_term.term; + + let mut idf = 0.0; + let mut idf_ngram1 = 0.0; + let mut idf_ngram2 = 0.0; + let mut idf_ngram3 = 0.0; + + let mut term_index_unique = 0; + if non_unique_term.op == QueryType::Not { + let query_list_map_len = not_query_list_map.len(); + let not_query_list_option = not_query_list_map.get(&key_hash); + if not_query_list_option.is_none() + && !not_found_terms_hashset.contains(&key_hash) + { + let posting_count; + let max_list_score; + let blocks; + let blocks_len; + let found_plo = if shard_ref.meta.access_type == AccessType::Mmap { + let posting_list_object_index_option = decode_posting_list_object( + &shard_ref.segments_index[key0 as usize], + &shard_ref, + key_hash, + false, + ); + + if let Some(plo) = posting_list_object_index_option { + posting_count = plo.posting_count; + max_list_score = plo.max_list_score; + blocks = &DUMMY_VEC; + blocks_len = plo.blocks.len(); + blocks_vec.push(plo.blocks); + true + } else { + posting_count = 0; + max_list_score = 0.0; + blocks = &DUMMY_VEC; + blocks_len = 0; + false + } + } else { + let posting_list_object_index_option = shard_ref.segments_index + [key0 as usize] + .segment + .get(&key_hash); + + if let Some(plo) = posting_list_object_index_option { + posting_count = plo.posting_count; + max_list_score = plo.max_list_score; + blocks_len = plo.blocks.len(); + blocks = &plo.blocks; + true + } else { + posting_count = 0; + max_list_score = 0.0; + blocks = &DUMMY_VEC; + blocks_len = 0; + false + } + }; + + if found_plo { + let value_new = PostingListObjectQuery { + posting_count, + max_list_score, + blocks, + blocks_index: blocks_vec.len(), + p_block_max: blocks_len as i32, + term: term_no_diacritics_umlaut_case.clone(), + key0, + term_index_unique: query_list_map_len, + idf, + idf_ngram1, + idf_ngram2, + idf_ngram3, + ngram_type: non_unique_term.ngram_type.clone(), + ..Default::default() + }; + not_query_list_map.insert(key_hash, value_new); + } else { + not_found_terms_hashset.insert(key_hash); + } + } + } else { + let query_list_map_len = query_list_map.len(); + let mut found = true; + let query_list_option = query_list_map.get(&key_hash); + match query_list_option { + None => { + if !not_found_terms_hashset.contains(&key_hash) { + let posting_count; + let posting_count_ngram_1; + let posting_count_ngram_2; + let posting_count_ngram_3; + let max_list_score; + let blocks; + let blocks_len; + let found_plo = if shard_ref.meta.access_type == AccessType::Mmap { + let posting_list_object_index_option = + decode_posting_list_object( + &shard_ref.segments_index[key0 as usize], + &shard_ref, + key_hash, + true, + ); + + if let Some(plo) = posting_list_object_index_option { + posting_count = plo.posting_count; + posting_count_ngram_1 = plo.posting_count_ngram_1; + posting_count_ngram_2 = plo.posting_count_ngram_2; + posting_count_ngram_3 = plo.posting_count_ngram_3; + max_list_score = plo.max_list_score; + blocks = &DUMMY_VEC; + blocks_len = plo.blocks.len(); + blocks_vec.push(plo.blocks); + true + } else { + posting_count = 0; + posting_count_ngram_1 = 0; + posting_count_ngram_2 = 0; + posting_count_ngram_3 = 0; + max_list_score = 0.0; + blocks = &DUMMY_VEC; + blocks_len = 0; + false + } + } else { + let posting_list_object_index_option = shard_ref.segments_index + [key0 as usize] + .segment + .get(&key_hash); + + if let Some(plo) = posting_list_object_index_option { + posting_count = plo.posting_count; + posting_count_ngram_1 = plo.posting_count_ngram_1; + posting_count_ngram_2 = plo.posting_count_ngram_2; + posting_count_ngram_3 = plo.posting_count_ngram_3; + max_list_score = plo.max_list_score; + blocks_len = plo.blocks.len(); + blocks = &plo.blocks; + true + } else { + posting_count = 0; + posting_count_ngram_1 = 0; + posting_count_ngram_2 = 0; + posting_count_ngram_3 = 0; + max_list_score = 0.0; + blocks = &DUMMY_VEC; + blocks_len = 0; + false + } + }; + + if found_plo { + if result_type != ResultType::Count { + if non_unique_term.ngram_type == NgramType::SingleTerm + || shard_ref.meta.similarity + == SimilarityType::Bm25fProximity + { + idf = (((shard_ref.indexed_doc_count as f32 + - posting_count as f32 + + 0.5) + / (posting_count as f32 + 0.5)) + + 1.0) + .ln(); + } else if non_unique_term.ngram_type == NgramType::NgramFF + || non_unique_term.ngram_type == NgramType::NgramRF + || non_unique_term.ngram_type == NgramType::NgramFR + { + idf_ngram1 = (((shard_ref.indexed_doc_count as f32 + - posting_count_ngram_1 as f32 + + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram2 = (((shard_ref.indexed_doc_count as f32 + - posting_count_ngram_2 as f32 + + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + } else { + idf_ngram1 = (((shard_ref.indexed_doc_count as f32 + - posting_count_ngram_1 as f32 + + 0.5) + / (posting_count_ngram_1 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram2 = (((shard_ref.indexed_doc_count as f32 + - posting_count_ngram_2 as f32 + + 0.5) + / (posting_count_ngram_2 as f32 + 0.5)) + + 1.0) + .ln(); + + idf_ngram3 = (((shard_ref.indexed_doc_count as f32 + - posting_count_ngram_3 as f32 + + 0.5) + / (posting_count_ngram_3 as f32 + 0.5)) + + 1.0) + .ln(); + } + } + + let value_new = PostingListObjectQuery { + posting_count, + max_list_score, + blocks, + blocks_index: blocks_vec.len(), + p_block_max: blocks_len as i32, + term: term_no_diacritics_umlaut_case.clone(), + key0, + term_index_unique: query_list_map_len, + idf, + idf_ngram1, + idf_ngram2, + idf_ngram3, + ngram_type: non_unique_term.ngram_type.clone(), + ..Default::default() + }; + term_index_unique = value_new.term_index_unique; + query_list_map.insert(key_hash, value_new); + } else { + if non_unique_term.op == QueryType::Intersection + || non_unique_term.op == QueryType::Phrase + { + break 'fallback; + } + not_found_terms_hashset.insert(key_hash); + found = false; + } + } + } + Some(value) => { + term_index_unique = value.term_index_unique; + } + } + + if found && non_unique_term.op == QueryType::Phrase { + let nu_plo = NonUniquePostingListObjectQuery { + term_index_unique, + term_index_nonunique: non_unique_query_list.len() + + preceding_ngram_count, + pos: 0, + p_pos: 0, + positions_pointer: 0, + positions_count: 0, + byte_array: &DUMMY_VEC_8, + field_vec: SmallVec::new(), + p_field: 0, + key0, + is_embedded: false, + embedded_positions: [0; 4], + }; + + match non_unique_term.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { + preceding_ngram_count += 1 + } + _ => preceding_ngram_count += 2, + }; + + non_unique_query_list.push(nu_plo); + } + } + match term.ngram_type { + NgramType::SingleTerm => {} + NgramType::NgramFF | NgramType::NgramRF | NgramType::NgramFR => { + result_object + .query_terms + .push(term.term_ngram_1.to_string()); + result_object + .query_terms + .push(term.term_ngram_0.to_string()); + } + _ => { + result_object + .query_terms + .push(term.term_ngram_2.to_string()); + result_object + .query_terms + .push(term.term_ngram_1.to_string()); + result_object + .query_terms + .push(term.term_ngram_0.to_string()); + } + }; + { + result_object.query_terms.push(term.term.to_string()); + } + } + + not_query_list = not_query_list_map.into_values().collect(); + query_list = query_list_map.into_values().collect(); + + if shard_ref.meta.access_type == AccessType::Mmap { + for plo in query_list.iter_mut() { + plo.blocks = &blocks_vec[plo.blocks_index - 1] + } + for plo in not_query_list.iter_mut() { + plo.blocks = &blocks_vec[plo.blocks_index - 1] + } + } + + let query_list_len = query_list.len(); + let non_unique_query_list_len = non_unique_query_list.len(); + + let mut matching_blocks: i32 = 0; + let query_term_count = non_unique_terms.len(); + if query_list_len == 0 { + } else if query_list_len == 1 { + if !(shard_ref.uncommitted && include_uncommited) + && offset + length <= 1000 + && not_query_list.is_empty() + && field_filter_set.is_empty() + && shard_ref.delete_hashset.is_empty() + && facet_filter_sparse.is_empty() + && !is_range_facet + && result_sort_index.is_empty() + && let Some(stopword_result_object) = shard_ref + .frequentword_results + .get(&non_unique_terms[0].term) + { + result_object.query = stopword_result_object.query.clone(); + result_object + .query_terms + .clone_from(&stopword_result_object.query_terms); + result_object.result_count = stopword_result_object.result_count; + result_object.result_count_total = stopword_result_object.result_count_total; + + if result_type != ResultType::Count { + result_object + .results + .clone_from(&stopword_result_object.results); + if offset > 0 { + result_object.results.drain(..offset); + } + if length < 1000 { + result_object.results.truncate(length); + } + } + + if !search_result.query_facets.is_empty() && result_type != ResultType::Topk { + let mut facets: AHashMap = AHashMap::new(); + for facet in search_result.query_facets.iter() { + if facet.length == 0 + || stopword_result_object.facets[&facet.field].is_empty() + { + continue; + } + + let v = stopword_result_object.facets[&facet.field] + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(&a.1)) + .map(|(a, c)| (a.clone(), *c)) + .filter(|(a, _c)| { + facet.prefix.is_empty() || a.starts_with(&facet.prefix) + }) + .take(facet.length.max(facet_cap) as usize) + .collect::>(); + + if !v.is_empty() { + facets.insert(facet.field.clone(), v); + } + } + result_object.facets = facets; + }; + + return result_object; + } + + single_blockid( + &shard_ref, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + &mut matching_blocks, + ) + .await; + } else if query_type_mut == QueryType::Union { + search_result.skip_facet_count = true; + + if result_type == ResultType::Count && query_list_len != 2 { + union_blockid( + &shard_ref, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + ) + .await; + } else if SPEEDUP_FLAG + && query_list_len == 2 + && search_result.query_facets.is_empty() + && facet_filter_sparse.is_empty() + && search_result.topk_candidates.result_sort.is_empty() + { + union_docid_2( + &shard_ref, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + &mut matching_blocks, + query_term_count, + ) + .await; + } else if SPEEDUP_FLAG + && search_result.topk_candidates.result_sort.is_empty() + && query_list_len <= 10 + { + union_docid_3( + &shard_ref, + &mut non_unique_query_list, + &mut Vec::from([QueueObject { + query_list: query_list.clone(), + query_index: 0, + max_score: f32::MAX, + }]), + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + &mut matching_blocks, + 0, + query_term_count, + ) + .await; + } else { + union_blockid( + &shard_ref, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + ) + .await; + } + } else { + intersection_blockid( + &shard_ref, + &mut non_unique_query_list, + &mut query_list, + &mut not_query_list, + &result_count_arc, + &mut search_result, + offset + length, + &result_type, + &field_filter_set, + &facet_filter_sparse, + &mut matching_blocks, + query_type_mut == QueryType::Phrase && non_unique_query_list_len >= 2, + query_term_count, + ) + .await; + + if shard_ref.enable_fallback + && (result_count_arc.load(Ordering::Relaxed) < offset + length) + { + continue 'fallback; + } + } + + break; + } + + result_object.result_count = search_result.topk_candidates.current_heap_size; + + if search_result.topk_candidates.current_heap_size > offset { + result_object.results = mem::take(&mut search_result.topk_candidates._elements); + + if search_result.topk_candidates.current_heap_size < offset + length { + result_object + .results + .truncate(search_result.topk_candidates.current_heap_size); + } + + result_object + .results + .sort_by(|a, b| search_result.topk_candidates.result_ordering_shard(*b, *a)); + + if offset > 0 { + result_object.results.drain(..offset); + } + } + + result_object.result_count_total = result_count_uncommitted_arc.load(Ordering::Relaxed) + + result_count_arc.load(Ordering::Relaxed); + + if !search_result.query_facets.is_empty() { + result_object.facets = if result_object.query_terms.is_empty() { + shard_ref + .get_index_string_facets_shard(query_facets) + .unwrap_or_default() + } else { + let mut facets: AHashMap = AHashMap::new(); + for (i, facet) in search_result.query_facets.iter_mut().enumerate() { + if facet.length == 0 || facet.values.is_empty() { + continue; + } + + let v = if facet.ranges == Ranges::None { + if shard_ref.facets[i].values.is_empty() { + continue; + } + + if shard_ref.facets[i].field_type == FieldType::StringSet16 + || shard_ref.facets[i].field_type == FieldType::StringSet32 + { + let mut hash_map: AHashMap = AHashMap::new(); + for value in facet.values.iter() { + let value2 = shard_ref.facets[i] + .values + .get_index(*value.0 as usize) + .unwrap(); + + for term in value2.1.0.iter() { + *hash_map.entry(term.clone()).or_insert(0) += value.1; + } + } + + hash_map + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| (a.clone(), *c)) + .filter(|(a, _c)| { + facet.prefix.is_empty() || a.starts_with(&facet.prefix) + }) + .take(facet.length.max(facet_cap) as usize) + .collect::>() + } else { + facet + .values + .iter() + .sorted_unstable_by(|a, b| b.1.cmp(a.1)) + .map(|(a, c)| { + ( + shard_ref.facets[i] + .values + .get_index(*a as usize) + .unwrap() + .0 + .clone(), + *c, + ) + }) + .filter(|(a, _c)| { + facet.prefix.is_empty() || a.starts_with(&facet.prefix) + }) + .take(facet.length.max(facet_cap) as usize) + .collect::>() + } + } else { + let range_type = match &facet.ranges { + Ranges::U8(range_type, _ranges) => range_type.clone(), + Ranges::U16(range_type, _ranges) => range_type.clone(), + Ranges::U32(range_type, _ranges) => range_type.clone(), + Ranges::U64(range_type, _ranges) => range_type.clone(), + Ranges::I8(range_type, _ranges) => range_type.clone(), + Ranges::I16(range_type, _ranges) => range_type.clone(), + Ranges::I32(range_type, _ranges) => range_type.clone(), + Ranges::I64(range_type, _ranges) => range_type.clone(), + Ranges::Timestamp(range_type, _ranges) => range_type.clone(), + Ranges::F32(range_type, _ranges) => range_type.clone(), + Ranges::F64(range_type, _ranges) => range_type.clone(), + Ranges::Point(range_type, _ranges, _base, _unit) => range_type.clone(), + _ => RangeType::CountWithinRange, + }; + + match range_type { + RangeType::CountAboveRange => { + let mut sum = 0usize; + for value in facet + .values + .iter_mut() + .sorted_unstable_by(|a, b| b.0.cmp(a.0)) + { + sum += *value.1; + *value.1 = sum; + } + } + RangeType::CountBelowRange => { + let mut sum = 0usize; + for value in facet + .values + .iter_mut() + .sorted_unstable_by(|a, b| a.0.cmp(b.0)) + { + sum += *value.1; + *value.1 = sum; + } + } + RangeType::CountWithinRange => {} + } + + facet + .values + .iter() + .sorted_unstable_by(|a, b| a.0.cmp(b.0)) + .map(|(a, c)| { + ( + match &facet.ranges { + Ranges::U8(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::U16(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::U32(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::U64(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::I8(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::I16(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::I32(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::I64(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::Timestamp(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::F32(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + Ranges::F64(_range_type, ranges) => { + ranges[*a as usize].0.clone() + } + + Ranges::Point(_range_type, ranges, _base, _unit) => { + ranges[*a as usize].0.clone() + } + + _ => "".into(), + }, + *c, + ) + }) + .filter(|(a, _c)| { + facet.prefix.is_empty() || a.starts_with(&facet.prefix) + }) + .collect::>() + }; + + if !v.is_empty() { + facets.insert(facet.field.clone(), v); + } + } + facets + }; + } + + result_object + } +} diff --git a/mobile_app/rust/src/seekstorm/single.rs b/mobile_app/rust/src/seekstorm/single.rs new file mode 100644 index 0000000..99b47a7 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/single.rs @@ -0,0 +1,419 @@ +use std::sync::{ + Arc, + atomic::{AtomicUsize, Ordering}, +}; + +use crate::{ + add_result::{PostingListObjectSingle, add_result_singleterm_multifield}, + compatible::{_blsr_u64, _mm_tzcnt_64}, + index::{ + AccessType, BlockObjectIndex, CompressionType, NonUniquePostingListObjectQuery, + PostingListObjectQuery, SORT_FLAG, SPEEDUP_FLAG, Shard, + }, + intersection::{BlockObject, bitpacking32_get_delta}, + search::{FilterSparse, ResultType, SearchResult}, + utils::{read_u16, read_u64}, +}; + +use ahash::AHashSet; +use num_traits::FromPrimitive; + +#[allow(clippy::too_many_arguments)] +#[allow(clippy::ptr_arg)] +#[allow(non_snake_case)] +pub(crate) async fn single_docid<'a>( + shard: &'a Shard, + query_list: &mut Vec>, + not_query_list: &mut [PostingListObjectQuery<'a>], + blo: &BlockObjectIndex, + term_index: usize, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], +) { + let block_score = blo.max_block_score; + + let filtered = !not_query_list.is_empty() + || !field_filter_set.is_empty() + || !search_result.topk_candidates.result_sort.is_empty() + || (!search_result.query_facets.is_empty() || !facet_filter.is_empty()) + && result_type != &ResultType::Topk; + if SPEEDUP_FLAG + && (result_type == &ResultType::Count + || (search_result.topk_candidates.current_heap_size == top_k + && block_score <= search_result.topk_candidates._elements[0].score)) + && (!filtered || result_type == &ResultType::Topk) + { + return; + } + + let block_id = blo.block_id; + for plo in not_query_list.iter_mut() { + let query_list_item_mut = plo; + + let result = query_list_item_mut + .blocks + .binary_search_by(|block| block.block_id.cmp(&block_id)); + match result { + Ok(p_block) => { + query_list_item_mut.bm25_flag = true; + query_list_item_mut.p_block = p_block as i32 + } + Err(_) => { + query_list_item_mut.bm25_flag = false; + continue; + } + }; + let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; + + query_list_item_mut.compression_type = + FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); + + query_list_item_mut.rank_position_pointer_range = + blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 + + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { + ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + query_list_item_mut.compressed_doc_id_range = + query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; + + if shard.meta.access_type == AccessType::Mmap { + let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; + query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[blo.block_id as usize].0 + ..segment.byte_array_blocks_pointer[blo.block_id as usize].0 + + segment.byte_array_blocks_pointer[blo.block_id as usize].1]; + } else { + query_list_item_mut.byte_array = &shard.segments_index + [query_list_item_mut.key0 as usize] + .byte_array_blocks[blo.block_id as usize]; + } + + query_list_item_mut.p_docid = 0; + query_list_item_mut.p_docid_count = + query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count as usize + + 1; + + query_list_item_mut.docid = 0; + + if query_list_item_mut.compression_type == CompressionType::Rle { + query_list_item_mut.p_run_count = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range, + ) as i32; + let startdocid = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 2, + ); + let runlength = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 4, + ); + query_list_item_mut.docid = startdocid as i32; + query_list_item_mut.run_end = (startdocid + runlength) as i32; + query_list_item_mut.p_run_sum = runlength as i32; + query_list_item_mut.p_run = 6; + } + } + + let compression_type: CompressionType = + FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); + + let rank_position_pointer_range: u32 = + blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum = blo.pointer_pivot_p_docid as u32 * 2 + + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { + ((blo.posting_count as u32 + 1) - blo.pointer_pivot_p_docid as u32) * 3 + } else { + 0 + }; + let compressed_doc_id_range: u32 = rank_position_pointer_range + posting_pointer_size_sum; + + let query_list_item_mut = &mut query_list[term_index]; + + let byte_array = if shard.meta.access_type == AccessType::Mmap { + let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; + &shard.index_file_mmap[segment.byte_array_blocks_pointer[blo.block_id as usize].0 + ..segment.byte_array_blocks_pointer[blo.block_id as usize].0 + + segment.byte_array_blocks_pointer[blo.block_id as usize].1] + } else { + &shard.segments_index[query_list_item_mut.key0 as usize].byte_array_blocks + [blo.block_id as usize] + }; + + let mut plo = PostingListObjectSingle { + rank_position_pointer_range, + pointer_pivot_p_docid: blo.pointer_pivot_p_docid, + byte_array, + p_docid: 0, + idf: query_list_item_mut.idf, + idf_ngram1: query_list_item_mut.idf_ngram1, + idf_ngram2: query_list_item_mut.idf_ngram2, + idf_ngram3: query_list_item_mut.idf_ngram3, + ngram_type: query_list_item_mut.ngram_type.clone(), + }; + + match compression_type { + CompressionType::Array => { + for i in 0..=blo.posting_count { + plo.p_docid = i as i32; + + add_result_singleterm_multifield( + shard, + ((blo.block_id as usize) << 16) + | read_u16( + byte_array, + compressed_doc_id_range as usize + (i as usize * 2), + ) as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + &plo, + not_query_list, + block_score, + ); + } + } + + CompressionType::Delta => { + let deltasizebits = 4; + let rangebits: i32 = + byte_array[compressed_doc_id_range as usize] as i32 >> (8 - deltasizebits); + + let mut docid_old: i32 = -1; + let mut bitposition: u32 = (compressed_doc_id_range << 3) + deltasizebits; + + for i in 0..=blo.posting_count { + plo.p_docid = i as i32; + let delta = bitpacking32_get_delta(byte_array, bitposition, rangebits as u32); + bitposition += rangebits as u32; + + let doc_id: u16 = (docid_old + delta as i32 + 1) as u16; + docid_old = doc_id as i32; + + add_result_singleterm_multifield( + shard, + ((blo.block_id as usize) << 16) | doc_id as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + &plo, + not_query_list, + block_score, + ); + } + } + + CompressionType::Rle => { + let runs_count = read_u16(&byte_array[compressed_doc_id_range as usize..], 0) as i32; + + plo.p_docid = 0; + for i in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &byte_array[compressed_doc_id_range as usize..], + i as usize * 2, + ); + let runlength = read_u16( + &byte_array[compressed_doc_id_range as usize..], + (i + 1) as usize * 2, + ); + + for j in 0..=runlength { + add_result_singleterm_multifield( + shard, + ((blo.block_id as usize) << 16) | (startdocid + j) as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + &plo, + not_query_list, + block_score, + ); + + plo.p_docid += 1; + } + } + } + + CompressionType::Bitmap => { + plo.p_docid = 0; + let block_id_msb = (blo.block_id as usize) << 16; + + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &byte_array[compressed_doc_id_range as usize..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + + intersect = unsafe { _blsr_u64(intersect) }; + + add_result_singleterm_multifield( + shard, + block_id_msb | ((ulong_pos << 6) + bit_pos) as usize, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + &plo, + not_query_list, + block_score, + ); + + plo.p_docid += 1; + } + } + } + + _ => {} + } +} + +#[allow(clippy::too_many_arguments)] +pub(crate) async fn single_blockid<'a>( + index: &'a Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], + query_list: &mut Vec>, + not_query_list: &mut [PostingListObjectQuery<'a>], + result_count_arc: &Arc, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + matching_blocks: &mut i32, +) { + let term_index = 0; + let filtered = !not_query_list.is_empty() + || !field_filter_set.is_empty() + || !index.delete_hashset.is_empty() + || !search_result.topk_candidates.result_sort.is_empty() + || (!search_result.query_facets.is_empty() || !facet_filter.is_empty()) + && result_type != &ResultType::Topk; + + if (index.enable_single_term_topk || (result_type == &ResultType::Count)) + && (non_unique_query_list.len() <= 1) + && !filtered + { + result_count_arc.fetch_add( + query_list[term_index].posting_count as usize, + Ordering::Relaxed, + ); + + return; + } + + let mut result_count_local = 0; + + let enable_inter_query_threading_single = + if !index.enable_search_quality_test && index.enable_inter_query_threading_auto { + query_list[term_index].posting_count / query_list[term_index].p_block_max as u32 > 10 + } else { + index.enable_inter_query_threading + }; + + let mut block_vec: Vec = Vec::new(); + + for (p_block, blo) in query_list[term_index].blocks.iter().enumerate() { + if !enable_inter_query_threading_single { + let block_score = blo.max_block_score; + + if SPEEDUP_FLAG && SORT_FLAG { + let p_block_vec: Vec = vec![p_block as i32]; + let block_object = BlockObject { + block_id: blo.block_id as usize, + block_score, + p_block_vec, + }; + + block_vec.push(block_object); + } else if !SPEEDUP_FLAG + || (filtered && result_type != &ResultType::Topk) + || search_result.topk_candidates.current_heap_size < top_k + || block_score > search_result.topk_candidates._elements[0].score + { + single_docid( + index, + query_list, + not_query_list, + blo, + term_index, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + } + } + } + + if SORT_FLAG && SPEEDUP_FLAG { + block_vec.sort_unstable_by(|x, y| y.block_score.partial_cmp(&x.block_score).unwrap()); + for (block_index, block) in block_vec.iter().enumerate() { + if !filtered && block_index == top_k { + break; + } + if (search_result.topk_candidates.current_heap_size == top_k) + && (block.block_score <= search_result.topk_candidates._elements[0].score) + { + if !filtered { + break; + } else if result_type == &ResultType::Topk { + continue; + } + } + + let blo = &query_list[term_index].blocks[block.p_block_vec[0] as usize]; + + single_docid( + index, + query_list, + not_query_list, + blo, + term_index, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + } + } + + result_count_arc.fetch_add( + if !filtered { + query_list[term_index].posting_count as usize + } else { + result_count_local as usize + }, + Ordering::Relaxed, + ); + + *matching_blocks = query_list[term_index].blocks.len() as i32; +} diff --git a/mobile_app/rust/src/seekstorm/tokenizer.rs b/mobile_app/rust/src/seekstorm/tokenizer.rs new file mode 100644 index 0000000..5539d1e --- /dev/null +++ b/mobile_app/rust/src/seekstorm/tokenizer.rs @@ -0,0 +1,1680 @@ +use std::cmp; + +use ahash::AHashMap; +use finl_unicode::categories::{CharacterCategories, MinorCategory}; + +use crate::{ + index::{ + MAX_QUERY_TERM_NUMBER, NgramSet, NgramType, NonUniqueTermObject, Shard, TermObject, + TokenizerType, hash32, hash64, + }, + search::QueryType, +}; + +const APOSTROPH: [char; 2] = ['\u{2019}', '\u{0027}']; +const ZALGO_CHAR_CATEGORIES: [MinorCategory; 2] = [MinorCategory::Mn, MinorCategory::Me]; + +/// fold_diacritics_accents_zalgo_umlaut() (used by TokenizerType::UnicodeAlphanumericFolded): +/// Converts text with diacritics, accents, zalgo text, umlaut, bold, italic, full-width UTF-8 characters into its basic representation. +/// Unicode UTF-8 has made life so much easier compared to the old code pages, but its endless possibilities also pose challenges in parsing and indexing. +/// The challenge is that the same basic letter might be represented by different UTF8 characters if they contain diacritics, accents, or are bold, italic, or full-width. +/// Sometimes, users can't search because the keyboard doesn't have these letters or they don't know how to enter, or they even don't know what that letter looks like. +/// Sometimes the document to be ingested is already written without diacritics for the same reasons. +/// We don't want to search for every variant separately, most often we even don't know that they exist in the index. +/// We want to have all results, for every variant, no matter which variant is entered in the query, +/// e.g. for indexing LinkedIn posts that make use of external bold/italic formatters or for indexing documents in accented languages. +/// It is important that the search engine supports the character folding rather than external preprocessing, as we want to have both: enter the query in any character form, receive all results independent from their character form, but have them returned in their original, unaltered characters. +pub fn fold_diacritics_accents_ligatures_zalgo_umlaut(string: &str) -> String { + string + .to_lowercase() + .chars() + .fold(String::with_capacity(string.len()), |mut folded, cc| { + let mut base_char = None; + let mut base_char2 = None; + + match cc { + 'ff' => folded.push_str("ff"), + 'ffi' => folded.push_str("ffi"), + 'ffl' => folded.push_str("ffl"), + 'fi' => folded.push_str("fi"), + 'fl' => folded.push_str("fl"), + 'st' => folded.push_str("st"), + 'ſt' => folded.push_str("st"), + + 'ⅰ' => folded.push('i'), + 'ⅱ' => folded.push_str("ii"), + 'ⅲ' => folded.push_str("iii"), + 'ⅳ' => folded.push_str("iv"), + 'ⅴ' => folded.push('v'), + 'ⅵ' => folded.push_str("vi"), + 'ⅶ' => folded.push_str("vii"), + 'ⅷ' => folded.push_str("viii"), + 'ⅸ' => folded.push_str("ix"), + 'ⅹ' => folded.push('x'), + 'ⅺ' => folded.push_str("xi"), + 'ⅻ' => folded.push_str("xii"), + 'ⅼ' => folded.push('l'), + 'ⅽ' => folded.push('c'), + 'ⅾ' => folded.push('d'), + 'ⅿ' => folded.push('m'), + + 'ä' => folded.push_str("ae"), + 'ö' => folded.push_str("oe"), + 'ü' => folded.push_str("ue"), + 'ß' => folded.push_str("ss"), + 'ł' => folded.push('l'), + 'æ' => folded.push('a'), + 'œ' => folded.push('o'), + 'ø' => folded.push('o'), + 'ð' => folded.push('d'), + 'þ' => folded.push('t'), + 'đ' => folded.push('d'), + 'ɖ' => folded.push('d'), + 'ħ' => folded.push('h'), + 'ı' => folded.push('i'), + 'ƿ' => folded.push('w'), + 'ȝ' => folded.push('g'), + 'Ƿ' => folded.push('w'), + 'Ȝ' => folded.push('g'), + + _ => { + unicode_normalization::char::decompose_canonical(cc, |c| { + base_char.get_or_insert(c); + }); + unicode_normalization::char::decompose_compatible(base_char.unwrap(), |c| { + if c.is_alphanumeric() { + base_char2.get_or_insert(c); + } + }); + if base_char2.is_none() { + base_char2 = base_char + } + + if !ZALGO_CHAR_CATEGORIES.contains(&base_char2.unwrap().get_minor_category()) { + match base_char2.unwrap() { + 'ł' => folded.push('l'), + 'æ' => folded.push('a'), + 'œ' => folded.push('o'), + 'ø' => folded.push('o'), + 'ð' => folded.push('d'), + 'þ' => folded.push('t'), + 'đ' => folded.push('d'), + 'ɖ' => folded.push('d'), + 'ħ' => folded.push('h'), + 'ı' => folded.push('i'), + 'ƿ' => folded.push('w'), + 'ȝ' => folded.push('g'), + 'Ƿ' => folded.push('w'), + 'Ȝ' => folded.push('g'), + + _ => folded.push(base_char2.unwrap()), + } + } + } + } + folded + }) +} + +/// Tokenizer splits text to terms +#[allow(clippy::too_many_arguments)] +#[allow(clippy::assigning_clones)] +pub(crate) async fn tokenizer( + index: &Shard, + text: &str, + unique_terms: &mut AHashMap, + non_unique_terms: &mut Vec, + tokenizer: TokenizerType, + segment_number_mask1: u32, + nonunique_terms_count: &mut u32, + token_per_field_max: u32, + position_per_term_max: usize, + is_query: bool, + query_type: &mut QueryType, + ngram_indexing: u8, + indexed_field_id: usize, + indexed_field_number: usize, +) { + let (max_completion_entries, completion_len) = if is_query { + (0, 0) + } else { + let root_index = &index.index_option.as_ref().unwrap().read().await; + if let Some(v) = root_index.completion_option.as_ref() { + (root_index.max_completion_entries, v.read().await.len()) + } else { + (0, 0) + } + }; + + let token_per_field_max_capped = cmp::max(token_per_field_max, 65_536); + + let text_normalized; + let mut non_unique_terms_line: Vec<&str> = Vec::new(); + let mut non_unique_terms_line_string: Vec = Vec::new(); + + let mut start = false; + let mut start_pos = 0; + let mut first_part = &text[0..0]; + + if is_query { + match tokenizer { + TokenizerType::AsciiAlphabetic => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + 'a'..='z' | '"' | '+' | '-' => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + TokenizerType::UnicodeAlphanumeric => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + TokenizerType::UnicodeAlphanumericFolded => { + text_normalized = fold_diacritics_accents_ligatures_zalgo_umlaut(text); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + let apostroph = APOSTROPH.contains(&char.1); + if start { + if apostroph { + first_part = &text_normalized[start_pos..char.0]; + } else { + if first_part.len() >= 2 { + non_unique_terms_line.push(first_part) + } else { + non_unique_terms_line + .push(&text_normalized[start_pos..char.0]); + } + first_part = &text_normalized[0..0]; + } + } else if !apostroph && !first_part.is_empty() { + non_unique_terms_line.push(first_part); + first_part = &text_normalized[0..0]; + } + + false + } + }; + } + } + + TokenizerType::Whitespace => { + text_normalized = text.to_owned(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + TokenizerType::WhitespaceLowercase => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + #[cfg(feature = "zh")] + TokenizerType::UnicodeAlphanumericZH => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(&text_normalized[start_pos..char.0], true); + non_unique_terms_line_string.extend(result.0); + } + false + } + }; + } + } + } + } else { + match tokenizer { + TokenizerType::AsciiAlphabetic => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + 'a'..='z' => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + TokenizerType::UnicodeAlphanumeric => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '+' | '-' | '#' => start, + + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + TokenizerType::UnicodeAlphanumericFolded => { + text_normalized = fold_diacritics_accents_ligatures_zalgo_umlaut(text); + + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '+' | '-' | '#' => start, + + _ => { + let apostroph = APOSTROPH.contains(&char.1); + if start { + if apostroph { + first_part = &text_normalized[start_pos..char.0]; + } else { + if first_part.len() >= 2 { + non_unique_terms_line.push(first_part) + } else { + non_unique_terms_line + .push(&text_normalized[start_pos..char.0]); + } + first_part = &text_normalized[0..0]; + } + } else if !apostroph && !first_part.is_empty() { + non_unique_terms_line.push(first_part); + first_part = &text_normalized[0..0]; + } + + false + } + }; + } + } + + TokenizerType::Whitespace => { + text_normalized = text.to_owned(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + TokenizerType::WhitespaceLowercase => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + non_unique_terms_line.push(&text_normalized[start_pos..char.0]); + } + false + } + }; + } + } + + #[cfg(feature = "zh")] + TokenizerType::UnicodeAlphanumericZH => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '+' | '-' | '#' => start, + + _ => { + if start { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(&text_normalized[start_pos..char.0], true); + non_unique_terms_line_string.extend(result.0); + } + false + } + }; + } + } + } + } + + #[cfg(feature = "zh")] + if tokenizer == TokenizerType::UnicodeAlphanumericZH { + if start { + if first_part.len() >= 2 { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(first_part, true); + non_unique_terms_line_string.extend(result.0); + } else { + non_unique_terms_line.push(&text_normalized[start_pos..text_normalized.len()]); + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(&text_normalized[start_pos..text_normalized.len()], true); + non_unique_terms_line_string.extend(result.0); + } + } else if !first_part.is_empty() { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(first_part, true); + non_unique_terms_line_string.extend(result.0); + } + non_unique_terms_line = non_unique_terms_line_string + .iter() + .map(|s| s.as_str()) + .collect(); + } + + if tokenizer == TokenizerType::AsciiAlphabetic + || tokenizer == TokenizerType::UnicodeAlphanumeric + || tokenizer == TokenizerType::UnicodeAlphanumericFolded + || tokenizer == TokenizerType::Whitespace + || tokenizer == TokenizerType::WhitespaceLowercase + { + if start { + if first_part.len() >= 2 { + non_unique_terms_line.push(first_part) + } else { + non_unique_terms_line.push(&text_normalized[start_pos..text_normalized.len()]); + } + } else if !first_part.is_empty() { + non_unique_terms_line.push(first_part) + } + } + + if is_query && non_unique_terms_line.len() > MAX_QUERY_TERM_NUMBER { + non_unique_terms_line.truncate(MAX_QUERY_TERM_NUMBER); + } + + let mut position: u32 = 0; + let mut is_phrase = query_type == &QueryType::Phrase; + let mut term_string_1 = "".to_string(); + let mut term_frequent_1 = false; + let mut term_string_2 = "".to_string(); + let mut term_frequent_2 = false; + + let mut term_len_1 = 0; + let mut term_len_2 = 0; + + let mut non_unique_terms_raw = Vec::new(); + + for term_string in non_unique_terms_line.iter_mut() { + if is_query { + let mut query_type_term = if is_phrase { + QueryType::Phrase + } else { + query_type.clone() + }; + if term_string.starts_with('+') { + if query_type != &QueryType::Phrase { + *query_type = QueryType::Intersection; + } + query_type_term = QueryType::Intersection; + *term_string = &term_string[1..]; + } else if term_string.starts_with('-') { + query_type_term = QueryType::Not; + *term_string = &term_string[1..]; + } + if term_string.starts_with('\"') { + is_phrase = true; + *query_type = QueryType::Phrase; + query_type_term = QueryType::Phrase; + *term_string = &term_string[1..]; + } + if term_string.ends_with('\"') { + *query_type = QueryType::Phrase; + *term_string = &term_string[0..term_string.len() - 1]; + is_phrase = false; + } + + if term_string.is_empty() { + continue; + } + + if !index.stop_words.is_empty() && index.stop_words.contains(*term_string) { + continue; + } + + let term_string = if let Some(stemmer) = index.stemmer.as_ref() { + stemmer.stem(term_string).to_string() + } else { + term_string.to_string() + }; + + non_unique_terms_raw.push((term_string, query_type_term)); + } else { + if !index.stop_words.is_empty() && index.stop_words.contains(*term_string) { + continue; + } + + let term_string_0 = if let Some(stemmer) = index.stemmer.as_ref() { + stemmer.stem(term_string).to_string() + } else { + term_string.to_string() + }; + + let mut term_positions_len; + let term_hash_0 = hash64(term_string_0.as_bytes()); + let term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + + let term_number_0 = term_string_0.chars().next().unwrap().is_ascii_digit() + && term_string_0.chars().last().unwrap().is_ascii_digit(); + let term_len_0 = term_string_0.chars().count(); + + if index.indexed_schema_vec[indexed_field_id].completion_source { + let mut level_completions = index.level_completions.write().await; + + if !term_number_0 && term_len_0 > 1 { + let unigram_string = vec![term_string_0.clone()]; + if completion_len < max_completion_entries { + level_completions + .entry(unigram_string) + .and_modify(|v| { + *v += 1; + }) + .or_insert(1); + } + } + + if !term_string_1.is_empty() { + if term_len_1 > 1 { + let bigram_string = vec![term_string_1.clone(), term_string_0.clone()]; + if completion_len < max_completion_entries { + level_completions + .entry(bigram_string) + .and_modify(|v| { + *v += 1; + }) + .or_insert(1); + } + } + + if !term_string_2.is_empty() && term_len_2 > 1 { + let trigram_string = vec![ + term_string_2.clone(), + term_string_1.clone(), + term_string_0.clone(), + ]; + if completion_len < max_completion_entries { + level_completions + .entry(trigram_string) + .and_modify(|v| { + *v += 1; + }) + .or_insert(1); + } + } + } + + drop(level_completions); + + term_len_2 = term_len_1; + term_len_1 = term_len_0; + } + + let term_object = unique_terms + .entry(term_string_0.clone()) + .or_insert_with(|| { + let term_bytes = term_string_0.as_bytes(); + TermObject { + term: term_string_0.clone(), + + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes), + + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::SingleTerm, + + ..Default::default() + } + }); + + term_object.field_positions_vec[indexed_field_id].push(position as u16); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + + if !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramFF as u8 != 0 + && term_frequent_1 + && term_frequent_0) + { + let term_string = [term_string_1.as_str(), term_string_0.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFF, + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 1); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramRF as u8 != 0 + && !term_frequent_1 + && term_frequent_0) + { + let term_string = [term_string_1.as_str(), term_string_0.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramRF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramRF, + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 1); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramFR as u8 != 0 + && term_frequent_1 + && !term_frequent_0) + { + let term_string = [term_string_1.as_str(), term_string_0.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFR as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFR, + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 1); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_2.is_empty() + && !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramFFF as u8 != 0 + && term_frequent_2 + && term_frequent_1 + && term_frequent_0) + { + let term_string = [ + term_string_2.as_str(), + term_string_1.as_str(), + term_string_0.as_str(), + ] + .join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFFF, + term_ngram_2: term_string_2.clone(), + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_2.is_empty() + && !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 + && !term_frequent_2 + && term_frequent_1 + && term_frequent_0) + { + let term_string = [ + term_string_2.as_str(), + term_string_1.as_str(), + term_string_0.as_str(), + ] + .join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramRFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramRFF, + term_ngram_2: term_string_2.clone(), + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_2.is_empty() + && !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 + && term_frequent_2 + && term_frequent_1 + && !term_frequent_0) + { + let term_string = [ + term_string_2.as_str(), + term_string_1.as_str(), + term_string_0.as_str(), + ] + .join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFFR as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFFR, + term_ngram_2: term_string_2.clone(), + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + if !term_string_2.is_empty() + && !term_string_1.is_empty() + && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 + && term_frequent_2 + && !term_frequent_1 + && term_frequent_0) + { + let term_string = [ + term_string_2.as_str(), + term_string_1.as_str(), + term_string_0.as_str(), + ] + .join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFRF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFRF, + term_ngram_2: term_string_2, + term_ngram_1: term_string_1.clone(), + term_ngram_0: term_string_0.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16 - 2); + term_positions_len = term_object.field_positions_vec[indexed_field_id].len(); + } + + term_string_2 = term_string_1; + term_string_1 = term_string_0; + + term_frequent_2 = term_frequent_1; + term_frequent_1 = term_frequent_0; + + position += 1; + + if position >= token_per_field_max_capped { + break; + } + if term_positions_len >= position_per_term_max { + continue; + } + }; + } + + if is_query { + let len = non_unique_terms_raw.len(); + + let mut term_0; + let mut term_frequent_0; + let mut term_phrase_0; + + if len > 0 { + let item = &non_unique_terms_raw[0]; + term_0 = item.0.clone(); + let term_hash_0 = hash64(term_0.as_bytes()); + term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + term_phrase_0 = item.1 == QueryType::Phrase; + } else { + term_0 = "".to_string(); + term_frequent_0 = false; + term_phrase_0 = false; + } + + let mut term_1; + let mut term_frequent_1; + let mut term_phrase_1; + if len > 1 { + let item = &non_unique_terms_raw[1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + + let len = non_unique_terms_raw.len(); + let mut i = 0; + while i < len { + let term_2; + let term_frequent_2; + let term_phrase_2; + if len > i + 2 { + let item = &non_unique_terms_raw[i + 2]; + term_2 = item.0.clone(); + let term_hash_2 = hash64(term_2.as_bytes()); + term_frequent_2 = index.frequent_hashset.contains(&term_hash_2); + term_phrase_2 = item.1 == QueryType::Phrase; + } else { + term_2 = "".to_string(); + term_frequent_2 = false; + term_phrase_2 = false; + } + if i + 2 < len + && (ngram_indexing & NgramSet::NgramFFF as u8 != 0 + && term_frequent_0 + && term_frequent_1 + && term_frequent_2 + && term_phrase_0 + && term_phrase_1 + && term_phrase_2) + { + let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFFF, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramFFF, + op: QueryType::Phrase, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + }); + + i += 3; + + if len > i { + let item = &non_unique_terms_raw[i]; + term_0 = item.0.clone(); + let term_hash_0 = hash64(term_0.as_bytes()); + term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + term_phrase_0 = item.1 == QueryType::Phrase; + } else { + term_0 = "".to_string(); + term_frequent_0 = false; + term_phrase_0 = false; + } + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 2 < len + && (ngram_indexing & NgramSet::NgramRFF as u8 != 0 + && !term_frequent_0 + && term_frequent_1 + && term_frequent_2 + && term_phrase_0 + && term_phrase_1 + && term_phrase_2) + { + let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramRFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramRFF, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramRFF, + op: QueryType::Phrase, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + }); + + i += 3; + + if len > i { + let item = &non_unique_terms_raw[i]; + term_0 = item.0.clone(); + let term_hash_0 = hash64(term_0.as_bytes()); + term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + term_phrase_0 = item.1 == QueryType::Phrase; + } else { + term_0 = "".to_string(); + term_frequent_0 = false; + term_phrase_0 = false; + } + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 2 < len + && (ngram_indexing & NgramSet::NgramFFR as u8 != 0 + && term_frequent_0 + && term_frequent_1 + && !term_frequent_2 + && term_phrase_0 + && term_phrase_1 + && term_phrase_2) + { + let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFFR as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFFR, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramFFR, + op: QueryType::Phrase, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + }); + + i += 3; + + if len > i { + let item = &non_unique_terms_raw[i]; + term_0 = item.0.clone(); + let term_hash_0 = hash64(term_0.as_bytes()); + term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + term_phrase_0 = item.1 == QueryType::Phrase; + } else { + term_0 = "".to_string(); + term_frequent_0 = false; + term_phrase_0 = false; + } + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 2 < len + && (ngram_indexing & NgramSet::NgramFRF as u8 != 0 + && term_frequent_0 + && !term_frequent_1 + && term_frequent_2 + && term_phrase_0 + && term_phrase_1 + && term_phrase_2) + { + let term_string = [term_0.as_str(), term_1.as_str(), term_2.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFRF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFRF, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramFRF, + op: QueryType::Phrase, + term_ngram_2: term_0.clone(), + term_ngram_1: term_1.clone(), + term_ngram_0: term_2.clone(), + }); + + i += 3; + + if len > i { + let item = &non_unique_terms_raw[i]; + term_0 = item.0.clone(); + let term_hash_0 = hash64(term_0.as_bytes()); + term_frequent_0 = index.frequent_hashset.contains(&term_hash_0); + term_phrase_0 = item.1 == QueryType::Phrase; + } else { + term_0 = "".to_string(); + term_frequent_0 = false; + term_phrase_0 = false; + } + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 1 < len + && (ngram_indexing & NgramSet::NgramFF as u8 != 0 + && term_frequent_0 + && term_frequent_1 + && term_phrase_0 + && term_phrase_1) + { + let term_string = [term_0.as_str(), term_1.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFF, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramFF, + op: QueryType::Phrase, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + }); + + i += 2; + + term_0 = term_2.clone(); + term_frequent_0 = term_frequent_2; + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 1 < len + && (ngram_indexing & NgramSet::NgramRF as u8 != 0 + && !term_frequent_0 + && term_frequent_1 + && term_phrase_0 + && term_phrase_1) + { + let term_string = [term_0.as_str(), term_1.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramRF as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramRF, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramRF, + op: QueryType::Phrase, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + }); + + i += 2; + + term_0 = term_2.clone(); + term_frequent_0 = term_frequent_2; + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else if i + 1 < len + && (ngram_indexing & NgramSet::NgramFR as u8 != 0 + && term_frequent_0 + && !term_frequent_1 + && term_phrase_0 + && term_phrase_1) + { + let term_string = [term_0.as_str(), term_1.as_str()].join(" "); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.clone(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes) | NgramType::NgramFR as u64, + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::NgramFR, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::NgramFR, + op: QueryType::Phrase, + term_ngram_1: term_0.clone(), + term_ngram_0: term_1.clone(), + + ..Default::default() + }); + + i += 2; + + term_0 = term_2.clone(); + term_frequent_0 = term_frequent_2; + + if len > i + 1 { + let item = &non_unique_terms_raw[i + 1]; + term_1 = item.0.clone(); + let term_hash_1 = hash64(term_1.as_bytes()); + term_frequent_1 = index.frequent_hashset.contains(&term_hash_1); + term_phrase_1 = item.1 == QueryType::Phrase; + } else { + term_1 = "".to_string(); + term_frequent_1 = false; + term_phrase_1 = false; + } + } else { + let term_string = term_0.clone(); + + let term_object = unique_terms.entry(term_string.clone()).or_insert_with(|| { + let term_bytes = term_string.as_bytes(); + TermObject { + term: term_string.to_string(), + key0: hash32(term_bytes) & segment_number_mask1, + key_hash: hash64(term_bytes), + field_positions_vec: vec![Vec::new(); indexed_field_number], + ngram_type: NgramType::SingleTerm, + ..Default::default() + } + }); + term_object.field_positions_vec[indexed_field_id].push(position as u16); + + non_unique_terms.push(NonUniqueTermObject { + term: term_string, + ngram_type: NgramType::SingleTerm, + op: non_unique_terms_raw[i].1.clone(), + ..Default::default() + }); + + i += 1; + + term_0.clone_from(&term_1); + term_1.clone_from(&term_2); + + term_frequent_0 = term_frequent_1; + term_frequent_1 = term_frequent_2; + + term_phrase_0 = term_phrase_1; + term_phrase_1 = term_phrase_2; + }; + + position += 1; + } + } + + *nonunique_terms_count = position; +} + +/// Parse a string into words, using the specified tokenizer type. +pub fn tokenizer_lite( + text: &str, + tokenizer: &TokenizerType, + index: &Shard, +) -> Vec<(String, QueryType)> { + let text_normalized; + let mut non_unique_terms_line: Vec = Vec::new(); + + let mut start = false; + let mut start_pos = 0; + let mut first_part = &text[0..0]; + + match tokenizer { + TokenizerType::AsciiAlphabetic => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + 'a'..='z' | '"' | '+' | '-' => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line + .push(text_normalized[start_pos..char.0].to_string()); + } + false + } + }; + } + } + TokenizerType::UnicodeAlphanumeric => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + non_unique_terms_line + .push(text_normalized[start_pos..char.0].to_string()); + } + false + } + }; + } + } + TokenizerType::UnicodeAlphanumericFolded => { + text_normalized = fold_diacritics_accents_ligatures_zalgo_umlaut(text); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + let apostroph = APOSTROPH.contains(&char.1); + if start { + if apostroph { + first_part = &text_normalized[start_pos..char.0]; + } else { + if first_part.len() >= 2 { + non_unique_terms_line.push(first_part.to_string()) + } else { + non_unique_terms_line + .push(text_normalized[start_pos..char.0].to_string()); + } + first_part = &text_normalized[0..0]; + } + } else if !apostroph && !first_part.is_empty() { + non_unique_terms_line.push(first_part.to_string()); + first_part = &text_normalized[0..0]; + } + + false + } + }; + } + } + + TokenizerType::Whitespace => { + text_normalized = text.to_owned(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line + .push(text_normalized[start_pos..char.0].to_string()); + } + false + } + }; + } + } + + TokenizerType::WhitespaceLowercase => { + text_normalized = text.to_ascii_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if !token.is_whitespace() => { + if !start { + start_pos = char.0; + } + true + } + + _ => { + if start { + non_unique_terms_line + .push(text_normalized[start_pos..char.0].to_string()); + } + false + } + }; + } + } + + #[cfg(feature = "zh")] + TokenizerType::UnicodeAlphanumericZH => { + text_normalized = text.to_lowercase(); + for char in text_normalized.char_indices() { + start = match char.1 { + token if regex_syntax::is_word_character(token) => { + if !start { + start_pos = char.0; + } + true + } + + '"' | '+' | '-' | '#' => { + if !start { + start_pos = char.0; + } + true + } + _ => { + if start { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(&text_normalized[start_pos..char.0], true); + non_unique_terms_line.extend(result.0); + } + false + } + }; + } + } + } + + #[cfg(feature = "zh")] + if tokenizer == &TokenizerType::UnicodeAlphanumericZH { + if start { + if first_part.len() >= 2 { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(first_part, true); + non_unique_terms_line.extend(result.0); + } else { + non_unique_terms_line + .push(text_normalized[start_pos..text_normalized.len()].to_string()); + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(&text_normalized[start_pos..text_normalized.len()], true); + non_unique_terms_line.extend(result.0); + } + } else if !first_part.is_empty() { + let result = index + .word_segmentation_option + .as_ref() + .unwrap() + .segment(first_part, true); + non_unique_terms_line.extend(result.0); + } + } + + if tokenizer != &TokenizerType::AsciiAlphabetic + || tokenizer == &TokenizerType::UnicodeAlphanumeric + || tokenizer == &TokenizerType::UnicodeAlphanumericFolded + || tokenizer == &TokenizerType::Whitespace + || tokenizer == &TokenizerType::WhitespaceLowercase + { + if start { + if first_part.len() >= 2 { + non_unique_terms_line.push(first_part.to_string()) + } else { + non_unique_terms_line + .push(text_normalized[start_pos..text_normalized.len()].to_string()); + } + } else if !first_part.is_empty() { + non_unique_terms_line.push(first_part.to_string()) + } + } + + let mut non_unique_terms_raw = Vec::new(); + let query_type = &mut QueryType::Union; + let mut is_phrase = query_type == &QueryType::Phrase; + let mut is_endswith_quote = false; + for term_string in non_unique_terms_line.iter_mut() { + if is_endswith_quote { + return Vec::new(); + } + + let mut query_type_term = if is_phrase { + QueryType::Phrase + } else { + query_type.clone() + }; + if term_string.starts_with('+') || term_string.starts_with('-') { + return Vec::new(); + } + if term_string.starts_with('\"') { + if !non_unique_terms_raw.is_empty() { + return Vec::new(); + } + + is_phrase = true; + *query_type = QueryType::Phrase; + query_type_term = QueryType::Phrase; + *term_string = term_string[1..].to_string(); + } + if term_string.ends_with('\"') { + *query_type = QueryType::Phrase; + *term_string = term_string[0..term_string.len() - 1].to_string(); + is_phrase = false; + is_endswith_quote = true; + } + + if term_string.is_empty() { + continue; + } + + if !index.stop_words.is_empty() && index.stop_words.contains(term_string) { + continue; + } + + let term_string = if let Some(stemmer) = index.stemmer.as_ref() { + stemmer.stem(term_string).to_string() + } else { + term_string.to_string() + }; + + non_unique_terms_raw.push((term_string, query_type_term)); + } + + non_unique_terms_raw +} diff --git a/mobile_app/rust/src/seekstorm/union.rs b/mobile_app/rust/src/seekstorm/union.rs new file mode 100644 index 0000000..b2d95f2 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/union.rs @@ -0,0 +1,1478 @@ +use crate::{ + add_result::{add_result_multiterm_multifield, is_facet_filter}, + compatible::{_blsr_u64, _mm_tzcnt_64}, + geo_search::{decode_morton_2_d, euclidian_distance}, + index::{ + AccessType, CompressionType, FieldType, NonUniquePostingListObjectQuery, + PostingListObjectQuery, QueueObject, ROARING_BLOCK_SIZE, Shard, + }, + intersection::intersection_blockid, + search::{FilterSparse, Ranges, ResultType, SearchResult}, + single::{single_blockid, single_docid}, + utils::{ + block_copy, read_f32, read_f64, read_i8, read_i16, read_i32, read_i64, read_u16, read_u32, + read_u64, write_u64, + }, +}; + +use ahash::AHashSet; +use num_traits::FromPrimitive; + +use std::sync::Arc; +use std::{ + cmp, + sync::atomic::{AtomicUsize, Ordering}, +}; + +use async_recursion::async_recursion; + +/// Union for a single block +#[allow(clippy::too_many_arguments)] +pub(crate) async fn union_docid<'a>( + shard: &'a Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], + query_list: &mut Vec>, + not_query_list: &mut [PostingListObjectQuery<'a>], + block_id: usize, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], +) { + for plo in not_query_list.iter_mut() { + let query_list_item_mut = plo; + + let result = query_list_item_mut + .blocks + .binary_search_by(|block| block.block_id.cmp(&(block_id as u32))); + match result { + Ok(p_block) => { + query_list_item_mut.bm25_flag = true; + query_list_item_mut.p_block = p_block as i32 + } + Err(_) => { + query_list_item_mut.bm25_flag = false; + continue; + } + }; + let blo = &query_list_item_mut.blocks[query_list_item_mut.p_block as usize]; + + query_list_item_mut.compression_type = + FromPrimitive::from_i32((blo.compression_type_pointer >> 30) as i32).unwrap(); + + query_list_item_mut.rank_position_pointer_range = + blo.compression_type_pointer & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + let posting_pointer_size_sum = blo.pointer_pivot_p_docid as usize * 2 + + if (blo.pointer_pivot_p_docid as usize) <= blo.posting_count as usize { + ((blo.posting_count as usize + 1) - blo.pointer_pivot_p_docid as usize) * 3 + } else { + 0 + }; + query_list_item_mut.compressed_doc_id_range = + query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; + + query_list_item_mut.p_docid = 0; + query_list_item_mut.p_docid_count = + query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count as usize + + 1; + + query_list_item_mut.docid = 0; + + if query_list_item_mut.compression_type == CompressionType::Rle { + query_list_item_mut.p_run_count = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range, + ) as i32; + let startdocid = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 2, + ); + let runlength = read_u16( + query_list_item_mut.byte_array, + query_list_item_mut.compressed_doc_id_range + 4, + ); + query_list_item_mut.docid = startdocid as i32; + query_list_item_mut.run_end = (startdocid + runlength) as i32; + query_list_item_mut.p_run_sum = runlength as i32; + query_list_item_mut.p_run = 6; + } + } + + let mut valid_term_count = 0; + let mut term_index = 0; + let mut single_term_index = 0; + + for query_list_item_mut in query_list.iter_mut() { + query_list_item_mut.end_flag = query_list_item_mut.end_flag_block + || (query_list_item_mut.blocks[query_list_item_mut.p_block as usize].block_id + != block_id as u32); + + if query_list_item_mut.end_flag { + term_index += 1; + continue; + } + + valid_term_count += 1; + single_term_index = term_index; + term_index += 1; + + query_list_item_mut.p_docid = 0; + query_list_item_mut.p_docid_count = + query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count as usize + + 1; + + query_list_item_mut.compression_type = FromPrimitive::from_u32( + query_list_item_mut.blocks[query_list_item_mut.p_block as usize] + .compression_type_pointer + >> 30, + ) + .unwrap(); + + query_list_item_mut.rank_position_pointer_range = query_list_item_mut.blocks + [query_list_item_mut.p_block as usize] + .compression_type_pointer + & 0b0011_1111_1111_1111_1111_1111_1111_1111; + + query_list_item_mut.pointer_pivot_p_docid = + query_list_item_mut.blocks[query_list_item_mut.p_block as usize].pointer_pivot_p_docid; + + let posting_pointer_size_sum = query_list_item_mut.blocks + [query_list_item_mut.p_block as usize] + .pointer_pivot_p_docid as usize + * 2 + + if (query_list_item_mut.blocks[query_list_item_mut.p_block as usize] + .pointer_pivot_p_docid as usize) + <= query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count + as usize + { + ((query_list_item_mut.blocks[query_list_item_mut.p_block as usize].posting_count + as usize + + 1) + - query_list_item_mut.blocks[query_list_item_mut.p_block as usize] + .pointer_pivot_p_docid as usize) + * 3 + } else { + 0 + }; + query_list_item_mut.compressed_doc_id_range = + query_list_item_mut.rank_position_pointer_range as usize + posting_pointer_size_sum; + query_list_item_mut.docid = 0; + query_list_item_mut.intersect = 0; + query_list_item_mut.ulong_pos = 0; + query_list_item_mut.p_run = -2; + query_list_item_mut.run_end = 0; + } + + if valid_term_count == 0 { + return; + } + + if valid_term_count == 1 { + if result_type == &ResultType::Count && search_result.query_facets.is_empty() { + *result_count += query_list[single_term_index].p_docid_count as i32; + } else { + let skip_facet_count = search_result.skip_facet_count; + search_result.skip_facet_count = false; + + single_docid( + shard, + query_list, + not_query_list, + &query_list[single_term_index].blocks + [query_list[single_term_index].p_block as usize], + single_term_index, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + + search_result.skip_facet_count = skip_facet_count; + } + return; + }; + + if result_type == &ResultType::Count { + union_count( + shard, + result_count, + search_result, + query_list, + not_query_list, + facet_filter, + block_id, + ) + .await; + return; + } + + if query_list.len() <= 8 { + union_scan_8( + shard, + non_unique_query_list, + query_list, + not_query_list, + block_id, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + } else { + let mut result_count_local = *result_count; + union_scan_32( + shard, + non_unique_query_list, + query_list, + not_query_list, + block_id, + result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + + if query_list.len() > 32 && result_type == &ResultType::TopkCount { + union_count( + shard, + &mut result_count_local, + search_result, + query_list, + not_query_list, + facet_filter, + block_id, + ) + .await; + *result_count = result_count_local; + } + } +} + +#[allow(clippy::too_many_arguments)] +pub(crate) async fn union_blockid<'a>( + shard: &'a Shard, + non_unique_query_list: &mut Vec>, + query_list: &mut Vec>, + not_query_list: &mut [PostingListObjectQuery<'a>], + result_count_arc: &Arc, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], +) { + let item_0 = &query_list[0]; + let enable_inter_query_threading_multi = + if !shard.enable_search_quality_test && shard.enable_inter_query_threading_auto { + item_0.posting_count / item_0.p_block_max as u32 > 10 + } else { + shard.enable_inter_query_threading + }; + let mut task_list = Vec::new(); + + loop { + let mut break_loop = true; + let mut block_id_min = usize::MAX; + + for plo in query_list.iter_mut() { + if !plo.end_flag_block { + let block_id = plo.blocks[plo.p_block as usize].block_id as usize; + + if block_id < block_id_min { + block_id_min = block_id; + } + } + } + + if !enable_inter_query_threading_multi { + if shard.meta.access_type == AccessType::Mmap { + for query_list_item_mut in query_list.iter_mut() { + let segment = &shard.segments_index[query_list_item_mut.key0 as usize]; + query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block_id_min].0 + ..segment.byte_array_blocks_pointer[block_id_min].0 + + segment.byte_array_blocks_pointer[block_id_min].1]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + let segment = + &shard.segments_index[nonunique_query_list_item_mut.key0 as usize]; + nonunique_query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block_id_min].0 + ..segment.byte_array_blocks_pointer[block_id_min].0 + + segment.byte_array_blocks_pointer[block_id_min].1]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + let segment = &shard.segments_index[not_query_list_item_mut.key0 as usize]; + not_query_list_item_mut.byte_array = + &shard.index_file_mmap[segment.byte_array_blocks_pointer[block_id_min].0 + ..segment.byte_array_blocks_pointer[block_id_min].0 + + segment.byte_array_blocks_pointer[block_id_min].1]; + } + } else { + for query_list_item_mut in query_list.iter_mut() { + query_list_item_mut.byte_array = &shard.segments_index + [query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id_min]; + } + for nonunique_query_list_item_mut in non_unique_query_list.iter_mut() { + nonunique_query_list_item_mut.byte_array = &shard.segments_index + [nonunique_query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id_min]; + } + for not_query_list_item_mut in not_query_list.iter_mut() { + not_query_list_item_mut.byte_array = &shard.segments_index + [not_query_list_item_mut.key0 as usize] + .byte_array_blocks[block_id_min]; + } + } + + let mut result_count_local = 0; + union_docid( + shard, + non_unique_query_list, + query_list, + not_query_list, + block_id_min, + &mut result_count_local, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + ) + .await; + + result_count_arc.fetch_add(result_count_local as usize, Ordering::Relaxed); + } else { + let mut query_list_copy: Vec = Vec::new(); + let mut non_unique_query_list_copy: Vec = Vec::new(); + + for x in &mut *query_list { + query_list_copy.push(x.clone()); + } + + for x in &mut *non_unique_query_list { + let y = x.clone(); + non_unique_query_list_copy.push(y); + } + + let result_count_clone = result_count_arc.clone(); + + task_list.push(tokio::spawn(async move { + let result_count_local = 1; + result_count_clone.fetch_add(result_count_local, Ordering::Relaxed); + })); + } + + for plo in query_list.iter_mut() { + if !plo.end_flag_block { + let block_id = plo.blocks[plo.p_block as usize].block_id as usize; + if block_id == block_id_min { + if plo.p_block < plo.p_block_max - 1 { + plo.p_block += 1; + break_loop = false; + } else { + plo.end_flag_block = true; + } + } else { + break_loop = false; + } + } + } + + if break_loop { + break; + } + } +} + +#[allow(clippy::too_many_arguments)] +pub(crate) async fn union_scan_8<'a>( + shard: &'a Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], + query_list: &mut [PostingListObjectQuery<'a>], + not_query_list: &mut [PostingListObjectQuery<'a>], + block_id: usize, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], +) { + let union_max = 8usize; + + let mut query_terms_bitset_table: [u8; ROARING_BLOCK_SIZE] = [0u8; ROARING_BLOCK_SIZE]; + let mut result_count_local = 0; + + query_list.sort_by(|a, b| { + b.blocks[b.p_block as usize] + .max_block_score + .partial_cmp(&a.blocks[a.p_block as usize].max_block_score) + .unwrap() + }); + + let mut max_score = 0.0; + + for (i, plo) in query_list.iter_mut().take(union_max).enumerate() { + if plo.end_flag { + continue; + } + + plo.p_docid = 0; + let mask = 1 << i; + max_score += plo.blocks[plo.p_block as usize].max_block_score; + + if plo.compression_type == CompressionType::Bitmap { + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &plo.byte_array[plo.compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = ((ulong_pos << 6) + bit_pos) as usize; + query_terms_bitset_table[docid] |= mask; + } + } + } else if plo.compression_type == CompressionType::Array { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + + query_terms_bitset_table[docid] |= mask; + } + } else { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + + query_terms_bitset_table[docid] |= mask; + } + } + } + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + if plo.compression_type == CompressionType::Bitmap { + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &plo.byte_array[plo.compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = ((ulong_pos << 6) + bit_pos) as usize; + query_terms_bitset_table[docid] = 0; + } + } + } else if plo.compression_type == CompressionType::Array { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + + query_terms_bitset_table[docid] = 0; + } + } else { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + + query_terms_bitset_table[docid] = 0; + } + } + } + } + + let block_skip = search_result.topk_candidates.current_heap_size >= top_k + && max_score <= search_result.topk_candidates._elements[0].score + && search_result.topk_candidates.result_sort.is_empty(); + + let query_list_len = cmp::min(query_list.len(), union_max); + + let query_combination_count = 1 << query_list_len; + let mut query_terms_max_score_sum_table: Vec = vec![0.0; query_combination_count]; + for (i, max_score) in query_terms_max_score_sum_table.iter_mut().enumerate() { + for (j, term) in query_list.iter().enumerate().take(query_list_len) { + if ((1 << j) & i) > 0 { + *max_score += term.blocks[term.p_block as usize].max_block_score + } + } + } + + let mut p_docid_array = vec![0u16; union_max]; + + let mut _result_count = 0; + let block_id_msb = block_id << 16; + + for (i, query_terms_bitset) in query_terms_bitset_table.iter().enumerate() { + if *query_terms_bitset > 0 { + result_count_local += 1; + + if !block_skip + && (search_result.topk_candidates.current_heap_size < top_k + || query_terms_max_score_sum_table[*query_terms_bitset as usize] + > search_result.topk_candidates._elements[0].score) + { + for (j, query_term) in query_list.iter_mut().take(query_list_len).enumerate() { + query_term.bm25_flag = (query_terms_bitset & (1 << j)) > 0; + + query_term.p_docid = p_docid_array[j] as usize; + } + + add_result_multiterm_multifield( + shard, + block_id_msb | i, + &mut _result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + false, + f32::MAX, + false, + ); + } + + if !block_skip { + for (j, item) in p_docid_array.iter_mut().take(query_list_len).enumerate() { + *item += ((query_terms_bitset >> j) & 1) as u16 + } + } + } + } + + *result_count += result_count_local; +} + +#[allow(clippy::too_many_arguments)] +pub(crate) async fn union_scan_32<'a>( + shard: &'a Shard, + non_unique_query_list: &mut [NonUniquePostingListObjectQuery<'a>], + query_list: &mut [PostingListObjectQuery<'a>], + not_query_list: &mut [PostingListObjectQuery<'a>], + block_id: usize, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], +) { + let union_max = 32usize; + + let mut query_terms_bitset_table: [u32; ROARING_BLOCK_SIZE] = [0u32; ROARING_BLOCK_SIZE]; + let mut result_count_local = 0; + + query_list.sort_by(|a, b| { + b.blocks[b.p_block as usize] + .max_block_score + .partial_cmp(&a.blocks[a.p_block as usize].max_block_score) + .unwrap() + }); + + let mut max_score = 0.0; + let mut mask = u32::MAX >> (32 - query_list.len()); + for plo in query_list.iter_mut().take(union_max).rev() { + if plo.end_flag { + continue; + } + max_score += plo.blocks[plo.p_block as usize].max_block_score; + + if max_score > search_result.topk_candidates._elements[0].score { + break; + } + + mask >>= 1; + } + + let mut max_score = 0.0; + + for (i, plo) in query_list.iter_mut().take(union_max).enumerate() { + if plo.end_flag { + continue; + } + + plo.p_docid = 0; + let mask = 1 << i; + max_score += plo.blocks[plo.p_block as usize].max_block_score; + + if plo.compression_type == CompressionType::Bitmap { + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &plo.byte_array[plo.compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = ((ulong_pos << 6) + bit_pos) as usize; + query_terms_bitset_table[docid] |= mask; + } + } + } else if plo.compression_type == CompressionType::Array { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + + query_terms_bitset_table[docid] |= mask; + } + } else { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + + query_terms_bitset_table[docid] |= mask; + } + } + } + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + if plo.compression_type == CompressionType::Bitmap { + for ulong_pos in 0u64..1024 { + let mut intersect: u64 = read_u64( + &plo.byte_array[plo.compressed_doc_id_range..], + ulong_pos as usize * 8, + ); + + while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as u64; + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = ((ulong_pos << 6) + bit_pos) as usize; + query_terms_bitset_table[docid] = 0; + } + } + } else if plo.compression_type == CompressionType::Array { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + + query_terms_bitset_table[docid] = 0; + } + } else { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + + query_terms_bitset_table[docid] = 0; + } + } + } + } + + let block_skip = search_result.topk_candidates.current_heap_size >= top_k + && max_score <= search_result.topk_candidates._elements[0].score + && search_result.topk_candidates.result_sort.is_empty(); + + let query_list_len = cmp::min(query_list.len(), union_max); + + let mut p_docid_array = vec![0u16; union_max]; + + let mut _result_count = 0; + let block_id_msb = block_id << 16; + + for (i, query_terms_bitset) in query_terms_bitset_table.iter().enumerate() { + if *query_terms_bitset > 0 { + result_count_local += 1; + + if !block_skip + && (search_result.topk_candidates.current_heap_size < top_k + || query_terms_bitset & mask > 0) + { + let mut query_terms_max_score_sum = 0f32; + for (j, plo) in query_list.iter().enumerate() { + if (query_terms_bitset & (1 << j)) > 0 { + query_terms_max_score_sum += + plo.blocks[plo.p_block as usize].max_block_score; + } + } + if query_terms_max_score_sum > search_result.topk_candidates._elements[0].score { + for (j, query_term) in query_list.iter_mut().take(query_list_len).enumerate() { + query_term.bm25_flag = (query_terms_bitset & (1 << j)) > 0; + + query_term.p_docid = p_docid_array[j] as usize; + } + + add_result_multiterm_multifield( + shard, + block_id_msb | i, + &mut _result_count, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + non_unique_query_list, + query_list, + not_query_list, + false, + f32::MAX, + false, + ); + } + } + + if !block_skip { + for (j, item) in p_docid_array.iter_mut().take(query_list_len).enumerate() { + *item += ((query_terms_bitset >> j) & 1) as u16 + } + } + + continue; + } + } + + *result_count += result_count_local; +} + +pub(crate) async fn union_count<'a>( + shard: &'a Shard, + result_count: &mut i32, + search_result: &mut SearchResult<'_>, + + query_list: &mut [PostingListObjectQuery<'a>], + not_query_list: &mut [PostingListObjectQuery<'a>], + facet_filter: &[FilterSparse], + block_id: usize, +) { + query_list.sort_unstable_by(|a, b| b.p_docid_count.partial_cmp(&a.p_docid_count).unwrap()); + + let mut result_count_local = + query_list[0].blocks[query_list[0].p_block as usize].posting_count as u32 + 1; + + let mut bitmap_0: [u8; 8192] = [0u8; 8192]; + + for (i, plo) in query_list.iter_mut().enumerate() { + if plo.end_flag { + continue; + } + + if plo.compression_type == CompressionType::Bitmap { + if i == 0 { + block_copy( + plo.byte_array, + plo.compressed_doc_id_range, + &mut bitmap_0, + 0, + 8192, + ); + } else { + for i in (0..8192).step_by(8) { + let x1 = read_u64(&bitmap_0, i); + let x2 = read_u64(&plo.byte_array[plo.compressed_doc_id_range..], i); + result_count_local += u64::count_ones(!x1 & x2); + write_u64(x1 | x2, &mut bitmap_0, i); + } + } + } else if plo.compression_type == CompressionType::Array { + if i == 0 { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + bitmap_0[byte_index] |= 1 << bit_index; + } + } else { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + if bitmap_0[byte_index] & (1 << bit_index) == 0 { + bitmap_0[byte_index] |= 1 << bit_index; + result_count_local += 1; + } + } + } + } else { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + if i == 0 { + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + bitmap_0[byte_index] |= 1 << bit_index; + } + } + } else { + for ii in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + ii as usize * 2, + ) as usize; + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (ii + 1) as usize * 2, + ) as usize; + + for j in 0..=runlength { + let docid = startdocid + j; + let byte_index = docid >> 3; + let bit_index = docid & 7; + + if bitmap_0[byte_index] & (1 << bit_index) == 0 { + bitmap_0[byte_index] |= 1 << bit_index; + result_count_local += 1; + } + } + } + } + } + } + + for plo in not_query_list.iter_mut() { + if !plo.bm25_flag { + continue; + } + + match plo.compression_type { + CompressionType::Array => { + for i in 0..plo.p_docid_count { + let docid = + read_u16(&plo.byte_array[plo.compressed_doc_id_range..], i * 2) as usize; + let byte_index = docid >> 3; + let bit_index = docid & 7; + if bitmap_0[byte_index] & (1 << bit_index) != 0 { + bitmap_0[byte_index] &= !(1 << bit_index); + result_count_local -= 1; + } + } + } + + CompressionType::Rle => { + let runs_count = read_u16(&plo.byte_array[plo.compressed_doc_id_range..], 0) as i32; + + for i in (1..(runs_count << 1) + 1).step_by(2) { + let startdocid = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + i as usize * 2, + ); + let runlength = read_u16( + &plo.byte_array[plo.compressed_doc_id_range..], + (i + 1) as usize * 2, + ); + + for j in 0..=runlength { + let docid = (startdocid + j) as usize; + + let byte_index = docid >> 3; + let bit_index = docid & 7; + if bitmap_0[byte_index] & (1 << bit_index) != 0 { + bitmap_0[byte_index] &= !(1 << bit_index); + result_count_local -= 1; + } + } + } + } + + CompressionType::Bitmap => { + for i in (0..8192).step_by(8) { + let x1 = read_u64(&bitmap_0, i); + let x2 = read_u64(&plo.byte_array[plo.compressed_doc_id_range..], i); + result_count_local -= u64::count_ones(x1 & x2); + write_u64(x1 & !x2, &mut bitmap_0, i); + } + } + + _ => {} + } + } + + if !shard.delete_hashset.is_empty() { + for docid in shard.delete_hashset.iter() { + if block_id == docid >> 16 { + let byte_index = (docid >> 3) & 8191; + let bit_mask = 1 << (docid & 7); + if bitmap_0[byte_index] & bit_mask > 0 { + bitmap_0[byte_index] &= !bit_mask; + result_count_local -= 1; + } + } + } + } + + if !search_result.query_facets.is_empty() || !facet_filter.is_empty() { + let block_id_msb = block_id << 16; + for ulong_pos in 0usize..1024 { + let ulong_pos_msb = block_id_msb | ulong_pos << 6; + let mut intersect = read_u64(&bitmap_0, ulong_pos * 8); + 'next: while intersect != 0 { + let bit_pos = unsafe { _mm_tzcnt_64(intersect) } as usize; + intersect = unsafe { _blsr_u64(intersect) }; + + let docid = ulong_pos_msb | bit_pos; + + if !facet_filter.is_empty() && is_facet_filter(shard, facet_filter, docid) { + result_count_local -= 1; + continue 'next; + } + + for (i, facet) in shard.facets.iter().enumerate() { + if search_result.query_facets[i].length == 0 { + continue; + } + + let facet_value_id = match &search_result.query_facets[i].ranges { + Ranges::U8(_range_type, ranges) => { + let facet_value = shard.facets_file_mmap + [(shard.facets_size_sum * docid) + facet.offset]; + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U16(_range_type, ranges) => { + let facet_value = read_u16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U32(_range_type, ranges) => { + let facet_value = read_u32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::U64(_range_type, ranges) => { + let facet_value = read_u64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I8(_range_type, ranges) => { + let facet_value = read_i8( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I16(_range_type, ranges) => { + let facet_value = read_i16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I32(_range_type, ranges) => { + let facet_value = read_i32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::I64(_range_type, ranges) => { + let facet_value = read_i64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::Timestamp(_range_type, ranges) => { + let facet_value = read_i64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by_key(&facet_value, |range| range.1) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::F32(_range_type, ranges) => { + let facet_value = read_f32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by(|range| { + range.1.partial_cmp(&facet_value).unwrap() + }) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::F64(_range_type, ranges) => { + let facet_value = read_f64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + ranges + .binary_search_by(|range| { + range.1.partial_cmp(&facet_value).unwrap() + }) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + Ranges::Point(_range_type, ranges, base, unit) => { + let facet_value = read_u64( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ); + let facet_value_distance = + euclidian_distance(base, &decode_morton_2_d(facet_value), unit); + ranges + .binary_search_by(|range| { + range.1.partial_cmp(&facet_value_distance).unwrap() + }) + .map_or_else(|idx| idx as u16 - 1, |idx| idx as u16) + as u32 + } + + _ => { + if facet.field_type == FieldType::String16 + || facet.field_type == FieldType::StringSet16 + { + read_u16( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ) as u32 + } else { + read_u32( + &shard.facets_file_mmap, + (shard.facets_size_sum * docid) + facet.offset, + ) + } + } + }; + + *search_result.query_facets[i] + .values + .entry(facet_value_id) + .or_insert(0) += 1; + } + } + } + } + + *result_count += result_count_local as i32; +} + +#[allow(clippy::too_many_arguments)] +#[allow(clippy::ptr_arg)] +pub(crate) async fn union_docid_2<'a>( + shard: &'a Shard, + non_unique_query_list: &mut Vec>, + query_list: &mut Vec>, + not_query_list: &mut Vec>, + result_count_arc: &Arc, + search_result: &mut SearchResult<'_>, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + matching_blocks: &mut i32, + query_term_count: usize, +) { + let filtered = !not_query_list.is_empty() || !field_filter_set.is_empty(); + let mut count = 0; + if filtered { + single_blockid( + shard, + non_unique_query_list, + &mut query_list[0..1].to_vec(), + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Count, + field_filter_set, + facet_filter, + matching_blocks, + ) + .await; + + single_blockid( + shard, + non_unique_query_list, + &mut query_list[1..2].to_vec(), + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Count, + field_filter_set, + facet_filter, + matching_blocks, + ) + .await; + + count = result_count_arc.load(Ordering::Relaxed); + result_count_arc.store(0, Ordering::Relaxed); + } + + intersection_blockid( + shard, + non_unique_query_list, + query_list, + not_query_list, + result_count_arc, + search_result, + top_k, + result_type, + field_filter_set, + facet_filter, + matching_blocks, + false, + query_term_count, + ) + .await; + + let mut result_count_local = if filtered { + count + } else { + (query_list[0].posting_count + query_list[1].posting_count) as usize + }; + let result_count_global = result_count_arc.load(Ordering::Relaxed); + if result_count_local > result_count_global { + result_count_local -= result_count_global + } + + if result_type == &ResultType::Count { + result_count_arc.store(result_count_local, Ordering::Relaxed); + return; + } + + if (search_result.topk_candidates.current_heap_size < top_k) + || (query_list[0].max_list_score > search_result.topk_candidates._elements[0].score) + { + for i in 0..search_result.topk_candidates.current_heap_size { + search_result.topk_candidates.docid_hashset.insert( + search_result.topk_candidates._elements[i].doc_id, + search_result.topk_candidates._elements[i].score, + ); + } + + single_blockid( + shard, + non_unique_query_list, + &mut query_list[0..1].to_vec(), + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Topk, + field_filter_set, + facet_filter, + matching_blocks, + ) + .await; + } + + if (search_result.topk_candidates.current_heap_size < top_k) + || (query_list[1].max_list_score > search_result.topk_candidates._elements[0].score) + { + for i in 0..search_result.topk_candidates.current_heap_size { + search_result.topk_candidates.docid_hashset.insert( + search_result.topk_candidates._elements[i].doc_id, + search_result.topk_candidates._elements[i].score, + ); + } + + single_blockid( + shard, + non_unique_query_list, + &mut query_list[1..2].to_vec(), + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Topk, + field_filter_set, + facet_filter, + matching_blocks, + ) + .await; + } + + result_count_arc.store(result_count_local, Ordering::Relaxed); +} + +#[allow(clippy::too_many_arguments)] +#[async_recursion] +pub(crate) async fn union_docid_3<'a>( + shard: &'a Shard, + non_unique_query_list: &mut Vec>, + query_queue: &'a mut Vec>, + not_query_list: &mut Vec>, + + result_count_arc: &Arc, + search_result: &mut SearchResult, + top_k: usize, + result_type: &ResultType, + field_filter_set: &AHashSet, + facet_filter: &[FilterSparse], + matching_blocks: &mut i32, + recursion_count: usize, + query_term_count: usize, +) { + let queue_object = query_queue.remove(0); + + let mut query_list = queue_object.query_list; + + if result_type == &ResultType::Topk || result_type == &ResultType::TopkCount { + if query_list.len() >= 3 { + intersection_blockid( + shard, + non_unique_query_list, + &mut query_list, + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Topk, + field_filter_set, + facet_filter, + matching_blocks, + false, + query_term_count, + ) + .await; + + for j in 0..search_result.topk_candidates.current_heap_size { + search_result.topk_candidates.docid_hashset.insert( + search_result.topk_candidates._elements[j].doc_id, + search_result.topk_candidates._elements[j].score, + ); + } + + { + for i in queue_object.query_index..query_list.len() { + let ii = query_list.len() - 1 - i; + + for plo in query_list.iter_mut() { + plo.p_block = 0; + } + + let list = if ii == 0 { + query_list[1..query_list.len()].to_vec() + } else if ii == query_list.len() - 1 { + query_list[0..query_list.len() - 1].to_vec() + } else { + [&query_list[0..ii], &query_list[ii + 1..query_list.len()]].concat() + }; + + let mut max_score = 0.0; + for term in list.iter() { + max_score += term.max_list_score; + } + + if search_result.topk_candidates.current_heap_size < top_k + || max_score > search_result.topk_candidates._elements[0].score + { + if !query_queue.is_empty() + && max_score > query_queue[query_queue.len() - 1].max_score + { + let pos = query_queue + .binary_search_by(|e| { + e.max_score + .partial_cmp(&max_score) + .expect("Couldn't compare values") + .reverse() + }) + .unwrap_or_else(|e| e); + query_queue.insert( + pos, + QueueObject { + query_list: list, + query_index: i, + max_score, + }, + ); + } else { + query_queue.push(QueueObject { + query_list: list, + query_index: i, + max_score, + }); + } + }; + } + } + } else { + union_docid_2( + shard, + non_unique_query_list, + &mut query_list, + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Topk, + field_filter_set, + facet_filter, + matching_blocks, + query_term_count, + ) + .await; + } + + if !query_queue.is_empty() + && (search_result.topk_candidates.current_heap_size < top_k + || query_queue.first().unwrap().max_score + > search_result.topk_candidates._elements[0].score) + { + for i in 0..search_result.topk_candidates.current_heap_size { + search_result.topk_candidates.docid_hashset.insert( + search_result.topk_candidates._elements[i].doc_id, + search_result.topk_candidates._elements[i].score, + ); + } + + if recursion_count < 200 { + union_docid_3( + shard, + non_unique_query_list, + query_queue, + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Topk, + field_filter_set, + facet_filter, + matching_blocks, + recursion_count + 1, + query_term_count, + ) + .await; + } + } + } + + if result_type == &ResultType::Count || result_type == &ResultType::TopkCount { + for plo in query_list.iter_mut() { + plo.p_block = 0; + } + + result_count_arc.store(0, Ordering::Relaxed); + + union_blockid( + shard, + non_unique_query_list, + &mut query_list, + not_query_list, + result_count_arc, + search_result, + top_k, + &ResultType::Count, + field_filter_set, + facet_filter, + ) + .await; + } +} diff --git a/mobile_app/rust/src/seekstorm/utils.rs b/mobile_app/rust/src/seekstorm/utils.rs new file mode 100644 index 0000000..0104864 --- /dev/null +++ b/mobile_app/rust/src/seekstorm/utils.rs @@ -0,0 +1,167 @@ +pub(crate) fn write_u8_ref(value: u8, vec8: &mut [u8], pos: &mut usize) { + vec8[*pos] = value; + *pos += 1; +} + +pub(crate) fn write_u16_ref(value: u16, vec8: &mut [u8], pos: &mut usize) { + vec8[*pos..(*pos + 2)].copy_from_slice(&value.to_le_bytes()); + *pos += 2; +} + +pub(crate) fn write_u32_ref(value: u32, vec8: &mut [u8], pos: &mut usize) { + vec8[*pos..(*pos + 4)].copy_from_slice(&value.to_le_bytes()); + *pos += 4; +} + +pub(crate) fn write_u64_ref(value: u64, vec8: &mut [u8], pos: &mut usize) { + vec8[*pos..(*pos + 8)].copy_from_slice(&value.to_le_bytes()); + *pos += 8; +} + +pub(crate) fn write_u16(value: u16, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 2)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_u32(value: u32, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 4)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_u64(value: u64, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 8)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_i8(value: i8, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 1)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_i16(value: i16, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 2)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_i32(value: i32, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 4)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_i64(value: i64, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 8)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_f32(value: f32, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 4)].copy_from_slice(&value.to_le_bytes()); +} + +pub(crate) fn write_f64(value: f64, vec8: &mut [u8], pos: usize) { + vec8[pos..(pos + 8)].copy_from_slice(&value.to_le_bytes()); +} + +#[inline] +pub(crate) fn read_u8_ref(vec8: &[u8], pos: &mut usize) -> u8 { + *pos += 1; + vec8[*pos - 1] +} + +#[inline] +pub(crate) fn read_u16_ref(vec8: &[u8], pos: &mut usize) -> u16 { + *pos += 2; + u16::from_le_bytes(vec8[*pos - 2..*pos].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u32_ref(vec8: &[u8], pos: &mut usize) -> u32 { + *pos += 4; + u32::from_le_bytes(vec8[*pos - 4..*pos].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u64_ref(vec8: &[u8], pos: &mut usize) -> u64 { + *pos += 8; + u64::from_le_bytes(vec8[*pos - 8..*pos].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u8(vec8: &[u8], pos: usize) -> u8 { + vec8[pos] +} + +#[inline] +pub(crate) fn read_i8(vec8: &[u8], pos: usize) -> i8 { + i8::from_le_bytes(vec8[pos..pos + 1].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u16(vec8: &[u8], pos: usize) -> u16 { + u16::from_le_bytes(vec8[pos..pos + 2].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_i16(vec8: &[u8], pos: usize) -> i16 { + i16::from_le_bytes(vec8[pos..pos + 2].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u32(vec8: &[u8], pos: usize) -> u32 { + u32::from_le_bytes(vec8[pos..pos + 4].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_i32(vec8: &[u8], pos: usize) -> i32 { + i32::from_le_bytes(vec8[pos..pos + 4].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_u64(vec8: &[u8], pos: usize) -> u64 { + u64::from_le_bytes(vec8[pos..pos + 8].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_i64(vec8: &[u8], pos: usize) -> i64 { + i64::from_le_bytes(vec8[pos..pos + 8].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_f32(vec8: &[u8], pos: usize) -> f32 { + f32::from_le_bytes(vec8[pos..pos + 4].try_into().unwrap()) +} + +#[inline] +pub(crate) fn read_f64(vec8: &[u8], pos: usize) -> f64 { + f64::from_le_bytes(vec8[pos..pos + 8].try_into().unwrap()) +} + +pub(crate) fn block_copy_mut( + source: &mut [u8], + source_offset: usize, + destination: &mut [u8], + destination_offset: usize, + len: usize, +) { + destination[destination_offset..(destination_offset + len)] + .copy_from_slice(&source[source_offset..(source_offset + len)]); +} + +pub(crate) fn block_copy( + source: &[u8], + source_offset: usize, + destination: &mut [u8], + destination_offset: usize, + len: usize, +) { + destination[destination_offset..(destination_offset + len)] + .copy_from_slice(&source[source_offset..(source_offset + len)]); +} + +/// Truncates a string to a maximum number of characters. +pub fn truncate(source: &str, max_chars: usize) -> &str { + match source.char_indices().nth(max_chars) { + None => source, + Some((idx, _)) => &source[..idx], + } +} + +/// Returns a substring of the given string, starting at the specified index and with the specified length. +pub fn substring(source: &str, start: usize, length: usize) -> String { + if source.len() <= start + length { + return source.to_string(); + } + source.chars().skip(start).take(length).collect() +} diff --git a/mobile_app/rust/src/seekstorm/word_segmentation.rs b/mobile_app/rust/src/seekstorm/word_segmentation.rs new file mode 100644 index 0000000..0400eea --- /dev/null +++ b/mobile_app/rust/src/seekstorm/word_segmentation.rs @@ -0,0 +1,185 @@ +use std::{ + cmp, + io::{BufRead, BufReader}, +}; + +use ahash::AHashMap; + +#[cfg(feature = "zh")] +static DICTIONARY_TXT: &str = + include_str!("../../assets/dictionaries/frequency_dictionary_zh_cn_349_045.txt"); + +/// word_segmentation_tm: Fast Word Segmentation with Triangular Matrix +/// Rust port of the original C# implementation: https://github.com/wolfgarbe/WordSegmentationTM +/// Copyright (C) 2024 Wolf Garbe +/// Author: Wolf Garbe wolf.garbe@seekstorm.com +/// URL: //https://github.com/wolfgarbe/word_segmentation_tm +/// Description: https://seekstorm.com/blog/fast-word-segmentation-noisy-text/ +/// Find best word segmentation for input string. +/// input_str: The string being word segmented. +/// maximum_dictionary_word_length=max_segmentation_word_length: The maximum word length that should be considered. +/// result: A tuple representing the suggested word segmented text and the sum of logarithmic word occurence probabilities. +#[cfg(feature = "zh")] +pub struct WordSegmentationTM { + pub n: f64, + pub dictionary: AHashMap, f64>, + pub maximum_dictionary_word_length: usize, + pub probability_log_estimation: Vec, +} + +#[cfg(feature = "zh")] +impl WordSegmentationTM { + /// Create a new instanc of WordSegmentationTM + pub(crate) fn new() -> Self { + WordSegmentationTM { + n: 0.0, + dictionary: AHashMap::new(), + maximum_dictionary_word_length: 0usize, + probability_log_estimation: Vec::new(), + } + } + + /// Load multiple dictionary entries from a file of word/frequency count pairs + /// Merges with any dictionary data already loaded. + /// corpus: The path+filename of the file. + /// term_index: The column position of the word. + /// count_index: The column position of the frequency count. + /// result: True if file loaded, or false if file not found. + pub fn load_dictionary( + &mut self, + term_index: usize, + count_index: usize, + skip_ascii: bool, + ) -> bool { + let reader = BufReader::new(DICTIONARY_TXT.as_bytes()); + + let mut count_sum = 0; + + for line in reader.lines() { + let line_string = line.unwrap(); + + let line_parts: Vec<&str> = line_string.split_ascii_whitespace().collect(); + if line_parts.len() >= 2 { + let key = line_parts[term_index]; + if skip_ascii && key.is_ascii() { + continue; + } + + if let Ok(count) = line_parts[count_index].parse::() { + let key_len = key.chars().count(); + + if key_len > self.maximum_dictionary_word_length { + self.maximum_dictionary_word_length = key_len; + } + + self.dictionary.insert(key.chars().collect(), count as f64); + count_sum += count; + } + } + } + + self.n = (count_sum * 3) as f64; + + for item in self.dictionary.iter_mut() { + *item.1 = (*item.1 / self.n).log10(); + } + + for i in 0..self.maximum_dictionary_word_length { + self.probability_log_estimation + .push((10.0f64 / self.n / (i + 1).pow(10) as f64).log10() * 10.0f64); + } + + true + } + + pub fn segment(&self, input: &str, skip_ascii: bool) -> (Vec, f64) { + let mut result_array: Vec = Vec::new(); + let mut probability_log_sum_best = 0.0; + + if !input.is_empty() { + if skip_ascii && input.is_ascii() { + return (vec![input.to_string()], 0.0); + } + + let input_chars: Vec = input.chars().collect(); + + let array_size = cmp::min(self.maximum_dictionary_word_length, input_chars.len()); + let array_width = ((input_chars.len() - 1) >> 6) + 1; + let array_width_byte = array_width << 3; + let mut segmented_space_bits = vec![vec![0usize; array_width]; array_size]; + let mut probability_log_sum = vec![0.0; array_size]; + let mut circular_index = 0usize; + + for j in 0..input_chars.len() { + let space_ulong_index = if j == 0 { 0 } else { (j - 1) >> 6 }; + let array_copy_byte = cmp::min((space_ulong_index + 1) << 3, array_width_byte); + + let array_copy_usize = array_copy_byte >> 3; + + if j > 0 { + segmented_space_bits[circular_index][space_ulong_index] |= + 1usize << ((j - 1) & 0x3f); + } + + let imax = cmp::min(input_chars.len() - j, self.maximum_dictionary_word_length); + + for i in 1..=imax { + let destination_index = (i + circular_index) % array_size; + + let part1_chars = &input_chars[j..(j + i)]; + + let probability_log_part1 = + if let Some(probability_log) = self.dictionary.get(part1_chars) { + *probability_log + } else { + self.probability_log_estimation[part1_chars.len() - 1] + }; + + if j == 0 { + probability_log_sum[destination_index] = probability_log_part1; + } else if (i == self.maximum_dictionary_word_length) + || (probability_log_sum[destination_index] + < probability_log_sum[circular_index] + probability_log_part1) + { + #[allow(clippy::needless_range_loop)] + for i in 0..array_copy_usize { + segmented_space_bits[destination_index][i] = + segmented_space_bits[circular_index][i]; + } + + probability_log_sum[destination_index] = + probability_log_sum[circular_index] + probability_log_part1; + } + } + + circular_index += 1; + if circular_index == array_size { + circular_index = 0; + } + } + + let mut last = 0; + for i in 0..(input_chars.len() - 1) { + if (segmented_space_bits[circular_index][i >> 6] & (1usize << (i & 0x3f))) > 0 { + if !result_array.is_empty() && ['+', '-'].contains(&input_chars[last]) { + result_array.push(input_chars[last..(i + 1)].iter().skip(1).collect()); + } else { + result_array.push(input_chars[last..(i + 1)].iter().collect()); + } + + last = i + 1; + } + } + + if !result_array.is_empty() && ['+', '-'].contains(&input_chars[last]) { + result_array.push(input_chars[last..].iter().skip(1).collect()); + } else { + result_array.push(input_chars[last..].iter().collect()); + } + + probability_log_sum_best += probability_log_sum[circular_index]; + } + + (result_array, probability_log_sum_best) + } +} From feef2393c253ae9a2d273eede20beff149027f4f Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 27 Jan 2026 14:43:39 +0000 Subject: [PATCH 16/20] implement keyword search with tantivy --- mobile_app/lib/file.dart | 2 +- mobile_app/lib/home.dart | 85 ++++- mobile_app/lib/main.dart | 21 +- .../rust/third_party/tokio/signal/unix.dart | 355 ++++++++---------- mobile_app/lib/utils.dart | 59 ++- mobile_app/pubspec.yaml | 2 + 6 files changed, 303 insertions(+), 221 deletions(-) diff --git a/mobile_app/lib/file.dart b/mobile_app/lib/file.dart index 47cf7db..1c65d22 100644 --- a/mobile_app/lib/file.dart +++ b/mobile_app/lib/file.dart @@ -35,7 +35,7 @@ class FileApp extends StatelessWidget { trailing: Icon(Icons.chevron_right), //TODO: style to make borders visible onTap: () { - PdfScanner().openFilesRs(); + PdfScanner().openFile(files[index]); //TODO: Handle click, popular search bar with text controller }, title: Text(fileName), // Display results from search diff --git a/mobile_app/lib/home.dart b/mobile_app/lib/home.dart index d048149..d84b821 100644 --- a/mobile_app/lib/home.dart +++ b/mobile_app/lib/home.dart @@ -1,10 +1,23 @@ import 'dart:math'; +import 'dart:io'; import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; import 'package:gap/gap.dart'; +import 'package:mobile_app/utils.dart'; +import 'package:flutter_tantivy/flutter_tantivy.dart'; + +class HomeApp extends StatefulWidget { + late List files = []; + HomeApp({super.key, required this.files}); + + @override + State createState() => _HomeAppState(); +} + +class _HomeAppState extends State { + List matchedDocuments = []; -class HomeApp extends StatelessWidget { - const HomeApp({super.key}); @override Widget build(BuildContext context) { @@ -12,11 +25,7 @@ class HomeApp extends StatelessWidget { //TODO: cap at 5 late List searchedItems = ['A', 'B', 'C']; - late List recentDocuments = [ - 'A', - 'B', - 'C' - ]; //TODO:switch to class, so we can access more attributes outside of title + //TODO:switch to class, so we can access more attributes outside of title return SizedBox.shrink( child: Column( @@ -42,10 +51,18 @@ class HomeApp extends StatelessWidget { //TODO: Handle search logic here //spawn process into a new isolate to prevent u.i jank }, - onSubmitted: (text) { + onSubmitted: (text) async { + print("start searching"); + final List docs = await compute(findMatch, text); //TODO: Handle enter key press, //TODO: similar to above depending on latency we may just use this - }, + + if (mounted) { + setState(() { + matchedDocuments = docs; + }); + print(matchedDocuments); + }}, ), ), const ListTile( @@ -66,22 +83,56 @@ class HomeApp extends StatelessWidget { Text(searchedItems[index]), // Display results from search )); })), - const ListTile( - leading: Text( - "Recent Documents", - style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - )), + matchedDocuments.length > 1 + ? const ListTile( + leading: Text( + "Matching Documents", + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + )) + : SizedBox.shrink( + child: Column( + children: [ + const ListTile( + leading: Text( + "files", + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + )), + Column( + children: List.generate(widget.files.length, (int index) { + String fileName = widget.files[index].path.split("/").last; + String fileType = + widget.files[index].path.split("/").last.split(".").last; + + Map fileIcon = {"pdf": Icon(Icons.picture_as_pdf)}; + + return ListTile( + leading: fileIcon[fileType] ?? Icon(Icons.book), + trailing: Icon(Icons.chevron_right), + //TODO: style to make borders visible + onTap: () { + PdfScanner().openFile(widget.files[index]); + //TODO: Handle click, popular search bar with text controller + }, + title: Text(fileName), // Display results from search + ); + })), + ], + )), Column( - children: List.generate(recentDocuments.length, (int index) { + children: List.generate(matchedDocuments.length, (int index) { return ListTile( leading: const Icon(Icons.picture_as_pdf), onTap: () { // Handle click + //Open to segment of document }, trailing: const Icon(Icons.chevron_right), - title: Text(recentDocuments[index]), // Display results from search + title: Text(matchedDocuments[index] + .doc + .text.substring(0,50)), // Display results from search ); - })) + })), + ], )); } diff --git a/mobile_app/lib/main.dart b/mobile_app/lib/main.dart index d365ff0..eea0e98 100644 --- a/mobile_app/lib/main.dart +++ b/mobile_app/lib/main.dart @@ -2,10 +2,11 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:mobile_app/src/rust/frb_generated.dart'; import 'package:mobile_app/settings.dart'; import 'package:mobile_app/home.dart'; import 'package:mobile_app/file.dart'; +import 'package:flutter_tantivy/flutter_tantivy.dart'; +import 'package:path_provider/path_provider.dart'; import 'package:mobile_app/storage.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:mobile_app/utils.dart'; @@ -27,6 +28,12 @@ Future main() async { status = await Permission.manageExternalStorage.status; Log.logger.i("Permission for external storage: $status"); + + final directory = await getApplicationDocumentsDirectory(); + final indexPath = '${directory.path}/tantivy_index'; + initTantivy(dirPath: indexPath); + Log.logger.i("Index Path $indexPath"); + runApp(const MyApp()); } @@ -52,6 +59,7 @@ class MyAppState extends State { void initState() { super.initState(); _loadPdfs(); + _indexDocuments(); } void _loadPdfs() async { @@ -63,6 +71,11 @@ class MyAppState extends State { }); } + void _indexDocuments() async { + PdfScanner scanner = PdfScanner(); + scanner.indexPdfFiles(); + } + void onItemTap(int selectedItems) { pageController.jumpToPage(selectedItems); } @@ -73,7 +86,7 @@ class MyAppState extends State { home: Scaffold( appBar: AppBar(title: const Text('Acho')), body: PageView( - children: [HomeApp(), FileApp(files: folders), SettingsApp()], + children: [HomeApp(files:folders), FileApp(files: folders), SettingsApp()], controller: pageController, onPageChanged: onPageChanged, ), @@ -81,11 +94,11 @@ class MyAppState extends State { onTap: onItemTap, selectedItemColor: Colors.brown, items: [ - const BottomNavigationBarItem( + BottomNavigationBarItem( backgroundColor: Colors.red, label: 'Home', icon: Icon(Icons.home_filled), - activeIcon: HomeApp(), + activeIcon: HomeApp(files: []), ), BottomNavigationBarItem( backgroundColor: Colors.red, diff --git a/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart b/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart index b08de60..19ad12b 100644 --- a/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart +++ b/mobile_app/lib/src/rust/third_party/tokio/signal/unix.dart @@ -7,13 +7,11 @@ import '../../../frb_generated.dart'; import '../../../lib.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; - - // These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `OsExtraData`, `OsStorage`, `SignalInfo` +// These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `OsExtraData`, `OsStorage`, `SignalInfo` // These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `clone`, `eq`, `event_info`, `fmt`, `fmt`, `fmt`, `for_each`, `from`, `from`, `hash` // These functions are ignored (category: IgnoreBecauseOwnerTyShouldIgnore): `default`, `default`, `default` - - /// Creates a new listener which will receive notifications when the current +/// Creates a new listener which will receive notifications when the current /// process receives the specified signal `kind`. /// /// This function will create a new stream which binds to the default reactor. @@ -40,192 +38,163 @@ import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; /// /// This function panics if there is no current reactor set, or if the `rt` /// feature flag is not enabled. -Future signal({required SignalKind kind }) => RustLib.instance.api.tokioSignalUnixSignal(kind: kind); - - - // Rust type: RustOpaqueMoi>> - abstract class Context implements RustOpaqueInterface { - - - - } - - - - // Rust type: RustOpaqueMoi >>> - abstract class PollOption implements RustOpaqueInterface { - - - - } - - - - // Rust type: RustOpaqueMoi> - abstract class Signal implements RustOpaqueInterface, InternalStream { - @override - Future pollRecv({required Context cx }); - - -/// Receives the next signal notification event. -/// -/// `None` is returned if no more events can be received by this stream. -/// -/// # Cancel safety -/// -/// This method is cancel safe. If you use it as the event in a -/// [`tokio::select!`](crate::select) statement and some other branch -/// completes first, then it is guaranteed that no signal is lost. -/// -/// # Examples -/// -/// Wait for `SIGHUP` -/// -/// ```rust,no_run -/// use tokio::signal::unix::{signal, SignalKind}; -/// -/// #[tokio::main] -/// async fn main() -> Result<(), Box> { -/// // An infinite stream of hangup signals. -/// let mut stream = signal(SignalKind::hangup())?; -/// -/// // Print whenever a HUP signal is received -/// loop { -/// stream.recv().await; -/// println!("got signal HUP"); -/// } -/// } -/// ``` - Future recv(); - - - - - } - - - - // Rust type: RustOpaqueMoi> - abstract class SignalKind implements RustOpaqueInterface { - /// Represents the `SIGALRM` signal. -/// -/// On Unix systems this signal is sent when a real-time timer has expired. -/// By default, the process is terminated by this signal. -static Future alarm()=>RustLib.instance.api.tokioSignalUnixSignalKindAlarm(); - - -/// Get the signal's numeric value. -/// -/// ```rust -/// # use tokio::signal::unix::SignalKind; -/// let kind = SignalKind::interrupt(); -/// assert_eq!(kind.as_raw_value(), libc::SIGINT); -/// ``` - Future asRawValue(); - - -/// Represents the `SIGCHLD` signal. -/// -/// On Unix systems this signal is sent when the status of a child process -/// has changed. By default, this signal is ignored. -static Future child()=>RustLib.instance.api.tokioSignalUnixSignalKindChild(); - - -/// Allows for listening to any valid OS signal. -/// -/// For example, this can be used for listening for platform-specific -/// signals. -/// ```rust,no_run -/// # use tokio::signal::unix::SignalKind; -/// # let signum = -1; -/// // let signum = libc::OS_SPECIFIC_SIGNAL; -/// let kind = SignalKind::from_raw(signum); -/// ``` -static Future fromRaw({required CInt signum })=>RustLib.instance.api.tokioSignalUnixSignalKindFromRaw(signum: signum); - - -/// Represents the `SIGHUP` signal. -/// -/// On Unix systems this signal is sent when the terminal is disconnected. -/// By default, the process is terminated by this signal. -static Future hangup()=>RustLib.instance.api.tokioSignalUnixSignalKindHangup(); - - -/// Represents the `SIGINFO` signal. -/// -/// On Unix systems this signal is sent to request a status update from the -/// process. By default, this signal is ignored. -static Future info()=>RustLib.instance.api.tokioSignalUnixSignalKindInfo(); - - -/// Represents the `SIGINT` signal. -/// -/// On Unix systems this signal is sent to interrupt a program. -/// By default, the process is terminated by this signal. -static Future interrupt()=>RustLib.instance.api.tokioSignalUnixSignalKindInterrupt(); - - -/// Represents the `SIGIO` signal. -/// -/// On Unix systems this signal is sent when I/O operations are possible -/// on some file descriptor. By default, this signal is ignored. -static Future io()=>RustLib.instance.api.tokioSignalUnixSignalKindIo(); - - -/// Represents the `SIGPIPE` signal. -/// -/// On Unix systems this signal is sent when the process attempts to write -/// to a pipe which has no reader. By default, the process is terminated by -/// this signal. -static Future pipe()=>RustLib.instance.api.tokioSignalUnixSignalKindPipe(); - - -/// Represents the `SIGQUIT` signal. -/// -/// On Unix systems this signal is sent to issue a shutdown of the -/// process, after which the OS will dump the process core. -/// By default, the process is terminated by this signal. -static Future quit()=>RustLib.instance.api.tokioSignalUnixSignalKindQuit(); - - -/// Represents the `SIGTERM` signal. -/// -/// On Unix systems this signal is sent to issue a shutdown of the -/// process. By default, the process is terminated by this signal. -static Future terminate()=>RustLib.instance.api.tokioSignalUnixSignalKindTerminate(); - - -/// Represents the `SIGUSR1` signal. -/// -/// On Unix systems this is a user defined signal. -/// By default, the process is terminated by this signal. -static Future userDefined1()=>RustLib.instance.api.tokioSignalUnixSignalKindUserDefined1(); - - -/// Represents the `SIGUSR2` signal. -/// -/// On Unix systems this is a user defined signal. -/// By default, the process is terminated by this signal. -static Future userDefined2()=>RustLib.instance.api.tokioSignalUnixSignalKindUserDefined2(); - - -/// Represents the `SIGWINCH` signal. -/// -/// On Unix systems this signal is sent when the terminal window is resized. -/// By default, this signal is ignored. -static Future windowChange()=>RustLib.instance.api.tokioSignalUnixSignalKindWindowChange(); - - - - - } - - - - abstract class InternalStream { - Future pollRecv({required Context cx }); - - - } - - \ No newline at end of file +Future signal({required SignalKind kind}) => + RustLib.instance.api.tokioSignalUnixSignal(kind: kind); + +// Rust type: RustOpaqueMoi>> +abstract class Context implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi >>> +abstract class PollOption implements RustOpaqueInterface {} + +// Rust type: RustOpaqueMoi> +abstract class Signal implements RustOpaqueInterface, InternalStream { + @override + Future pollRecv({required Context cx}); + + /// Receives the next signal notification event. + /// + /// `None` is returned if no more events can be received by this stream. + /// + /// # Cancel safety + /// + /// This method is cancel safe. If you use it as the event in a + /// [`tokio::select!`](crate::select) statement and some other branch + /// completes first, then it is guaranteed that no signal is lost. + /// + /// # Examples + /// + /// Wait for `SIGHUP` + /// + /// ```rust,no_run + /// use tokio::signal::unix::{signal, SignalKind}; + /// + /// #[tokio::main] + /// async fn main() -> Result<(), Box> { + /// // An infinite stream of hangup signals. + /// let mut stream = signal(SignalKind::hangup())?; + /// + /// // Print whenever a HUP signal is received + /// loop { + /// stream.recv().await; + /// println!("got signal HUP"); + /// } + /// } + /// ``` + Future recv(); +} + +// Rust type: RustOpaqueMoi> +abstract class SignalKind implements RustOpaqueInterface { + /// Represents the `SIGALRM` signal. + /// + /// On Unix systems this signal is sent when a real-time timer has expired. + /// By default, the process is terminated by this signal. + static Future alarm() => + RustLib.instance.api.tokioSignalUnixSignalKindAlarm(); + + /// Get the signal's numeric value. + /// + /// ```rust + /// # use tokio::signal::unix::SignalKind; + /// let kind = SignalKind::interrupt(); + /// assert_eq!(kind.as_raw_value(), libc::SIGINT); + /// ``` + Future asRawValue(); + + /// Represents the `SIGCHLD` signal. + /// + /// On Unix systems this signal is sent when the status of a child process + /// has changed. By default, this signal is ignored. + static Future child() => + RustLib.instance.api.tokioSignalUnixSignalKindChild(); + + /// Allows for listening to any valid OS signal. + /// + /// For example, this can be used for listening for platform-specific + /// signals. + /// ```rust,no_run + /// # use tokio::signal::unix::SignalKind; + /// # let signum = -1; + /// // let signum = libc::OS_SPECIFIC_SIGNAL; + /// let kind = SignalKind::from_raw(signum); + /// ``` + static Future fromRaw({required CInt signum}) => + RustLib.instance.api.tokioSignalUnixSignalKindFromRaw(signum: signum); + + /// Represents the `SIGHUP` signal. + /// + /// On Unix systems this signal is sent when the terminal is disconnected. + /// By default, the process is terminated by this signal. + static Future hangup() => + RustLib.instance.api.tokioSignalUnixSignalKindHangup(); + + /// Represents the `SIGINFO` signal. + /// + /// On Unix systems this signal is sent to request a status update from the + /// process. By default, this signal is ignored. + static Future info() => + RustLib.instance.api.tokioSignalUnixSignalKindInfo(); + + /// Represents the `SIGINT` signal. + /// + /// On Unix systems this signal is sent to interrupt a program. + /// By default, the process is terminated by this signal. + static Future interrupt() => + RustLib.instance.api.tokioSignalUnixSignalKindInterrupt(); + + /// Represents the `SIGIO` signal. + /// + /// On Unix systems this signal is sent when I/O operations are possible + /// on some file descriptor. By default, this signal is ignored. + static Future io() => + RustLib.instance.api.tokioSignalUnixSignalKindIo(); + + /// Represents the `SIGPIPE` signal. + /// + /// On Unix systems this signal is sent when the process attempts to write + /// to a pipe which has no reader. By default, the process is terminated by + /// this signal. + static Future pipe() => + RustLib.instance.api.tokioSignalUnixSignalKindPipe(); + + /// Represents the `SIGQUIT` signal. + /// + /// On Unix systems this signal is sent to issue a shutdown of the + /// process, after which the OS will dump the process core. + /// By default, the process is terminated by this signal. + static Future quit() => + RustLib.instance.api.tokioSignalUnixSignalKindQuit(); + + /// Represents the `SIGTERM` signal. + /// + /// On Unix systems this signal is sent to issue a shutdown of the + /// process. By default, the process is terminated by this signal. + static Future terminate() => + RustLib.instance.api.tokioSignalUnixSignalKindTerminate(); + + /// Represents the `SIGUSR1` signal. + /// + /// On Unix systems this is a user defined signal. + /// By default, the process is terminated by this signal. + static Future userDefined1() => + RustLib.instance.api.tokioSignalUnixSignalKindUserDefined1(); + + /// Represents the `SIGUSR2` signal. + /// + /// On Unix systems this is a user defined signal. + /// By default, the process is terminated by this signal. + static Future userDefined2() => + RustLib.instance.api.tokioSignalUnixSignalKindUserDefined2(); + + /// Represents the `SIGWINCH` signal. + /// + /// On Unix systems this signal is sent when the terminal window is resized. + /// By default, this signal is ignored. + static Future windowChange() => + RustLib.instance.api.tokioSignalUnixSignalKindWindowChange(); +} + +abstract class InternalStream { + Future pollRecv({required Context cx}); +} diff --git a/mobile_app/lib/utils.dart b/mobile_app/lib/utils.dart index 74a189b..958ba07 100644 --- a/mobile_app/lib/utils.dart +++ b/mobile_app/lib/utils.dart @@ -1,6 +1,9 @@ import 'dart:io'; import 'package:permission_handler/permission_handler.dart'; import 'package:mobile_app/src/rust/api/simple.dart'; +import 'package:flutter_tantivy/flutter_tantivy.dart'; +import 'dart:convert'; +import 'package:syncfusion_flutter_pdf/pdf.dart'; // import 'package:path_provider/path_provider.dart'; (Optional if you need specific paths) @@ -51,14 +54,58 @@ class PdfScanner { } catch (e) {} } - void openFiles(FileSystemEntity file) async { - final stream = File(file.path).openRead(); - await for (final data in stream) { - print(data); + Future openFile(FileSystemEntity file) async { + final buffer = StringBuffer(); + final stream = File(file.path).openRead().transform(utf8.decoder); + + try { + await for (final chunk in stream) { + buffer.write(chunk); + } + } catch (e) { + print("Error reading file: $e"); + } + return buffer.toString(); + } + + void indexPdfFiles() async { + ///index by chunks + List allPdfs = await getAllPdfs(); + int count = 1; + for (FileSystemEntity i in allPdfs) { + final PdfDocument document = + PdfDocument(inputBytes: File(i.path).readAsBytesSync()); + String text = PdfTextExtractor(document).extractText(); + document.dispose(); + final doc = Document(id: i.toString(), text: text); + count += 1; + await addDocument(doc: doc); } } +} - void openFilesRs() async {} +Future> findMatch(String query) async { + print("searching"); + final results = await searchDocuments( + query: query, + topK: BigInt.from(10), + ); + List documents = []; + print("found"); + print(results); - void indexPdfFiles() async {} + // + // for (final result in results) { + // print('Score: ${result.score}'); + // print('ID: ${result.doc.id}'); + // print('Text: ${result.doc.text}'); + + // Document? doc = getDocumentById(id: result.doc.id); + // if (doc != null) { + // documents.add(doc); + // } + // } + return results; } + +///delete document when a document is deleted diff --git a/mobile_app/pubspec.yaml b/mobile_app/pubspec.yaml index 63c2b4d..29e67b7 100644 --- a/mobile_app/pubspec.yaml +++ b/mobile_app/pubspec.yaml @@ -44,6 +44,8 @@ dependencies: logger: ^2.6.2 path_provider: ^2.1.5 freezed: ^3.2.4 + flutter_tantivy: ^0.0.1 + syncfusion_flutter_pdf: ^32.1.25 dev_dependencies: flutter_test: From 540f965c50e291b614aa5de6e60c38d72f8129a0 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 27 Jan 2026 16:48:30 +0000 Subject: [PATCH 17/20] functional keyword search --- mobile_app/lib/home.dart | 171 +++++++++++++++++++++++++------------- mobile_app/lib/main.dart | 13 +-- mobile_app/lib/utils.dart | 64 +++++++++----- 3 files changed, 158 insertions(+), 90 deletions(-) diff --git a/mobile_app/lib/home.dart b/mobile_app/lib/home.dart index d84b821..e5271cc 100644 --- a/mobile_app/lib/home.dart +++ b/mobile_app/lib/home.dart @@ -8,7 +8,7 @@ import 'package:mobile_app/utils.dart'; import 'package:flutter_tantivy/flutter_tantivy.dart'; class HomeApp extends StatefulWidget { - late List files = []; + List files = []; HomeApp({super.key, required this.files}); @override @@ -17,15 +17,54 @@ class HomeApp extends StatefulWidget { class _HomeAppState extends State { List matchedDocuments = []; + List searchedItems = []; @override Widget build(BuildContext context) { double width = MediaQuery.sizeOf(context).width; - //TODO: cap at 5 - late List searchedItems = ['A', 'B', 'C']; - //TODO:switch to class, so we can access more attributes outside of title + + void _showDocumentDetails(SearchResult result) { + showDialog( + context: context, + builder: (context) => AlertDialog( + title: const Text("Document Preview"), + content: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + "Matching Chunk:", + style: TextStyle( + fontWeight: FontWeight.bold, color: Colors.blue), + ), + const Gap(10), + Text( + result.doc.text, // The full text chunk + style: const TextStyle(fontSize: 15, height: 1.5), + ), + ], + ), + ), + actions: [ + TextButton( + onPressed: () => Navigator.pop(context), + child: const Text("Close"), + ), + ElevatedButton( + onPressed: () { + ///TODO: Integrate with PDF viewer to jump to specific page + Navigator.pop(context); + }, + child: const Text("Open Full PDF"), + ), + ], + ), + ); + } + return SizedBox.shrink( child: Column( @@ -36,7 +75,6 @@ class _HomeAppState extends State { child: SearchBar( leading: const Icon(Icons.search), hintText: "Search...", - shape: WidgetStateProperty.all( const RoundedRectangleBorder( borderRadius: BorderRadius.all( @@ -48,92 +86,107 @@ class _HomeAppState extends State { elevation: WidgetStateProperty.all(0), // Flat style onChanged: (text) { - //TODO: Handle search logic here - //spawn process into a new isolate to prevent u.i jank + }, onSubmitted: (text) async { - print("start searching"); final List docs = await compute(findMatch, text); //TODO: Handle enter key press, //TODO: similar to above depending on latency we may just use this - - if (mounted) { + saveSearchHistory(text); setState(() { matchedDocuments = docs; }); - print(matchedDocuments); - }}, + + List _searchedItems = await getSearchHistory(); + setState(() { + searchedItems = _searchedItems; + }); + + }, ), ), const ListTile( leading: Text( "Recent Searches", style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - )), - Row( - children: List.generate(searchedItems.length, (int index) { - return SizedBox( - width: 70, - child: TextButton( + )),Row( + children: List.generate(min(searchedItems.length, 3), (int index) { + return Expanded( + child: OutlinedButton( //TODO: style to make borders visible - onPressed: () { - //TODO: Handle click, popular search bar with text controller + style: OutlinedButton.styleFrom( + shape: const StadiumBorder(), // Makes it look like a pill/chip + side: BorderSide(color: Colors.grey[300]!), + ), + onPressed: () async { + final List docs = await compute(findMatch, searchedItems[index]); + + setState(() { + matchedDocuments = docs; + }); }, child: Text(searchedItems[index]), // Display results from search )); })), - matchedDocuments.length > 1 + matchedDocuments.length >= 1 ? const ListTile( leading: Text( "Matching Documents", style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), )) - : SizedBox.shrink( - child: Column( - children: [ - const ListTile( - leading: Text( - "files", - style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - )), - Column( - children: List.generate(widget.files.length, (int index) { - String fileName = widget.files[index].path.split("/").last; - String fileType = - widget.files[index].path.split("/").last.split(".").last; - - Map fileIcon = {"pdf": Icon(Icons.picture_as_pdf)}; - - return ListTile( - leading: fileIcon[fileType] ?? Icon(Icons.book), - trailing: Icon(Icons.chevron_right), - //TODO: style to make borders visible - onTap: () { - PdfScanner().openFile(widget.files[index]); - //TODO: Handle click, popular search bar with text controller - }, - title: Text(fileName), // Display results from search - ); - })), - ], - )), - Column( - children: List.generate(matchedDocuments.length, (int index) { + : Expanded( + child: Column( + children: [ + const ListTile( + leading: Text( + "Files", + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + )), + Column( + children: List.generate(widget.files.length, (int index) { + String fileName = widget.files[index].path.split("/").last; + String fileType = widget.files[index].path + .split("/") + .last + .split(".") + .last; + + Map fileIcon = { + "pdf": Icon(Icons.picture_as_pdf) + }; + + return ListTile( + leading: fileIcon[fileType] ?? Icon(Icons.book), + trailing: Icon(Icons.chevron_right), + //TODO: style to make borders visible + onTap: () { + PdfScanner().openFile(widget.files[index]); + //TODO: Handle click, popular search bar with text controller + }, + title: Text(fileName), // Display results from search + ); + })), + ], + )), + Expanded( + child: ListView.builder( + itemCount: matchedDocuments.length, + itemBuilder: (context, index) { + final result = matchedDocuments[index]; + return ListTile( leading: const Icon(Icons.picture_as_pdf), onTap: () { - // Handle click - //Open to segment of document + _showDocumentDetails(result); }, trailing: const Icon(Icons.chevron_right), - title: Text(matchedDocuments[index] + title: Text(result .doc - .text.substring(0,50)), // Display results from search + .text + .substring(0, 50)), // Display results from search ); })), - - ], - )); + ])); } } diff --git a/mobile_app/lib/main.dart b/mobile_app/lib/main.dart index eea0e98..abcdf67 100644 --- a/mobile_app/lib/main.dart +++ b/mobile_app/lib/main.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:mobile_app/settings.dart'; +import 'package:flutter/foundation.dart'; import 'package:mobile_app/home.dart'; import 'package:mobile_app/file.dart'; import 'package:flutter_tantivy/flutter_tantivy.dart'; @@ -86,7 +87,7 @@ class MyAppState extends State { home: Scaffold( appBar: AppBar(title: const Text('Acho')), body: PageView( - children: [HomeApp(files:folders), FileApp(files: folders), SettingsApp()], + children: [HomeApp(files: folders), SettingsApp()], controller: pageController, onPageChanged: onPageChanged, ), @@ -94,20 +95,12 @@ class MyAppState extends State { onTap: onItemTap, selectedItemColor: Colors.brown, items: [ - BottomNavigationBarItem( + BottomNavigationBarItem( backgroundColor: Colors.red, label: 'Home', icon: Icon(Icons.home_filled), activeIcon: HomeApp(files: []), ), - BottomNavigationBarItem( - backgroundColor: Colors.red, - label: 'Files', - icon: Icon(Icons.folder), - activeIcon: FileApp( - files: [], - ), - ), const BottomNavigationBarItem( label: 'Settings', icon: Icon(Icons.settings), diff --git a/mobile_app/lib/utils.dart b/mobile_app/lib/utils.dart index 958ba07..96d5b42 100644 --- a/mobile_app/lib/utils.dart +++ b/mobile_app/lib/utils.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'package:permission_handler/permission_handler.dart'; import 'package:mobile_app/src/rust/api/simple.dart'; +import 'package:path_provider/path_provider.dart'; import 'package:flutter_tantivy/flutter_tantivy.dart'; import 'dart:convert'; import 'package:syncfusion_flutter_pdf/pdf.dart'; @@ -71,41 +72,62 @@ class PdfScanner { void indexPdfFiles() async { ///index by chunks List allPdfs = await getAllPdfs(); - int count = 1; for (FileSystemEntity i in allPdfs) { final PdfDocument document = PdfDocument(inputBytes: File(i.path).readAsBytesSync()); - String text = PdfTextExtractor(document).extractText(); + String fileName = i.path.split("/").last; + final PdfTextExtractor extractor = PdfTextExtractor(document); + for (int j = 0; j < document.pages.count; j++) { + String pageText = extractor.extractText(startPageIndex: j); + final doc = Document(id: "${fileName}-${j.toString()}", text: pageText.replaceAll(j.toString(), " ")); + await addDocument(doc: doc); + } document.dispose(); - final doc = Document(id: i.toString(), text: text); - count += 1; - await addDocument(doc: doc); } } } Future> findMatch(String query) async { - print("searching"); + await RustLib.init(); final results = await searchDocuments( query: query, topK: BigInt.from(10), ); - List documents = []; - print("found"); - print(results); - - // - // for (final result in results) { - // print('Score: ${result.score}'); - // print('ID: ${result.doc.id}'); - // print('Text: ${result.doc.text}'); - - // Document? doc = getDocumentById(id: result.doc.id); - // if (doc != null) { - // documents.add(doc); - // } - // } return results; } +Future saveSearchHistory(String text) async { + final query = text.trim(); + if (query.isEmpty) return; + + final directory = await getApplicationDocumentsDirectory(); + final file = File('${directory.path}/search_history.txt'); + + // 1. Read existing lines into a Set to ensure uniqueness + Set history = {}; + if (await file.exists()) { + final lines = await file.readAsLines(); + history = lines.toSet(); + } + + history.remove(query); + history.add(query); + + await file.writeAsString(history.join('\n') + '\n'); +} +Future> getSearchHistory() async { + try { + final directory = await getApplicationDocumentsDirectory(); + final file = File('${directory.path}/search_history.txt'); + + if (await file.exists()) { + String contents = await file.readAsString(); + return contents.trim().split('\n').reversed.toList(); + } + } catch (e) { + print("Error reading history: $e"); + } + return []; +} + ///delete document when a document is deleted From ae989f7203d961075bd31994aead7be3d171f0cc Mon Sep 17 00:00:00 2001 From: HabeebShopeju Date: Tue, 27 Jan 2026 17:21:46 +0000 Subject: [PATCH 18/20] Added build and download scripts --- .gitignore | 4 + Justfile | 1 + scripts/build_onnxruntime_android.sh | 649 +++++ scripts/download_onnxruntime_android.sh | 88 + scripts/onnx.justfile | 24 + scripts/pyscripts/.python-version | 1 + scripts/pyscripts/onnx_export.py | 94 + scripts/pyscripts/pyproject.toml | 12 + scripts/pyscripts/uv.lock | 3187 +++++++++++++++++++++++ 9 files changed, 4060 insertions(+) create mode 100755 scripts/build_onnxruntime_android.sh create mode 100755 scripts/download_onnxruntime_android.sh create mode 100644 scripts/onnx.justfile create mode 100644 scripts/pyscripts/.python-version create mode 100644 scripts/pyscripts/onnx_export.py create mode 100644 scripts/pyscripts/pyproject.toml create mode 100644 scripts/pyscripts/uv.lock diff --git a/.gitignore b/.gitignore index 585c72d..69167ca 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,7 @@ target # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ + +# Python related files +__pycache__/ +.venv/ \ No newline at end of file diff --git a/Justfile b/Justfile index 0dc1f7e..cd5adbe 100644 --- a/Justfile +++ b/Justfile @@ -1,6 +1,7 @@ import 'scripts/watch.justfile' import 'scripts/clean.justfile' import 'scripts/android.justfile' +import 'scripts/onnx.justfile' # Alias diff --git a/scripts/build_onnxruntime_android.sh b/scripts/build_onnxruntime_android.sh new file mode 100755 index 0000000..275157b --- /dev/null +++ b/scripts/build_onnxruntime_android.sh @@ -0,0 +1,649 @@ +#!/bin/bash +# +# This build script was generated using an LLM to speed up building ONNX Runtime for Android. +# +# build_onnxruntime_android.sh +# +# A comprehensive script to build ONNX Runtime for Android from source. +# This script handles: +# 1. Installing required dependencies +# 2. Downloading Android SDK/NDK (if not present) +# 3. Cloning ONNX Runtime repository +# 4. Fixing known build issues (Eigen hash mismatch) +# 5. Building for specified Android ABIs +# 6. Packaging output for easy transfer +# +# Usage: +# ./build_onnxruntime_android.sh [OPTIONS] +# +# Options: +# --sdk-path PATH Path to existing Android SDK (optional) +# --ndk-path PATH Path to existing Android NDK (optional) +# --abi ABI Android ABI to build (default: arm64-v8a) +# Options: arm64-v8a, armeabi-v7a, x86_64, x86 +# --api-level LEVEL Android API level (default: 27) +# --build-dir DIR Directory for build output (default: ./onnxruntime-android-build) +# --ort-version TAG ONNX Runtime version/tag to build (default: v1.17.0) +# --skip-deps Skip installing system dependencies +# --minimal Build minimal runtime (smaller, faster build) +# --shared Build shared library instead of static +# --allow-root Allow running as root (for Docker/CI environments) +# --zip Create a zip archive of the output for easy download +# --help Show this help message +# +# Author: Manus AI +# Date: January 2026 +# + +set -e # Exit on error +set -o pipefail + +# ============================================================================= +# Configuration Defaults +# ============================================================================= + +ANDROID_SDK_PATH="" +ANDROID_NDK_PATH="" +ANDROID_ABI="arm64-v8a" +ANDROID_API_LEVEL="27" +BUILD_DIR="./onnxruntime-android-build" +ORT_VERSION="v1.17.0" +SKIP_DEPS=false +MINIMAL_BUILD=false +BUILD_SHARED=false +ALLOW_ROOT=false +ZIP_OUTPUT=false + +# NDK version to download if not provided +NDK_VERSION="r26b" +CMDLINE_TOOLS_VERSION="11076708" # Latest as of 2024 + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# ============================================================================= +# Helper Functions +# ============================================================================= + +log_info() { + echo -e "${BLUE}[INFO]${NC} $1" +} + +log_success() { + echo -e "${GREEN}[SUCCESS]${NC} $1" +} + +log_warning() { + echo -e "${YELLOW}[WARNING]${NC} $1" +} + +log_error() { + echo -e "${RED}[ERROR]${NC} $1" +} + +show_help() { + head -45 "$0" | tail -35 + exit 0 +} + +check_command() { + if ! command -v "$1" &> /dev/null; then + return 1 + fi + return 0 +} + +# ============================================================================= +# Parse Arguments +# ============================================================================= + +while [[ $# -gt 0 ]]; do + case $1 in + --sdk-path) + ANDROID_SDK_PATH="$2" + shift 2 + ;; + --ndk-path) + ANDROID_NDK_PATH="$2" + shift 2 + ;; + --abi) + ANDROID_ABI="$2" + shift 2 + ;; + --api-level) + ANDROID_API_LEVEL="$2" + shift 2 + ;; + --build-dir) + BUILD_DIR="$2" + shift 2 + ;; + --ort-version) + ORT_VERSION="$2" + shift 2 + ;; + --skip-deps) + SKIP_DEPS=true + shift + ;; + --minimal) + MINIMAL_BUILD=true + shift + ;; + --shared) + BUILD_SHARED=true + shift + ;; + --allow-root) + ALLOW_ROOT=true + shift + ;; + --zip) + ZIP_OUTPUT=true + shift + ;; + --help|-h) + show_help + ;; + *) + log_error "Unknown option: $1" + show_help + ;; + esac +done + +# ============================================================================= +# Detect OS +# ============================================================================= + +detect_os() { + if [[ "$OSTYPE" == "linux-gnu"* ]]; then + OS="linux" + log_info "Detected OS: Linux" + elif [[ "$OSTYPE" == "darwin"* ]]; then + OS="macos" + log_info "Detected OS: macOS" + else + log_error "Unsupported OS: $OSTYPE" + log_error "This script supports Linux and macOS only." + exit 1 + fi +} + +# ============================================================================= +# Install Dependencies +# ============================================================================= + +install_dependencies() { + if [[ "$SKIP_DEPS" == true ]]; then + log_info "Skipping dependency installation (--skip-deps)" + return + fi + + log_info "Installing system dependencies..." + + if [[ "$OS" == "linux" ]]; then + # Detect package manager + if check_command apt-get; then + sudo apt-get update + sudo apt-get install -y \ + build-essential \ + cmake \ + git \ + curl \ + unzip \ + python3 \ + python3-pip \ + ninja-build \ + ccache \ + openjdk-11-jdk \ + zip + elif check_command dnf; then + sudo dnf install -y \ + gcc \ + gcc-c++ \ + cmake \ + git \ + curl \ + unzip \ + python3 \ + python3-pip \ + ninja-build \ + ccache \ + java-11-openjdk-devel \ + zip + elif check_command pacman; then + sudo pacman -Syu --noconfirm \ + base-devel \ + cmake \ + git \ + curl \ + unzip \ + python \ + python-pip \ + ninja \ + ccache \ + jdk11-openjdk \ + zip + else + log_warning "Unknown package manager. Please install manually:" + log_warning " - build-essential (gcc, g++, make)" + log_warning " - cmake (>= 3.18)" + log_warning " - git" + log_warning " - curl, unzip, zip" + log_warning " - python3, pip" + log_warning " - ninja-build" + log_warning " - ccache (optional, for faster rebuilds)" + log_warning " - JDK 11+" + fi + elif [[ "$OS" == "macos" ]]; then + if ! check_command brew; then + log_error "Homebrew not found. Please install it first:" + log_error ' /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"' + exit 1 + fi + + brew install \ + cmake \ + git \ + ninja \ + ccache \ + python@3.11 \ + openjdk@11 + + # Set JAVA_HOME for macOS + export JAVA_HOME="$(/usr/libexec/java_home -v 11 2>/dev/null || echo '/opt/homebrew/opt/openjdk@11')" + fi + + log_success "Dependencies installed" +} + +# ============================================================================= +# Setup Android SDK and NDK +# ============================================================================= + +setup_android_sdk_ndk() { + log_info "Setting up Android SDK and NDK..." + + # Create build directory + mkdir -p "$BUILD_DIR" + cd "$BUILD_DIR" + BUILD_DIR="$(pwd)" # Get absolute path + + # Setup SDK + if [[ -z "$ANDROID_SDK_PATH" ]]; then + ANDROID_SDK_PATH="$BUILD_DIR/android-sdk" + + if [[ ! -d "$ANDROID_SDK_PATH/cmdline-tools" ]]; then + log_info "Downloading Android command-line tools..." + + if [[ "$OS" == "linux" ]]; then + CMDLINE_TOOLS_URL="https://dl.google.com/android/repository/commandlinetools-linux-${CMDLINE_TOOLS_VERSION}_latest.zip" + else + CMDLINE_TOOLS_URL="https://dl.google.com/android/repository/commandlinetools-mac-${CMDLINE_TOOLS_VERSION}_latest.zip" + fi + + mkdir -p "$ANDROID_SDK_PATH" + curl -L "$CMDLINE_TOOLS_URL" -o cmdline-tools.zip + unzip -q cmdline-tools.zip -d "$ANDROID_SDK_PATH" + + # Fix directory structure (required by sdkmanager) + mkdir -p "$ANDROID_SDK_PATH/cmdline-tools" + mv "$ANDROID_SDK_PATH/cmdline-tools" "$ANDROID_SDK_PATH/cmdline-tools-tmp" 2>/dev/null || true + mkdir -p "$ANDROID_SDK_PATH/cmdline-tools" + mv "$ANDROID_SDK_PATH/cmdline-tools-tmp" "$ANDROID_SDK_PATH/cmdline-tools/latest" 2>/dev/null || \ + mv "$ANDROID_SDK_PATH/cmdline-tools" "$ANDROID_SDK_PATH/cmdline-tools/latest" 2>/dev/null || true + + rm cmdline-tools.zip + log_success "Command-line tools downloaded" + fi + + # Install SDK platform + SDKMANAGER="$ANDROID_SDK_PATH/cmdline-tools/latest/bin/sdkmanager" + if [[ -f "$SDKMANAGER" ]]; then + log_info "Installing Android SDK platform..." + yes | "$SDKMANAGER" --licenses > /dev/null 2>&1 || true + "$SDKMANAGER" "platforms;android-$ANDROID_API_LEVEL" "platform-tools" + fi + fi + + # Setup NDK + if [[ -z "$ANDROID_NDK_PATH" ]]; then + ANDROID_NDK_PATH="$ANDROID_SDK_PATH/ndk/$NDK_VERSION" + + if [[ ! -d "$ANDROID_NDK_PATH" ]]; then + log_info "Downloading Android NDK $NDK_VERSION..." + + if [[ "$OS" == "linux" ]]; then + NDK_URL="https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-linux.zip" + else + NDK_URL="https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-darwin.zip" + fi + + curl -L "$NDK_URL" -o android-ndk.zip + unzip -q android-ndk.zip + mkdir -p "$ANDROID_SDK_PATH/ndk" + mv "android-ndk-$NDK_VERSION" "$ANDROID_NDK_PATH" + rm android-ndk.zip + log_success "NDK $NDK_VERSION downloaded" + fi + fi + + # Verify paths + if [[ ! -d "$ANDROID_SDK_PATH" ]]; then + log_error "Android SDK not found at: $ANDROID_SDK_PATH" + exit 1 + fi + + if [[ ! -d "$ANDROID_NDK_PATH" ]]; then + log_error "Android NDK not found at: $ANDROID_NDK_PATH" + exit 1 + fi + + log_success "Android SDK: $ANDROID_SDK_PATH" + log_success "Android NDK: $ANDROID_NDK_PATH" +} + +# ============================================================================= +# Clone ONNX Runtime +# ============================================================================= + +clone_onnxruntime() { + log_info "Cloning ONNX Runtime repository (version: $ORT_VERSION)..." + + cd "$BUILD_DIR" + + if [[ -d "onnxruntime" ]]; then + log_info "ONNX Runtime directory exists, updating..." + cd onnxruntime + git fetch --all --tags + git checkout "$ORT_VERSION" + git submodule sync + git submodule update --init --recursive + else + git clone --recursive https://github.com/microsoft/onnxruntime.git + cd onnxruntime + git checkout "$ORT_VERSION" + git submodule sync + git submodule update --init --recursive + fi + + ORT_SOURCE_DIR="$(pwd)" + log_success "ONNX Runtime source ready at: $ORT_SOURCE_DIR" +} + +# ============================================================================= +# Fix Eigen Hash Mismatch +# ============================================================================= + +fix_eigen_hash() { + log_info "Checking for Eigen hash mismatch issue..." + + DEPS_FILE="$ORT_SOURCE_DIR/cmake/deps.txt" + + if [[ ! -f "$DEPS_FILE" ]]; then + log_warning "deps.txt not found, skipping Eigen hash fix" + return + fi + + # Check if eigen line exists + if grep -q "^eigen;" "$DEPS_FILE"; then + log_info "Found Eigen dependency in deps.txt" + + # Extract the URL from the eigen line + EIGEN_URL=$(grep "^eigen;" "$DEPS_FILE" | cut -d';' -f2) + + if [[ -n "$EIGEN_URL" ]]; then + log_info "Downloading Eigen to calculate actual hash..." + + TEMP_ZIP="/tmp/eigen_temp_$$.zip" + if curl -sL "$EIGEN_URL" -o "$TEMP_ZIP" 2>/dev/null; then + ACTUAL_HASH=$(sha1sum "$TEMP_ZIP" | cut -d' ' -f1) + rm -f "$TEMP_ZIP" + + # Get expected hash from deps.txt + EXPECTED_HASH=$(grep "^eigen;" "$DEPS_FILE" | cut -d';' -f3) + + if [[ "$ACTUAL_HASH" != "$EXPECTED_HASH" ]]; then + log_warning "Eigen hash mismatch detected!" + log_warning " Expected: $EXPECTED_HASH" + log_warning " Actual: $ACTUAL_HASH" + log_info "Updating deps.txt with correct hash..." + + # Create backup + cp "$DEPS_FILE" "${DEPS_FILE}.bak" + + # Replace the hash + sed -i "s|$EXPECTED_HASH|$ACTUAL_HASH|g" "$DEPS_FILE" + + log_success "Eigen hash updated in deps.txt" + else + log_success "Eigen hash is correct, no fix needed" + fi + else + log_warning "Could not download Eigen to verify hash, proceeding anyway" + fi + fi + else + log_info "No eigen entry found in deps.txt (may use different method)" + fi +} + +# ============================================================================= +# Build ONNX Runtime +# ============================================================================= + +build_onnxruntime() { + log_info "Building ONNX Runtime for Android..." + log_info " ABI: $ANDROID_ABI" + log_info " API Level: $ANDROID_API_LEVEL" + log_info " Minimal: $MINIMAL_BUILD" + log_info " Shared Library: $BUILD_SHARED" + + cd "$ORT_SOURCE_DIR" + + # Build command + BUILD_CMD="./build.sh" + BUILD_CMD+=" --android" + BUILD_CMD+=" --android_sdk_path \"$ANDROID_SDK_PATH\"" + BUILD_CMD+=" --android_ndk_path \"$ANDROID_NDK_PATH\"" + BUILD_CMD+=" --android_abi $ANDROID_ABI" + BUILD_CMD+=" --android_api $ANDROID_API_LEVEL" + BUILD_CMD+=" --config Release" + BUILD_CMD+=" --parallel" + BUILD_CMD+=" --skip_tests" + + if [[ "$MINIMAL_BUILD" == true ]]; then + BUILD_CMD+=" --minimal_build" + fi + + if [[ "$BUILD_SHARED" == true ]]; then + BUILD_CMD+=" --build_shared_lib" + fi + + # Handle running as root (e.g., in Docker containers or CI) + if [[ "$ALLOW_ROOT" == true ]] || [[ "$EUID" -eq 0 ]]; then + BUILD_CMD+=" --allow_running_as_root" + log_warning "Running as root - adding --allow_running_as_root flag" + fi + + # Enable ccache if available + if check_command ccache; then + export CC="ccache clang" + export CXX="ccache clang++" + log_info "Using ccache for faster compilation" + fi + + log_info "Executing build command:" + log_info " $BUILD_CMD" + echo "" + + # Record start time + START_TIME=$(date +%s) + + # Run build + eval "$BUILD_CMD" + + # Record end time + END_TIME=$(date +%s) + DURATION=$((END_TIME - START_TIME)) + MINUTES=$((DURATION / 60)) + SECONDS_REMAINING=$((DURATION % 60)) + + log_success "Build completed in ${MINUTES}m ${SECONDS_REMAINING}s" +} + +# ============================================================================= +# Post-Build Summary +# ============================================================================= + +post_build_summary() { + echo "" + log_info "==============================================" + log_info "Build Summary" + log_info "==============================================" + + # Find the build output directory + BUILD_OUTPUT_DIR="$ORT_SOURCE_DIR/build/Android/Release" + + if [[ ! -d "$BUILD_OUTPUT_DIR" ]]; then + log_warning "Expected build output not found at: $BUILD_OUTPUT_DIR" + log_warning "Searching for build output..." + BUILD_OUTPUT_DIR=$(find "$ORT_SOURCE_DIR/build" -name "Release" -type d 2>/dev/null | head -1) + fi + + if [[ -d "$BUILD_OUTPUT_DIR" ]]; then + log_success "Build output directory: $BUILD_OUTPUT_DIR" + + # List key files + echo "" + log_info "Key library files:" + + # Store files in array to avoid subshell issues + if [[ "$BUILD_SHARED" == true ]]; then + mapfile -t LIB_FILES < <(find "$BUILD_OUTPUT_DIR" -name "libonnxruntime.so" -type f 2>/dev/null) + else + mapfile -t LIB_FILES < <(find "$BUILD_OUTPUT_DIR" -name "*.a" -type f 2>/dev/null | head -20) + fi + + for f in "${LIB_FILES[@]}"; do + if [[ -n "$f" ]]; then + SIZE=$(du -h "$f" | cut -f1) + echo " $f ($SIZE)" + fi + done + + # Create a convenient output directory + OUTPUT_DIR="$BUILD_DIR/output/$ANDROID_ABI" + mkdir -p "$OUTPUT_DIR" + + log_info "Copying libraries to output directory..." + + if [[ "$BUILD_SHARED" == true ]]; then + # Copy shared library + find "$BUILD_OUTPUT_DIR" -name "libonnxruntime.so" -exec cp {} "$OUTPUT_DIR/" \; + else + # Copy static libraries + find "$BUILD_OUTPUT_DIR" -name "*.a" -exec cp {} "$OUTPUT_DIR/" \; + fi + + # Count copied files + LIB_COUNT=$(find "$OUTPUT_DIR" -name "*.a" -o -name "*.so" 2>/dev/null | wc -l) + log_success "Copied $LIB_COUNT library files" + + # Copy headers + INCLUDE_DIR="$OUTPUT_DIR/include" + mkdir -p "$INCLUDE_DIR" + cp -r "$ORT_SOURCE_DIR/include/onnxruntime" "$INCLUDE_DIR/" 2>/dev/null || true + + echo "" + echo "" + log_success "==============================================" + log_success "BUILD SUCCESSFUL!" + log_success "==============================================" + echo "" + log_info "Libraries copied to: $OUTPUT_DIR" + log_info "Headers copied to: $INCLUDE_DIR" + echo "" + log_info "To use with the 'ort' Rust crate, set:" + log_info " export ORT_LIB_LOCATION=\"$OUTPUT_DIR\"" + echo "" + log_info "Then build your Rust project with:" + + case "$ANDROID_ABI" in + arm64-v8a) + log_info " cargo build --target aarch64-linux-android --release" + ;; + armeabi-v7a) + log_info " cargo build --target armv7-linux-androideabi --release" + ;; + x86_64) + log_info " cargo build --target x86_64-linux-android --release" + ;; + x86) + log_info " cargo build --target i686-linux-android --release" + ;; + esac + + # Create zip archive if requested + if [[ "$ZIP_OUTPUT" == true ]]; then + echo "" + log_info "Creating zip archive..." + + ZIP_NAME="onnxruntime-android-${ANDROID_ABI}-${ORT_VERSION}.zip" + ZIP_PATH="$BUILD_DIR/$ZIP_NAME" + + # Create zip with libraries and headers + cd "$BUILD_DIR/output" + zip -r "$ZIP_PATH" "$ANDROID_ABI" -x "*.DS_Store" -x "*__MACOSX*" + + ZIP_SIZE=$(du -h "$ZIP_PATH" | cut -f1) + + echo "" + log_success "==============================================" + log_success "ZIP ARCHIVE CREATED" + log_success "==============================================" + log_success "File: $ZIP_PATH" + log_success "Size: $ZIP_SIZE" + echo "" + log_info "Download this file and extract on your Mac." + log_info "Then set ORT_LIB_LOCATION to the extracted directory." + fi + + echo "" + log_success "All done!" + echo "" + + else + log_error "Could not find build output directory" + exit 1 + fi +} + +# ============================================================================= +# Main +# ============================================================================= + +main() { + echo "" + echo "==============================================" + echo "ONNX Runtime Android Build Script" + echo "==============================================" + echo "" + + detect_os + install_dependencies + setup_android_sdk_ndk + clone_onnxruntime + fix_eigen_hash + build_onnxruntime + post_build_summary +} + +# Run main +main diff --git a/scripts/download_onnxruntime_android.sh b/scripts/download_onnxruntime_android.sh new file mode 100755 index 0000000..11da1bc --- /dev/null +++ b/scripts/download_onnxruntime_android.sh @@ -0,0 +1,88 @@ +#!/usr/bin/env sh +# +# download_onnx_runtime.sh +# +# This build script was generated using an LLM to help with scripting runtime downloads. +# +# Usage: ./download_onnx_runtime.sh [output-dir] +# + +set -e # Exit on error + +# Function to get the Google Drive ID using a case statement +get_gdrive_id() { + local key="$1" + case "$key" in + "arm64-v8a-27") echo "1q8SHkbCjDVQsuaNxJ9bpoi5MeBgpX2o1" ;; + *) echo "" ;; + esac +} + +# Function to print usage +usage() { + echo "Usage: $0 [output-dir]" + echo "" + echo "Supported ABI/API level combinations:" + echo " - arm64-v8a-27" + exit 1 +} + +# Function to download from Google Drive +download_from_gdrive() { + local file_id="$1" + local output_file="$2" + + echo "Downloading from Google Drive (ID: $file_id)..." + echo "Saving to: $output_file" + + wget -q --show-progress \ + "https://drive.usercontent.google.com/download?export=download&confirm=t&id=${file_id}" \ + -O "${output_file}" + + if [ $? -eq 0 ]; then + echo "✓ Download successful: $output_file" + return 0 + else + echo "✗ Download failed" + return 1 + fi +} + +# Main script logic +main() { + if [ $# -lt 2 ]; then + usage + fi + + local abi="$1" + local api_level="$2" + local output_dir="${3:-.}" + + mkdir -p "$output_dir" + + local lookup_key="${abi}-${api_level}" + local gdrive_id=$(get_gdrive_id "$lookup_key") + + if [ -z "$gdrive_id" ]; then + echo "Error: Unsupported ABI/API level combination: $abi/$api_level" + echo "" + usage + fi + + local output_file="${output_dir}/onnxruntime-android-${abi}-api${api_level}/libonnxruntime.so" + + echo "Setting up environment for downloading ONNX Runtime..." + echo "ABI: $abi" + echo "API Level: $api_level" + echo "Google Drive ID: $gdrive_id" + echo "" + + mkdir -p "$(dirname "$output_file")" + download_from_gdrive "$gdrive_id" "$output_file" + + echo "" + echo "Download complete!" + echo "File location: $output_file" +} + +main "$@" diff --git a/scripts/onnx.justfile b/scripts/onnx.justfile new file mode 100644 index 0000000..f95014f --- /dev/null +++ b/scripts/onnx.justfile @@ -0,0 +1,24 @@ +gdrive_runtime_arm64-v8a_api27 := "1q8SHkbCjDVQsuaNxJ9bpoi5MeBgpX2o1" + +@onnx target: + @echo "ONNX: running {{target}}" + @just "onnx-{{target}}" + +# Builds the ONNX Runtime for Android for a specific ABI and API level. +[working-directory: '.'] +@onnx-build-runtime abi="arm64-v8a" api-level="27": + @echo "Setting up environment for building ONNX Runtime..." + @chmod +x ./scripts/build_onnxruntime_android.sh + @./scripts/build_onnxruntime_android.sh --abi {{abi}} --ort-version v1.23.2 --api-level {{api-level}} --allow-root --zip --shared + +# Downloads original model weights and converts them to ONNX format. +[working-directory: 'scripts/pyscripts'] +@onnx-export model-dir: + @echo "Exporting model to ONNX format in directory: {{model-dir}}" + @uv run python onnx_export.py {{model-dir}} + +[working-directory: '.'] +@onnx-download-runtime abi="arm64-v8a" api-level="27" output-dir="onnx_runtimes": + @echo "Downloading ONNX Runtime for Android..." + @chmod +x ./scripts/download_onnxruntime_android.sh + @./scripts/download_onnxruntime_android.sh {{abi}} {{api-level}} {{output-dir}} diff --git a/scripts/pyscripts/.python-version b/scripts/pyscripts/.python-version new file mode 100644 index 0000000..c8cfe39 --- /dev/null +++ b/scripts/pyscripts/.python-version @@ -0,0 +1 @@ +3.10 diff --git a/scripts/pyscripts/onnx_export.py b/scripts/pyscripts/onnx_export.py new file mode 100644 index 0000000..30abc9b --- /dev/null +++ b/scripts/pyscripts/onnx_export.py @@ -0,0 +1,94 @@ +# Modified based on https://github.com/yuniko-software/bge-m3-onnx/blob/main/bge-m3-to-onnx.ipynb + +import os +import sys +from pathlib import Path + +import onnx +import torch +import torch.nn as nn + +from FlagEmbedding.inference.embedder.encoder_only.m3 import M3Embedder + + +class ONNX_Wrapper(nn.Module): + """Wrapper class to make BGE-M3 compatible with ONNX export""" + def __init__(self, m3_embedder): + super().__init__() + self.m3_model = m3_embedder.model + + def forward(self, input_ids, attention_mask): + outputs = self.m3_model({ + 'input_ids': input_ids, + 'attention_mask': attention_mask + }, + return_dense=True, + return_sparse=False, + return_colbert_vecs=False) + + return (outputs['dense_vecs'], ) + + def export(self, output_path="model.onnx"): + """Export BGE-M3 model to ONNX format""" + output_path = Path(output_path) + self.m3_model.eval() + + # Create dummy input + dummy_input_ids = torch.randint(0, 1000, (1, 512), dtype=torch.long) + dummy_attention_mask = torch.ones(1, 512, dtype=torch.long) + + print("Exporting model to ONNX...") + + torch.onnx.export( + self, + (dummy_input_ids, dummy_attention_mask), + output_path, + input_names=['input_ids', 'attention_mask'], + output_names=['dense_embeddings'], + dynamic_axes={ + 'input_ids': {0: 'batch_size', 1: 'sequence_length'}, + 'attention_mask': {0: 'batch_size', 1: 'sequence_length'}, + 'dense_embeddings': {0: 'batch_size'}, + }, + opset_version=20, + export_params=True + ) + + print(f"Model exported to: {output_path}") + + traced_model = onnx.load(output_path) + + data_filename = output_path.with_suffix(".onnx_data") + onnx.save_model( + traced_model, + output_path, + save_as_external_data=True, + all_tensors_to_one_file=True, + location=data_filename.name + ) + + # Delete the model.onnx.data file as it is not needed + delete_file = Path(output_path).with_suffix(".onnx.data") + if delete_file.exists(): + delete_file.unlink() + + return output_path + + +if __name__ == "__main__": + model_name="abdulmatinomotoso/bge-finetuned" + embedder = M3Embedder( + model_name_or_path=model_name, + use_fp16=False, # Use FP32 for ONNX export + normalize_embeddings=True + ) + wrapper = ONNX_Wrapper(embedder) + output_dir = Path.cwd() + if len(sys.argv) > 1: + output_dir = output_dir / sys.argv[1] + + output_dir = Path(output_dir) + output_dir.mkdir(parents=True, exist_ok=True) + + output_path = output_dir / "model.onnx" + wrapper.export(output_path=output_path) \ No newline at end of file diff --git a/scripts/pyscripts/pyproject.toml b/scripts/pyscripts/pyproject.toml new file mode 100644 index 0000000..a33ded2 --- /dev/null +++ b/scripts/pyscripts/pyproject.toml @@ -0,0 +1,12 @@ +[project] +name = "pyscripts" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.10" +dependencies = [ + "flagembedding==1.3.5", + "onnx==1.20.1", + "onnxscript==0.5.7", + "transformers==4.57.3", +] diff --git a/scripts/pyscripts/uv.lock b/scripts/pyscripts/uv.lock new file mode 100644 index 0000000..b02534d --- /dev/null +++ b/scripts/pyscripts/uv.lock @@ -0,0 +1,3187 @@ +version = 1 +requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten'", + "python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version < '3.11'", +] + +[[package]] +name = "accelerate" +version = "1.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "huggingface-hub" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyyaml" }, + { name = "safetensors" }, + { name = "torch" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4a/8e/ac2a9566747a93f8be36ee08532eb0160558b07630a081a6056a9f89bf1d/accelerate-1.12.0.tar.gz", hash = "sha256:70988c352feb481887077d2ab845125024b2a137a5090d6d7a32b57d03a45df6", size = 398399 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/d2/c581486aa6c4fbd7394c23c47b83fa1a919d34194e16944241daf9e762dd/accelerate-1.12.0-py3-none-any.whl", hash = "sha256:3e2091cd341423207e2f084a6654b1efcd250dc326f2a37d6dde446e07cabb11", size = 380935 }, +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265 }, +] + +[[package]] +name = "aiohttp" +version = "3.13.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs" }, + { name = "aiosignal" }, + { name = "async-timeout", marker = "python_full_version < '3.11'" }, + { name = "attrs" }, + { name = "frozenlist" }, + { name = "multidict" }, + { name = "propcache" }, + { name = "yarl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/42/32cf8e7704ceb4481406eb87161349abb46a57fee3f008ba9cb610968646/aiohttp-3.13.3.tar.gz", hash = "sha256:a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88", size = 7844556 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/d6/5aec9313ee6ea9c7cde8b891b69f4ff4001416867104580670a31daeba5b/aiohttp-3.13.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a372fd5afd301b3a89582817fdcdb6c34124787c70dbcc616f259013e7eef7", size = 738950 }, + { url = "https://files.pythonhosted.org/packages/68/03/8fa90a7e6d11ff20a18837a8e2b5dd23db01aabc475aa9271c8ad33299f5/aiohttp-3.13.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:147e422fd1223005c22b4fe080f5d93ced44460f5f9c105406b753612b587821", size = 496099 }, + { url = "https://files.pythonhosted.org/packages/d2/23/b81f744d402510a8366b74eb420fc0cc1170d0c43daca12d10814df85f10/aiohttp-3.13.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:859bd3f2156e81dd01432f5849fc73e2243d4a487c4fd26609b1299534ee1845", size = 491072 }, + { url = "https://files.pythonhosted.org/packages/d5/e1/56d1d1c0dd334cd203dd97706ce004c1aa24b34a813b0b8daf3383039706/aiohttp-3.13.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dca68018bf48c251ba17c72ed479f4dafe9dbd5a73707ad8d28a38d11f3d42af", size = 1671588 }, + { url = "https://files.pythonhosted.org/packages/5f/34/8d7f962604f4bc2b4e39eb1220dac7d4e4cba91fb9ba0474b4ecd67db165/aiohttp-3.13.3-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fee0c6bc7db1de362252affec009707a17478a00ec69f797d23ca256e36d5940", size = 1640334 }, + { url = "https://files.pythonhosted.org/packages/94/1d/fcccf2c668d87337ddeef9881537baee13c58d8f01f12ba8a24215f2b804/aiohttp-3.13.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c048058117fd649334d81b4b526e94bde3ccaddb20463a815ced6ecbb7d11160", size = 1722656 }, + { url = "https://files.pythonhosted.org/packages/aa/98/c6f3b081c4c606bc1e5f2ec102e87d6411c73a9ef3616fea6f2d5c98c062/aiohttp-3.13.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:215a685b6fbbfcf71dfe96e3eba7a6f58f10da1dfdf4889c7dd856abe430dca7", size = 1817625 }, + { url = "https://files.pythonhosted.org/packages/2c/c0/cfcc3d2e11b477f86e1af2863f3858c8850d751ce8dc39c4058a072c9e54/aiohttp-3.13.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2c184bb1fe2cbd2cefba613e9db29a5ab559323f994b6737e370d3da0ac455", size = 1672604 }, + { url = "https://files.pythonhosted.org/packages/1e/77/6b4ffcbcac4c6a5d041343a756f34a6dd26174ae07f977a64fe028dda5b0/aiohttp-3.13.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:75ca857eba4e20ce9f546cd59c7007b33906a4cd48f2ff6ccf1ccfc3b646f279", size = 1554370 }, + { url = "https://files.pythonhosted.org/packages/f2/f0/e3ddfa93f17d689dbe014ba048f18e0c9f9b456033b70e94349a2e9048be/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:81e97251d9298386c2b7dbeb490d3d1badbdc69107fb8c9299dd04eb39bddc0e", size = 1642023 }, + { url = "https://files.pythonhosted.org/packages/eb/45/c14019c9ec60a8e243d06d601b33dcc4fd92379424bde3021725859d7f99/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c0e2d366af265797506f0283487223146af57815b388623f0357ef7eac9b209d", size = 1649680 }, + { url = "https://files.pythonhosted.org/packages/9c/fd/09c9451dae5aa5c5ed756df95ff9ef549d45d4be663bafd1e4954fd836f0/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4e239d501f73d6db1522599e14b9b321a7e3b1de66ce33d53a765d975e9f4808", size = 1692407 }, + { url = "https://files.pythonhosted.org/packages/a6/81/938bc2ec33c10efd6637ccb3d22f9f3160d08e8f3aa2587a2c2d5ab578eb/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:0db318f7a6f065d84cb1e02662c526294450b314a02bd9e2a8e67f0d8564ce40", size = 1543047 }, + { url = "https://files.pythonhosted.org/packages/f7/23/80488ee21c8d567c83045e412e1d9b7077d27171591a4eb7822586e8c06a/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:bfc1cc2fe31a6026a8a88e4ecfb98d7f6b1fec150cfd708adbfd1d2f42257c29", size = 1715264 }, + { url = "https://files.pythonhosted.org/packages/e2/83/259a8da6683182768200b368120ab3deff5370bed93880fb9a3a86299f34/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:af71fff7bac6bb7508956696dce8f6eec2bbb045eceb40343944b1ae62b5ef11", size = 1657275 }, + { url = "https://files.pythonhosted.org/packages/3f/4f/2c41f800a0b560785c10fb316216ac058c105f9be50bdc6a285de88db625/aiohttp-3.13.3-cp310-cp310-win32.whl", hash = "sha256:37da61e244d1749798c151421602884db5270faf479cf0ef03af0ff68954c9dd", size = 434053 }, + { url = "https://files.pythonhosted.org/packages/80/df/29cd63c7ecfdb65ccc12f7d808cac4fa2a19544660c06c61a4a48462de0c/aiohttp-3.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:7e63f210bc1b57ef699035f2b4b6d9ce096b5914414a49b0997c839b2bd2223c", size = 456687 }, + { url = "https://files.pythonhosted.org/packages/f1/4c/a164164834f03924d9a29dc3acd9e7ee58f95857e0b467f6d04298594ebb/aiohttp-3.13.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5b6073099fb654e0a068ae678b10feff95c5cae95bbfcbfa7af669d361a8aa6b", size = 746051 }, + { url = "https://files.pythonhosted.org/packages/82/71/d5c31390d18d4f58115037c432b7e0348c60f6f53b727cad33172144a112/aiohttp-3.13.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cb93e166e6c28716c8c6aeb5f99dfb6d5ccf482d29fe9bf9a794110e6d0ab64", size = 499234 }, + { url = "https://files.pythonhosted.org/packages/0e/c9/741f8ac91e14b1d2e7100690425a5b2b919a87a5075406582991fb7de920/aiohttp-3.13.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:28e027cf2f6b641693a09f631759b4d9ce9165099d2b5d92af9bd4e197690eea", size = 494979 }, + { url = "https://files.pythonhosted.org/packages/75/b5/31d4d2e802dfd59f74ed47eba48869c1c21552c586d5e81a9d0d5c2ad640/aiohttp-3.13.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3b61b7169ababd7802f9568ed96142616a9118dd2be0d1866e920e77ec8fa92a", size = 1748297 }, + { url = "https://files.pythonhosted.org/packages/1a/3e/eefad0ad42959f226bb79664826883f2687d602a9ae2941a18e0484a74d3/aiohttp-3.13.3-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:80dd4c21b0f6237676449c6baaa1039abae86b91636b6c91a7f8e61c87f89540", size = 1707172 }, + { url = "https://files.pythonhosted.org/packages/c5/3a/54a64299fac2891c346cdcf2aa6803f994a2e4beeaf2e5a09dcc54acc842/aiohttp-3.13.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:65d2ccb7eabee90ce0503c17716fc77226be026dcc3e65cce859a30db715025b", size = 1805405 }, + { url = "https://files.pythonhosted.org/packages/6c/70/ddc1b7169cf64075e864f64595a14b147a895a868394a48f6a8031979038/aiohttp-3.13.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5b179331a481cb5529fca8b432d8d3c7001cb217513c94cd72d668d1248688a3", size = 1899449 }, + { url = "https://files.pythonhosted.org/packages/a1/7e/6815aab7d3a56610891c76ef79095677b8b5be6646aaf00f69b221765021/aiohttp-3.13.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d4c940f02f49483b18b079d1c27ab948721852b281f8b015c058100e9421dd1", size = 1748444 }, + { url = "https://files.pythonhosted.org/packages/6b/f2/073b145c4100da5511f457dc0f7558e99b2987cf72600d42b559db856fbc/aiohttp-3.13.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f9444f105664c4ce47a2a7171a2418bce5b7bae45fb610f4e2c36045d85911d3", size = 1606038 }, + { url = "https://files.pythonhosted.org/packages/0a/c1/778d011920cae03ae01424ec202c513dc69243cf2db303965615b81deeea/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:694976222c711d1d00ba131904beb60534f93966562f64440d0c9d41b8cdb440", size = 1724156 }, + { url = "https://files.pythonhosted.org/packages/0e/cb/3419eabf4ec1e9ec6f242c32b689248365a1cf621891f6f0386632525494/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f33ed1a2bf1997a36661874b017f5c4b760f41266341af36febaf271d179f6d7", size = 1722340 }, + { url = "https://files.pythonhosted.org/packages/7a/e5/76cf77bdbc435bf233c1f114edad39ed4177ccbfab7c329482b179cff4f4/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e636b3c5f61da31a92bf0d91da83e58fdfa96f178ba682f11d24f31944cdd28c", size = 1783041 }, + { url = "https://files.pythonhosted.org/packages/9d/d4/dd1ca234c794fd29c057ce8c0566b8ef7fd6a51069de5f06fa84b9a1971c/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5d2d94f1f5fcbe40838ac51a6ab5704a6f9ea42e72ceda48de5e6b898521da51", size = 1596024 }, + { url = "https://files.pythonhosted.org/packages/55/58/4345b5f26661a6180afa686c473620c30a66afdf120ed3dd545bbc809e85/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2be0e9ccf23e8a94f6f0650ce06042cefc6ac703d0d7ab6c7a917289f2539ad4", size = 1804590 }, + { url = "https://files.pythonhosted.org/packages/7b/06/05950619af6c2df7e0a431d889ba2813c9f0129cec76f663e547a5ad56f2/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9af5e68ee47d6534d36791bbe9b646d2a7c7deb6fc24d7943628edfbb3581f29", size = 1740355 }, + { url = "https://files.pythonhosted.org/packages/3e/80/958f16de79ba0422d7c1e284b2abd0c84bc03394fbe631d0a39ffa10e1eb/aiohttp-3.13.3-cp311-cp311-win32.whl", hash = "sha256:a2212ad43c0833a873d0fb3c63fa1bacedd4cf6af2fee62bf4b739ceec3ab239", size = 433701 }, + { url = "https://files.pythonhosted.org/packages/dc/f2/27cdf04c9851712d6c1b99df6821a6623c3c9e55956d4b1e318c337b5a48/aiohttp-3.13.3-cp311-cp311-win_amd64.whl", hash = "sha256:642f752c3eb117b105acbd87e2c143de710987e09860d674e068c4c2c441034f", size = 457678 }, + { url = "https://files.pythonhosted.org/packages/a0/be/4fc11f202955a69e0db803a12a062b8379c970c7c84f4882b6da17337cc1/aiohttp-3.13.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b903a4dfee7d347e2d87697d0713be59e0b87925be030c9178c5faa58ea58d5c", size = 739732 }, + { url = "https://files.pythonhosted.org/packages/97/2c/621d5b851f94fa0bb7430d6089b3aa970a9d9b75196bc93bb624b0db237a/aiohttp-3.13.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a45530014d7a1e09f4a55f4f43097ba0fd155089372e105e4bff4ca76cb1b168", size = 494293 }, + { url = "https://files.pythonhosted.org/packages/5d/43/4be01406b78e1be8320bb8316dc9c42dbab553d281c40364e0f862d5661c/aiohttp-3.13.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:27234ef6d85c914f9efeb77ff616dbf4ad2380be0cda40b4db086ffc7ddd1b7d", size = 493533 }, + { url = "https://files.pythonhosted.org/packages/8d/a8/5a35dc56a06a2c90d4742cbf35294396907027f80eea696637945a106f25/aiohttp-3.13.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d32764c6c9aafb7fb55366a224756387cd50bfa720f32b88e0e6fa45b27dcf29", size = 1737839 }, + { url = "https://files.pythonhosted.org/packages/bf/62/4b9eeb331da56530bf2e198a297e5303e1c1ebdceeb00fe9b568a65c5a0c/aiohttp-3.13.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b1a6102b4d3ebc07dad44fbf07b45bb600300f15b552ddf1851b5390202ea2e3", size = 1703932 }, + { url = "https://files.pythonhosted.org/packages/7c/f6/af16887b5d419e6a367095994c0b1332d154f647e7dc2bd50e61876e8e3d/aiohttp-3.13.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c014c7ea7fb775dd015b2d3137378b7be0249a448a1612268b5a90c2d81de04d", size = 1771906 }, + { url = "https://files.pythonhosted.org/packages/ce/83/397c634b1bcc24292fa1e0c7822800f9f6569e32934bdeef09dae7992dfb/aiohttp-3.13.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2b8d8ddba8f95ba17582226f80e2de99c7a7948e66490ef8d947e272a93e9463", size = 1871020 }, + { url = "https://files.pythonhosted.org/packages/86/f6/a62cbbf13f0ac80a70f71b1672feba90fdb21fd7abd8dbf25c0105fb6fa3/aiohttp-3.13.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ae8dd55c8e6c4257eae3a20fd2c8f41edaea5992ed67156642493b8daf3cecc", size = 1755181 }, + { url = "https://files.pythonhosted.org/packages/0a/87/20a35ad487efdd3fba93d5843efdfaa62d2f1479eaafa7453398a44faf13/aiohttp-3.13.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:01ad2529d4b5035578f5081606a465f3b814c542882804e2e8cda61adf5c71bf", size = 1561794 }, + { url = "https://files.pythonhosted.org/packages/de/95/8fd69a66682012f6716e1bc09ef8a1a2a91922c5725cb904689f112309c4/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bb4f7475e359992b580559e008c598091c45b5088f28614e855e42d39c2f1033", size = 1697900 }, + { url = "https://files.pythonhosted.org/packages/e5/66/7b94b3b5ba70e955ff597672dad1691333080e37f50280178967aff68657/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c19b90316ad3b24c69cd78d5c9b4f3aa4497643685901185b65166293d36a00f", size = 1728239 }, + { url = "https://files.pythonhosted.org/packages/47/71/6f72f77f9f7d74719692ab65a2a0252584bf8d5f301e2ecb4c0da734530a/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:96d604498a7c782cb15a51c406acaea70d8c027ee6b90c569baa6e7b93073679", size = 1740527 }, + { url = "https://files.pythonhosted.org/packages/fa/b4/75ec16cbbd5c01bdaf4a05b19e103e78d7ce1ef7c80867eb0ace42ff4488/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:084911a532763e9d3dd95adf78a78f4096cd5f58cdc18e6fdbc1b58417a45423", size = 1554489 }, + { url = "https://files.pythonhosted.org/packages/52/8f/bc518c0eea29f8406dcf7ed1f96c9b48e3bc3995a96159b3fc11f9e08321/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7a4a94eb787e606d0a09404b9c38c113d3b099d508021faa615d70a0131907ce", size = 1767852 }, + { url = "https://files.pythonhosted.org/packages/9d/f2/a07a75173124f31f11ea6f863dc44e6f09afe2bca45dd4e64979490deab1/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:87797e645d9d8e222e04160ee32aa06bc5c163e8499f24db719e7852ec23093a", size = 1722379 }, + { url = "https://files.pythonhosted.org/packages/3c/4a/1a3fee7c21350cac78e5c5cef711bac1b94feca07399f3d406972e2d8fcd/aiohttp-3.13.3-cp312-cp312-win32.whl", hash = "sha256:b04be762396457bef43f3597c991e192ee7da460a4953d7e647ee4b1c28e7046", size = 428253 }, + { url = "https://files.pythonhosted.org/packages/d9/b7/76175c7cb4eb73d91ad63c34e29fc4f77c9386bba4a65b53ba8e05ee3c39/aiohttp-3.13.3-cp312-cp312-win_amd64.whl", hash = "sha256:e3531d63d3bdfa7e3ac5e9b27b2dd7ec9df3206a98e0b3445fa906f233264c57", size = 455407 }, + { url = "https://files.pythonhosted.org/packages/97/8a/12ca489246ca1faaf5432844adbfce7ff2cc4997733e0af120869345643a/aiohttp-3.13.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5dff64413671b0d3e7d5918ea490bdccb97a4ad29b3f311ed423200b2203e01c", size = 734190 }, + { url = "https://files.pythonhosted.org/packages/32/08/de43984c74ed1fca5c014808963cc83cb00d7bb06af228f132d33862ca76/aiohttp-3.13.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:87b9aab6d6ed88235aa2970294f496ff1a1f9adcd724d800e9b952395a80ffd9", size = 491783 }, + { url = "https://files.pythonhosted.org/packages/17/f8/8dd2cf6112a5a76f81f81a5130c57ca829d101ad583ce57f889179accdda/aiohttp-3.13.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:425c126c0dc43861e22cb1c14ba4c8e45d09516d0a3ae0a3f7494b79f5f233a3", size = 490704 }, + { url = "https://files.pythonhosted.org/packages/6d/40/a46b03ca03936f832bc7eaa47cfbb1ad012ba1be4790122ee4f4f8cba074/aiohttp-3.13.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f9120f7093c2a32d9647abcaf21e6ad275b4fbec5b55969f978b1a97c7c86bf", size = 1720652 }, + { url = "https://files.pythonhosted.org/packages/f7/7e/917fe18e3607af92657e4285498f500dca797ff8c918bd7d90b05abf6c2a/aiohttp-3.13.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:697753042d57f4bf7122cab985bf15d0cef23c770864580f5af4f52023a56bd6", size = 1692014 }, + { url = "https://files.pythonhosted.org/packages/71/b6/cefa4cbc00d315d68973b671cf105b21a609c12b82d52e5d0c9ae61d2a09/aiohttp-3.13.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6de499a1a44e7de70735d0b39f67c8f25eb3d91eb3103be99ca0fa882cdd987d", size = 1759777 }, + { url = "https://files.pythonhosted.org/packages/fb/e3/e06ee07b45e59e6d81498b591fc589629be1553abb2a82ce33efe2a7b068/aiohttp-3.13.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:37239e9f9a7ea9ac5bf6b92b0260b01f8a22281996da609206a84df860bc1261", size = 1861276 }, + { url = "https://files.pythonhosted.org/packages/7c/24/75d274228acf35ceeb2850b8ce04de9dd7355ff7a0b49d607ee60c29c518/aiohttp-3.13.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f76c1e3fe7d7c8afad7ed193f89a292e1999608170dcc9751a7462a87dfd5bc0", size = 1743131 }, + { url = "https://files.pythonhosted.org/packages/04/98/3d21dde21889b17ca2eea54fdcff21b27b93f45b7bb94ca029c31ab59dc3/aiohttp-3.13.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fc290605db2a917f6e81b0e1e0796469871f5af381ce15c604a3c5c7e51cb730", size = 1556863 }, + { url = "https://files.pythonhosted.org/packages/9e/84/da0c3ab1192eaf64782b03971ab4055b475d0db07b17eff925e8c93b3aa5/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4021b51936308aeea0367b8f006dc999ca02bc118a0cc78c303f50a2ff6afb91", size = 1682793 }, + { url = "https://files.pythonhosted.org/packages/ff/0f/5802ada182f575afa02cbd0ec5180d7e13a402afb7c2c03a9aa5e5d49060/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:49a03727c1bba9a97d3e93c9f93ca03a57300f484b6e935463099841261195d3", size = 1716676 }, + { url = "https://files.pythonhosted.org/packages/3f/8c/714d53bd8b5a4560667f7bbbb06b20c2382f9c7847d198370ec6526af39c/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3d9908a48eb7416dc1f4524e69f1d32e5d90e3981e4e37eb0aa1cd18f9cfa2a4", size = 1733217 }, + { url = "https://files.pythonhosted.org/packages/7d/79/e2176f46d2e963facea939f5be2d26368ce543622be6f00a12844d3c991f/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2712039939ec963c237286113c68dbad80a82a4281543f3abf766d9d73228998", size = 1552303 }, + { url = "https://files.pythonhosted.org/packages/ab/6a/28ed4dea1759916090587d1fe57087b03e6c784a642b85ef48217b0277ae/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7bfdc049127717581866fa4708791220970ce291c23e28ccf3922c700740fdc0", size = 1763673 }, + { url = "https://files.pythonhosted.org/packages/e8/35/4a3daeb8b9fab49240d21c04d50732313295e4bd813a465d840236dd0ce1/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8057c98e0c8472d8846b9c79f56766bcc57e3e8ac7bfd510482332366c56c591", size = 1721120 }, + { url = "https://files.pythonhosted.org/packages/bc/9f/d643bb3c5fb99547323e635e251c609fbbc660d983144cfebec529e09264/aiohttp-3.13.3-cp313-cp313-win32.whl", hash = "sha256:1449ceddcdbcf2e0446957863af03ebaaa03f94c090f945411b61269e2cb5daf", size = 427383 }, + { url = "https://files.pythonhosted.org/packages/4e/f1/ab0395f8a79933577cdd996dd2f9aa6014af9535f65dddcf88204682fe62/aiohttp-3.13.3-cp313-cp313-win_amd64.whl", hash = "sha256:693781c45a4033d31d4187d2436f5ac701e7bbfe5df40d917736108c1cc7436e", size = 453899 }, + { url = "https://files.pythonhosted.org/packages/99/36/5b6514a9f5d66f4e2597e40dea2e3db271e023eb7a5d22defe96ba560996/aiohttp-3.13.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:ea37047c6b367fd4bd632bff8077449b8fa034b69e812a18e0132a00fae6e808", size = 737238 }, + { url = "https://files.pythonhosted.org/packages/f7/49/459327f0d5bcd8c6c9ca69e60fdeebc3622861e696490d8674a6d0cb90a6/aiohttp-3.13.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6fc0e2337d1a4c3e6acafda6a78a39d4c14caea625124817420abceed36e2415", size = 492292 }, + { url = "https://files.pythonhosted.org/packages/e8/0b/b97660c5fd05d3495b4eb27f2d0ef18dc1dc4eff7511a9bf371397ff0264/aiohttp-3.13.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c685f2d80bb67ca8c3837823ad76196b3694b0159d232206d1e461d3d434666f", size = 493021 }, + { url = "https://files.pythonhosted.org/packages/54/d4/438efabdf74e30aeceb890c3290bbaa449780583b1270b00661126b8aae4/aiohttp-3.13.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:48e377758516d262bde50c2584fc6c578af272559c409eecbdd2bae1601184d6", size = 1717263 }, + { url = "https://files.pythonhosted.org/packages/71/f2/7bddc7fd612367d1459c5bcf598a9e8f7092d6580d98de0e057eb42697ad/aiohttp-3.13.3-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:34749271508078b261c4abb1767d42b8d0c0cc9449c73a4df494777dc55f0687", size = 1669107 }, + { url = "https://files.pythonhosted.org/packages/00/5a/1aeaecca40e22560f97610a329e0e5efef5e0b5afdf9f857f0d93839ab2e/aiohttp-3.13.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:82611aeec80eb144416956ec85b6ca45a64d76429c1ed46ae1b5f86c6e0c9a26", size = 1760196 }, + { url = "https://files.pythonhosted.org/packages/f8/f8/0ff6992bea7bd560fc510ea1c815f87eedd745fe035589c71ce05612a19a/aiohttp-3.13.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2fff83cfc93f18f215896e3a190e8e5cb413ce01553901aca925176e7568963a", size = 1843591 }, + { url = "https://files.pythonhosted.org/packages/e3/d1/e30e537a15f53485b61f5be525f2157da719819e8377298502aebac45536/aiohttp-3.13.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bbe7d4cecacb439e2e2a8a1a7b935c25b812af7a5fd26503a66dadf428e79ec1", size = 1720277 }, + { url = "https://files.pythonhosted.org/packages/84/45/23f4c451d8192f553d38d838831ebbc156907ea6e05557f39563101b7717/aiohttp-3.13.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b928f30fe49574253644b1ca44b1b8adbd903aa0da4b9054a6c20fc7f4092a25", size = 1548575 }, + { url = "https://files.pythonhosted.org/packages/6a/ed/0a42b127a43712eda7807e7892c083eadfaf8429ca8fb619662a530a3aab/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7b5e8fe4de30df199155baaf64f2fcd604f4c678ed20910db8e2c66dc4b11603", size = 1679455 }, + { url = "https://files.pythonhosted.org/packages/2e/b5/c05f0c2b4b4fe2c9d55e73b6d3ed4fd6c9dc2684b1d81cbdf77e7fad9adb/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:8542f41a62bcc58fc7f11cf7c90e0ec324ce44950003feb70640fc2a9092c32a", size = 1687417 }, + { url = "https://files.pythonhosted.org/packages/c9/6b/915bc5dad66aef602b9e459b5a973529304d4e89ca86999d9d75d80cbd0b/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:5e1d8c8b8f1d91cd08d8f4a3c2b067bfca6ec043d3ff36de0f3a715feeedf926", size = 1729968 }, + { url = "https://files.pythonhosted.org/packages/11/3b/e84581290a9520024a08640b63d07673057aec5ca548177a82026187ba73/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:90455115e5da1c3c51ab619ac57f877da8fd6d73c05aacd125c5ae9819582aba", size = 1545690 }, + { url = "https://files.pythonhosted.org/packages/f5/04/0c3655a566c43fd647c81b895dfe361b9f9ad6d58c19309d45cff52d6c3b/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:042e9e0bcb5fba81886c8b4fbb9a09d6b8a00245fd8d88e4d989c1f96c74164c", size = 1746390 }, + { url = "https://files.pythonhosted.org/packages/1f/53/71165b26978f719c3419381514c9690bd5980e764a09440a10bb816ea4ab/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2eb752b102b12a76ca02dff751a801f028b4ffbbc478840b473597fc91a9ed43", size = 1702188 }, + { url = "https://files.pythonhosted.org/packages/29/a7/cbe6c9e8e136314fa1980da388a59d2f35f35395948a08b6747baebb6aa6/aiohttp-3.13.3-cp314-cp314-win32.whl", hash = "sha256:b556c85915d8efaed322bf1bdae9486aa0f3f764195a0fb6ee962e5c71ef5ce1", size = 433126 }, + { url = "https://files.pythonhosted.org/packages/de/56/982704adea7d3b16614fc5936014e9af85c0e34b58f9046655817f04306e/aiohttp-3.13.3-cp314-cp314-win_amd64.whl", hash = "sha256:9bf9f7a65e7aa20dd764151fb3d616c81088f91f8df39c3893a536e279b4b984", size = 459128 }, + { url = "https://files.pythonhosted.org/packages/6c/2a/3c79b638a9c3d4658d345339d22070241ea341ed4e07b5ac60fb0f418003/aiohttp-3.13.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:05861afbbec40650d8a07ea324367cb93e9e8cc7762e04dd4405df99fa65159c", size = 769512 }, + { url = "https://files.pythonhosted.org/packages/29/b9/3e5014d46c0ab0db8707e0ac2711ed28c4da0218c358a4e7c17bae0d8722/aiohttp-3.13.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2fc82186fadc4a8316768d61f3722c230e2c1dcab4200d52d2ebdf2482e47592", size = 506444 }, + { url = "https://files.pythonhosted.org/packages/90/03/c1d4ef9a054e151cd7839cdc497f2638f00b93cbe8043983986630d7a80c/aiohttp-3.13.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0add0900ff220d1d5c5ebbf99ed88b0c1bbf87aa7e4262300ed1376a6b13414f", size = 510798 }, + { url = "https://files.pythonhosted.org/packages/ea/76/8c1e5abbfe8e127c893fe7ead569148a4d5a799f7cf958d8c09f3eedf097/aiohttp-3.13.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:568f416a4072fbfae453dcf9a99194bbb8bdeab718e08ee13dfa2ba0e4bebf29", size = 1868835 }, + { url = "https://files.pythonhosted.org/packages/8e/ac/984c5a6f74c363b01ff97adc96a3976d9c98940b8969a1881575b279ac5d/aiohttp-3.13.3-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:add1da70de90a2569c5e15249ff76a631ccacfe198375eead4aadf3b8dc849dc", size = 1720486 }, + { url = "https://files.pythonhosted.org/packages/b2/9a/b7039c5f099c4eb632138728828b33428585031a1e658d693d41d07d89d1/aiohttp-3.13.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:10b47b7ba335d2e9b1239fa571131a87e2d8ec96b333e68b2a305e7a98b0bae2", size = 1847951 }, + { url = "https://files.pythonhosted.org/packages/3c/02/3bec2b9a1ba3c19ff89a43a19324202b8eb187ca1e928d8bdac9bbdddebd/aiohttp-3.13.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3dd4dce1c718e38081c8f35f323209d4c1df7d4db4bab1b5c88a6b4d12b74587", size = 1941001 }, + { url = "https://files.pythonhosted.org/packages/37/df/d879401cedeef27ac4717f6426c8c36c3091c6e9f08a9178cc87549c537f/aiohttp-3.13.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34bac00a67a812570d4a460447e1e9e06fae622946955f939051e7cc895cfab8", size = 1797246 }, + { url = "https://files.pythonhosted.org/packages/8d/15/be122de1f67e6953add23335c8ece6d314ab67c8bebb3f181063010795a7/aiohttp-3.13.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a19884d2ee70b06d9204b2727a7b9f983d0c684c650254679e716b0b77920632", size = 1627131 }, + { url = "https://files.pythonhosted.org/packages/12/12/70eedcac9134cfa3219ab7af31ea56bc877395b1ac30d65b1bc4b27d0438/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5f8ca7f2bb6ba8348a3614c7918cc4bb73268c5ac2a207576b7afea19d3d9f64", size = 1795196 }, + { url = "https://files.pythonhosted.org/packages/32/11/b30e1b1cd1f3054af86ebe60df96989c6a414dd87e27ad16950eee420bea/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b0d95340658b9d2f11d9697f59b3814a9d3bb4b7a7c20b131df4bcef464037c0", size = 1782841 }, + { url = "https://files.pythonhosted.org/packages/88/0d/d98a9367b38912384a17e287850f5695c528cff0f14f791ce8ee2e4f7796/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:a1e53262fd202e4b40b70c3aff944a8155059beedc8a89bba9dc1f9ef06a1b56", size = 1795193 }, + { url = "https://files.pythonhosted.org/packages/43/a5/a2dfd1f5ff5581632c7f6a30e1744deda03808974f94f6534241ef60c751/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d60ac9663f44168038586cab2157e122e46bdef09e9368b37f2d82d354c23f72", size = 1621979 }, + { url = "https://files.pythonhosted.org/packages/fa/f0/12973c382ae7c1cccbc4417e129c5bf54c374dfb85af70893646e1f0e749/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:90751b8eed69435bac9ff4e3d2f6b3af1f57e37ecb0fbeee59c0174c9e2d41df", size = 1822193 }, + { url = "https://files.pythonhosted.org/packages/3c/5f/24155e30ba7f8c96918af1350eb0663e2430aad9e001c0489d89cd708ab1/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fc353029f176fd2b3ec6cfc71be166aba1936fe5d73dd1992ce289ca6647a9aa", size = 1769801 }, + { url = "https://files.pythonhosted.org/packages/eb/f8/7314031ff5c10e6ece114da79b338ec17eeff3a079e53151f7e9f43c4723/aiohttp-3.13.3-cp314-cp314t-win32.whl", hash = "sha256:2e41b18a58da1e474a057b3d35248d8320029f61d70a37629535b16a0c8f3767", size = 466523 }, + { url = "https://files.pythonhosted.org/packages/b4/63/278a98c715ae467624eafe375542d8ba9b4383a016df8fdefe0ae28382a7/aiohttp-3.13.3-cp314-cp314t-win_amd64.whl", hash = "sha256:44531a36aa2264a1860089ffd4dce7baf875ee5a6079d5fb42e261c704ef7344", size = 499694 }, +] + +[[package]] +name = "aiosignal" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "frozenlist" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490 }, +] + +[[package]] +name = "anyio" +version = "4.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592 }, +] + +[[package]] +name = "async-timeout" +version = "5.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a5/ae/136395dfbfe00dfc94da3f3e136d0b13f394cba8f4841120e34226265780/async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3", size = 9274 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c", size = 6233 }, +] + +[[package]] +name = "attrs" +version = "25.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615 }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.14.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz", hash = "sha256:6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86", size = 627737 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl", hash = "sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb", size = 107721 }, +] + +[[package]] +name = "cbor" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9b/99/01c6a987c920500189eb74a291bd3a388e6c7cf85736bb6b066d9833315e/cbor-1.0.0.tar.gz", hash = "sha256:13225a262ddf5615cbd9fd55a76a0d53069d18b07d2e9f19c39e6acb8609bbb6", size = 20096 } + +[[package]] +name = "certifi" +version = "2026.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900 }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/b8/6d51fc1d52cbd52cd4ccedd5b5b2f0f6a11bbf6765c782298b0f3e808541/charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d", size = 209709 }, + { url = "https://files.pythonhosted.org/packages/5c/af/1f9d7f7faafe2ddfb6f72a2e07a548a629c61ad510fe60f9630309908fef/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8", size = 148814 }, + { url = "https://files.pythonhosted.org/packages/79/3d/f2e3ac2bbc056ca0c204298ea4e3d9db9b4afe437812638759db2c976b5f/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad", size = 144467 }, + { url = "https://files.pythonhosted.org/packages/ec/85/1bf997003815e60d57de7bd972c57dc6950446a3e4ccac43bc3070721856/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8", size = 162280 }, + { url = "https://files.pythonhosted.org/packages/3e/8e/6aa1952f56b192f54921c436b87f2aaf7c7a7c3d0d1a765547d64fd83c13/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d", size = 159454 }, + { url = "https://files.pythonhosted.org/packages/36/3b/60cbd1f8e93aa25d1c669c649b7a655b0b5fb4c571858910ea9332678558/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313", size = 153609 }, + { url = "https://files.pythonhosted.org/packages/64/91/6a13396948b8fd3c4b4fd5bc74d045f5637d78c9675585e8e9fbe5636554/charset_normalizer-3.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e", size = 151849 }, + { url = "https://files.pythonhosted.org/packages/b7/7a/59482e28b9981d105691e968c544cc0df3b7d6133152fb3dcdc8f135da7a/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93", size = 151586 }, + { url = "https://files.pythonhosted.org/packages/92/59/f64ef6a1c4bdd2baf892b04cd78792ed8684fbc48d4c2afe467d96b4df57/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0", size = 145290 }, + { url = "https://files.pythonhosted.org/packages/6b/63/3bf9f279ddfa641ffa1962b0db6a57a9c294361cc2f5fcac997049a00e9c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84", size = 163663 }, + { url = "https://files.pythonhosted.org/packages/ed/09/c9e38fc8fa9e0849b172b581fd9803bdf6e694041127933934184e19f8c3/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e", size = 151964 }, + { url = "https://files.pythonhosted.org/packages/d2/d1/d28b747e512d0da79d8b6a1ac18b7ab2ecfd81b2944c4c710e166d8dd09c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db", size = 161064 }, + { url = "https://files.pythonhosted.org/packages/bb/9a/31d62b611d901c3b9e5500c36aab0ff5eb442043fb3a1c254200d3d397d9/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6", size = 155015 }, + { url = "https://files.pythonhosted.org/packages/1f/f3/107e008fa2bff0c8b9319584174418e5e5285fef32f79d8ee6a430d0039c/charset_normalizer-3.4.4-cp310-cp310-win32.whl", hash = "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f", size = 99792 }, + { url = "https://files.pythonhosted.org/packages/eb/66/e396e8a408843337d7315bab30dbf106c38966f1819f123257f5520f8a96/charset_normalizer-3.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d", size = 107198 }, + { url = "https://files.pythonhosted.org/packages/b5/58/01b4f815bf0312704c267f2ccb6e5d42bcc7752340cd487bc9f8c3710597/charset_normalizer-3.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69", size = 100262 }, + { url = "https://files.pythonhosted.org/packages/ed/27/c6491ff4954e58a10f69ad90aca8a1b6fe9c5d3c6f380907af3c37435b59/charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8", size = 206988 }, + { url = "https://files.pythonhosted.org/packages/94/59/2e87300fe67ab820b5428580a53cad894272dbb97f38a7a814a2a1ac1011/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0", size = 147324 }, + { url = "https://files.pythonhosted.org/packages/07/fb/0cf61dc84b2b088391830f6274cb57c82e4da8bbc2efeac8c025edb88772/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3", size = 142742 }, + { url = "https://files.pythonhosted.org/packages/62/8b/171935adf2312cd745d290ed93cf16cf0dfe320863ab7cbeeae1dcd6535f/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc", size = 160863 }, + { url = "https://files.pythonhosted.org/packages/09/73/ad875b192bda14f2173bfc1bc9a55e009808484a4b256748d931b6948442/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897", size = 157837 }, + { url = "https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381", size = 151550 }, + { url = "https://files.pythonhosted.org/packages/55/c2/43edd615fdfba8c6f2dfbd459b25a6b3b551f24ea21981e23fb768503ce1/charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815", size = 149162 }, + { url = "https://files.pythonhosted.org/packages/03/86/bde4ad8b4d0e9429a4e82c1e8f5c659993a9a863ad62c7df05cf7b678d75/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0", size = 150019 }, + { url = "https://files.pythonhosted.org/packages/1f/86/a151eb2af293a7e7bac3a739b81072585ce36ccfb4493039f49f1d3cae8c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161", size = 143310 }, + { url = "https://files.pythonhosted.org/packages/b5/fe/43dae6144a7e07b87478fdfc4dbe9efd5defb0e7ec29f5f58a55aeef7bf7/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4", size = 162022 }, + { url = "https://files.pythonhosted.org/packages/80/e6/7aab83774f5d2bca81f42ac58d04caf44f0cc2b65fc6db2b3b2e8a05f3b3/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89", size = 149383 }, + { url = "https://files.pythonhosted.org/packages/4f/e8/b289173b4edae05c0dde07f69f8db476a0b511eac556dfe0d6bda3c43384/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569", size = 159098 }, + { url = "https://files.pythonhosted.org/packages/d8/df/fe699727754cae3f8478493c7f45f777b17c3ef0600e28abfec8619eb49c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224", size = 152991 }, + { url = "https://files.pythonhosted.org/packages/1a/86/584869fe4ddb6ffa3bd9f491b87a01568797fb9bd8933f557dba9771beaf/charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a", size = 99456 }, + { url = "https://files.pythonhosted.org/packages/65/f6/62fdd5feb60530f50f7e38b4f6a1d5203f4d16ff4f9f0952962c044e919a/charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016", size = 106978 }, + { url = "https://files.pythonhosted.org/packages/7a/9d/0710916e6c82948b3be62d9d398cb4fcf4e97b56d6a6aeccd66c4b2f2bd5/charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1", size = 99969 }, + { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425 }, + { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162 }, + { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558 }, + { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497 }, + { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240 }, + { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471 }, + { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864 }, + { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647 }, + { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110 }, + { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839 }, + { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667 }, + { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535 }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816 }, + { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694 }, + { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131 }, + { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390 }, + { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091 }, + { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936 }, + { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180 }, + { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346 }, + { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874 }, + { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076 }, + { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601 }, + { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376 }, + { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825 }, + { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583 }, + { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366 }, + { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300 }, + { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465 }, + { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404 }, + { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092 }, + { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408 }, + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746 }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889 }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641 }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779 }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035 }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542 }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524 }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395 }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680 }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045 }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687 }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014 }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044 }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940 }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104 }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743 }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402 }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[package]] +name = "cuda-bindings" +version = "12.9.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cuda-pathfinder", marker = "(python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/37/31/bfcc870f69c6a017c4ad5c42316207fc7551940db6f3639aa4466ec5faf3/cuda_bindings-12.9.4-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a022c96b8bd847e8dc0675523431149a4c3e872f440e3002213dbb9e08f0331a", size = 11800959 }, + { url = "https://files.pythonhosted.org/packages/7a/d8/b546104b8da3f562c1ff8ab36d130c8fe1dd6a045ced80b4f6ad74f7d4e1/cuda_bindings-12.9.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d3c842c2a4303b2a580fe955018e31aea30278be19795ae05226235268032e5", size = 12148218 }, + { url = "https://files.pythonhosted.org/packages/a9/2b/ebcbb60aa6dba830474cd360c42e10282f7a343c0a1f58d24fbd3b7c2d77/cuda_bindings-12.9.4-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6a429dc6c13148ff1e27c44f40a3dd23203823e637b87fd0854205195988306", size = 11840604 }, + { url = "https://files.pythonhosted.org/packages/45/e7/b47792cc2d01c7e1d37c32402182524774dadd2d26339bd224e0e913832e/cuda_bindings-12.9.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c912a3d9e6b6651853eed8eed96d6800d69c08e94052c292fec3f282c5a817c9", size = 12210593 }, + { url = "https://files.pythonhosted.org/packages/0c/c2/65bfd79292b8ff18be4dd7f7442cea37bcbc1a228c1886f1dea515c45b67/cuda_bindings-12.9.4-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:694ba35023846625ef471257e6b5a4bc8af690f961d197d77d34b1d1db393f56", size = 11760260 }, + { url = "https://files.pythonhosted.org/packages/a9/c1/dabe88f52c3e3760d861401bb994df08f672ec893b8f7592dc91626adcf3/cuda_bindings-12.9.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fda147a344e8eaeca0c6ff113d2851ffca8f7dfc0a6c932374ee5c47caa649c8", size = 12151019 }, + { url = "https://files.pythonhosted.org/packages/05/8b/b4b2d1c7775fa403b64333e720cfcfccef8dcb9cdeb99947061ca5a77628/cuda_bindings-12.9.4-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cf8bfaedc238f3b115d957d1fd6562b7e8435ba57f6d0e2f87d0e7149ccb2da5", size = 11570071 }, + { url = "https://files.pythonhosted.org/packages/63/56/e465c31dc9111be3441a9ba7df1941fe98f4aa6e71e8788a3fb4534ce24d/cuda_bindings-12.9.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:32bdc5a76906be4c61eb98f546a6786c5773a881f3b166486449b5d141e4a39f", size = 11906628 }, + { url = "https://files.pythonhosted.org/packages/ec/07/6aff13bc1e977e35aaa6b22f52b172e2890c608c6db22438cf7ed2bf43a6/cuda_bindings-12.9.4-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3adf4958dcf68ae7801a59b73fb00a8b37f8d0595060d66ceae111b1002de38d", size = 11566797 }, + { url = "https://files.pythonhosted.org/packages/a3/84/1e6be415e37478070aeeee5884c2022713c1ecc735e6d82d744de0252eee/cuda_bindings-12.9.4-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:56e0043c457a99ac473ddc926fe0dc4046694d99caef633e92601ab52cbe17eb", size = 11925991 }, + { url = "https://files.pythonhosted.org/packages/1e/b5/96a6696e20c4ffd2b327f54c7d0fde2259bdb998d045c25d5dedbbe30290/cuda_bindings-12.9.4-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f53a7f453d4b2643d8663d036bafe29b5ba89eb904c133180f295df6dc151e5", size = 11624530 }, + { url = "https://files.pythonhosted.org/packages/d1/af/6dfd8f2ed90b1d4719bc053ff8940e494640fe4212dc3dd72f383e4992da/cuda_bindings-12.9.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8b72ee72a9cc1b531db31eebaaee5c69a8ec3500e32c6933f2d3b15297b53686", size = 11922703 }, + { url = "https://files.pythonhosted.org/packages/39/73/d2fc40c043bac699c3880bf88d3cebe9d88410cd043795382826c93a89f0/cuda_bindings-12.9.4-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20f2699d61d724de3eb3f3369d57e2b245f93085cab44fd37c3bea036cea1a6f", size = 11565056 }, + { url = "https://files.pythonhosted.org/packages/6c/19/90ac264acc00f6df8a49378eedec9fd2db3061bf9263bf9f39fd3d8377c3/cuda_bindings-12.9.4-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d80bffc357df9988dca279734bc9674c3934a654cab10cadeed27ce17d8635ee", size = 11924658 }, +] + +[[package]] +name = "cuda-pathfinder" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/02/4dbe7568a42e46582248942f54dc64ad094769532adbe21e525e4edf7bc4/cuda_pathfinder-1.3.3-py3-none-any.whl", hash = "sha256:9984b664e404f7c134954a771be8775dfd6180ea1e1aef4a5a37d4be05d9bbb1", size = 27154 }, +] + +[[package]] +name = "datasets" +version = "4.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dill" }, + { name = "filelock" }, + { name = "fsspec", extra = ["http"] }, + { name = "httpx" }, + { name = "huggingface-hub" }, + { name = "multiprocess" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging" }, + { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "pandas", version = "3.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pyarrow" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "tqdm" }, + { name = "xxhash" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/bf/bb927bde63d649296c83e883171ae77074717c1b80fe2868b328bd0dbcbb/datasets-4.5.0.tar.gz", hash = "sha256:00c698ce1c2452e646cc5fad47fef39d3fe78dd650a8a6eb205bb45eb63cd500", size = 588384 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/d5/0d563ea3c205eee226dc8053cf7682a8ac588db8acecd0eda2b587987a0b/datasets-4.5.0-py3-none-any.whl", hash = "sha256:b5d7e08096ffa407dd69e58b1c0271c9b2506140839b8d99af07375ad31b6726", size = 515196 }, +] + +[[package]] +name = "dill" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/12/80/630b4b88364e9a8c8c5797f4602d0f76ef820909ee32f0bacb9f90654042/dill-0.4.0.tar.gz", hash = "sha256:0633f1d2df477324f53a895b02c901fb961bdbf65a17122586ea7019292cbcf0", size = 186976 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049", size = 119668 }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740 }, +] + +[[package]] +name = "filelock" +version = "3.20.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/65/ce7f1b70157833bf3cb851b556a37d4547ceafc158aa9b34b36782f23696/filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1", size = 19485 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/36/7fb70f04bf00bc646cd5bb45aa9eddb15e19437a28b8fb2b4a5249fac770/filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1", size = 16701 }, +] + +[[package]] +name = "flagembedding" +version = "1.3.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "accelerate" }, + { name = "datasets" }, + { name = "ir-datasets" }, + { name = "peft" }, + { name = "protobuf" }, + { name = "sentence-transformers" }, + { name = "sentencepiece" }, + { name = "torch" }, + { name = "transformers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/5f/a5e20bb601f83f4abd491e0aec2b991d23f54fefa135b64e4203b3cb59d6/FlagEmbedding-1.3.5.tar.gz", hash = "sha256:a0714cb8dd03f38e74b84530684c47ad8e0442ab1f4cbb7b0bcd4017dafb9f9c", size = 163889 } + +[[package]] +name = "frozenlist" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/4a/557715d5047da48d54e659203b9335be7bfaafda2c3f627b7c47e0b3aaf3/frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011", size = 86230 }, + { url = "https://files.pythonhosted.org/packages/a2/fb/c85f9fed3ea8fe8740e5b46a59cc141c23b842eca617da8876cfce5f760e/frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565", size = 49621 }, + { url = "https://files.pythonhosted.org/packages/63/70/26ca3f06aace16f2352796b08704338d74b6d1a24ca38f2771afbb7ed915/frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad", size = 49889 }, + { url = "https://files.pythonhosted.org/packages/5d/ed/c7895fd2fde7f3ee70d248175f9b6cdf792fb741ab92dc59cd9ef3bd241b/frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f57fb59d9f385710aa7060e89410aeb5058b99e62f4d16b08b91986b9a2140c2", size = 219464 }, + { url = "https://files.pythonhosted.org/packages/6b/83/4d587dccbfca74cb8b810472392ad62bfa100bf8108c7223eb4c4fa2f7b3/frozenlist-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186", size = 221649 }, + { url = "https://files.pythonhosted.org/packages/6a/c6/fd3b9cd046ec5fff9dab66831083bc2077006a874a2d3d9247dea93ddf7e/frozenlist-1.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e", size = 219188 }, + { url = "https://files.pythonhosted.org/packages/ce/80/6693f55eb2e085fc8afb28cf611448fb5b90e98e068fa1d1b8d8e66e5c7d/frozenlist-1.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450", size = 231748 }, + { url = "https://files.pythonhosted.org/packages/97/d6/e9459f7c5183854abd989ba384fe0cc1a0fb795a83c033f0571ec5933ca4/frozenlist-1.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef", size = 236351 }, + { url = "https://files.pythonhosted.org/packages/97/92/24e97474b65c0262e9ecd076e826bfd1d3074adcc165a256e42e7b8a7249/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4", size = 218767 }, + { url = "https://files.pythonhosted.org/packages/ee/bf/dc394a097508f15abff383c5108cb8ad880d1f64a725ed3b90d5c2fbf0bb/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff", size = 235887 }, + { url = "https://files.pythonhosted.org/packages/40/90/25b201b9c015dbc999a5baf475a257010471a1fa8c200c843fd4abbee725/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c", size = 228785 }, + { url = "https://files.pythonhosted.org/packages/84/f4/b5bc148df03082f05d2dd30c089e269acdbe251ac9a9cf4e727b2dbb8a3d/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f", size = 230312 }, + { url = "https://files.pythonhosted.org/packages/db/4b/87e95b5d15097c302430e647136b7d7ab2398a702390cf4c8601975709e7/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7", size = 217650 }, + { url = "https://files.pythonhosted.org/packages/e5/70/78a0315d1fea97120591a83e0acd644da638c872f142fd72a6cebee825f3/frozenlist-1.8.0-cp310-cp310-win32.whl", hash = "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a", size = 39659 }, + { url = "https://files.pythonhosted.org/packages/66/aa/3f04523fb189a00e147e60c5b2205126118f216b0aa908035c45336e27e4/frozenlist-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6", size = 43837 }, + { url = "https://files.pythonhosted.org/packages/39/75/1135feecdd7c336938bd55b4dc3b0dfc46d85b9be12ef2628574b28de776/frozenlist-1.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e", size = 39989 }, + { url = "https://files.pythonhosted.org/packages/bc/03/077f869d540370db12165c0aa51640a873fb661d8b315d1d4d67b284d7ac/frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84", size = 86912 }, + { url = "https://files.pythonhosted.org/packages/df/b5/7610b6bd13e4ae77b96ba85abea1c8cb249683217ef09ac9e0ae93f25a91/frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9", size = 50046 }, + { url = "https://files.pythonhosted.org/packages/6e/ef/0e8f1fe32f8a53dd26bdd1f9347efe0778b0fddf62789ea683f4cc7d787d/frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93", size = 50119 }, + { url = "https://files.pythonhosted.org/packages/11/b1/71a477adc7c36e5fb628245dfbdea2166feae310757dea848d02bd0689fd/frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f", size = 231067 }, + { url = "https://files.pythonhosted.org/packages/45/7e/afe40eca3a2dc19b9904c0f5d7edfe82b5304cb831391edec0ac04af94c2/frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695", size = 233160 }, + { url = "https://files.pythonhosted.org/packages/a6/aa/7416eac95603ce428679d273255ffc7c998d4132cfae200103f164b108aa/frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52", size = 228544 }, + { url = "https://files.pythonhosted.org/packages/8b/3d/2a2d1f683d55ac7e3875e4263d28410063e738384d3adc294f5ff3d7105e/frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581", size = 243797 }, + { url = "https://files.pythonhosted.org/packages/78/1e/2d5565b589e580c296d3bb54da08d206e797d941a83a6fdea42af23be79c/frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567", size = 247923 }, + { url = "https://files.pythonhosted.org/packages/aa/c3/65872fcf1d326a7f101ad4d86285c403c87be7d832b7470b77f6d2ed5ddc/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b", size = 230886 }, + { url = "https://files.pythonhosted.org/packages/a0/76/ac9ced601d62f6956f03cc794f9e04c81719509f85255abf96e2510f4265/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92", size = 245731 }, + { url = "https://files.pythonhosted.org/packages/b9/49/ecccb5f2598daf0b4a1415497eba4c33c1e8ce07495eb07d2860c731b8d5/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d", size = 241544 }, + { url = "https://files.pythonhosted.org/packages/53/4b/ddf24113323c0bbcc54cb38c8b8916f1da7165e07b8e24a717b4a12cbf10/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd", size = 241806 }, + { url = "https://files.pythonhosted.org/packages/a7/fb/9b9a084d73c67175484ba2789a59f8eebebd0827d186a8102005ce41e1ba/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967", size = 229382 }, + { url = "https://files.pythonhosted.org/packages/95/a3/c8fb25aac55bf5e12dae5c5aa6a98f85d436c1dc658f21c3ac73f9fa95e5/frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25", size = 39647 }, + { url = "https://files.pythonhosted.org/packages/0a/f5/603d0d6a02cfd4c8f2a095a54672b3cf967ad688a60fb9faf04fc4887f65/frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b", size = 44064 }, + { url = "https://files.pythonhosted.org/packages/5d/16/c2c9ab44e181f043a86f9a8f84d5124b62dbcb3a02c0977ec72b9ac1d3e0/frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a", size = 39937 }, + { url = "https://files.pythonhosted.org/packages/69/29/948b9aa87e75820a38650af445d2ef2b6b8a6fab1a23b6bb9e4ef0be2d59/frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1", size = 87782 }, + { url = "https://files.pythonhosted.org/packages/64/80/4f6e318ee2a7c0750ed724fa33a4bdf1eacdc5a39a7a24e818a773cd91af/frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b", size = 50594 }, + { url = "https://files.pythonhosted.org/packages/2b/94/5c8a2b50a496b11dd519f4a24cb5496cf125681dd99e94c604ccdea9419a/frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4", size = 50448 }, + { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411 }, + { url = "https://files.pythonhosted.org/packages/8f/83/f61505a05109ef3293dfb1ff594d13d64a2324ac3482be2cedc2be818256/frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4", size = 243014 }, + { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909 }, + { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049 }, + { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485 }, + { url = "https://files.pythonhosted.org/packages/ce/03/024bf7720b3abaebcff6d0793d73c154237b85bdf67b7ed55e5e9596dc9a/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29", size = 237619 }, + { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320 }, + { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820 }, + { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518 }, + { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096 }, + { url = "https://files.pythonhosted.org/packages/66/bb/852b9d6db2fa40be96f29c0d1205c306288f0684df8fd26ca1951d461a56/frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf", size = 39985 }, + { url = "https://files.pythonhosted.org/packages/b8/af/38e51a553dd66eb064cdf193841f16f077585d4d28394c2fa6235cb41765/frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746", size = 44591 }, + { url = "https://files.pythonhosted.org/packages/a7/06/1dc65480ab147339fecc70797e9c2f69d9cea9cf38934ce08df070fdb9cb/frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd", size = 40102 }, + { url = "https://files.pythonhosted.org/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", size = 85717 }, + { url = "https://files.pythonhosted.org/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", size = 49651 }, + { url = "https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", size = 49417 }, + { url = "https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", size = 234391 }, + { url = "https://files.pythonhosted.org/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", size = 233048 }, + { url = "https://files.pythonhosted.org/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", size = 226549 }, + { url = "https://files.pythonhosted.org/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", size = 239833 }, + { url = "https://files.pythonhosted.org/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", size = 245363 }, + { url = "https://files.pythonhosted.org/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", size = 229314 }, + { url = "https://files.pythonhosted.org/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", size = 243365 }, + { url = "https://files.pythonhosted.org/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", size = 237763 }, + { url = "https://files.pythonhosted.org/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", size = 240110 }, + { url = "https://files.pythonhosted.org/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", size = 233717 }, + { url = "https://files.pythonhosted.org/packages/1e/0b/1b5531611e83ba7d13ccc9988967ea1b51186af64c42b7a7af465dcc9568/frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496", size = 39628 }, + { url = "https://files.pythonhosted.org/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231", size = 43882 }, + { url = "https://files.pythonhosted.org/packages/c1/17/502cd212cbfa96eb1388614fe39a3fc9ab87dbbe042b66f97acb57474834/frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62", size = 39676 }, + { url = "https://files.pythonhosted.org/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", size = 89235 }, + { url = "https://files.pythonhosted.org/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", size = 50742 }, + { url = "https://files.pythonhosted.org/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", size = 51725 }, + { url = "https://files.pythonhosted.org/packages/bc/71/d1fed0ffe2c2ccd70b43714c6cab0f4188f09f8a67a7914a6b46ee30f274/frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", size = 284533 }, + { url = "https://files.pythonhosted.org/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", size = 292506 }, + { url = "https://files.pythonhosted.org/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", size = 274161 }, + { url = "https://files.pythonhosted.org/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", size = 294676 }, + { url = "https://files.pythonhosted.org/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", size = 300638 }, + { url = "https://files.pythonhosted.org/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", size = 283067 }, + { url = "https://files.pythonhosted.org/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", size = 292101 }, + { url = "https://files.pythonhosted.org/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", size = 289901 }, + { url = "https://files.pythonhosted.org/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", size = 289395 }, + { url = "https://files.pythonhosted.org/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", size = 283659 }, + { url = "https://files.pythonhosted.org/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", size = 43492 }, + { url = "https://files.pythonhosted.org/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", size = 48034 }, + { url = "https://files.pythonhosted.org/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", size = 41749 }, + { url = "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", size = 86127 }, + { url = "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", size = 49698 }, + { url = "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", size = 49749 }, + { url = "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", size = 231298 }, + { url = "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", size = 232015 }, + { url = "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", size = 225038 }, + { url = "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", size = 240130 }, + { url = "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", size = 242845 }, + { url = "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", size = 229131 }, + { url = "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", size = 240542 }, + { url = "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", size = 237308 }, + { url = "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", size = 238210 }, + { url = "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", size = 231972 }, + { url = "https://files.pythonhosted.org/packages/3f/ab/945b2f32de889993b9c9133216c068b7fcf257d8595a0ac420ac8677cab0/frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806", size = 40536 }, + { url = "https://files.pythonhosted.org/packages/59/ad/9caa9b9c836d9ad6f067157a531ac48b7d36499f5036d4141ce78c230b1b/frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0", size = 44330 }, + { url = "https://files.pythonhosted.org/packages/82/13/e6950121764f2676f43534c555249f57030150260aee9dcf7d64efda11dd/frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b", size = 40627 }, + { url = "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", size = 89238 }, + { url = "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", size = 50738 }, + { url = "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", size = 51739 }, + { url = "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", size = 284186 }, + { url = "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", size = 292196 }, + { url = "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", size = 273830 }, + { url = "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", size = 294289 }, + { url = "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", size = 300318 }, + { url = "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", size = 282814 }, + { url = "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", size = 291762 }, + { url = "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", size = 289470 }, + { url = "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", size = 289042 }, + { url = "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", size = 283148 }, + { url = "https://files.pythonhosted.org/packages/af/d3/76bd4ed4317e7119c2b7f57c3f6934aba26d277acc6309f873341640e21f/frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df", size = 44676 }, + { url = "https://files.pythonhosted.org/packages/89/76/c615883b7b521ead2944bb3480398cbb07e12b7b4e4d073d3752eb721558/frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd", size = 49451 }, + { url = "https://files.pythonhosted.org/packages/e0/a3/5982da14e113d07b325230f95060e2169f5311b1017ea8af2a29b374c289/frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79", size = 42507 }, + { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409 }, +] + +[[package]] +name = "fsspec" +version = "2025.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/24/7f/2747c0d332b9acfa75dc84447a066fdf812b5a6b8d30472b74d309bfe8cb/fsspec-2025.10.0.tar.gz", hash = "sha256:b6789427626f068f9a83ca4e8a3cc050850b6c0f71f99ddb4f542b8266a26a59", size = 309285 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/02/a6b21098b1d5d6249b7c5ab69dde30108a71e4e819d4a9778f1de1d5b70d/fsspec-2025.10.0-py3-none-any.whl", hash = "sha256:7c7712353ae7d875407f97715f0e1ffcc21e33d5b24556cb1e090ae9409ec61d", size = 200966 }, +] + +[package.optional-dependencies] +http = [ + { name = "aiohttp" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515 }, +] + +[[package]] +name = "hf-xet" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/6e/0f11bacf08a67f7fb5ee09740f2ca54163863b07b70d579356e9222ce5d8/hf_xet-1.2.0.tar.gz", hash = "sha256:a8c27070ca547293b6890c4bf389f713f80e8c478631432962bb7f4bc0bd7d7f", size = 506020 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/a5/85ef910a0aa034a2abcfadc360ab5ac6f6bc4e9112349bd40ca97551cff0/hf_xet-1.2.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:ceeefcd1b7aed4956ae8499e2199607765fbd1c60510752003b6cc0b8413b649", size = 2861870 }, + { url = "https://files.pythonhosted.org/packages/ea/40/e2e0a7eb9a51fe8828ba2d47fe22a7e74914ea8a0db68a18c3aa7449c767/hf_xet-1.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b70218dd548e9840224df5638fdc94bd033552963cfa97f9170829381179c813", size = 2717584 }, + { url = "https://files.pythonhosted.org/packages/a5/7d/daf7f8bc4594fdd59a8a596f9e3886133fdc68e675292218a5e4c1b7e834/hf_xet-1.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d40b18769bb9a8bc82a9ede575ce1a44c75eb80e7375a01d76259089529b5dc", size = 3315004 }, + { url = "https://files.pythonhosted.org/packages/b1/ba/45ea2f605fbf6d81c8b21e4d970b168b18a53515923010c312c06cd83164/hf_xet-1.2.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:cd3a6027d59cfb60177c12d6424e31f4b5ff13d8e3a1247b3a584bf8977e6df5", size = 3222636 }, + { url = "https://files.pythonhosted.org/packages/4a/1d/04513e3cab8f29ab8c109d309ddd21a2705afab9d52f2ba1151e0c14f086/hf_xet-1.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6de1fc44f58f6dd937956c8d304d8c2dea264c80680bcfa61ca4a15e7b76780f", size = 3408448 }, + { url = "https://files.pythonhosted.org/packages/f0/7c/60a2756d7feec7387db3a1176c632357632fbe7849fce576c5559d4520c7/hf_xet-1.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f182f264ed2acd566c514e45da9f2119110e48a87a327ca271027904c70c5832", size = 3503401 }, + { url = "https://files.pythonhosted.org/packages/4e/64/48fffbd67fb418ab07451e4ce641a70de1c40c10a13e25325e24858ebe5a/hf_xet-1.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:293a7a3787e5c95d7be1857358a9130694a9c6021de3f27fa233f37267174382", size = 2900866 }, + { url = "https://files.pythonhosted.org/packages/e2/51/f7e2caae42f80af886db414d4e9885fac959330509089f97cccb339c6b87/hf_xet-1.2.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:10bfab528b968c70e062607f663e21e34e2bba349e8038db546646875495179e", size = 2861861 }, + { url = "https://files.pythonhosted.org/packages/6e/1d/a641a88b69994f9371bd347f1dd35e5d1e2e2460a2e350c8d5165fc62005/hf_xet-1.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2a212e842647b02eb6a911187dc878e79c4aa0aa397e88dd3b26761676e8c1f8", size = 2717699 }, + { url = "https://files.pythonhosted.org/packages/df/e0/e5e9bba7d15f0318955f7ec3f4af13f92e773fbb368c0b8008a5acbcb12f/hf_xet-1.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30e06daccb3a7d4c065f34fc26c14c74f4653069bb2b194e7f18f17cbe9939c0", size = 3314885 }, + { url = "https://files.pythonhosted.org/packages/21/90/b7fe5ff6f2b7b8cbdf1bd56145f863c90a5807d9758a549bf3d916aa4dec/hf_xet-1.2.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:29c8fc913a529ec0a91867ce3d119ac1aac966e098cf49501800c870328cc090", size = 3221550 }, + { url = "https://files.pythonhosted.org/packages/6f/cb/73f276f0a7ce46cc6a6ec7d6c7d61cbfe5f2e107123d9bbd0193c355f106/hf_xet-1.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e159cbfcfbb29f920db2c09ed8b660eb894640d284f102ada929b6e3dc410a", size = 3408010 }, + { url = "https://files.pythonhosted.org/packages/b8/1e/d642a12caa78171f4be64f7cd9c40e3ca5279d055d0873188a58c0f5fbb9/hf_xet-1.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9c91d5ae931510107f148874e9e2de8a16052b6f1b3ca3c1b12f15ccb491390f", size = 3503264 }, + { url = "https://files.pythonhosted.org/packages/17/b5/33764714923fa1ff922770f7ed18c2daae034d21ae6e10dbf4347c854154/hf_xet-1.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:210d577732b519ac6ede149d2f2f34049d44e8622bf14eb3d63bbcd2d4b332dc", size = 2901071 }, + { url = "https://files.pythonhosted.org/packages/96/2d/22338486473df5923a9ab7107d375dbef9173c338ebef5098ef593d2b560/hf_xet-1.2.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:46740d4ac024a7ca9b22bebf77460ff43332868b661186a8e46c227fdae01848", size = 2866099 }, + { url = "https://files.pythonhosted.org/packages/7f/8c/c5becfa53234299bc2210ba314eaaae36c2875e0045809b82e40a9544f0c/hf_xet-1.2.0-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:27df617a076420d8845bea087f59303da8be17ed7ec0cd7ee3b9b9f579dff0e4", size = 2722178 }, + { url = "https://files.pythonhosted.org/packages/9a/92/cf3ab0b652b082e66876d08da57fcc6fa2f0e6c70dfbbafbd470bb73eb47/hf_xet-1.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3651fd5bfe0281951b988c0facbe726aa5e347b103a675f49a3fa8144c7968fd", size = 3320214 }, + { url = "https://files.pythonhosted.org/packages/46/92/3f7ec4a1b6a65bf45b059b6d4a5d38988f63e193056de2f420137e3c3244/hf_xet-1.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d06fa97c8562fb3ee7a378dd9b51e343bc5bc8190254202c9771029152f5e08c", size = 3229054 }, + { url = "https://files.pythonhosted.org/packages/0b/dd/7ac658d54b9fb7999a0ccb07ad863b413cbaf5cf172f48ebcd9497ec7263/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:4c1428c9ae73ec0939410ec73023c4f842927f39db09b063b9482dac5a3bb737", size = 3413812 }, + { url = "https://files.pythonhosted.org/packages/92/68/89ac4e5b12a9ff6286a12174c8538a5930e2ed662091dd2572bbe0a18c8a/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a55558084c16b09b5ed32ab9ed38421e2d87cf3f1f89815764d1177081b99865", size = 3508920 }, + { url = "https://files.pythonhosted.org/packages/cb/44/870d44b30e1dcfb6a65932e3e1506c103a8a5aea9103c337e7a53180322c/hf_xet-1.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:e6584a52253f72c9f52f9e549d5895ca7a471608495c4ecaa6cc73dba2b24d69", size = 2905735 }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784 }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 }, +] + +[[package]] +name = "huggingface-hub" +version = "0.36.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock" }, + { name = "fsspec" }, + { name = "hf-xet", marker = "platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "tqdm" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/63/4910c5fa9128fdadf6a9c5ac138e8b1b6cee4ca44bf7915bbfbce4e355ee/huggingface_hub-0.36.0.tar.gz", hash = "sha256:47b3f0e2539c39bf5cde015d63b72ec49baff67b6931c3d97f3f84532e2b8d25", size = 463358 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/bd/1a875e0d592d447cbc02805fd3fe0f497714d6a2583f59d14fa9ebad96eb/huggingface_hub-0.36.0-py3-none-any.whl", hash = "sha256:7bcc9ad17d5b3f07b57c78e79d527102d08313caa278a641993acddcb894548d", size = 566094 }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008 }, +] + +[[package]] +name = "ijson" +version = "3.4.0.post0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2d/30/7ab4b9e88e7946f6beef419f74edcc541df3ea562c7882257b4eaa82417d/ijson-3.4.0.post0.tar.gz", hash = "sha256:9aa02dc70bb245670a6ca7fba737b992aeeb4895360980622f7e568dbf23e41e", size = 67216 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/15/4f4921ed9ab94032fd0b03ecb211ff9dbd5cc9953463f5b5c4ddeab406fc/ijson-3.4.0.post0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8f904a405b58a04b6ef0425f1babbc5c65feb66b0a4cc7f214d4ad7de106f77d", size = 88244 }, + { url = "https://files.pythonhosted.org/packages/af/d6/b85d4da1752362a789bc3e0fc4b55e812a374a50d2fe1c06cab2e2bcb170/ijson-3.4.0.post0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a07dcc1a8a1ddd76131a7c7528cbd12951c2e34eb3c3d63697b905069a2d65b1", size = 59880 }, + { url = "https://files.pythonhosted.org/packages/c3/96/e1027e6d0efb5b9192bdc9f0af5633c20a56999cce4cf7ad35427f823138/ijson-3.4.0.post0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab3be841b8c430c1883b8c0775eb551f21b5500c102c7ee828afa35ddd701bdd", size = 59939 }, + { url = "https://files.pythonhosted.org/packages/e3/71/b9ca0a19afb2f36be35c6afa2c4d1c19950dc45f6a50b483b56082b3e165/ijson-3.4.0.post0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:43059ae0d657b11c5ddb11d149bc400c44f9e514fb8663057e9b2ea4d8d44c1f", size = 125894 }, + { url = "https://files.pythonhosted.org/packages/02/1b/f7356de078d85564829c5e2a2a31473ee0ad1876258ceecf550b582e57b7/ijson-3.4.0.post0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0d3e82963096579d1385c06b2559570d7191e225664b7fa049617da838e1a4a4", size = 132385 }, + { url = "https://files.pythonhosted.org/packages/57/7b/08f86eed5df0849b673260dd2943b6a7367a55b5a4b6e73ddbfbdf4206f1/ijson-3.4.0.post0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:461ce4e87a21a261b60c0a68a2ad17c7dd214f0b90a0bec7e559a66b6ae3bd7e", size = 129567 }, + { url = "https://files.pythonhosted.org/packages/96/e1/69672d95b1a16e7c6bf89cef6c892b228cc84b484945a731786a425700d2/ijson-3.4.0.post0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:890cf6610c9554efcb9765a93e368efeb5bb6135f59ce0828d92eaefff07fde5", size = 132821 }, + { url = "https://files.pythonhosted.org/packages/0b/15/9ed4868e2e92db2454508f7ea1282bec0b039bd344ac0cbac4a2de16786d/ijson-3.4.0.post0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6793c29a5728e7751a7df01be58ba7da9b9690c12bf79d32094c70a908fa02b9", size = 127757 }, + { url = "https://files.pythonhosted.org/packages/5b/aa/08a308d3aaa6e98511f3100f8a1e4e8ff8c853fa4ec3f18b71094ac36bbe/ijson-3.4.0.post0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a56b6674d7feec0401c91f86c376f4e3d8ff8129128a8ad21ca43ec0b1242f79", size = 130439 }, + { url = "https://files.pythonhosted.org/packages/56/46/3da05a044f335b97635d59eede016ea158fbf1b59e584149177b6524e1e5/ijson-3.4.0.post0-cp310-cp310-win32.whl", hash = "sha256:01767fcbd75a5fa5a626069787b41f04681216b798510d5f63bcf66884386368", size = 52004 }, + { url = "https://files.pythonhosted.org/packages/60/d7/a126d58f379df16fa9a0c2532ac00ae3debf1d28c090020775bc735032b8/ijson-3.4.0.post0-cp310-cp310-win_amd64.whl", hash = "sha256:09127c06e5dec753feb9e4b8c5f6a23603d1cd672d098159a17e53a73b898eec", size = 54407 }, + { url = "https://files.pythonhosted.org/packages/a7/ac/3d57249d4acba66a33eaef794edb5b2a2222ca449ae08800f8abe9286645/ijson-3.4.0.post0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0b473112e72c0c506da425da3278367b6680f340ecc093084693a1e819d28435", size = 88278 }, + { url = "https://files.pythonhosted.org/packages/12/fb/2d068d23d1a665f500282ceb6f2473952a95fc7107d739fd629b4ab41959/ijson-3.4.0.post0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:043f9b7cf9cc744263a78175e769947733710d2412d25180df44b1086b23ebd5", size = 59898 }, + { url = "https://files.pythonhosted.org/packages/26/3d/8b14589dfb0e5dbb7bcf9063e53d3617c041cf315ff3dfa60945382237ce/ijson-3.4.0.post0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b55e49045f4c8031f3673f56662fd828dc9e8d65bd3b03a9420dda0d370e64ba", size = 59945 }, + { url = "https://files.pythonhosted.org/packages/77/57/086a75094397d4b7584698a540a279689e12905271af78cdfc903bf9eaf8/ijson-3.4.0.post0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:11f13b73194ea2a5a8b4a2863f25b0b4624311f10db3a75747b510c4958179b0", size = 131318 }, + { url = "https://files.pythonhosted.org/packages/df/35/7f61e9ce4a9ff1306ec581eb851f8a660439126d92ee595c6dc8084aac97/ijson-3.4.0.post0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:659acb2843433e080c271ecedf7d19c71adde1ee5274fc7faa2fec0a793f9f1c", size = 137990 }, + { url = "https://files.pythonhosted.org/packages/59/bf/590bbc3c3566adce5e2f43ba5894520cbaf19a3e7f38c1250926ba67eee4/ijson-3.4.0.post0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:deda4cfcaafa72ca3fa845350045b1d0fef9364ec9f413241bb46988afbe6ee6", size = 134416 }, + { url = "https://files.pythonhosted.org/packages/24/c1/fb719049851979df71f3e039d6f1a565d349c9cb1b29c0f8775d9db141b4/ijson-3.4.0.post0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47352563e8c594360bacee2e0753e97025f0861234722d02faace62b1b6d2b2a", size = 138034 }, + { url = "https://files.pythonhosted.org/packages/10/ce/ccda891f572876aaf2c43f0b2079e31d5b476c3ae53196187eab1a788eff/ijson-3.4.0.post0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5a48b9486242d1295abe7fd0fbb6308867da5ca3f69b55c77922a93c2b6847aa", size = 132510 }, + { url = "https://files.pythonhosted.org/packages/11/b5/ca8e64ab7cf5252f358e467be767630f085b5bbcd3c04333a3a5f36c3dd3/ijson-3.4.0.post0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9c0886234d1fae15cf4581a430bdba03d79251c1ab3b07e30aa31b13ef28d01c", size = 134907 }, + { url = "https://files.pythonhosted.org/packages/93/14/63a4d5dc548690f29f0c2fc9cabd5ecbb37532547439c05f5b3b9ce73021/ijson-3.4.0.post0-cp311-cp311-win32.whl", hash = "sha256:fecae19b5187d92900c73debb3a979b0b3290a53f85df1f8f3c5ba7d1e9fb9cb", size = 52006 }, + { url = "https://files.pythonhosted.org/packages/fa/bf/932740899e572a97f9be0c6cd64ebda557eae7701ac216fc284aba21786d/ijson-3.4.0.post0-cp311-cp311-win_amd64.whl", hash = "sha256:b39dbf87071f23a23c8077eea2ae7cfeeca9ff9ffec722dfc8b5f352e4dd729c", size = 54410 }, + { url = "https://files.pythonhosted.org/packages/7d/fe/3b6af0025288e769dbfa30485dae1b3bd3f33f00390f3ee532cbb1c33e9b/ijson-3.4.0.post0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b607a500fca26101be47d2baf7cddb457b819ab60a75ce51ed1092a40da8b2f9", size = 87847 }, + { url = "https://files.pythonhosted.org/packages/6e/a5/95ee2ca82f3b1a57892452f6e5087607d56c620beb8ce625475194568698/ijson-3.4.0.post0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4827d9874a6a81625412c59f7ca979a84d01f7f6bfb3c6d4dc4c46d0382b14e0", size = 59815 }, + { url = "https://files.pythonhosted.org/packages/51/8d/5a704ab3c17c55c21c86423458db8610626ca99cc9086a74dfeb7ee9054c/ijson-3.4.0.post0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d4d4afec780881edb2a0d2dd40b1cdbe246e630022d5192f266172a0307986a7", size = 59648 }, + { url = "https://files.pythonhosted.org/packages/25/56/ca5d6ca145d007f30b44e747f3c163bc08710ce004af0deaad4a2301339b/ijson-3.4.0.post0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432fb60ffb952926f9438e0539011e2dfcd108f8426ee826ccc6173308c3ff2c", size = 138279 }, + { url = "https://files.pythonhosted.org/packages/c3/d3/22e3cc806fcdda7ad4c8482ed74db7a017d4a1d49b4300c7bc07052fb561/ijson-3.4.0.post0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:54a0e3e05d9a0c95ecba73d9579f146cf6d5c5874116c849dba2d39a5f30380e", size = 149110 }, + { url = "https://files.pythonhosted.org/packages/3e/04/efb30f413648b9267f5a33920ac124d7ebef3bc4063af8f6ffc8ca11ddcb/ijson-3.4.0.post0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05807edc0bcbd222dc6ea32a2b897f0c81dc7f12c8580148bc82f6d7f5e7ec7b", size = 149026 }, + { url = "https://files.pythonhosted.org/packages/2d/cf/481165f7046ade32488719300a3994a437020bc41cfbb54334356348f513/ijson-3.4.0.post0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a5269af16f715855d9864937f9dd5c348ca1ac49cee6a2c7a1b7091c159e874f", size = 150012 }, + { url = "https://files.pythonhosted.org/packages/0f/24/642e3289917ecf860386e26dfde775f9962d26ab7f6c2e364ed3ca3c25d8/ijson-3.4.0.post0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b200df83c901f5bfa416d069ac71077aa1608f854a4c50df1b84ced560e9c9ec", size = 142193 }, + { url = "https://files.pythonhosted.org/packages/0f/f5/fd2f038abe95e553e1c3ee207cda19db9196eb416e63c7c89699a8cf0db7/ijson-3.4.0.post0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6458bd8e679cdff459a0a5e555b107c3bbacb1f382da3fe0f40e392871eb518d", size = 150904 }, + { url = "https://files.pythonhosted.org/packages/49/35/24259d22519987928164e6cb8fe3486e1df0899b2999ada4b0498639b463/ijson-3.4.0.post0-cp312-cp312-win32.whl", hash = "sha256:55f7f656b5986326c978cbb3a9eea9e33f3ef6ecc4535b38f1d452c731da39ab", size = 52358 }, + { url = "https://files.pythonhosted.org/packages/a1/2b/6f7ade27a8ff5758fc41006dadd2de01730def84fe3e60553b329c59e0d4/ijson-3.4.0.post0-cp312-cp312-win_amd64.whl", hash = "sha256:e15833dcf6f6d188fdc624a31cd0520c3ba21b6855dc304bc7c1a8aeca02d4ac", size = 54789 }, + { url = "https://files.pythonhosted.org/packages/1b/20/aaec6977f9d538bbadd760c7fa0f6a0937742abdcc920ec6478a8576e55f/ijson-3.4.0.post0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:114ed248166ac06377e87a245a158d6b98019d2bdd3bb93995718e0bd996154f", size = 87863 }, + { url = "https://files.pythonhosted.org/packages/5b/29/06bf56a866e2fe21453a1ad8f3a5d7bca3c723f73d96329656dfee969783/ijson-3.4.0.post0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ffb21203736b08fe27cb30df6a4f802fafb9ef7646c5ff7ef79569b63ea76c57", size = 59806 }, + { url = "https://files.pythonhosted.org/packages/ba/ae/e1d0fda91ba7a444b75f0d60cb845fdb1f55d3111351529dcbf4b1c276fe/ijson-3.4.0.post0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:07f20ecd748602ac7f18c617637e53bd73ded7f3b22260bba3abe401a7fc284e", size = 59643 }, + { url = "https://files.pythonhosted.org/packages/4d/24/5a24533be2726396cc1724dc237bada09b19715b5bfb0e7b9400db0901ad/ijson-3.4.0.post0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:27aa193d47ffc6bc4e45453896ad98fb089a367e8283b973f1fe5c0198b60b4e", size = 138082 }, + { url = "https://files.pythonhosted.org/packages/05/60/026c3efcec23c329657e878cbc0a9a25b42e7eb3971e8c2377cb3284e2b7/ijson-3.4.0.post0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ccddb2894eb7af162ba43b9475ac5825d15d568832f82eb8783036e5d2aebd42", size = 149145 }, + { url = "https://files.pythonhosted.org/packages/ed/c2/036499909b7a1bc0bcd85305e4348ad171aeb9df57581287533bdb3497e9/ijson-3.4.0.post0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:61ab0b8c5bf707201dc67e02c116f4b6545c4afd7feb2264b989d242d9c4348a", size = 149046 }, + { url = "https://files.pythonhosted.org/packages/ba/75/e7736073ad96867c129f9e799e3e65086badd89dbf3911f76d9b3bf8a115/ijson-3.4.0.post0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:254cfb8c124af68327a0e7a49b50bbdacafd87c4690a3d62c96eb01020a685ef", size = 150356 }, + { url = "https://files.pythonhosted.org/packages/9d/1b/1c1575d2cda136985561fcf774fe6c54412cd0fa08005342015af0403193/ijson-3.4.0.post0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:04ac9ca54db20f82aeda6379b5f4f6112fdb150d09ebce04affeab98a17b4ed3", size = 142322 }, + { url = "https://files.pythonhosted.org/packages/28/4d/aba9871feb624df8494435d1a9ddc7b6a4f782c6044bfc0d770a4b59f145/ijson-3.4.0.post0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a603d7474bf35e7b3a8e49c8dabfc4751841931301adff3f3318171c4e407f32", size = 151386 }, + { url = "https://files.pythonhosted.org/packages/3f/9a/791baa83895fb6e492bce2c7a0ea6427b6a41fe854349e62a37d0c9deaf0/ijson-3.4.0.post0-cp313-cp313-win32.whl", hash = "sha256:ec5bb1520cb212ebead7dba048bb9b70552c3440584f83b01b0abc96862e2a09", size = 52352 }, + { url = "https://files.pythonhosted.org/packages/a9/0c/061f51493e1da21116d74ee8f6a6b9ae06ca5fa2eb53c3b38b64f9a9a5ae/ijson-3.4.0.post0-cp313-cp313-win_amd64.whl", hash = "sha256:3505dff18bdeb8b171eb28af6df34857e2be80dc01e2e3b624e77215ad58897f", size = 54783 }, + { url = "https://files.pythonhosted.org/packages/c7/89/4344e176f2c5f5ef3251c9bfa4ddd5b4cf3f9601fd6ec3f677a3ba0b9c71/ijson-3.4.0.post0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:45a0b1c833ed2620eaf8da958f06ac8351c59e5e470e078400d23814670ed708", size = 92342 }, + { url = "https://files.pythonhosted.org/packages/d4/b1/85012c586a6645f9fb8bfa3ef62ed2f303c8d73fc7c2f705111582925980/ijson-3.4.0.post0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7809ec8c8f40228edaaa089f33e811dff4c5b8509702652870d3f286c9682e27", size = 62028 }, + { url = "https://files.pythonhosted.org/packages/65/ea/7b7e2815c101d78b33e74d64ddb70cccc377afccd5dda76e566ed3fcb56f/ijson-3.4.0.post0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cf4a34c2cfe852aee75c89c05b0a4531c49dc0be27eeed221afd6fbf9c3e149c", size = 61773 }, + { url = "https://files.pythonhosted.org/packages/59/7d/2175e599cb77a64f528629bad3ce95dfdf2aa6171d313c1fc00bbfaf0d22/ijson-3.4.0.post0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a39d5d36067604b26b78de70b8951c90e9272450642661fe531a8f7a6936a7fa", size = 198562 }, + { url = "https://files.pythonhosted.org/packages/13/97/82247c501c92405bb2fc44ab5efb497335bcb9cf0f5d3a0b04a800737bd8/ijson-3.4.0.post0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83fc738d81c9ea686b452996110b8a6678296c481e0546857db24785bff8da92", size = 216212 }, + { url = "https://files.pythonhosted.org/packages/95/ca/b956f507bb02e05ce109fd11ab6a2c054f8b686cc5affe41afe50630984d/ijson-3.4.0.post0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b2a81aee91633868f5b40280e2523f7c5392e920a5082f47c5e991e516b483f6", size = 206618 }, + { url = "https://files.pythonhosted.org/packages/3e/12/e827840ab81d86a9882e499097934df53294f05155f1acfcb9a211ac1142/ijson-3.4.0.post0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:56169e298c5a2e7196aaa55da78ddc2415876a74fe6304f81b1eb0d3273346f7", size = 210689 }, + { url = "https://files.pythonhosted.org/packages/1b/3b/59238d9422c31a4aefa22ebeb8e599e706158a0ab03669ef623be77a499a/ijson-3.4.0.post0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eeb9540f0b1a575cbb5968166706946458f98c16e7accc6f2fe71efa29864241", size = 199927 }, + { url = "https://files.pythonhosted.org/packages/b6/0f/ec01c36c128c37edb8a5ae8f3de3256009f886338d459210dfe121ee4ba9/ijson-3.4.0.post0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ba3478ff0bb49d7ba88783f491a99b6e3fa929c930ab062d2bb7837e6a38fe88", size = 204455 }, + { url = "https://files.pythonhosted.org/packages/c8/cf/5560e1db96c6d10a5313be76bf5a1754266cbfb5cc13ff64d107829e07b1/ijson-3.4.0.post0-cp313-cp313t-win32.whl", hash = "sha256:b005ce84e82f28b00bf777a464833465dfe3efa43a0a26c77b5ac40723e1a728", size = 54566 }, + { url = "https://files.pythonhosted.org/packages/22/5a/cbb69144c3b25dd56f5421ff7dc0cf3051355579062024772518e4f4b3c5/ijson-3.4.0.post0-cp313-cp313t-win_amd64.whl", hash = "sha256:fe9c84c9b1c8798afa407be1cea1603401d99bfc7c34497e19f4f5e5ddc9b441", size = 57298 }, + { url = "https://files.pythonhosted.org/packages/af/0b/a4ce8524fd850302bbf5d9f38d07c0fa981fdbe44951d2fcd036935b67dd/ijson-3.4.0.post0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da6a21b88cbf5ecbc53371283988d22c9643aa71ae2873bbeaefd2dea3b6160b", size = 88361 }, + { url = "https://files.pythonhosted.org/packages/be/90/a5e5f33e46f28174a9c8142d12dcb3d26ce358d9a2230b9b15f5c987b3a5/ijson-3.4.0.post0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:cf24a48a1c3ca9d44a04feb59ccefeb9aa52bb49b9cb70ad30518c25cce74bb7", size = 59960 }, + { url = "https://files.pythonhosted.org/packages/83/e2/551dd7037dda759aa0ce53f0d3d7be03b03c6b05c0b0a5d5ab7a47e6b4b1/ijson-3.4.0.post0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d14427d366f95f21adcb97d0ed1f6d30f6fdc04d0aa1e4de839152c50c2b8d65", size = 59957 }, + { url = "https://files.pythonhosted.org/packages/ac/b9/3006384f85cc26cf83dbbd542d362cc336f1e1ddd491e32147cfa46ea8ae/ijson-3.4.0.post0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:339d49f6c5d24051c85d9226be96d2d56e633cb8b7d09dd8099de8d8b51a97e2", size = 139967 }, + { url = "https://files.pythonhosted.org/packages/77/3b/b5234add8115cbfe8635b6c152fb527327f45e4c0f0bf2e93844b36b5217/ijson-3.4.0.post0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7206afcb396aaef66c2b066997b4e9d9042c4b7d777f4d994e9cec6d322c2fe6", size = 149196 }, + { url = "https://files.pythonhosted.org/packages/a2/d2/c4ae543e37d7a9fba09740c221976a63705dbad23a9cda9022fc9fa0f3de/ijson-3.4.0.post0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c8dd327da225887194fe8b93f2b3c9c256353e14a6b9eefc940ed17fde38f5b8", size = 148516 }, + { url = "https://files.pythonhosted.org/packages/0d/a1/914b5fb1c26af2474cd04841626e0e95576499a4ca940661fb105ee12dd2/ijson-3.4.0.post0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4810546e66128af51fd4a0c9a640e84e8508e9c15c4f247d8a3e3253b20e1465", size = 149770 }, + { url = "https://files.pythonhosted.org/packages/7a/c1/51c3584102d0d85d4aa10cc88dbbe431ecb9fe98160a9e2fad62a4456aed/ijson-3.4.0.post0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:103a0838061297d063bca81d724b0958b616f372bd893bbc278320152252c652", size = 143688 }, + { url = "https://files.pythonhosted.org/packages/47/3d/a54f13d766332620bded8ee76bcdd274509ecc53cf99573450f95b3ad910/ijson-3.4.0.post0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:40007c977e230e04118b27322f25a72ae342a3d61464b2057fcd9b21eeb7427a", size = 150688 }, + { url = "https://files.pythonhosted.org/packages/72/49/43d97cccf3266da7c044bd42e5083340ad1fd97fbb16d1bcd6791fd8918f/ijson-3.4.0.post0-cp314-cp314-win32.whl", hash = "sha256:f932969fc1fd4449ca141cf5f47ff357656a154a361f28d9ebca0badc5b02297", size = 52882 }, + { url = "https://files.pythonhosted.org/packages/e9/f0/008f1ed4e0fc6f6dc7a5a82ecf08a59bb212514e158954374d440d700e6c/ijson-3.4.0.post0-cp314-cp314-win_amd64.whl", hash = "sha256:3ed19b1e4349240773a8ce4a4bfa450892d4a57949c02c515cd6be5a46b7696a", size = 55568 }, + { url = "https://files.pythonhosted.org/packages/69/1c/8a199fded709e762aced89bb7086973c837e432dd714bbad78a6ac789c23/ijson-3.4.0.post0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:226447e40ca9340a39ed07d68ea02ee14b52cb4fe649425b256c1f0073531c83", size = 92345 }, + { url = "https://files.pythonhosted.org/packages/be/60/04e97f6a403203bd2eb8849570bdce5719d696b5fb96aa2a62566fe7a1d9/ijson-3.4.0.post0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2c88f0669d45d4b1aa017c9b68d378e7cd15d188dfb6f0209adc78b7f45590a7", size = 62029 }, + { url = "https://files.pythonhosted.org/packages/2a/97/e88295f9456ba939d90d4603af28fcabda3b443ef55e709e9381df3daa58/ijson-3.4.0.post0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:56b3089dc28c12492d92cc4896d2be585a89ecae34e25d08c1df88f21815cb50", size = 61776 }, + { url = "https://files.pythonhosted.org/packages/1b/9f/0e9c236e720c2de887ab0d7cad8a15d2aa55fb449f792437fc99899957a9/ijson-3.4.0.post0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c117321cfa7b749cc1213f9b4c80dc958f0a206df98ec038ae4bcbbdb8463a15", size = 199808 }, + { url = "https://files.pythonhosted.org/packages/0e/70/c21de30e7013e074924cd82057acfc5760e7b2cc41180f80770621b0ad36/ijson-3.4.0.post0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8311f48db6a33116db5c81682f08b6e2405501a4b4e460193ae69fec3cd1f87a", size = 217152 }, + { url = "https://files.pythonhosted.org/packages/64/78/63a0bcc0707037df4e22bb836451279d850592258c859685a402c27f5d6d/ijson-3.4.0.post0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:91c61a3e63e04da648737e6b4abd537df1b46fb8cdf3219b072e790bb3c1a46b", size = 207663 }, + { url = "https://files.pythonhosted.org/packages/7d/85/834e9838d69893cb7567e1210be044444213c78f7414aaf1cd241df16078/ijson-3.4.0.post0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1709171023ce82651b2f132575c2e6282e47f64ad67bd3260da476418d0e7895", size = 211157 }, + { url = "https://files.pythonhosted.org/packages/2e/9b/9fda503799ebc30397710552e5dedc1d98d9ea6a694e5717415892623a94/ijson-3.4.0.post0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:5f0a72b1e3c0f78551670c12b2fdc1bf05f2796254d9c2055ba319bec2216020", size = 200231 }, + { url = "https://files.pythonhosted.org/packages/15/f3/6419d1d5795a16591233d3aa3747b084e82c0c1d7184bdad9be638174560/ijson-3.4.0.post0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b982a3597b0439ce9c8f4cfc929d86c6ed43907908be1e8463a34dc35fe5b258", size = 204825 }, + { url = "https://files.pythonhosted.org/packages/1f/8d/a520e6902129c55fa94428ea0a22e8547540d5e7ca30f18b39594a5feea2/ijson-3.4.0.post0-cp314-cp314t-win32.whl", hash = "sha256:4e39bfdc36b0b460ef15a06550a6a385c64c81f7ac205ccff39bd45147918912", size = 55559 }, + { url = "https://files.pythonhosted.org/packages/20/67/0ac6dd0045957ba1270b7b1860864f7d8cea4062e70b1083134c587e5768/ijson-3.4.0.post0-cp314-cp314t-win_amd64.whl", hash = "sha256:17e45262a5ddef39894013fb1548ee7094e444c8389eb1a97f86708b19bea03e", size = 58238 }, + { url = "https://files.pythonhosted.org/packages/43/66/27cfcea16e85b95e33814eae2052dab187206b8820cdd90aa39d32ffb441/ijson-3.4.0.post0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:add9242f886eae844a7410b84aee2bbb8bdc83c624f227cb1fdb2d0476a96cb1", size = 57029 }, + { url = "https://files.pythonhosted.org/packages/b8/1b/df3f1561c6629241fb2f8bd7ea1da14e3c2dd16fe9d7cbc97120870ed09c/ijson-3.4.0.post0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:69718ed41710dfcaa7564b0af42abc05875d4f7aaa24627c808867ef32634bc7", size = 56523 }, + { url = "https://files.pythonhosted.org/packages/39/0a/6c6a3221ddecf62b696fde0e864415237e05b9a36ab6685a606b8fb3b5a2/ijson-3.4.0.post0-pp311-pypy311_pp73-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:636b6eca96c6c43c04629c6b37fad0181662eaacf9877c71c698485637f752f9", size = 70546 }, + { url = "https://files.pythonhosted.org/packages/42/cb/edf69755e86a3a9f8b418efd60239cb308af46c7c8e12f869423f51c9851/ijson-3.4.0.post0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb5e73028f6e63d27b3d286069fe350ed80a4ccc493b022b590fea4bb086710d", size = 70532 }, + { url = "https://files.pythonhosted.org/packages/96/7e/c8730ea39b8712622cd5a1bdff676098208400e37bb92052ba52f93e2aa1/ijson-3.4.0.post0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:461acf4320219459dabe5ed90a45cb86c9ba8cc6d6db9dad0d9427d42f57794c", size = 67927 }, + { url = "https://files.pythonhosted.org/packages/ec/f2/53b6e9bdd2a91202066764eaa74b572ba4dede0fe47a5a26f4de34b7541a/ijson-3.4.0.post0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a0fedf09c0f6ffa2a99e7e7fd9c5f3caf74e655c1ee015a0797383e99382ebc3", size = 54657 }, +] + +[[package]] +name = "inscriptis" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lxml" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5d/34/4124dc3dc52738ecf6e3fcb5a6671269e99e8bcbf1eadfb5b356c3b85174/inscriptis-2.7.0.tar.gz", hash = "sha256:52ee95e63611ba46481f0be5cf56988d4a1b9672e382c9b1cea2e0ff90bb29f3", size = 1066313 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/e3/08458a4bed3f04ee1ca16809b6c45907198c587b3b18dd3d37ac18cd180b/inscriptis-2.7.0-py3-none-any.whl", hash = "sha256:db368f67e7c0624df2fdff7bee1c3a74e795ff536fabce252e3ff29f9c28c23e", size = 45592 }, +] + +[[package]] +name = "ir-datasets" +version = "0.5.11" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "ijson" }, + { name = "inscriptis" }, + { name = "lxml" }, + { name = "lz4" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pyarrow" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "tqdm" }, + { name = "trec-car-tools" }, + { name = "unlzw3" }, + { name = "warc3-wet" }, + { name = "warc3-wet-clueweb09" }, + { name = "zlib-state" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/80/c6/f02811c51fec845ee87a10bb3675516a2d71935b203e5ddb80b7eb59b1da/ir_datasets-0.5.11.tar.gz", hash = "sha256:06c90af634ae5063c813286b35065debca1a974d26e136403d899f3ecd7ad463", size = 758463 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/38/73fa582d6997362d9b4901b2a8ba1177b2d2896aa59ab8d069a3884e2e0d/ir_datasets-0.5.11-py3-none-any.whl", hash = "sha256:ae78549e5a7fa45e50462b7acb9f0765fc344fec6054108bf3dd063050555206", size = 866095 }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899 }, +] + +[[package]] +name = "joblib" +version = "1.5.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/41/f2/d34e8b3a08a9cc79a50b2208a93dce981fe615b64d5a4d4abee421d898df/joblib-1.5.3.tar.gz", hash = "sha256:8561a3269e6801106863fd0d6d84bb737be9e7631e33aaed3fb9ce5953688da3", size = 331603 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/91/984aca2ec129e2757d1e4e3c81c3fcda9d0f85b74670a094cc443d9ee949/joblib-1.5.3-py3-none-any.whl", hash = "sha256:5fc3c5039fc5ca8c0276333a188bbd59d6b7ab37fe6632daa76bc7f9ec18e713", size = 309071 }, +] + +[[package]] +name = "lxml" +version = "5.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/76/3d/14e82fc7c8fb1b7761f7e748fd47e2ec8276d137b6acfe5a4bb73853e08f/lxml-5.4.0.tar.gz", hash = "sha256:d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd", size = 3679479 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/1f/a3b6b74a451ceb84b471caa75c934d2430a4d84395d38ef201d539f38cd1/lxml-5.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e7bc6df34d42322c5289e37e9971d6ed114e3776b45fa879f734bded9d1fea9c", size = 8076838 }, + { url = "https://files.pythonhosted.org/packages/36/af/a567a55b3e47135b4d1f05a1118c24529104c003f95851374b3748139dc1/lxml-5.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6854f8bd8a1536f8a1d9a3655e6354faa6406621cf857dc27b681b69860645c7", size = 4381827 }, + { url = "https://files.pythonhosted.org/packages/50/ba/4ee47d24c675932b3eb5b6de77d0f623c2db6dc466e7a1f199792c5e3e3a/lxml-5.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:696ea9e87442467819ac22394ca36cb3d01848dad1be6fac3fb612d3bd5a12cf", size = 5204098 }, + { url = "https://files.pythonhosted.org/packages/f2/0f/b4db6dfebfefe3abafe360f42a3d471881687fd449a0b86b70f1f2683438/lxml-5.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ef80aeac414f33c24b3815ecd560cee272786c3adfa5f31316d8b349bfade28", size = 4930261 }, + { url = "https://files.pythonhosted.org/packages/0b/1f/0bb1bae1ce056910f8db81c6aba80fec0e46c98d77c0f59298c70cd362a3/lxml-5.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b9c2754cef6963f3408ab381ea55f47dabc6f78f4b8ebb0f0b25cf1ac1f7609", size = 5529621 }, + { url = "https://files.pythonhosted.org/packages/21/f5/e7b66a533fc4a1e7fa63dd22a1ab2ec4d10319b909211181e1ab3e539295/lxml-5.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7a62cc23d754bb449d63ff35334acc9f5c02e6dae830d78dab4dd12b78a524f4", size = 4983231 }, + { url = "https://files.pythonhosted.org/packages/11/39/a38244b669c2d95a6a101a84d3c85ba921fea827e9e5483e93168bf1ccb2/lxml-5.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f82125bc7203c5ae8633a7d5d20bcfdff0ba33e436e4ab0abc026a53a8960b7", size = 5084279 }, + { url = "https://files.pythonhosted.org/packages/db/64/48cac242347a09a07740d6cee7b7fd4663d5c1abd65f2e3c60420e231b27/lxml-5.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:b67319b4aef1a6c56576ff544b67a2a6fbd7eaee485b241cabf53115e8908b8f", size = 4927405 }, + { url = "https://files.pythonhosted.org/packages/98/89/97442835fbb01d80b72374f9594fe44f01817d203fa056e9906128a5d896/lxml-5.4.0-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:a8ef956fce64c8551221f395ba21d0724fed6b9b6242ca4f2f7beb4ce2f41997", size = 5550169 }, + { url = "https://files.pythonhosted.org/packages/f1/97/164ca398ee654eb21f29c6b582685c6c6b9d62d5213abc9b8380278e9c0a/lxml-5.4.0-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:0a01ce7d8479dce84fc03324e3b0c9c90b1ece9a9bb6a1b6c9025e7e4520e78c", size = 5062691 }, + { url = "https://files.pythonhosted.org/packages/d0/bc/712b96823d7feb53482d2e4f59c090fb18ec7b0d0b476f353b3085893cda/lxml-5.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:91505d3ddebf268bb1588eb0f63821f738d20e1e7f05d3c647a5ca900288760b", size = 5133503 }, + { url = "https://files.pythonhosted.org/packages/d4/55/a62a39e8f9da2a8b6002603475e3c57c870cd9c95fd4b94d4d9ac9036055/lxml-5.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a3bcdde35d82ff385f4ede021df801b5c4a5bcdfb61ea87caabcebfc4945dc1b", size = 4999346 }, + { url = "https://files.pythonhosted.org/packages/ea/47/a393728ae001b92bb1a9e095e570bf71ec7f7fbae7688a4792222e56e5b9/lxml-5.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:aea7c06667b987787c7d1f5e1dfcd70419b711cdb47d6b4bb4ad4b76777a0563", size = 5627139 }, + { url = "https://files.pythonhosted.org/packages/5e/5f/9dcaaad037c3e642a7ea64b479aa082968de46dd67a8293c541742b6c9db/lxml-5.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:a7fb111eef4d05909b82152721a59c1b14d0f365e2be4c742a473c5d7372f4f5", size = 5465609 }, + { url = "https://files.pythonhosted.org/packages/a7/0a/ebcae89edf27e61c45023005171d0ba95cb414ee41c045ae4caf1b8487fd/lxml-5.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:43d549b876ce64aa18b2328faff70f5877f8c6dede415f80a2f799d31644d776", size = 5192285 }, + { url = "https://files.pythonhosted.org/packages/42/ad/cc8140ca99add7d85c92db8b2354638ed6d5cc0e917b21d36039cb15a238/lxml-5.4.0-cp310-cp310-win32.whl", hash = "sha256:75133890e40d229d6c5837b0312abbe5bac1c342452cf0e12523477cd3aa21e7", size = 3477507 }, + { url = "https://files.pythonhosted.org/packages/e9/39/597ce090da1097d2aabd2f9ef42187a6c9c8546d67c419ce61b88b336c85/lxml-5.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:de5b4e1088523e2b6f730d0509a9a813355b7f5659d70eb4f319c76beea2e250", size = 3805104 }, + { url = "https://files.pythonhosted.org/packages/81/2d/67693cc8a605a12e5975380d7ff83020dcc759351b5a066e1cced04f797b/lxml-5.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:98a3912194c079ef37e716ed228ae0dcb960992100461b704aea4e93af6b0bb9", size = 8083240 }, + { url = "https://files.pythonhosted.org/packages/73/53/b5a05ab300a808b72e848efd152fe9c022c0181b0a70b8bca1199f1bed26/lxml-5.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0ea0252b51d296a75f6118ed0d8696888e7403408ad42345d7dfd0d1e93309a7", size = 4387685 }, + { url = "https://files.pythonhosted.org/packages/d8/cb/1a3879c5f512bdcd32995c301886fe082b2edd83c87d41b6d42d89b4ea4d/lxml-5.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b92b69441d1bd39f4940f9eadfa417a25862242ca2c396b406f9272ef09cdcaa", size = 4991164 }, + { url = "https://files.pythonhosted.org/packages/f9/94/bbc66e42559f9d04857071e3b3d0c9abd88579367fd2588a4042f641f57e/lxml-5.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20e16c08254b9b6466526bc1828d9370ee6c0d60a4b64836bc3ac2917d1e16df", size = 4746206 }, + { url = "https://files.pythonhosted.org/packages/66/95/34b0679bee435da2d7cae895731700e519a8dfcab499c21662ebe671603e/lxml-5.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7605c1c32c3d6e8c990dd28a0970a3cbbf1429d5b92279e37fda05fb0c92190e", size = 5342144 }, + { url = "https://files.pythonhosted.org/packages/e0/5d/abfcc6ab2fa0be72b2ba938abdae1f7cad4c632f8d552683ea295d55adfb/lxml-5.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ecf4c4b83f1ab3d5a7ace10bafcb6f11df6156857a3c418244cef41ca9fa3e44", size = 4825124 }, + { url = "https://files.pythonhosted.org/packages/5a/78/6bd33186c8863b36e084f294fc0a5e5eefe77af95f0663ef33809cc1c8aa/lxml-5.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cef4feae82709eed352cd7e97ae062ef6ae9c7b5dbe3663f104cd2c0e8d94ba", size = 4876520 }, + { url = "https://files.pythonhosted.org/packages/3b/74/4d7ad4839bd0fc64e3d12da74fc9a193febb0fae0ba6ebd5149d4c23176a/lxml-5.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:df53330a3bff250f10472ce96a9af28628ff1f4efc51ccba351a8820bca2a8ba", size = 4765016 }, + { url = "https://files.pythonhosted.org/packages/24/0d/0a98ed1f2471911dadfc541003ac6dd6879fc87b15e1143743ca20f3e973/lxml-5.4.0-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:aefe1a7cb852fa61150fcb21a8c8fcea7b58c4cb11fbe59c97a0a4b31cae3c8c", size = 5362884 }, + { url = "https://files.pythonhosted.org/packages/48/de/d4f7e4c39740a6610f0f6959052b547478107967362e8424e1163ec37ae8/lxml-5.4.0-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:ef5a7178fcc73b7d8c07229e89f8eb45b2908a9238eb90dcfc46571ccf0383b8", size = 4902690 }, + { url = "https://files.pythonhosted.org/packages/07/8c/61763abd242af84f355ca4ef1ee096d3c1b7514819564cce70fd18c22e9a/lxml-5.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d2ed1b3cb9ff1c10e6e8b00941bb2e5bb568b307bfc6b17dffbbe8be5eecba86", size = 4944418 }, + { url = "https://files.pythonhosted.org/packages/f9/c5/6d7e3b63e7e282619193961a570c0a4c8a57fe820f07ca3fe2f6bd86608a/lxml-5.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:72ac9762a9f8ce74c9eed4a4e74306f2f18613a6b71fa065495a67ac227b3056", size = 4827092 }, + { url = "https://files.pythonhosted.org/packages/71/4a/e60a306df54680b103348545706a98a7514a42c8b4fbfdcaa608567bb065/lxml-5.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f5cb182f6396706dc6cc1896dd02b1c889d644c081b0cdec38747573db88a7d7", size = 5418231 }, + { url = "https://files.pythonhosted.org/packages/27/f2/9754aacd6016c930875854f08ac4b192a47fe19565f776a64004aa167521/lxml-5.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:3a3178b4873df8ef9457a4875703488eb1622632a9cee6d76464b60e90adbfcd", size = 5261798 }, + { url = "https://files.pythonhosted.org/packages/38/a2/0c49ec6941428b1bd4f280650d7b11a0f91ace9db7de32eb7aa23bcb39ff/lxml-5.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e094ec83694b59d263802ed03a8384594fcce477ce484b0cbcd0008a211ca751", size = 4988195 }, + { url = "https://files.pythonhosted.org/packages/7a/75/87a3963a08eafc46a86c1131c6e28a4de103ba30b5ae903114177352a3d7/lxml-5.4.0-cp311-cp311-win32.whl", hash = "sha256:4329422de653cdb2b72afa39b0aa04252fca9071550044904b2e7036d9d97fe4", size = 3474243 }, + { url = "https://files.pythonhosted.org/packages/fa/f9/1f0964c4f6c2be861c50db380c554fb8befbea98c6404744ce243a3c87ef/lxml-5.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:fd3be6481ef54b8cfd0e1e953323b7aa9d9789b94842d0e5b142ef4bb7999539", size = 3815197 }, + { url = "https://files.pythonhosted.org/packages/f8/4c/d101ace719ca6a4ec043eb516fcfcb1b396a9fccc4fcd9ef593df34ba0d5/lxml-5.4.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b5aff6f3e818e6bdbbb38e5967520f174b18f539c2b9de867b1e7fde6f8d95a4", size = 8127392 }, + { url = "https://files.pythonhosted.org/packages/11/84/beddae0cec4dd9ddf46abf156f0af451c13019a0fa25d7445b655ba5ccb7/lxml-5.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942a5d73f739ad7c452bf739a62a0f83e2578afd6b8e5406308731f4ce78b16d", size = 4415103 }, + { url = "https://files.pythonhosted.org/packages/d0/25/d0d93a4e763f0462cccd2b8a665bf1e4343dd788c76dcfefa289d46a38a9/lxml-5.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:460508a4b07364d6abf53acaa0a90b6d370fafde5693ef37602566613a9b0779", size = 5024224 }, + { url = "https://files.pythonhosted.org/packages/31/ce/1df18fb8f7946e7f3388af378b1f34fcf253b94b9feedb2cec5969da8012/lxml-5.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:529024ab3a505fed78fe3cc5ddc079464e709f6c892733e3f5842007cec8ac6e", size = 4769913 }, + { url = "https://files.pythonhosted.org/packages/4e/62/f4a6c60ae7c40d43657f552f3045df05118636be1165b906d3423790447f/lxml-5.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ca56ebc2c474e8f3d5761debfd9283b8b18c76c4fc0967b74aeafba1f5647f9", size = 5290441 }, + { url = "https://files.pythonhosted.org/packages/9e/aa/04f00009e1e3a77838c7fc948f161b5d2d5de1136b2b81c712a263829ea4/lxml-5.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a81e1196f0a5b4167a8dafe3a66aa67c4addac1b22dc47947abd5d5c7a3f24b5", size = 4820165 }, + { url = "https://files.pythonhosted.org/packages/c9/1f/e0b2f61fa2404bf0f1fdf1898377e5bd1b74cc9b2cf2c6ba8509b8f27990/lxml-5.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00b8686694423ddae324cf614e1b9659c2edb754de617703c3d29ff568448df5", size = 4932580 }, + { url = "https://files.pythonhosted.org/packages/24/a2/8263f351b4ffe0ed3e32ea7b7830f845c795349034f912f490180d88a877/lxml-5.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:c5681160758d3f6ac5b4fea370495c48aac0989d6a0f01bb9a72ad8ef5ab75c4", size = 4759493 }, + { url = "https://files.pythonhosted.org/packages/05/00/41db052f279995c0e35c79d0f0fc9f8122d5b5e9630139c592a0b58c71b4/lxml-5.4.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:2dc191e60425ad70e75a68c9fd90ab284df64d9cd410ba8d2b641c0c45bc006e", size = 5324679 }, + { url = "https://files.pythonhosted.org/packages/1d/be/ee99e6314cdef4587617d3b3b745f9356d9b7dd12a9663c5f3b5734b64ba/lxml-5.4.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:67f779374c6b9753ae0a0195a892a1c234ce8416e4448fe1e9f34746482070a7", size = 4890691 }, + { url = "https://files.pythonhosted.org/packages/ad/36/239820114bf1d71f38f12208b9c58dec033cbcf80101cde006b9bde5cffd/lxml-5.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:79d5bfa9c1b455336f52343130b2067164040604e41f6dc4d8313867ed540079", size = 4955075 }, + { url = "https://files.pythonhosted.org/packages/d4/e1/1b795cc0b174efc9e13dbd078a9ff79a58728a033142bc6d70a1ee8fc34d/lxml-5.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3d3c30ba1c9b48c68489dc1829a6eede9873f52edca1dda900066542528d6b20", size = 4838680 }, + { url = "https://files.pythonhosted.org/packages/72/48/3c198455ca108cec5ae3662ae8acd7fd99476812fd712bb17f1b39a0b589/lxml-5.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1af80c6316ae68aded77e91cd9d80648f7dd40406cef73df841aa3c36f6907c8", size = 5391253 }, + { url = "https://files.pythonhosted.org/packages/d6/10/5bf51858971c51ec96cfc13e800a9951f3fd501686f4c18d7d84fe2d6352/lxml-5.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4d885698f5019abe0de3d352caf9466d5de2baded00a06ef3f1216c1a58ae78f", size = 5261651 }, + { url = "https://files.pythonhosted.org/packages/2b/11/06710dd809205377da380546f91d2ac94bad9ff735a72b64ec029f706c85/lxml-5.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea53d51859b6c64e7c51d522c03cc2c48b9b5d6172126854cc7f01aa11f52bc", size = 5024315 }, + { url = "https://files.pythonhosted.org/packages/f5/b0/15b6217834b5e3a59ebf7f53125e08e318030e8cc0d7310355e6edac98ef/lxml-5.4.0-cp312-cp312-win32.whl", hash = "sha256:d90b729fd2732df28130c064aac9bb8aff14ba20baa4aee7bd0795ff1187545f", size = 3486149 }, + { url = "https://files.pythonhosted.org/packages/91/1e/05ddcb57ad2f3069101611bd5f5084157d90861a2ef460bf42f45cced944/lxml-5.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1dc4ca99e89c335a7ed47d38964abcb36c5910790f9bd106f2a8fa2ee0b909d2", size = 3817095 }, + { url = "https://files.pythonhosted.org/packages/87/cb/2ba1e9dd953415f58548506fa5549a7f373ae55e80c61c9041b7fd09a38a/lxml-5.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:773e27b62920199c6197130632c18fb7ead3257fce1ffb7d286912e56ddb79e0", size = 8110086 }, + { url = "https://files.pythonhosted.org/packages/b5/3e/6602a4dca3ae344e8609914d6ab22e52ce42e3e1638c10967568c5c1450d/lxml-5.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ce9c671845de9699904b1e9df95acfe8dfc183f2310f163cdaa91a3535af95de", size = 4404613 }, + { url = "https://files.pythonhosted.org/packages/4c/72/bf00988477d3bb452bef9436e45aeea82bb40cdfb4684b83c967c53909c7/lxml-5.4.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9454b8d8200ec99a224df8854786262b1bd6461f4280064c807303c642c05e76", size = 5012008 }, + { url = "https://files.pythonhosted.org/packages/92/1f/93e42d93e9e7a44b2d3354c462cd784dbaaf350f7976b5d7c3f85d68d1b1/lxml-5.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cccd007d5c95279e529c146d095f1d39ac05139de26c098166c4beb9374b0f4d", size = 4760915 }, + { url = "https://files.pythonhosted.org/packages/45/0b/363009390d0b461cf9976a499e83b68f792e4c32ecef092f3f9ef9c4ba54/lxml-5.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0fce1294a0497edb034cb416ad3e77ecc89b313cff7adbee5334e4dc0d11f422", size = 5283890 }, + { url = "https://files.pythonhosted.org/packages/19/dc/6056c332f9378ab476c88e301e6549a0454dbee8f0ae16847414f0eccb74/lxml-5.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:24974f774f3a78ac12b95e3a20ef0931795ff04dbb16db81a90c37f589819551", size = 4812644 }, + { url = "https://files.pythonhosted.org/packages/ee/8a/f8c66bbb23ecb9048a46a5ef9b495fd23f7543df642dabeebcb2eeb66592/lxml-5.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:497cab4d8254c2a90bf988f162ace2ddbfdd806fce3bda3f581b9d24c852e03c", size = 4921817 }, + { url = "https://files.pythonhosted.org/packages/04/57/2e537083c3f381f83d05d9b176f0d838a9e8961f7ed8ddce3f0217179ce3/lxml-5.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:e794f698ae4c5084414efea0f5cc9f4ac562ec02d66e1484ff822ef97c2cadff", size = 4753916 }, + { url = "https://files.pythonhosted.org/packages/d8/80/ea8c4072109a350848f1157ce83ccd9439601274035cd045ac31f47f3417/lxml-5.4.0-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:2c62891b1ea3094bb12097822b3d44b93fc6c325f2043c4d2736a8ff09e65f60", size = 5289274 }, + { url = "https://files.pythonhosted.org/packages/b3/47/c4be287c48cdc304483457878a3f22999098b9a95f455e3c4bda7ec7fc72/lxml-5.4.0-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:142accb3e4d1edae4b392bd165a9abdee8a3c432a2cca193df995bc3886249c8", size = 4874757 }, + { url = "https://files.pythonhosted.org/packages/2f/04/6ef935dc74e729932e39478e44d8cfe6a83550552eaa072b7c05f6f22488/lxml-5.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:1a42b3a19346e5601d1b8296ff6ef3d76038058f311902edd574461e9c036982", size = 4947028 }, + { url = "https://files.pythonhosted.org/packages/cb/f9/c33fc8daa373ef8a7daddb53175289024512b6619bc9de36d77dca3df44b/lxml-5.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4291d3c409a17febf817259cb37bc62cb7eb398bcc95c1356947e2871911ae61", size = 4834487 }, + { url = "https://files.pythonhosted.org/packages/8d/30/fc92bb595bcb878311e01b418b57d13900f84c2b94f6eca9e5073ea756e6/lxml-5.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4f5322cf38fe0e21c2d73901abf68e6329dc02a4994e483adbcf92b568a09a54", size = 5381688 }, + { url = "https://files.pythonhosted.org/packages/43/d1/3ba7bd978ce28bba8e3da2c2e9d5ae3f8f521ad3f0ca6ea4788d086ba00d/lxml-5.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0be91891bdb06ebe65122aa6bf3fc94489960cf7e03033c6f83a90863b23c58b", size = 5242043 }, + { url = "https://files.pythonhosted.org/packages/ee/cd/95fa2201041a610c4d08ddaf31d43b98ecc4b1d74b1e7245b1abdab443cb/lxml-5.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:15a665ad90054a3d4f397bc40f73948d48e36e4c09f9bcffc7d90c87410e478a", size = 5021569 }, + { url = "https://files.pythonhosted.org/packages/2d/a6/31da006fead660b9512d08d23d31e93ad3477dd47cc42e3285f143443176/lxml-5.4.0-cp313-cp313-win32.whl", hash = "sha256:d5663bc1b471c79f5c833cffbc9b87d7bf13f87e055a5c86c363ccd2348d7e82", size = 3485270 }, + { url = "https://files.pythonhosted.org/packages/fc/14/c115516c62a7d2499781d2d3d7215218c0731b2c940753bf9f9b7b73924d/lxml-5.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:bcb7a1096b4b6b24ce1ac24d4942ad98f983cd3810f9711bcd0293f43a9d8b9f", size = 3814606 }, + { url = "https://files.pythonhosted.org/packages/c6/b0/e4d1cbb8c078bc4ae44de9c6a79fec4e2b4151b1b4d50af71d799e76b177/lxml-5.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1b717b00a71b901b4667226bba282dd462c42ccf618ade12f9ba3674e1fabc55", size = 3892319 }, + { url = "https://files.pythonhosted.org/packages/5b/aa/e2bdefba40d815059bcb60b371a36fbfcce970a935370e1b367ba1cc8f74/lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27a9ded0f0b52098ff89dd4c418325b987feed2ea5cc86e8860b0f844285d740", size = 4211614 }, + { url = "https://files.pythonhosted.org/packages/3c/5f/91ff89d1e092e7cfdd8453a939436ac116db0a665e7f4be0cd8e65c7dc5a/lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b7ce10634113651d6f383aa712a194179dcd496bd8c41e191cec2099fa09de5", size = 4306273 }, + { url = "https://files.pythonhosted.org/packages/be/7c/8c3f15df2ca534589717bfd19d1e3482167801caedfa4d90a575facf68a6/lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53370c26500d22b45182f98847243efb518d268374a9570409d2e2276232fd37", size = 4208552 }, + { url = "https://files.pythonhosted.org/packages/7d/d8/9567afb1665f64d73fc54eb904e418d1138d7f011ed00647121b4dd60b38/lxml-5.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c6364038c519dffdbe07e3cf42e6a7f8b90c275d4d1617a69bb59734c1a2d571", size = 4331091 }, + { url = "https://files.pythonhosted.org/packages/f1/ab/fdbbd91d8d82bf1a723ba88ec3e3d76c022b53c391b0c13cad441cdb8f9e/lxml-5.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b12cb6527599808ada9eb2cd6e0e7d3d8f13fe7bbb01c6311255a15ded4c7ab4", size = 3487862 }, +] + +[[package]] +name = "lz4" +version = "4.4.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/51/f1b86d93029f418033dddf9b9f79c8d2641e7454080478ee2aab5123173e/lz4-4.4.5.tar.gz", hash = "sha256:5f0b9e53c1e82e88c10d7c180069363980136b9d7a8306c4dca4f760d60c39f0", size = 172886 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/45/2466d73d79e3940cad4b26761f356f19fd33f4409c96f100e01a5c566909/lz4-4.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d221fa421b389ab2345640a508db57da36947a437dfe31aeddb8d5c7b646c22d", size = 207396 }, + { url = "https://files.pythonhosted.org/packages/72/12/7da96077a7e8918a5a57a25f1254edaf76aefb457666fcc1066deeecd609/lz4-4.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7dc1e1e2dbd872f8fae529acd5e4839efd0b141eaa8ae7ce835a9fe80fbad89f", size = 207154 }, + { url = "https://files.pythonhosted.org/packages/b8/0e/0fb54f84fd1890d4af5bc0a3c1fa69678451c1a6bd40de26ec0561bb4ec5/lz4-4.4.5-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e928ec2d84dc8d13285b4a9288fd6246c5cde4f5f935b479f50d986911f085e3", size = 1291053 }, + { url = "https://files.pythonhosted.org/packages/15/45/8ce01cc2715a19c9e72b0e423262072c17d581a8da56e0bd4550f3d76a79/lz4-4.4.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:daffa4807ef54b927451208f5f85750c545a4abbff03d740835fc444cd97f758", size = 1278586 }, + { url = "https://files.pythonhosted.org/packages/6d/34/7be9b09015e18510a09b8d76c304d505a7cbc66b775ec0b8f61442316818/lz4-4.4.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a2b7504d2dffed3fd19d4085fe1cc30cf221263fd01030819bdd8d2bb101cf1", size = 1367315 }, + { url = "https://files.pythonhosted.org/packages/2a/94/52cc3ec0d41e8d68c985ec3b2d33631f281d8b748fb44955bc0384c2627b/lz4-4.4.5-cp310-cp310-win32.whl", hash = "sha256:0846e6e78f374156ccf21c631de80967e03cc3c01c373c665789dc0c5431e7fc", size = 88173 }, + { url = "https://files.pythonhosted.org/packages/ca/35/c3c0bdc409f551404355aeeabc8da343577d0e53592368062e371a3620e1/lz4-4.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:7c4e7c44b6a31de77d4dc9772b7d2561937c9588a734681f70ec547cfbc51ecd", size = 99492 }, + { url = "https://files.pythonhosted.org/packages/1d/02/4d88de2f1e97f9d05fd3d278fe412b08969bc94ff34942f5a3f09318144a/lz4-4.4.5-cp310-cp310-win_arm64.whl", hash = "sha256:15551280f5656d2206b9b43262799c89b25a25460416ec554075a8dc568e4397", size = 91280 }, + { url = "https://files.pythonhosted.org/packages/93/5b/6edcd23319d9e28b1bedf32768c3d1fd56eed8223960a2c47dacd2cec2af/lz4-4.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d6da84a26b3aa5da13a62e4b89ab36a396e9327de8cd48b436a3467077f8ccd4", size = 207391 }, + { url = "https://files.pythonhosted.org/packages/34/36/5f9b772e85b3d5769367a79973b8030afad0d6b724444083bad09becd66f/lz4-4.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:61d0ee03e6c616f4a8b69987d03d514e8896c8b1b7cc7598ad029e5c6aedfd43", size = 207146 }, + { url = "https://files.pythonhosted.org/packages/04/f4/f66da5647c0d72592081a37c8775feacc3d14d2625bbdaabd6307c274565/lz4-4.4.5-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:33dd86cea8375d8e5dd001e41f321d0a4b1eb7985f39be1b6a4f466cd480b8a7", size = 1292623 }, + { url = "https://files.pythonhosted.org/packages/85/fc/5df0f17467cdda0cad464a9197a447027879197761b55faad7ca29c29a04/lz4-4.4.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:609a69c68e7cfcfa9d894dc06be13f2e00761485b62df4e2472f1b66f7b405fb", size = 1279982 }, + { url = "https://files.pythonhosted.org/packages/25/3b/b55cb577aa148ed4e383e9700c36f70b651cd434e1c07568f0a86c9d5fbb/lz4-4.4.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:75419bb1a559af00250b8f1360d508444e80ed4b26d9d40ec5b09fe7875cb989", size = 1368674 }, + { url = "https://files.pythonhosted.org/packages/fb/31/e97e8c74c59ea479598e5c55cbe0b1334f03ee74ca97726e872944ed42df/lz4-4.4.5-cp311-cp311-win32.whl", hash = "sha256:12233624f1bc2cebc414f9efb3113a03e89acce3ab6f72035577bc61b270d24d", size = 88168 }, + { url = "https://files.pythonhosted.org/packages/18/47/715865a6c7071f417bef9b57c8644f29cb7a55b77742bd5d93a609274e7e/lz4-4.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:8a842ead8ca7c0ee2f396ca5d878c4c40439a527ebad2b996b0444f0074ed004", size = 99491 }, + { url = "https://files.pythonhosted.org/packages/14/e7/ac120c2ca8caec5c945e6356ada2aa5cfabd83a01e3170f264a5c42c8231/lz4-4.4.5-cp311-cp311-win_arm64.whl", hash = "sha256:83bc23ef65b6ae44f3287c38cbf82c269e2e96a26e560aa551735883388dcc4b", size = 91271 }, + { url = "https://files.pythonhosted.org/packages/1b/ac/016e4f6de37d806f7cc8f13add0a46c9a7cfc41a5ddc2bc831d7954cf1ce/lz4-4.4.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:df5aa4cead2044bab83e0ebae56e0944cc7fcc1505c7787e9e1057d6d549897e", size = 207163 }, + { url = "https://files.pythonhosted.org/packages/8d/df/0fadac6e5bd31b6f34a1a8dbd4db6a7606e70715387c27368586455b7fc9/lz4-4.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d0bf51e7745484d2092b3a51ae6eb58c3bd3ce0300cf2b2c14f76c536d5697a", size = 207150 }, + { url = "https://files.pythonhosted.org/packages/b7/17/34e36cc49bb16ca73fb57fbd4c5eaa61760c6b64bce91fcb4e0f4a97f852/lz4-4.4.5-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7b62f94b523c251cf32aa4ab555f14d39bd1a9df385b72443fd76d7c7fb051f5", size = 1292045 }, + { url = "https://files.pythonhosted.org/packages/90/1c/b1d8e3741e9fc89ed3b5f7ef5f22586c07ed6bb04e8343c2e98f0fa7ff04/lz4-4.4.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2c3ea562c3af274264444819ae9b14dbbf1ab070aff214a05e97db6896c7597e", size = 1279546 }, + { url = "https://files.pythonhosted.org/packages/55/d9/e3867222474f6c1b76e89f3bd914595af69f55bf2c1866e984c548afdc15/lz4-4.4.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:24092635f47538b392c4eaeff14c7270d2c8e806bf4be2a6446a378591c5e69e", size = 1368249 }, + { url = "https://files.pythonhosted.org/packages/b2/e7/d667d337367686311c38b580d1ca3d5a23a6617e129f26becd4f5dc458df/lz4-4.4.5-cp312-cp312-win32.whl", hash = "sha256:214e37cfe270948ea7eb777229e211c601a3e0875541c1035ab408fbceaddf50", size = 88189 }, + { url = "https://files.pythonhosted.org/packages/a5/0b/a54cd7406995ab097fceb907c7eb13a6ddd49e0b231e448f1a81a50af65c/lz4-4.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:713a777de88a73425cf08eb11f742cd2c98628e79a8673d6a52e3c5f0c116f33", size = 99497 }, + { url = "https://files.pythonhosted.org/packages/6a/7e/dc28a952e4bfa32ca16fa2eb026e7a6ce5d1411fcd5986cd08c74ec187b9/lz4-4.4.5-cp312-cp312-win_arm64.whl", hash = "sha256:a88cbb729cc333334ccfb52f070463c21560fca63afcf636a9f160a55fac3301", size = 91279 }, + { url = "https://files.pythonhosted.org/packages/2f/46/08fd8ef19b782f301d56a9ccfd7dafec5fd4fc1a9f017cf22a1accb585d7/lz4-4.4.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6bb05416444fafea170b07181bc70640975ecc2a8c92b3b658c554119519716c", size = 207171 }, + { url = "https://files.pythonhosted.org/packages/8f/3f/ea3334e59de30871d773963997ecdba96c4584c5f8007fd83cfc8f1ee935/lz4-4.4.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b424df1076e40d4e884cfcc4c77d815368b7fb9ebcd7e634f937725cd9a8a72a", size = 207163 }, + { url = "https://files.pythonhosted.org/packages/41/7b/7b3a2a0feb998969f4793c650bb16eff5b06e80d1f7bff867feb332f2af2/lz4-4.4.5-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:216ca0c6c90719731c64f41cfbd6f27a736d7e50a10b70fad2a9c9b262ec923d", size = 1292136 }, + { url = "https://files.pythonhosted.org/packages/89/d1/f1d259352227bb1c185288dd694121ea303e43404aa77560b879c90e7073/lz4-4.4.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:533298d208b58b651662dd972f52d807d48915176e5b032fb4f8c3b6f5fe535c", size = 1279639 }, + { url = "https://files.pythonhosted.org/packages/d2/fb/ba9256c48266a09012ed1d9b0253b9aa4fe9cdff094f8febf5b26a4aa2a2/lz4-4.4.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:451039b609b9a88a934800b5fc6ee401c89ad9c175abf2f4d9f8b2e4ef1afc64", size = 1368257 }, + { url = "https://files.pythonhosted.org/packages/a5/6d/dee32a9430c8b0e01bbb4537573cabd00555827f1a0a42d4e24ca803935c/lz4-4.4.5-cp313-cp313-win32.whl", hash = "sha256:a5f197ffa6fc0e93207b0af71b302e0a2f6f29982e5de0fbda61606dd3a55832", size = 88191 }, + { url = "https://files.pythonhosted.org/packages/18/e0/f06028aea741bbecb2a7e9648f4643235279a770c7ffaf70bd4860c73661/lz4-4.4.5-cp313-cp313-win_amd64.whl", hash = "sha256:da68497f78953017deb20edff0dba95641cc86e7423dfadf7c0264e1ac60dc22", size = 99502 }, + { url = "https://files.pythonhosted.org/packages/61/72/5bef44afb303e56078676b9f2486f13173a3c1e7f17eaac1793538174817/lz4-4.4.5-cp313-cp313-win_arm64.whl", hash = "sha256:c1cfa663468a189dab510ab231aad030970593f997746d7a324d40104db0d0a9", size = 91285 }, + { url = "https://files.pythonhosted.org/packages/49/55/6a5c2952971af73f15ed4ebfdd69774b454bd0dc905b289082ca8664fba1/lz4-4.4.5-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:67531da3b62f49c939e09d56492baf397175ff39926d0bd5bd2d191ac2bff95f", size = 207348 }, + { url = "https://files.pythonhosted.org/packages/4e/d7/fd62cbdbdccc35341e83aabdb3f6d5c19be2687d0a4eaf6457ddf53bba64/lz4-4.4.5-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a1acbbba9edbcbb982bc2cac5e7108f0f553aebac1040fbec67a011a45afa1ba", size = 207340 }, + { url = "https://files.pythonhosted.org/packages/77/69/225ffadaacb4b0e0eb5fd263541edd938f16cd21fe1eae3cd6d5b6a259dc/lz4-4.4.5-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a482eecc0b7829c89b498fda883dbd50e98153a116de612ee7c111c8bcf82d1d", size = 1293398 }, + { url = "https://files.pythonhosted.org/packages/c6/9e/2ce59ba4a21ea5dc43460cba6f34584e187328019abc0e66698f2b66c881/lz4-4.4.5-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e099ddfaa88f59dd8d36c8a3c66bd982b4984edf127eb18e30bb49bdba68ce67", size = 1281209 }, + { url = "https://files.pythonhosted.org/packages/80/4f/4d946bd1624ec229b386a3bc8e7a85fa9a963d67d0a62043f0af0978d3da/lz4-4.4.5-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a2af2897333b421360fdcce895c6f6281dc3fab018d19d341cf64d043fc8d90d", size = 1369406 }, + { url = "https://files.pythonhosted.org/packages/02/a2/d429ba4720a9064722698b4b754fb93e42e625f1318b8fe834086c7c783b/lz4-4.4.5-cp313-cp313t-win32.whl", hash = "sha256:66c5de72bf4988e1b284ebdd6524c4bead2c507a2d7f172201572bac6f593901", size = 88325 }, + { url = "https://files.pythonhosted.org/packages/4b/85/7ba10c9b97c06af6c8f7032ec942ff127558863df52d866019ce9d2425cf/lz4-4.4.5-cp313-cp313t-win_amd64.whl", hash = "sha256:cdd4bdcbaf35056086d910d219106f6a04e1ab0daa40ec0eeef1626c27d0fddb", size = 99643 }, + { url = "https://files.pythonhosted.org/packages/77/4d/a175459fb29f909e13e57c8f475181ad8085d8d7869bd8ad99033e3ee5fa/lz4-4.4.5-cp313-cp313t-win_arm64.whl", hash = "sha256:28ccaeb7c5222454cd5f60fcd152564205bcb801bd80e125949d2dfbadc76bbd", size = 91504 }, + { url = "https://files.pythonhosted.org/packages/63/9c/70bdbdb9f54053a308b200b4678afd13efd0eafb6ddcbb7f00077213c2e5/lz4-4.4.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c216b6d5275fc060c6280936bb3bb0e0be6126afb08abccde27eed23dead135f", size = 207586 }, + { url = "https://files.pythonhosted.org/packages/b6/cb/bfead8f437741ce51e14b3c7d404e3a1f6b409c440bad9b8f3945d4c40a7/lz4-4.4.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c8e71b14938082ebaf78144f3b3917ac715f72d14c076f384a4c062df96f9df6", size = 207161 }, + { url = "https://files.pythonhosted.org/packages/e7/18/b192b2ce465dfbeabc4fc957ece7a1d34aded0d95a588862f1c8a86ac448/lz4-4.4.5-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:9b5e6abca8df9f9bdc5c3085f33ff32cdc86ed04c65e0355506d46a5ac19b6e9", size = 1292415 }, + { url = "https://files.pythonhosted.org/packages/67/79/a4e91872ab60f5e89bfad3e996ea7dc74a30f27253faf95865771225ccba/lz4-4.4.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3b84a42da86e8ad8537aabef062e7f661f4a877d1c74d65606c49d835d36d668", size = 1279920 }, + { url = "https://files.pythonhosted.org/packages/f1/01/d52c7b11eaa286d49dae619c0eec4aabc0bf3cda7a7467eb77c62c4471f3/lz4-4.4.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bba042ec5a61fa77c7e380351a61cb768277801240249841defd2ff0a10742f", size = 1368661 }, + { url = "https://files.pythonhosted.org/packages/f7/da/137ddeea14c2cb86864838277b2607d09f8253f152156a07f84e11768a28/lz4-4.4.5-cp314-cp314-win32.whl", hash = "sha256:bd85d118316b53ed73956435bee1997bd06cc66dd2fa74073e3b1322bd520a67", size = 90139 }, + { url = "https://files.pythonhosted.org/packages/18/2c/8332080fd293f8337779a440b3a143f85e374311705d243439a3349b81ad/lz4-4.4.5-cp314-cp314-win_amd64.whl", hash = "sha256:92159782a4502858a21e0079d77cdcaade23e8a5d252ddf46b0652604300d7be", size = 101497 }, + { url = "https://files.pythonhosted.org/packages/ca/28/2635a8141c9a4f4bc23f5135a92bbcf48d928d8ca094088c962df1879d64/lz4-4.4.5-cp314-cp314-win_arm64.whl", hash = "sha256:d994b87abaa7a88ceb7a37c90f547b8284ff9da694e6afcfaa8568d739faf3f7", size = 93812 }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", size = 11631 }, + { url = "https://files.pythonhosted.org/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", size = 12057 }, + { url = "https://files.pythonhosted.org/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", size = 22050 }, + { url = "https://files.pythonhosted.org/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", size = 20681 }, + { url = "https://files.pythonhosted.org/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", size = 20705 }, + { url = "https://files.pythonhosted.org/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", size = 21524 }, + { url = "https://files.pythonhosted.org/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", size = 20282 }, + { url = "https://files.pythonhosted.org/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", size = 20745 }, + { url = "https://files.pythonhosted.org/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", size = 14571 }, + { url = "https://files.pythonhosted.org/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", size = 15056 }, + { url = "https://files.pythonhosted.org/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", size = 13932 }, + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631 }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058 }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287 }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940 }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887 }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692 }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471 }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923 }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572 }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077 }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876 }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615 }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020 }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332 }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947 }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962 }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760 }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529 }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015 }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540 }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105 }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906 }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622 }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029 }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374 }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980 }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990 }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784 }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588 }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041 }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543 }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113 }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911 }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658 }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066 }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639 }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569 }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284 }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801 }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769 }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642 }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612 }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200 }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973 }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619 }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029 }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408 }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005 }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048 }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821 }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606 }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043 }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747 }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341 }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073 }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661 }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069 }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670 }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598 }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261 }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835 }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733 }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672 }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819 }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426 }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146 }, +] + +[[package]] +name = "ml-dtypes" +version = "0.5.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/4a/c27b42ed9b1c7d13d9ba8b6905dece787d6259152f2309338aed29b2447b/ml_dtypes-0.5.4.tar.gz", hash = "sha256:8ab06a50fb9bf9666dd0fe5dfb4676fa2b0ac0f31ecff72a6c3af8e22c063453", size = 692314 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/3a/c5b855752a70267ff729c349e650263adb3c206c29d28cc8ea7ace30a1d5/ml_dtypes-0.5.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b95e97e470fe60ed493fd9ae3911d8da4ebac16bd21f87ffa2b7c588bf22ea2c", size = 679735 }, + { url = "https://files.pythonhosted.org/packages/41/79/7433f30ee04bd4faa303844048f55e1eb939131c8e5195a00a96a0939b64/ml_dtypes-0.5.4-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4b801ebe0b477be666696bda493a9be8356f1f0057a57f1e35cd26928823e5a", size = 5051883 }, + { url = "https://files.pythonhosted.org/packages/10/b1/8938e8830b0ee2e167fc75a094dea766a1152bde46752cd9bfc57ee78a82/ml_dtypes-0.5.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:388d399a2152dd79a3f0456a952284a99ee5c93d3e2f8dfe25977511e0515270", size = 5030369 }, + { url = "https://files.pythonhosted.org/packages/c7/a3/51886727bd16e2f47587997b802dd56398692ce8c6c03c2e5bb32ecafe26/ml_dtypes-0.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:4ff7f3e7ca2972e7de850e7b8fcbb355304271e2933dd90814c1cb847414d6e2", size = 210738 }, + { url = "https://files.pythonhosted.org/packages/c6/5e/712092cfe7e5eb667b8ad9ca7c54442f21ed7ca8979745f1000e24cf8737/ml_dtypes-0.5.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6c7ecb74c4bd71db68a6bea1edf8da8c34f3d9fe218f038814fd1d310ac76c90", size = 679734 }, + { url = "https://files.pythonhosted.org/packages/4f/cf/912146dfd4b5c0eea956836c01dcd2fce6c9c844b2691f5152aca196ce4f/ml_dtypes-0.5.4-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bc11d7e8c44a65115d05e2ab9989d1e045125d7be8e05a071a48bc76eb6d6040", size = 5056165 }, + { url = "https://files.pythonhosted.org/packages/a9/80/19189ea605017473660e43762dc853d2797984b3c7bf30ce656099add30c/ml_dtypes-0.5.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:19b9a53598f21e453ea2fbda8aa783c20faff8e1eeb0d7ab899309a0053f1483", size = 5034975 }, + { url = "https://files.pythonhosted.org/packages/b4/24/70bd59276883fdd91600ca20040b41efd4902a923283c4d6edcb1de128d2/ml_dtypes-0.5.4-cp311-cp311-win_amd64.whl", hash = "sha256:7c23c54a00ae43edf48d44066a7ec31e05fdc2eee0be2b8b50dd1903a1db94bb", size = 210742 }, + { url = "https://files.pythonhosted.org/packages/a0/c9/64230ef14e40aa3f1cb254ef623bf812735e6bec7772848d19131111ac0d/ml_dtypes-0.5.4-cp311-cp311-win_arm64.whl", hash = "sha256:557a31a390b7e9439056644cb80ed0735a6e3e3bb09d67fd5687e4b04238d1de", size = 160709 }, + { url = "https://files.pythonhosted.org/packages/a8/b8/3c70881695e056f8a32f8b941126cf78775d9a4d7feba8abcb52cb7b04f2/ml_dtypes-0.5.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a174837a64f5b16cab6f368171a1a03a27936b31699d167684073ff1c4237dac", size = 676927 }, + { url = "https://files.pythonhosted.org/packages/54/0f/428ef6881782e5ebb7eca459689448c0394fa0a80bea3aa9262cba5445ea/ml_dtypes-0.5.4-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a7f7c643e8b1320fd958bf098aa7ecf70623a42ec5154e3be3be673f4c34d900", size = 5028464 }, + { url = "https://files.pythonhosted.org/packages/3a/cb/28ce52eb94390dda42599c98ea0204d74799e4d8047a0eb559b6fd648056/ml_dtypes-0.5.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ad459e99793fa6e13bd5b7e6792c8f9190b4e5a1b45c63aba14a4d0a7f1d5ff", size = 5009002 }, + { url = "https://files.pythonhosted.org/packages/f5/f0/0cfadd537c5470378b1b32bd859cf2824972174b51b873c9d95cfd7475a5/ml_dtypes-0.5.4-cp312-cp312-win_amd64.whl", hash = "sha256:c1a953995cccb9e25a4ae19e34316671e4e2edaebe4cf538229b1fc7109087b7", size = 212222 }, + { url = "https://files.pythonhosted.org/packages/16/2e/9acc86985bfad8f2c2d30291b27cd2bb4c74cea08695bd540906ed744249/ml_dtypes-0.5.4-cp312-cp312-win_arm64.whl", hash = "sha256:9bad06436568442575beb2d03389aa7456c690a5b05892c471215bfd8cf39460", size = 160793 }, + { url = "https://files.pythonhosted.org/packages/d9/a1/4008f14bbc616cfb1ac5b39ea485f9c63031c4634ab3f4cf72e7541f816a/ml_dtypes-0.5.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8c760d85a2f82e2bed75867079188c9d18dae2ee77c25a54d60e9cc79be1bc48", size = 676888 }, + { url = "https://files.pythonhosted.org/packages/d3/b7/dff378afc2b0d5a7d6cd9d3209b60474d9819d1189d347521e1688a60a53/ml_dtypes-0.5.4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce756d3a10d0c4067172804c9cc276ba9cc0ff47af9078ad439b075d1abdc29b", size = 5036993 }, + { url = "https://files.pythonhosted.org/packages/eb/33/40cd74219417e78b97c47802037cf2d87b91973e18bb968a7da48a96ea44/ml_dtypes-0.5.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:533ce891ba774eabf607172254f2e7260ba5f57bdd64030c9a4fcfbd99815d0d", size = 5010956 }, + { url = "https://files.pythonhosted.org/packages/e1/8b/200088c6859d8221454825959df35b5244fa9bdf263fd0249ac5fb75e281/ml_dtypes-0.5.4-cp313-cp313-win_amd64.whl", hash = "sha256:f21c9219ef48ca5ee78402d5cc831bd58ea27ce89beda894428bc67a52da5328", size = 212224 }, + { url = "https://files.pythonhosted.org/packages/8f/75/dfc3775cb36367816e678f69a7843f6f03bd4e2bcd79941e01ea960a068e/ml_dtypes-0.5.4-cp313-cp313-win_arm64.whl", hash = "sha256:35f29491a3e478407f7047b8a4834e4640a77d2737e0b294d049746507af5175", size = 160798 }, + { url = "https://files.pythonhosted.org/packages/4f/74/e9ddb35fd1dd43b1106c20ced3f53c2e8e7fc7598c15638e9f80677f81d4/ml_dtypes-0.5.4-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:304ad47faa395415b9ccbcc06a0350800bc50eda70f0e45326796e27c62f18b6", size = 702083 }, + { url = "https://files.pythonhosted.org/packages/74/f5/667060b0aed1aa63166b22897fdf16dca9eb704e6b4bbf86848d5a181aa7/ml_dtypes-0.5.4-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6a0df4223b514d799b8a1629c65ddc351b3efa833ccf7f8ea0cf654a61d1e35d", size = 5354111 }, + { url = "https://files.pythonhosted.org/packages/40/49/0f8c498a28c0efa5f5c95a9e374c83ec1385ca41d0e85e7cf40e5d519a21/ml_dtypes-0.5.4-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:531eff30e4d368cb6255bc2328d070e35836aa4f282a0fb5f3a0cd7260257298", size = 5366453 }, + { url = "https://files.pythonhosted.org/packages/8c/27/12607423d0a9c6bbbcc780ad19f1f6baa2b68b18ce4bddcdc122c4c68dc9/ml_dtypes-0.5.4-cp313-cp313t-win_amd64.whl", hash = "sha256:cb73dccfc991691c444acc8c0012bee8f2470da826a92e3a20bb333b1a7894e6", size = 225612 }, + { url = "https://files.pythonhosted.org/packages/e5/80/5a5929e92c72936d5b19872c5fb8fc09327c1da67b3b68c6a13139e77e20/ml_dtypes-0.5.4-cp313-cp313t-win_arm64.whl", hash = "sha256:3bbbe120b915090d9dd1375e4684dd17a20a2491ef25d640a908281da85e73f1", size = 164145 }, + { url = "https://files.pythonhosted.org/packages/72/4e/1339dc6e2557a344f5ba5590872e80346f76f6cb2ac3dd16e4666e88818c/ml_dtypes-0.5.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:2b857d3af6ac0d39db1de7c706e69c7f9791627209c3d6dedbfca8c7e5faec22", size = 673781 }, + { url = "https://files.pythonhosted.org/packages/04/f9/067b84365c7e83bda15bba2b06c6ca250ce27b20630b1128c435fb7a09aa/ml_dtypes-0.5.4-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:805cef3a38f4eafae3a5bf9ebdcdb741d0bcfd9e1bd90eb54abd24f928cd2465", size = 5036145 }, + { url = "https://files.pythonhosted.org/packages/c6/bb/82c7dcf38070b46172a517e2334e665c5bf374a262f99a283ea454bece7c/ml_dtypes-0.5.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14a4fd3228af936461db66faccef6e4f41c1d82fcc30e9f8d58a08916b1d811f", size = 5010230 }, + { url = "https://files.pythonhosted.org/packages/e9/93/2bfed22d2498c468f6bcd0d9f56b033eaa19f33320389314c19ef6766413/ml_dtypes-0.5.4-cp314-cp314-win_amd64.whl", hash = "sha256:8c6a2dcebd6f3903e05d51960a8058d6e131fe69f952a5397e5dbabc841b6d56", size = 221032 }, + { url = "https://files.pythonhosted.org/packages/76/a3/9c912fe6ea747bb10fe2f8f54d027eb265db05dfb0c6335e3e063e74e6e8/ml_dtypes-0.5.4-cp314-cp314-win_arm64.whl", hash = "sha256:5a0f68ca8fd8d16583dfa7793973feb86f2fbb56ce3966daf9c9f748f52a2049", size = 163353 }, + { url = "https://files.pythonhosted.org/packages/cd/02/48aa7d84cc30ab4ee37624a2fd98c56c02326785750cd212bc0826c2f15b/ml_dtypes-0.5.4-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:bfc534409c5d4b0bf945af29e5d0ab075eae9eecbb549ff8a29280db822f34f9", size = 702085 }, + { url = "https://files.pythonhosted.org/packages/5a/e7/85cb99fe80a7a5513253ec7faa88a65306be071163485e9a626fce1b6e84/ml_dtypes-0.5.4-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2314892cdc3fcf05e373d76d72aaa15fda9fb98625effa73c1d646f331fcecb7", size = 5355358 }, + { url = "https://files.pythonhosted.org/packages/79/2b/a826ba18d2179a56e144aef69e57fb2ab7c464ef0b2111940ee8a3a223a2/ml_dtypes-0.5.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0d2ffd05a2575b1519dc928c0b93c06339eb67173ff53acb00724502cda231cf", size = 5366332 }, + { url = "https://files.pythonhosted.org/packages/84/44/f4d18446eacb20ea11e82f133ea8f86e2bf2891785b67d9da8d0ab0ef525/ml_dtypes-0.5.4-cp314-cp314t-win_amd64.whl", hash = "sha256:4381fe2f2452a2d7589689693d3162e876b3ddb0a832cde7a414f8e1adf7eab1", size = 236612 }, + { url = "https://files.pythonhosted.org/packages/ad/3f/3d42e9a78fe5edf792a83c074b13b9b770092a4fbf3462872f4303135f09/ml_dtypes-0.5.4-cp314-cp314t-win_arm64.whl", hash = "sha256:11942cbf2cf92157db91e5022633c0d9474d4dfd813a909383bd23ce828a4b7d", size = 168825 }, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 }, +] + +[[package]] +name = "multidict" +version = "6.7.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/0b/19348d4c98980c4851d2f943f8ebafdece2ae7ef737adcfa5994ce8e5f10/multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5", size = 77176 }, + { url = "https://files.pythonhosted.org/packages/ef/04/9de3f8077852e3d438215c81e9b691244532d2e05b4270e89ce67b7d103c/multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8", size = 44996 }, + { url = "https://files.pythonhosted.org/packages/31/5c/08c7f7fe311f32e83f7621cd3f99d805f45519cd06fafb247628b861da7d/multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872", size = 44631 }, + { url = "https://files.pythonhosted.org/packages/b7/7f/0e3b1390ae772f27501199996b94b52ceeb64fe6f9120a32c6c3f6b781be/multidict-6.7.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991", size = 242561 }, + { url = "https://files.pythonhosted.org/packages/dd/f4/8719f4f167586af317b69dd3e90f913416c91ca610cac79a45c53f590312/multidict-6.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03", size = 242223 }, + { url = "https://files.pythonhosted.org/packages/47/ab/7c36164cce64a6ad19c6d9a85377b7178ecf3b89f8fd589c73381a5eedfd/multidict-6.7.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981", size = 222322 }, + { url = "https://files.pythonhosted.org/packages/f5/79/a25add6fb38035b5337bc5734f296d9afc99163403bbcf56d4170f97eb62/multidict-6.7.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6", size = 254005 }, + { url = "https://files.pythonhosted.org/packages/4a/7b/64a87cf98e12f756fc8bd444b001232ffff2be37288f018ad0d3f0aae931/multidict-6.7.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190", size = 251173 }, + { url = "https://files.pythonhosted.org/packages/4b/ac/b605473de2bb404e742f2cc3583d12aedb2352a70e49ae8fce455b50c5aa/multidict-6.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92", size = 243273 }, + { url = "https://files.pythonhosted.org/packages/03/65/11492d6a0e259783720f3bc1d9ea55579a76f1407e31ed44045c99542004/multidict-6.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee", size = 238956 }, + { url = "https://files.pythonhosted.org/packages/5f/a7/7ee591302af64e7c196fb63fe856c788993c1372df765102bd0448e7e165/multidict-6.7.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2", size = 233477 }, + { url = "https://files.pythonhosted.org/packages/9c/99/c109962d58756c35fd9992fed7f2355303846ea2ff054bb5f5e9d6b888de/multidict-6.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568", size = 243615 }, + { url = "https://files.pythonhosted.org/packages/d5/5f/1973e7c771c86e93dcfe1c9cc55a5481b610f6614acfc28c0d326fe6bfad/multidict-6.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40", size = 249930 }, + { url = "https://files.pythonhosted.org/packages/5d/a5/f170fc2268c3243853580203378cd522446b2df632061e0a5409817854c7/multidict-6.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962", size = 243807 }, + { url = "https://files.pythonhosted.org/packages/de/01/73856fab6d125e5bc652c3986b90e8699a95e84b48d72f39ade6c0e74a8c/multidict-6.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505", size = 239103 }, + { url = "https://files.pythonhosted.org/packages/e7/46/f1220bd9944d8aa40d8ccff100eeeee19b505b857b6f603d6078cb5315b0/multidict-6.7.1-cp310-cp310-win32.whl", hash = "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122", size = 41416 }, + { url = "https://files.pythonhosted.org/packages/68/00/9b38e272a770303692fc406c36e1a4c740f401522d5787691eb38a8925a8/multidict-6.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df", size = 46022 }, + { url = "https://files.pythonhosted.org/packages/64/65/d8d42490c02ee07b6bbe00f7190d70bb4738b3cce7629aaf9f213ef730dd/multidict-6.7.1-cp310-cp310-win_arm64.whl", hash = "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db", size = 43238 }, + { url = "https://files.pythonhosted.org/packages/ce/f1/a90635c4f88fb913fbf4ce660b83b7445b7a02615bda034b2f8eb38fd597/multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d", size = 76626 }, + { url = "https://files.pythonhosted.org/packages/a6/9b/267e64eaf6fc637a15b35f5de31a566634a2740f97d8d094a69d34f524a4/multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e", size = 44706 }, + { url = "https://files.pythonhosted.org/packages/dd/a4/d45caf2b97b035c57267791ecfaafbd59c68212004b3842830954bb4b02e/multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855", size = 44356 }, + { url = "https://files.pythonhosted.org/packages/fd/d2/0a36c8473f0cbaeadd5db6c8b72d15bbceeec275807772bfcd059bef487d/multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3", size = 244355 }, + { url = "https://files.pythonhosted.org/packages/5d/16/8c65be997fd7dd311b7d39c7b6e71a0cb449bad093761481eccbbe4b42a2/multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e", size = 246433 }, + { url = "https://files.pythonhosted.org/packages/01/fb/4dbd7e848d2799c6a026ec88ad39cf2b8416aa167fcc903baa55ecaa045c/multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a", size = 225376 }, + { url = "https://files.pythonhosted.org/packages/b6/8a/4a3a6341eac3830f6053062f8fbc9a9e54407c80755b3f05bc427295c2d0/multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8", size = 257365 }, + { url = "https://files.pythonhosted.org/packages/f7/a2/dd575a69c1aa206e12d27d0770cdf9b92434b48a9ef0cd0d1afdecaa93c4/multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0", size = 254747 }, + { url = "https://files.pythonhosted.org/packages/5a/56/21b27c560c13822ed93133f08aa6372c53a8e067f11fbed37b4adcdac922/multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144", size = 246293 }, + { url = "https://files.pythonhosted.org/packages/5a/a4/23466059dc3854763423d0ad6c0f3683a379d97673b1b89ec33826e46728/multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49", size = 242962 }, + { url = "https://files.pythonhosted.org/packages/1f/67/51dd754a3524d685958001e8fa20a0f5f90a6a856e0a9dcabff69be3dbb7/multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71", size = 237360 }, + { url = "https://files.pythonhosted.org/packages/64/3f/036dfc8c174934d4b55d86ff4f978e558b0e585cef70cfc1ad01adc6bf18/multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3", size = 245940 }, + { url = "https://files.pythonhosted.org/packages/3d/20/6214d3c105928ebc353a1c644a6ef1408bc5794fcb4f170bb524a3c16311/multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c", size = 253502 }, + { url = "https://files.pythonhosted.org/packages/b1/e2/c653bc4ae1be70a0f836b82172d643fcf1dade042ba2676ab08ec08bff0f/multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0", size = 247065 }, + { url = "https://files.pythonhosted.org/packages/c8/11/a854b4154cd3bd8b1fd375e8a8ca9d73be37610c361543d56f764109509b/multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa", size = 241870 }, + { url = "https://files.pythonhosted.org/packages/13/bf/9676c0392309b5fdae322333d22a829715b570edb9baa8016a517b55b558/multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a", size = 41302 }, + { url = "https://files.pythonhosted.org/packages/c9/68/f16a3a8ba6f7b6dc92a1f19669c0810bd2c43fc5a02da13b1cbf8e253845/multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b", size = 45981 }, + { url = "https://files.pythonhosted.org/packages/ac/ad/9dd5305253fa00cd3c7555dbef69d5bf4133debc53b87ab8d6a44d411665/multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6", size = 43159 }, + { url = "https://files.pythonhosted.org/packages/8d/9c/f20e0e2cf80e4b2e4b1c365bf5fe104ee633c751a724246262db8f1a0b13/multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", size = 76893 }, + { url = "https://files.pythonhosted.org/packages/fe/cf/18ef143a81610136d3da8193da9d80bfe1cb548a1e2d1c775f26b23d024a/multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", size = 45456 }, + { url = "https://files.pythonhosted.org/packages/a9/65/1caac9d4cd32e8433908683446eebc953e82d22b03d10d41a5f0fefe991b/multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", size = 43872 }, + { url = "https://files.pythonhosted.org/packages/cf/3b/d6bd75dc4f3ff7c73766e04e705b00ed6dbbaccf670d9e05a12b006f5a21/multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", size = 251018 }, + { url = "https://files.pythonhosted.org/packages/fd/80/c959c5933adedb9ac15152e4067c702a808ea183a8b64cf8f31af8ad3155/multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", size = 258883 }, + { url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413 }, + { url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404 }, + { url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456 }, + { url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322 }, + { url = "https://files.pythonhosted.org/packages/31/6e/d8a26d81ac166a5592782d208dd90dfdc0a7a218adaa52b45a672b46c122/multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", size = 253955 }, + { url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254 }, + { url = "https://files.pythonhosted.org/packages/7b/bd/84c24de512cbafbdbc39439f74e967f19570ce7924e3007174a29c348916/multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", size = 252059 }, + { url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588 }, + { url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642 }, + { url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377 }, + { url = "https://files.pythonhosted.org/packages/ca/a4/840f5b97339e27846c46307f2530a2805d9d537d8b8bd416af031cad7fa0/multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511", size = 41887 }, + { url = "https://files.pythonhosted.org/packages/80/31/0b2517913687895f5904325c2069d6a3b78f66cc641a86a2baf75a05dcbb/multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19", size = 46053 }, + { url = "https://files.pythonhosted.org/packages/0c/5b/aba28e4ee4006ae4c7df8d327d31025d760ffa992ea23812a601d226e682/multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf", size = 43307 }, + { url = "https://files.pythonhosted.org/packages/f2/22/929c141d6c0dba87d3e1d38fbdf1ba8baba86b7776469f2bc2d3227a1e67/multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", size = 76174 }, + { url = "https://files.pythonhosted.org/packages/c7/75/bc704ae15fee974f8fccd871305e254754167dce5f9e42d88a2def741a1d/multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", size = 45116 }, + { url = "https://files.pythonhosted.org/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", size = 43524 }, + { url = "https://files.pythonhosted.org/packages/e9/3c/414842ef8d5a1628d68edee29ba0e5bcf235dbfb3ccd3ea303a7fe8c72ff/multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", size = 249368 }, + { url = "https://files.pythonhosted.org/packages/f6/32/befed7f74c458b4a525e60519fe8d87eef72bb1e99924fa2b0f9d97a221e/multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", size = 256952 }, + { url = "https://files.pythonhosted.org/packages/03/d6/c878a44ba877f366630c860fdf74bfb203c33778f12b6ac274936853c451/multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", size = 240317 }, + { url = "https://files.pythonhosted.org/packages/68/49/57421b4d7ad2e9e60e25922b08ceb37e077b90444bde6ead629095327a6f/multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", size = 267132 }, + { url = "https://files.pythonhosted.org/packages/b7/fe/ec0edd52ddbcea2a2e89e174f0206444a61440b40f39704e64dc807a70bd/multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", size = 268140 }, + { url = "https://files.pythonhosted.org/packages/b0/73/6e1b01cbeb458807aa0831742232dbdd1fa92bfa33f52a3f176b4ff3dc11/multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", size = 254277 }, + { url = "https://files.pythonhosted.org/packages/6a/b2/5fb8c124d7561a4974c342bc8c778b471ebbeb3cc17df696f034a7e9afe7/multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", size = 252291 }, + { url = "https://files.pythonhosted.org/packages/5a/96/51d4e4e06bcce92577fcd488e22600bd38e4fd59c20cb49434d054903bd2/multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", size = 250156 }, + { url = "https://files.pythonhosted.org/packages/db/6b/420e173eec5fba721a50e2a9f89eda89d9c98fded1124f8d5c675f7a0c0f/multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", size = 249742 }, + { url = "https://files.pythonhosted.org/packages/44/a3/ec5b5bd98f306bc2aa297b8c6f11a46714a56b1e6ef5ebda50a4f5d7c5fb/multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", size = 262221 }, + { url = "https://files.pythonhosted.org/packages/cd/f7/e8c0d0da0cd1e28d10e624604e1a36bcc3353aaebdfdc3a43c72bc683a12/multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", size = 258664 }, + { url = "https://files.pythonhosted.org/packages/52/da/151a44e8016dd33feed44f730bd856a66257c1ee7aed4f44b649fb7edeb3/multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", size = 249490 }, + { url = "https://files.pythonhosted.org/packages/87/af/a3b86bf9630b732897f6fc3f4c4714b90aa4361983ccbdcd6c0339b21b0c/multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3", size = 41695 }, + { url = "https://files.pythonhosted.org/packages/b2/35/e994121b0e90e46134673422dd564623f93304614f5d11886b1b3e06f503/multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5", size = 45884 }, + { url = "https://files.pythonhosted.org/packages/ca/61/42d3e5dbf661242a69c97ea363f2d7b46c567da8eadef8890022be6e2ab0/multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df", size = 43122 }, + { url = "https://files.pythonhosted.org/packages/6d/b3/e6b21c6c4f314bb956016b0b3ef2162590a529b84cb831c257519e7fde44/multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", size = 83175 }, + { url = "https://files.pythonhosted.org/packages/fb/76/23ecd2abfe0957b234f6c960f4ade497f55f2c16aeb684d4ecdbf1c95791/multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", size = 48460 }, + { url = "https://files.pythonhosted.org/packages/c4/57/a0ed92b23f3a042c36bc4227b72b97eca803f5f1801c1ab77c8a212d455e/multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", size = 46930 }, + { url = "https://files.pythonhosted.org/packages/b5/66/02ec7ace29162e447f6382c495dc95826bf931d3818799bbef11e8f7df1a/multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", size = 242582 }, + { url = "https://files.pythonhosted.org/packages/58/18/64f5a795e7677670e872673aca234162514696274597b3708b2c0d276cce/multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", size = 250031 }, + { url = "https://files.pythonhosted.org/packages/c8/ed/e192291dbbe51a8290c5686f482084d31bcd9d09af24f63358c3d42fd284/multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", size = 228596 }, + { url = "https://files.pythonhosted.org/packages/1e/7e/3562a15a60cf747397e7f2180b0a11dc0c38d9175a650e75fa1b4d325e15/multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", size = 257492 }, + { url = "https://files.pythonhosted.org/packages/24/02/7d0f9eae92b5249bb50ac1595b295f10e263dd0078ebb55115c31e0eaccd/multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", size = 255899 }, + { url = "https://files.pythonhosted.org/packages/00/e3/9b60ed9e23e64c73a5cde95269ef1330678e9c6e34dd4eb6b431b85b5a10/multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", size = 247970 }, + { url = "https://files.pythonhosted.org/packages/3e/06/538e58a63ed5cfb0bd4517e346b91da32fde409d839720f664e9a4ae4f9d/multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", size = 245060 }, + { url = "https://files.pythonhosted.org/packages/b2/2f/d743a3045a97c895d401e9bd29aaa09b94f5cbdf1bd561609e5a6c431c70/multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", size = 235888 }, + { url = "https://files.pythonhosted.org/packages/38/83/5a325cac191ab28b63c52f14f1131f3b0a55ba3b9aa65a6d0bf2a9b921a0/multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", size = 243554 }, + { url = "https://files.pythonhosted.org/packages/20/1f/9d2327086bd15da2725ef6aae624208e2ef828ed99892b17f60c344e57ed/multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", size = 252341 }, + { url = "https://files.pythonhosted.org/packages/e8/2c/2a1aa0280cf579d0f6eed8ee5211c4f1730bd7e06c636ba2ee6aafda302e/multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", size = 246391 }, + { url = "https://files.pythonhosted.org/packages/e5/03/7ca022ffc36c5a3f6e03b179a5ceb829be9da5783e6fe395f347c0794680/multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", size = 243422 }, + { url = "https://files.pythonhosted.org/packages/dc/1d/b31650eab6c5778aceed46ba735bd97f7c7d2f54b319fa916c0f96e7805b/multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32", size = 47770 }, + { url = "https://files.pythonhosted.org/packages/ac/5b/2d2d1d522e51285bd61b1e20df8f47ae1a9d80839db0b24ea783b3832832/multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8", size = 53109 }, + { url = "https://files.pythonhosted.org/packages/3d/a3/cc409ba012c83ca024a308516703cf339bdc4b696195644a7215a5164a24/multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118", size = 45573 }, + { url = "https://files.pythonhosted.org/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", size = 75190 }, + { url = "https://files.pythonhosted.org/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", size = 44486 }, + { url = "https://files.pythonhosted.org/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", size = 43219 }, + { url = "https://files.pythonhosted.org/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", size = 245132 }, + { url = "https://files.pythonhosted.org/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", size = 252420 }, + { url = "https://files.pythonhosted.org/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", size = 233510 }, + { url = "https://files.pythonhosted.org/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", size = 264094 }, + { url = "https://files.pythonhosted.org/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", size = 260786 }, + { url = "https://files.pythonhosted.org/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", size = 248483 }, + { url = "https://files.pythonhosted.org/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", size = 248403 }, + { url = "https://files.pythonhosted.org/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", size = 240315 }, + { url = "https://files.pythonhosted.org/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", size = 245528 }, + { url = "https://files.pythonhosted.org/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", size = 258784 }, + { url = "https://files.pythonhosted.org/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", size = 251980 }, + { url = "https://files.pythonhosted.org/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", size = 243602 }, + { url = "https://files.pythonhosted.org/packages/9a/e7/50bf7b004cc8525d80dbbbedfdc7aed3e4c323810890be4413e589074032/multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d", size = 40930 }, + { url = "https://files.pythonhosted.org/packages/e0/bf/52f25716bbe93745595800f36fb17b73711f14da59ed0bb2eba141bc9f0f/multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f", size = 45074 }, + { url = "https://files.pythonhosted.org/packages/97/ab/22803b03285fa3a525f48217963da3a65ae40f6a1b6f6cf2768879e208f9/multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5", size = 42471 }, + { url = "https://files.pythonhosted.org/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", size = 82401 }, + { url = "https://files.pythonhosted.org/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", size = 48143 }, + { url = "https://files.pythonhosted.org/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", size = 46507 }, + { url = "https://files.pythonhosted.org/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", size = 239358 }, + { url = "https://files.pythonhosted.org/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", size = 246884 }, + { url = "https://files.pythonhosted.org/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", size = 225878 }, + { url = "https://files.pythonhosted.org/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", size = 253542 }, + { url = "https://files.pythonhosted.org/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", size = 252403 }, + { url = "https://files.pythonhosted.org/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", size = 244889 }, + { url = "https://files.pythonhosted.org/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", size = 241982 }, + { url = "https://files.pythonhosted.org/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", size = 232415 }, + { url = "https://files.pythonhosted.org/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", size = 240337 }, + { url = "https://files.pythonhosted.org/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", size = 248788 }, + { url = "https://files.pythonhosted.org/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", size = 242842 }, + { url = "https://files.pythonhosted.org/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", size = 240237 }, + { url = "https://files.pythonhosted.org/packages/5f/60/c3a5187bf66f6fb546ff4ab8fb5a077cbdd832d7b1908d4365c7f74a1917/multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7", size = 48008 }, + { url = "https://files.pythonhosted.org/packages/0c/f7/addf1087b860ac60e6f382240f64fb99f8bfb532bb06f7c542b83c29ca61/multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5", size = 53542 }, + { url = "https://files.pythonhosted.org/packages/4c/81/4629d0aa32302ef7b2ec65c75a728cc5ff4fa410c50096174c1632e70b3e/multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2", size = 44719 }, + { url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319 }, +] + +[[package]] +name = "multiprocess" +version = "0.70.18" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dill" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/fd/2ae3826f5be24c6ed87266bc4e59c46ea5b059a103f3d7e7eb76a52aeecb/multiprocess-0.70.18.tar.gz", hash = "sha256:f9597128e6b3e67b23956da07cf3d2e5cba79e2f4e0fba8d7903636663ec6d0d", size = 1798503 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/f8/7f9a8f08bf98cea1dfaa181e05cc8bbcb59cecf044b5a9ac3cce39f9c449/multiprocess-0.70.18-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:25d4012dcaaf66b9e8e955f58482b42910c2ee526d532844d8bcf661bbc604df", size = 135083 }, + { url = "https://files.pythonhosted.org/packages/e5/03/b7b10dbfc17b2b3ce07d4d30b3ba8367d0ed32d6d46cd166e298f161dd46/multiprocess-0.70.18-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:06b19433de0d02afe5869aec8931dd5c01d99074664f806c73896b0d9e527213", size = 135128 }, + { url = "https://files.pythonhosted.org/packages/c1/a3/5f8d3b9690ea5580bee5868ab7d7e2cfca74b7e826b28192b40aa3881cdc/multiprocess-0.70.18-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6fa1366f994373aaf2d4738b0f56e707caeaa05486e97a7f71ee0853823180c2", size = 135132 }, + { url = "https://files.pythonhosted.org/packages/55/4d/9af0d1279c84618bcd35bf5fd7e371657358c7b0a523e54a9cffb87461f8/multiprocess-0.70.18-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b8940ae30139e04b076da6c5b83e9398585ebdf0f2ad3250673fef5b2ff06d6", size = 144695 }, + { url = "https://files.pythonhosted.org/packages/17/bf/87323e79dd0562474fad3373c21c66bc6c3c9963b68eb2a209deb4c8575e/multiprocess-0.70.18-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0929ba95831adb938edbd5fb801ac45e705ecad9d100b3e653946b7716cb6bd3", size = 144742 }, + { url = "https://files.pythonhosted.org/packages/dd/74/cb8c831e58dc6d5cf450b17c7db87f14294a1df52eb391da948b5e0a0b94/multiprocess-0.70.18-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4d77f8e4bfe6c6e2e661925bbf9aed4d5ade9a1c6502d5dfc10129b9d1141797", size = 144745 }, + { url = "https://files.pythonhosted.org/packages/ba/d8/0cba6cf51a1a31f20471fbc823a716170c73012ddc4fb85d706630ed6e8f/multiprocess-0.70.18-py310-none-any.whl", hash = "sha256:60c194974c31784019c1f459d984e8f33ee48f10fcf42c309ba97b30d9bd53ea", size = 134948 }, + { url = "https://files.pythonhosted.org/packages/4b/88/9039f2fed1012ef584751d4ceff9ab4a51e5ae264898f0b7cbf44340a859/multiprocess-0.70.18-py311-none-any.whl", hash = "sha256:5aa6eef98e691281b3ad923be2832bf1c55dd2c859acd73e5ec53a66aae06a1d", size = 144462 }, + { url = "https://files.pythonhosted.org/packages/bf/b6/5f922792be93b82ec6b5f270bbb1ef031fd0622847070bbcf9da816502cc/multiprocess-0.70.18-py312-none-any.whl", hash = "sha256:9b78f8e5024b573730bfb654783a13800c2c0f2dfc0c25e70b40d184d64adaa2", size = 150287 }, + { url = "https://files.pythonhosted.org/packages/ee/25/7d7e78e750bc1aecfaf0efbf826c69a791d2eeaf29cf20cba93ff4cced78/multiprocess-0.70.18-py313-none-any.whl", hash = "sha256:871743755f43ef57d7910a38433cfe41319e72be1bbd90b79c7a5ac523eb9334", size = 151917 }, + { url = "https://files.pythonhosted.org/packages/3b/c3/ca84c19bd14cdfc21c388fdcebf08b86a7a470ebc9f5c3c084fc2dbc50f7/multiprocess-0.70.18-py38-none-any.whl", hash = "sha256:dbf705e52a154fe5e90fb17b38f02556169557c2dd8bb084f2e06c2784d8279b", size = 132636 }, + { url = "https://files.pythonhosted.org/packages/6c/28/dd72947e59a6a8c856448a5e74da6201cb5502ddff644fbc790e4bd40b9a/multiprocess-0.70.18-py39-none-any.whl", hash = "sha256:e78ca805a72b1b810c690b6b4cc32579eba34f403094bbbae962b7b5bf9dfcb8", size = 133478 }, +] + +[[package]] +name = "networkx" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1", size = 2151368 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f", size = 1723263 }, +] + +[[package]] +name = "networkx" +version = "3.6.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten'", + "python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", hash = "sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509", size = 2517025 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", size = 2068504 }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245 }, + { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048 }, + { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542 }, + { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301 }, + { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320 }, + { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050 }, + { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034 }, + { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185 }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149 }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620 }, + { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963 }, + { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743 }, + { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616 }, + { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579 }, + { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005 }, + { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570 }, + { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548 }, + { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521 }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866 }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455 }, + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348 }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362 }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103 }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382 }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462 }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618 }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511 }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783 }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506 }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190 }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828 }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006 }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765 }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736 }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719 }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072 }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213 }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632 }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532 }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885 }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467 }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144 }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217 }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014 }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935 }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122 }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143 }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260 }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225 }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374 }, + { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391 }, + { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754 }, + { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476 }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666 }, +] + +[[package]] +name = "numpy" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten'", + "python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +sdist = { url = "https://files.pythonhosted.org/packages/24/62/ae72ff66c0f1fd959925b4c11f8c2dea61f47f6acaea75a08512cdfe3fed/numpy-2.4.1.tar.gz", hash = "sha256:a1ceafc5042451a858231588a104093474c6a5c57dcc724841f5c888d237d690", size = 20721320 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/34/2b1bc18424f3ad9af577f6ce23600319968a70575bd7db31ce66731bbef9/numpy-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0cce2a669e3c8ba02ee563c7835f92c153cf02edff1ae05e1823f1dde21b16a5", size = 16944563 }, + { url = "https://files.pythonhosted.org/packages/2c/57/26e5f97d075aef3794045a6ca9eada6a4ed70eb9a40e7a4a93f9ac80d704/numpy-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:899d2c18024984814ac7e83f8f49d8e8180e2fbe1b2e252f2e7f1d06bea92425", size = 12645658 }, + { url = "https://files.pythonhosted.org/packages/8e/ba/80fc0b1e3cb2fd5c6143f00f42eb67762aa043eaa05ca924ecc3222a7849/numpy-2.4.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:09aa8a87e45b55a1c2c205d42e2808849ece5c484b2aab11fecabec3841cafba", size = 5474132 }, + { url = "https://files.pythonhosted.org/packages/40/ae/0a5b9a397f0e865ec171187c78d9b57e5588afc439a04ba9cab1ebb2c945/numpy-2.4.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:edee228f76ee2dab4579fad6f51f6a305de09d444280109e0f75df247ff21501", size = 6804159 }, + { url = "https://files.pythonhosted.org/packages/86/9c/841c15e691c7085caa6fd162f063eff494099c8327aeccd509d1ab1e36ab/numpy-2.4.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a92f227dbcdc9e4c3e193add1a189a9909947d4f8504c576f4a732fd0b54240a", size = 14708058 }, + { url = "https://files.pythonhosted.org/packages/5d/9d/7862db06743f489e6a502a3b93136d73aea27d97b2cf91504f70a27501d6/numpy-2.4.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:538bf4ec353709c765ff75ae616c34d3c3dca1a68312727e8f2676ea644f8509", size = 16651501 }, + { url = "https://files.pythonhosted.org/packages/a6/9c/6fc34ebcbd4015c6e5f0c0ce38264010ce8a546cb6beacb457b84a75dfc8/numpy-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ac08c63cb7779b85e9d5318e6c3518b424bc1f364ac4cb2c6136f12e5ff2dccc", size = 16492627 }, + { url = "https://files.pythonhosted.org/packages/aa/63/2494a8597502dacda439f61b3c0db4da59928150e62be0e99395c3ad23c5/numpy-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4f9c360ecef085e5841c539a9a12b883dff005fbd7ce46722f5e9cef52634d82", size = 18585052 }, + { url = "https://files.pythonhosted.org/packages/6a/93/098e1162ae7522fc9b618d6272b77404c4656c72432ecee3abc029aa3de0/numpy-2.4.1-cp311-cp311-win32.whl", hash = "sha256:0f118ce6b972080ba0758c6087c3617b5ba243d806268623dc34216d69099ba0", size = 6236575 }, + { url = "https://files.pythonhosted.org/packages/8c/de/f5e79650d23d9e12f38a7bc6b03ea0835b9575494f8ec94c11c6e773b1b1/numpy-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:18e14c4d09d55eef39a6ab5b08406e84bc6869c1e34eef45564804f90b7e0574", size = 12604479 }, + { url = "https://files.pythonhosted.org/packages/dd/65/e1097a7047cff12ce3369bd003811516b20ba1078dbdec135e1cd7c16c56/numpy-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:6461de5113088b399d655d45c3897fa188766415d0f568f175ab071c8873bd73", size = 10578325 }, + { url = "https://files.pythonhosted.org/packages/78/7f/ec53e32bf10c813604edf07a3682616bd931d026fcde7b6d13195dfb684a/numpy-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d3703409aac693fa82c0aee023a1ae06a6e9d065dba10f5e8e80f642f1e9d0a2", size = 16656888 }, + { url = "https://files.pythonhosted.org/packages/b8/e0/1f9585d7dae8f14864e948fd7fa86c6cb72dee2676ca2748e63b1c5acfe0/numpy-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7211b95ca365519d3596a1d8688a95874cc94219d417504d9ecb2df99fa7bfa8", size = 12373956 }, + { url = "https://files.pythonhosted.org/packages/8e/43/9762e88909ff2326f5e7536fa8cb3c49fb03a7d92705f23e6e7f553d9cb3/numpy-2.4.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:5adf01965456a664fc727ed69cc71848f28d063217c63e1a0e200a118d5eec9a", size = 5202567 }, + { url = "https://files.pythonhosted.org/packages/4b/ee/34b7930eb61e79feb4478800a4b95b46566969d837546aa7c034c742ef98/numpy-2.4.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:26f0bcd9c79a00e339565b303badc74d3ea2bd6d52191eeca5f95936cad107d0", size = 6549459 }, + { url = "https://files.pythonhosted.org/packages/79/e3/5f115fae982565771be994867c89bcd8d7208dbfe9469185497d70de5ddf/numpy-2.4.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0093e85df2960d7e4049664b26afc58b03236e967fb942354deef3208857a04c", size = 14404859 }, + { url = "https://files.pythonhosted.org/packages/d9/7d/9c8a781c88933725445a859cac5d01b5871588a15969ee6aeb618ba99eee/numpy-2.4.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ad270f438cbdd402c364980317fb6b117d9ec5e226fff5b4148dd9aa9fc6e02", size = 16371419 }, + { url = "https://files.pythonhosted.org/packages/a6/d2/8aa084818554543f17cf4162c42f162acbd3bb42688aefdba6628a859f77/numpy-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:297c72b1b98100c2e8f873d5d35fb551fce7040ade83d67dd51d38c8d42a2162", size = 16182131 }, + { url = "https://files.pythonhosted.org/packages/60/db/0425216684297c58a8df35f3284ef56ec4a043e6d283f8a59c53562caf1b/numpy-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cf6470d91d34bf669f61d515499859fa7a4c2f7c36434afb70e82df7217933f9", size = 18295342 }, + { url = "https://files.pythonhosted.org/packages/31/4c/14cb9d86240bd8c386c881bafbe43f001284b7cce3bc01623ac9475da163/numpy-2.4.1-cp312-cp312-win32.whl", hash = "sha256:b6bcf39112e956594b3331316d90c90c90fb961e39696bda97b89462f5f3943f", size = 5959015 }, + { url = "https://files.pythonhosted.org/packages/51/cf/52a703dbeb0c65807540d29699fef5fda073434ff61846a564d5c296420f/numpy-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:e1a27bb1b2dee45a2a53f5ca6ff2d1a7f135287883a1689e930d44d1ff296c87", size = 12310730 }, + { url = "https://files.pythonhosted.org/packages/69/80/a828b2d0ade5e74a9fe0f4e0a17c30fdc26232ad2bc8c9f8b3197cf7cf18/numpy-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:0e6e8f9d9ecf95399982019c01223dc130542960a12edfa8edd1122dfa66a8a8", size = 10312166 }, + { url = "https://files.pythonhosted.org/packages/04/68/732d4b7811c00775f3bd522a21e8dd5a23f77eb11acdeb663e4a4ebf0ef4/numpy-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d797454e37570cfd61143b73b8debd623c3c0952959adb817dd310a483d58a1b", size = 16652495 }, + { url = "https://files.pythonhosted.org/packages/20/ca/857722353421a27f1465652b2c66813eeeccea9d76d5f7b74b99f298e60e/numpy-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82c55962006156aeef1629b953fd359064aa47e4d82cfc8e67f0918f7da3344f", size = 12368657 }, + { url = "https://files.pythonhosted.org/packages/81/0d/2377c917513449cc6240031a79d30eb9a163d32a91e79e0da47c43f2c0c8/numpy-2.4.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:71abbea030f2cfc3092a0ff9f8c8fdefdc5e0bf7d9d9c99663538bb0ecdac0b9", size = 5197256 }, + { url = "https://files.pythonhosted.org/packages/17/39/569452228de3f5de9064ac75137082c6214be1f5c532016549a7923ab4b5/numpy-2.4.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b55aa56165b17aaf15520beb9cbd33c9039810e0d9643dd4379e44294c7303e", size = 6545212 }, + { url = "https://files.pythonhosted.org/packages/8c/a4/77333f4d1e4dac4395385482557aeecf4826e6ff517e32ca48e1dafbe42a/numpy-2.4.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0faba4a331195bfa96f93dd9dfaa10b2c7aa8cda3a02b7fd635e588fe821bf5", size = 14402871 }, + { url = "https://files.pythonhosted.org/packages/ba/87/d341e519956273b39d8d47969dd1eaa1af740615394fe67d06f1efa68773/numpy-2.4.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e3087f53e2b4428766b54932644d148613c5a595150533ae7f00dab2f319a8", size = 16359305 }, + { url = "https://files.pythonhosted.org/packages/32/91/789132c6666288eaa20ae8066bb99eba1939362e8f1a534949a215246e97/numpy-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:49e792ec351315e16da54b543db06ca8a86985ab682602d90c60ef4ff4db2a9c", size = 16181909 }, + { url = "https://files.pythonhosted.org/packages/cf/b8/090b8bd27b82a844bb22ff8fdf7935cb1980b48d6e439ae116f53cdc2143/numpy-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:79e9e06c4c2379db47f3f6fc7a8652e7498251789bf8ff5bd43bf478ef314ca2", size = 18284380 }, + { url = "https://files.pythonhosted.org/packages/67/78/722b62bd31842ff029412271556a1a27a98f45359dea78b1548a3a9996aa/numpy-2.4.1-cp313-cp313-win32.whl", hash = "sha256:3d1a100e48cb266090a031397863ff8a30050ceefd798f686ff92c67a486753d", size = 5957089 }, + { url = "https://files.pythonhosted.org/packages/da/a6/cf32198b0b6e18d4fbfa9a21a992a7fca535b9bb2b0cdd217d4a3445b5ca/numpy-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:92a0e65272fd60bfa0d9278e0484c2f52fe03b97aedc02b357f33fe752c52ffb", size = 12307230 }, + { url = "https://files.pythonhosted.org/packages/44/6c/534d692bfb7d0afe30611320c5fb713659dcb5104d7cc182aff2aea092f5/numpy-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:20d4649c773f66cc2fc36f663e091f57c3b7655f936a4c681b4250855d1da8f5", size = 10313125 }, + { url = "https://files.pythonhosted.org/packages/da/a1/354583ac5c4caa566de6ddfbc42744409b515039e085fab6e0ff942e0df5/numpy-2.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f93bc6892fe7b0663e5ffa83b61aab510aacffd58c16e012bb9352d489d90cb7", size = 12496156 }, + { url = "https://files.pythonhosted.org/packages/51/b0/42807c6e8cce58c00127b1dc24d365305189991f2a7917aa694a109c8d7d/numpy-2.4.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:178de8f87948163d98a4c9ab5bee4ce6519ca918926ec8df195af582de28544d", size = 5324663 }, + { url = "https://files.pythonhosted.org/packages/fe/55/7a621694010d92375ed82f312b2f28017694ed784775269115323e37f5e2/numpy-2.4.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:98b35775e03ab7f868908b524fc0a84d38932d8daf7b7e1c3c3a1b6c7a2c9f15", size = 6645224 }, + { url = "https://files.pythonhosted.org/packages/50/96/9fa8635ed9d7c847d87e30c834f7109fac5e88549d79ef3324ab5c20919f/numpy-2.4.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:941c2a93313d030f219f3a71fd3d91a728b82979a5e8034eb2e60d394a2b83f9", size = 14462352 }, + { url = "https://files.pythonhosted.org/packages/03/d1/8cf62d8bb2062da4fb82dd5d49e47c923f9c0738032f054e0a75342faba7/numpy-2.4.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:529050522e983e00a6c1c6b67411083630de8b57f65e853d7b03d9281b8694d2", size = 16407279 }, + { url = "https://files.pythonhosted.org/packages/86/1c/95c86e17c6b0b31ce6ef219da00f71113b220bcb14938c8d9a05cee0ff53/numpy-2.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2302dc0224c1cbc49bb94f7064f3f923a971bfae45c33870dcbff63a2a550505", size = 16248316 }, + { url = "https://files.pythonhosted.org/packages/30/b4/e7f5ff8697274c9d0fa82398b6a372a27e5cef069b37df6355ccb1f1db1a/numpy-2.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:9171a42fcad32dcf3fa86f0a4faa5e9f8facefdb276f54b8b390d90447cff4e2", size = 18329884 }, + { url = "https://files.pythonhosted.org/packages/37/a4/b073f3e9d77f9aec8debe8ca7f9f6a09e888ad1ba7488f0c3b36a94c03ac/numpy-2.4.1-cp313-cp313t-win32.whl", hash = "sha256:382ad67d99ef49024f11d1ce5dcb5ad8432446e4246a4b014418ba3a1175a1f4", size = 6081138 }, + { url = "https://files.pythonhosted.org/packages/16/16/af42337b53844e67752a092481ab869c0523bc95c4e5c98e4dac4e9581ac/numpy-2.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:62fea415f83ad8fdb6c20840578e5fbaf5ddd65e0ec6c3c47eda0f69da172510", size = 12447478 }, + { url = "https://files.pythonhosted.org/packages/6c/f8/fa85b2eac68ec631d0b631abc448552cb17d39afd17ec53dcbcc3537681a/numpy-2.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:a7870e8c5fc11aef57d6fea4b4085e537a3a60ad2cdd14322ed531fdca68d261", size = 10382981 }, + { url = "https://files.pythonhosted.org/packages/1b/a7/ef08d25698e0e4b4efbad8d55251d20fe2a15f6d9aa7c9b30cd03c165e6f/numpy-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:3869ea1ee1a1edc16c29bbe3a2f2a4e515cc3a44d43903ad41e0cacdbaf733dc", size = 16652046 }, + { url = "https://files.pythonhosted.org/packages/8f/39/e378b3e3ca13477e5ac70293ec027c438d1927f18637e396fe90b1addd72/numpy-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e867df947d427cdd7a60e3e271729090b0f0df80f5f10ab7dd436f40811699c3", size = 12378858 }, + { url = "https://files.pythonhosted.org/packages/c3/74/7ec6154f0006910ed1fdbb7591cf4432307033102b8a22041599935f8969/numpy-2.4.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:e3bd2cb07841166420d2fa7146c96ce00cb3410664cbc1a6be028e456c4ee220", size = 5207417 }, + { url = "https://files.pythonhosted.org/packages/f7/b7/053ac11820d84e42f8feea5cb81cc4fcd1091499b45b1ed8c7415b1bf831/numpy-2.4.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:f0a90aba7d521e6954670550e561a4cb925713bd944445dbe9e729b71f6cabee", size = 6542643 }, + { url = "https://files.pythonhosted.org/packages/c0/c4/2e7908915c0e32ca636b92e4e4a3bdec4cb1e7eb0f8aedf1ed3c68a0d8cd/numpy-2.4.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d558123217a83b2d1ba316b986e9248a1ed1971ad495963d555ccd75dcb1556", size = 14418963 }, + { url = "https://files.pythonhosted.org/packages/eb/c0/3ed5083d94e7ffd7c404e54619c088e11f2e1939a9544f5397f4adb1b8ba/numpy-2.4.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2f44de05659b67d20499cbc96d49f2650769afcb398b79b324bb6e297bfe3844", size = 16363811 }, + { url = "https://files.pythonhosted.org/packages/0e/68/42b66f1852bf525050a67315a4fb94586ab7e9eaa541b1bef530fab0c5dd/numpy-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:69e7419c9012c4aaf695109564e3387f1259f001b4326dfa55907b098af082d3", size = 16197643 }, + { url = "https://files.pythonhosted.org/packages/d2/40/e8714fc933d85f82c6bfc7b998a0649ad9769a32f3494ba86598aaf18a48/numpy-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2ffd257026eb1b34352e749d7cc1678b5eeec3e329ad8c9965a797e08ccba205", size = 18289601 }, + { url = "https://files.pythonhosted.org/packages/80/9a/0d44b468cad50315127e884802351723daca7cf1c98d102929468c81d439/numpy-2.4.1-cp314-cp314-win32.whl", hash = "sha256:727c6c3275ddefa0dc078524a85e064c057b4f4e71ca5ca29a19163c607be745", size = 6005722 }, + { url = "https://files.pythonhosted.org/packages/7e/bb/c6513edcce5a831810e2dddc0d3452ce84d208af92405a0c2e58fd8e7881/numpy-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:7d5d7999df434a038d75a748275cd6c0094b0ecdb0837342b332a82defc4dc4d", size = 12438590 }, + { url = "https://files.pythonhosted.org/packages/e9/da/a598d5cb260780cf4d255102deba35c1d072dc028c4547832f45dd3323a8/numpy-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:ce9ce141a505053b3c7bce3216071f3bf5c182b8b28930f14cd24d43932cd2df", size = 10596180 }, + { url = "https://files.pythonhosted.org/packages/de/bc/ea3f2c96fcb382311827231f911723aeff596364eb6e1b6d1d91128aa29b/numpy-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:4e53170557d37ae404bf8d542ca5b7c629d6efa1117dac6a83e394142ea0a43f", size = 12498774 }, + { url = "https://files.pythonhosted.org/packages/aa/ab/ef9d939fe4a812648c7a712610b2ca6140b0853c5efea361301006c02ae5/numpy-2.4.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:a73044b752f5d34d4232f25f18160a1cc418ea4507f5f11e299d8ac36875f8a0", size = 5327274 }, + { url = "https://files.pythonhosted.org/packages/bd/31/d381368e2a95c3b08b8cf7faac6004849e960f4a042d920337f71cef0cae/numpy-2.4.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:fb1461c99de4d040666ca0444057b06541e5642f800b71c56e6ea92d6a853a0c", size = 6648306 }, + { url = "https://files.pythonhosted.org/packages/c8/e5/0989b44ade47430be6323d05c23207636d67d7362a1796ccbccac6773dd2/numpy-2.4.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:423797bdab2eeefbe608d7c1ec7b2b4fd3c58d51460f1ee26c7500a1d9c9ee93", size = 14464653 }, + { url = "https://files.pythonhosted.org/packages/10/a7/cfbe475c35371cae1358e61f20c5f075badc18c4797ab4354140e1d283cf/numpy-2.4.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:52b5f61bdb323b566b528899cc7db2ba5d1015bda7ea811a8bcf3c89c331fa42", size = 16405144 }, + { url = "https://files.pythonhosted.org/packages/f8/a3/0c63fe66b534888fa5177cc7cef061541064dbe2b4b60dcc60ffaf0d2157/numpy-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42d7dd5fa36d16d52a84f821eb96031836fd405ee6955dd732f2023724d0aa01", size = 16247425 }, + { url = "https://files.pythonhosted.org/packages/6b/2b/55d980cfa2c93bd40ff4c290bf824d792bd41d2fe3487b07707559071760/numpy-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e7b6b5e28bbd47b7532698e5db2fe1db693d84b58c254e4389d99a27bb9b8f6b", size = 18330053 }, + { url = "https://files.pythonhosted.org/packages/23/12/8b5fc6b9c487a09a7957188e0943c9ff08432c65e34567cabc1623b03a51/numpy-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:5de60946f14ebe15e713a6f22850c2372fa72f4ff9a432ab44aa90edcadaa65a", size = 6152482 }, + { url = "https://files.pythonhosted.org/packages/00/a5/9f8ca5856b8940492fc24fbe13c1bc34d65ddf4079097cf9e53164d094e1/numpy-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:8f085da926c0d491ffff3096f91078cc97ea67e7e6b65e490bc8dcda65663be2", size = 12627117 }, + { url = "https://files.pythonhosted.org/packages/ad/0d/eca3d962f9eef265f01a8e0d20085c6dd1f443cbffc11b6dede81fd82356/numpy-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:6436cffb4f2bf26c974344439439c95e152c9a527013f26b3577be6c2ca64295", size = 10667121 }, + { url = "https://files.pythonhosted.org/packages/1e/48/d86f97919e79314a1cdee4c832178763e6e98e623e123d0bada19e92c15a/numpy-2.4.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8ad35f20be147a204e28b6a0575fbf3540c5e5f802634d4258d55b1ff5facce1", size = 16822202 }, + { url = "https://files.pythonhosted.org/packages/51/e9/1e62a7f77e0f37dcfb0ad6a9744e65df00242b6ea37dfafb55debcbf5b55/numpy-2.4.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8097529164c0f3e32bb89412a0905d9100bf434d9692d9fc275e18dcf53c9344", size = 12569985 }, + { url = "https://files.pythonhosted.org/packages/c7/7e/914d54f0c801342306fdcdce3e994a56476f1b818c46c47fc21ae968088c/numpy-2.4.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:ea66d2b41ca4a1630aae5507ee0a71647d3124d1741980138aa8f28f44dac36e", size = 5398484 }, + { url = "https://files.pythonhosted.org/packages/1c/d8/9570b68584e293a33474e7b5a77ca404f1dcc655e40050a600dee81d27fb/numpy-2.4.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:d3f8f0df9f4b8be57b3bf74a1d087fec68f927a2fab68231fdb442bf2c12e426", size = 6713216 }, + { url = "https://files.pythonhosted.org/packages/33/9b/9dd6e2db8d49eb24f86acaaa5258e5f4c8ed38209a4ee9de2d1a0ca25045/numpy-2.4.1-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2023ef86243690c2791fd6353e5b4848eedaa88ca8a2d129f462049f6d484696", size = 14538937 }, + { url = "https://files.pythonhosted.org/packages/53/87/d5bd995b0f798a37105b876350d346eea5838bd8f77ea3d7a48392f3812b/numpy-2.4.1-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8361ea4220d763e54cff2fbe7d8c93526b744f7cd9ddab47afeff7e14e8503be", size = 16479830 }, + { url = "https://files.pythonhosted.org/packages/5b/c7/b801bf98514b6ae6475e941ac05c58e6411dd863ea92916bfd6d510b08c1/numpy-2.4.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:4f1b68ff47680c2925f8063402a693ede215f0257f02596b1318ecdfb1d79e33", size = 12492579 }, +] + +[[package]] +name = "nvidia-cublas-cu12" +version = "12.8.4.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/29/99/db44d685f0e257ff0e213ade1964fc459b4a690a73293220e98feb3307cf/nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:b86f6dd8935884615a0683b663891d43781b819ac4f2ba2b0c9604676af346d0", size = 590537124 }, + { url = "https://files.pythonhosted.org/packages/dc/61/e24b560ab2e2eaeb3c839129175fb330dfcfc29e5203196e5541a4c44682/nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:8ac4e771d5a348c551b2a426eda6193c19aa630236b418086020df5ba9667142", size = 594346921 }, +] + +[[package]] +name = "nvidia-cuda-cupti-cu12" +version = "12.8.90" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/1f/b3bd73445e5cb342727fd24fe1f7b748f690b460acadc27ea22f904502c8/nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4412396548808ddfed3f17a467b104ba7751e6b58678a4b840675c56d21cf7ed", size = 9533318 }, + { url = "https://files.pythonhosted.org/packages/f8/02/2adcaa145158bf1a8295d83591d22e4103dbfd821bcaf6f3f53151ca4ffa/nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ea0cb07ebda26bb9b29ba82cda34849e73c166c18162d3913575b0c9db9a6182", size = 10248621 }, +] + +[[package]] +name = "nvidia-cuda-nvrtc-cu12" +version = "12.8.93" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/6b/32f747947df2da6994e999492ab306a903659555dddc0fbdeb9d71f75e52/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:a7756528852ef889772a84c6cd89d41dfa74667e24cca16bb31f8f061e3e9994", size = 88040029 }, + { url = "https://files.pythonhosted.org/packages/eb/d1/e50d0acaab360482034b84b6e27ee83c6738f7d32182b987f9c7a4e32962/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fc1fec1e1637854b4c0a65fb9a8346b51dd9ee69e61ebaccc82058441f15bce8", size = 43106076 }, +] + +[[package]] +name = "nvidia-cuda-runtime-cu12" +version = "12.8.90" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/75/f865a3b236e4647605ea34cc450900854ba123834a5f1598e160b9530c3a/nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:52bf7bbee900262ffefe5e9d5a2a69a30d97e2bc5bb6cc866688caa976966e3d", size = 965265 }, + { url = "https://files.pythonhosted.org/packages/0d/9b/a997b638fcd068ad6e4d53b8551a7d30fe8b404d6f1804abf1df69838932/nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adade8dcbd0edf427b7204d480d6066d33902cab2a4707dcfc48a2d0fd44ab90", size = 954765 }, +] + +[[package]] +name = "nvidia-cudnn-cu12" +version = "9.10.2.21" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-cublas-cu12", marker = "(python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/41/e79269ce215c857c935fd86bcfe91a451a584dfc27f1e068f568b9ad1ab7/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:c9132cc3f8958447b4910a1720036d9eff5928cc3179b0a51fb6d167c6cc87d8", size = 705026878 }, + { url = "https://files.pythonhosted.org/packages/ba/51/e123d997aa098c61d029f76663dedbfb9bc8dcf8c60cbd6adbe42f76d049/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:949452be657fa16687d0930933f032835951ef0892b37d2d53824d1a84dc97a8", size = 706758467 }, +] + +[[package]] +name = "nvidia-cufft-cu12" +version = "11.3.3.83" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-nvjitlink-cu12", marker = "(python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/bc/7771846d3a0272026c416fbb7e5f4c1f146d6d80704534d0b187dd6f4800/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:848ef7224d6305cdb2a4df928759dca7b1201874787083b6e7550dd6765ce69a", size = 193109211 }, + { url = "https://files.pythonhosted.org/packages/1f/13/ee4e00f30e676b66ae65b4f08cb5bcbb8392c03f54f2d5413ea99a5d1c80/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d2dd21ec0b88cf61b62e6b43564355e5222e4a3fb394cac0db101f2dd0d4f74", size = 193118695 }, +] + +[[package]] +name = "nvidia-cufile-cu12" +version = "1.13.1.3" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bb/fe/1bcba1dfbfb8d01be8d93f07bfc502c93fa23afa6fd5ab3fc7c1df71038a/nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d069003be650e131b21c932ec3d8969c1715379251f8d23a1860554b1cb24fc", size = 1197834 }, + { url = "https://files.pythonhosted.org/packages/1e/f5/5607710447a6fe9fd9b3283956fceeee8a06cda1d2f56ce31371f595db2a/nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:4beb6d4cce47c1a0f1013d72e02b0994730359e17801d395bdcbf20cfb3bb00a", size = 1120705 }, +] + +[[package]] +name = "nvidia-curand-cu12" +version = "10.3.9.90" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/5e/92aa15eca622a388b80fbf8375d4760738df6285b1e92c43d37390a33a9a/nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:dfab99248034673b779bc6decafdc3404a8a6f502462201f2f31f11354204acd", size = 63625754 }, + { url = "https://files.pythonhosted.org/packages/fb/aa/6584b56dc84ebe9cf93226a5cde4d99080c8e90ab40f0c27bda7a0f29aa1/nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:b32331d4f4df5d6eefa0554c565b626c7216f87a06a4f56fab27c3b68a830ec9", size = 63619976 }, +] + +[[package]] +name = "nvidia-cusolver-cu12" +version = "11.7.3.90" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-cublas-cu12", marker = "(python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, + { name = "nvidia-cusparse-cu12", marker = "(python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, + { name = "nvidia-nvjitlink-cu12", marker = "(python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/32/f7cd6ce8a7690544d084ea21c26e910a97e077c9b7f07bf5de623ee19981/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:db9ed69dbef9715071232caa9b69c52ac7de3a95773c2db65bdba85916e4e5c0", size = 267229841 }, + { url = "https://files.pythonhosted.org/packages/85/48/9a13d2975803e8cf2777d5ed57b87a0b6ca2cc795f9a4f59796a910bfb80/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4376c11ad263152bd50ea295c05370360776f8c3427b30991df774f9fb26c450", size = 267506905 }, +] + +[[package]] +name = "nvidia-cusparse-cu12" +version = "12.5.8.93" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-nvjitlink-cu12", marker = "(python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/f7/cd777c4109681367721b00a106f491e0d0d15cfa1fd59672ce580ce42a97/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b6c161cb130be1a07a27ea6923df8141f3c295852f4b260c65f18f3e0a091dc", size = 288117129 }, + { url = "https://files.pythonhosted.org/packages/c2/f5/e1854cb2f2bcd4280c44736c93550cc300ff4b8c95ebe370d0aa7d2b473d/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ec05d76bbbd8b61b06a80e1eaf8cf4959c3d4ce8e711b65ebd0443bb0ebb13b", size = 288216466 }, +] + +[[package]] +name = "nvidia-cusparselt-cu12" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/73/b9/598f6ff36faaece4b3c50d26f50e38661499ff34346f00e057760b35cc9d/nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8878dce784d0fac90131b6817b607e803c36e629ba34dc5b433471382196b6a5", size = 283835557 }, + { url = "https://files.pythonhosted.org/packages/56/79/12978b96bd44274fe38b5dde5cfb660b1d114f70a65ef962bcbbed99b549/nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:f1bb701d6b930d5a7cea44c19ceb973311500847f81b634d802b7b539dc55623", size = 287193691 }, +] + +[[package]] +name = "nvidia-nccl-cu12" +version = "2.27.5" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bb/1c/857979db0ef194ca5e21478a0612bcdbbe59458d7694361882279947b349/nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:31432ad4d1fb1004eb0c56203dc9bc2178a1ba69d1d9e02d64a6938ab5e40e7a", size = 322400625 }, + { url = "https://files.pythonhosted.org/packages/6e/89/f7a07dc961b60645dbbf42e80f2bc85ade7feb9a491b11a1e973aa00071f/nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ad730cf15cb5d25fe849c6e6ca9eb5b76db16a80f13f425ac68d8e2e55624457", size = 322348229 }, +] + +[[package]] +name = "nvidia-nvjitlink-cu12" +version = "12.8.93" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/74/86a07f1d0f42998ca31312f998bd3b9a7eff7f52378f4f270c8679c77fb9/nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:81ff63371a7ebd6e6451970684f916be2eab07321b73c9d244dc2b4da7f73b88", size = 39254836 }, + { url = "https://files.pythonhosted.org/packages/2a/a2/8cee5da30d13430e87bf99bb33455d2724d0a4a9cb5d7926d80ccb96d008/nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:adccd7161ace7261e01bb91e44e88da350895c270d23f744f0820c818b7229e7", size = 38386204 }, +] + +[[package]] +name = "nvidia-nvshmem-cu12" +version = "3.4.5" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/6a/03aa43cc9bd3ad91553a88b5f6fb25ed6a3752ae86ce2180221962bc2aa5/nvidia_nvshmem_cu12-3.4.5-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b48363fc6964dede448029434c6abed6c5e37f823cb43c3bcde7ecfc0457e15", size = 138936938 }, + { url = "https://files.pythonhosted.org/packages/b5/09/6ea3ea725f82e1e76684f0708bbedd871fc96da89945adeba65c3835a64c/nvidia_nvshmem_cu12-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:042f2500f24c021db8a06c5eec2539027d57460e1c1a762055a6554f72c369bd", size = 139103095 }, +] + +[[package]] +name = "nvidia-nvtx-cu12" +version = "12.8.90" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/c0/1b303feea90d296f6176f32a2a70b5ef230f9bdeb3a72bddb0dc922dc137/nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d7ad891da111ebafbf7e015d34879f7112832fc239ff0d7d776b6cb685274615", size = 91161 }, + { url = "https://files.pythonhosted.org/packages/a2/eb/86626c1bbc2edb86323022371c39aa48df6fd8b0a1647bc274577f72e90b/nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b17e2001cc0d751a5bc2c6ec6d26ad95913324a4adb86788c944f8ce9ba441f", size = 89954 }, +] + +[[package]] +name = "onnx" +version = "1.20.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ml-dtypes" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "protobuf" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3b/8a/335c03a8683a88a32f9a6bb98899ea6df241a41df64b37b9696772414794/onnx-1.20.1.tar.gz", hash = "sha256:ded16de1df563d51fbc1ad885f2a426f814039d8b5f4feb77febe09c0295ad67", size = 12048980 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/cc/4ba3c80cfaffdb541dc5a23eaccb045a627361e94ecaeba30496270f15b3/onnx-1.20.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:3fe243e83ad737637af6512708454e720d4b0864def2b28e6b0ee587b80a50be", size = 17904206 }, + { url = "https://files.pythonhosted.org/packages/f3/fc/3a1c4ae2cd5cfab2d0ebc1842769b04b417fe13946144a7c8ce470dd9c85/onnx-1.20.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e24e96b48f27e4d6b44cb0b195b367a2665da2d819621eec51903d575fc49d38", size = 17414849 }, + { url = "https://files.pythonhosted.org/packages/a4/ab/5017945291b981f2681fb620f2d5b6070e02170c648770711ef1eac79d56/onnx-1.20.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0903e6088ed5e8f59ebd381ab2a6e9b2a60b4c898f79aa2fe76bb79cf38a5031", size = 17513600 }, + { url = "https://files.pythonhosted.org/packages/2e/b0/063e79dc365972af876d786bacc6acd8909691af2b9296615ff74ad182f3/onnx-1.20.1-cp310-cp310-win32.whl", hash = "sha256:17483e59082b2ca6cadd2b48fd8dce937e5b2c985ed5583fefc38af928be1826", size = 16239159 }, + { url = "https://files.pythonhosted.org/packages/2a/73/a992271eb3683e676239d71b5a78ad3cf4d06d2223c387e701bf305da199/onnx-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:e2b0cf797faedfd3b83491dc168ab5f1542511448c65ceb482f20f04420cbf3a", size = 16391718 }, + { url = "https://files.pythonhosted.org/packages/0c/38/1a0e74d586c08833404100f5c052f92732fb5be417c0b2d7cb0838443bfe/onnx-1.20.1-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:53426e1b458641e7a537e9f176330012ff59d90206cac1c1a9d03cdd73ed3095", size = 17904965 }, + { url = "https://files.pythonhosted.org/packages/96/25/64b076e9684d17335f80b15b3bf502f7a8e1a89f08a6b208d4f2861b3011/onnx-1.20.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ca7281f8c576adf396c338cf43fff26faee8d4d2e2577b8e73738f37ceccf945", size = 17415179 }, + { url = "https://files.pythonhosted.org/packages/ac/d5/6743b409421ced20ad5af1b3a7b4c4e568689ffaca86db431692fca409a6/onnx-1.20.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2297f428c51c7fc6d8fad0cf34384284dfeff3f86799f8e83ef905451348ade0", size = 17513672 }, + { url = "https://files.pythonhosted.org/packages/9a/6b/dae82e6fdb2043302f29adca37522312ea2be55b75907b59be06fbdffe87/onnx-1.20.1-cp311-cp311-win32.whl", hash = "sha256:63d9cbcab8c96841eadeb7c930e07bfab4dde8081eb76fb68e0dfb222706b81e", size = 16239336 }, + { url = "https://files.pythonhosted.org/packages/8e/17/a0d7863390c1f2067d7c02dcc1477034965c32aaa1407bfcf775305ffee4/onnx-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:d78cde72d7ca8356a2d99c5dc0dbf67264254828cae2c5780184486c0cd7b3bf", size = 16392120 }, + { url = "https://files.pythonhosted.org/packages/aa/72/9b879a46eb7a3322223791f36bf9c25d95da9ed93779eabb75a560f22e5b/onnx-1.20.1-cp311-cp311-win_arm64.whl", hash = "sha256:0104bb2d4394c179bcea3df7599a45a2932b80f4633840896fcf0d7d8daecea2", size = 16346923 }, + { url = "https://files.pythonhosted.org/packages/7c/4c/4b17e82f91ab9aa07ff595771e935ca73547b035030dc5f5a76e63fbfea9/onnx-1.20.1-cp312-abi3-macosx_12_0_universal2.whl", hash = "sha256:1d923bb4f0ce1b24c6859222a7e6b2f123e7bfe7623683662805f2e7b9e95af2", size = 17903547 }, + { url = "https://files.pythonhosted.org/packages/64/5e/1bfa100a9cb3f2d3d5f2f05f52f7e60323b0e20bb0abace1ae64dbc88f25/onnx-1.20.1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ddc0b7d8b5a94627dc86c533d5e415af94cbfd103019a582669dad1f56d30281", size = 17412021 }, + { url = "https://files.pythonhosted.org/packages/fb/71/d3fec0dcf9a7a99e7368112d9c765154e81da70fcba1e3121131a45c245b/onnx-1.20.1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9336b6b8e6efcf5c490a845f6afd7e041c89a56199aeda384ed7d58fb953b080", size = 17510450 }, + { url = "https://files.pythonhosted.org/packages/74/a7/edce1403e05a46e59b502fae8e3350ceeac5841f8e8f1561e98562ed9b09/onnx-1.20.1-cp312-abi3-win32.whl", hash = "sha256:564c35a94811979808ab5800d9eb4f3f32c12daedba7e33ed0845f7c61ef2431", size = 16238216 }, + { url = "https://files.pythonhosted.org/packages/8b/c7/8690c81200ae652ac550c1df52f89d7795e6cc941f3cb38c9ef821419e80/onnx-1.20.1-cp312-abi3-win_amd64.whl", hash = "sha256:9fe7f9a633979d50984b94bda8ceb7807403f59a341d09d19342dc544d0ca1d5", size = 16389207 }, + { url = "https://files.pythonhosted.org/packages/01/a0/4fb0e6d36eaf079af366b2c1f68bafe92df6db963e2295da84388af64abc/onnx-1.20.1-cp312-abi3-win_arm64.whl", hash = "sha256:21d747348b1c8207406fa2f3e12b82f53e0d5bb3958bcd0288bd27d3cb6ebb00", size = 16344155 }, + { url = "https://files.pythonhosted.org/packages/ea/bb/715fad292b255664f0e603f1b2ef7bf2b386281775f37406beb99fa05957/onnx-1.20.1-cp313-cp313t-macosx_12_0_universal2.whl", hash = "sha256:29197b768f5acdd1568ddeb0a376407a2817844f6ac1ef8c8dd2d974c9ab27c3", size = 17912296 }, + { url = "https://files.pythonhosted.org/packages/2d/c3/541af12c3d45e159a94ee701100ba9e94b7bd8b7a8ac5ca6838569f894f8/onnx-1.20.1-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f0371aa67f51917a09cc829ada0f9a79a58f833449e03d748f7f7f53787c43c", size = 17416925 }, + { url = "https://files.pythonhosted.org/packages/2c/3b/d5660a7d2ddf14f531ca66d409239f543bb290277c3f14f4b4b78e32efa3/onnx-1.20.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:be1e5522200b203b34327b2cf132ddec20ab063469476e1f5b02bb7bd259a489", size = 17515602 }, + { url = "https://files.pythonhosted.org/packages/9c/b4/47225ab2a92562eff87ba9a1a028e3535d659a7157d7cde659003998b8e3/onnx-1.20.1-cp313-cp313t-win_amd64.whl", hash = "sha256:15c815313bbc4b2fdc7e4daeb6e26b6012012adc4d850f4e3b09ed327a7ea92a", size = 16395729 }, + { url = "https://files.pythonhosted.org/packages/aa/7d/1bbe626ff6b192c844d3ad34356840cc60fca02e2dea0db95e01645758b1/onnx-1.20.1-cp313-cp313t-win_arm64.whl", hash = "sha256:eb335d7bcf9abac82a0d6a0fda0363531ae0b22cfd0fc6304bff32ee29905def", size = 16348968 }, +] + +[[package]] +name = "onnx-ir" +version = "0.1.15" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ml-dtypes" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "onnx" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/a4/930427e49ccae912f2e21da96b8f52dbb7fb2fdfbba8006dca15c678e96b/onnx_ir-0.1.15.tar.gz", hash = "sha256:edec4db6c502856835e8f46f2d9f5dd8079fbd930170e418eda4203c599fb74a", size = 128266 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/bf/62da272e87fd1d6317fe7a4dd22a8339f5ce37f95e5f63ad1ee46a13cd35/onnx_ir-0.1.15-py3-none-any.whl", hash = "sha256:c6df0eabd732671e9272275cf7693797497658610c00688d5e05132cbb4e2495", size = 148733 }, +] + +[[package]] +name = "onnxscript" +version = "0.5.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ml-dtypes" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "onnx" }, + { name = "onnx-ir" }, + { name = "packaging" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2c/f8/358a7d982ea51bc1b0c264f29c08adf096c62ba9f258ba13c954b41c46f5/onnxscript-0.5.7.tar.gz", hash = "sha256:480d572451bc233ed7f742b5005cb0c899594b2fdc28e15167dab26f7fd777ad", size = 596306 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/ec/1656ea93be1e50baf429c20603dce249fa3571f3a180407cee79b1afa013/onnxscript-0.5.7-py3-none-any.whl", hash = "sha256:f94a66059c56d13b44908e9b7fd9dae4b4faa6681c784f3fd4c29cfa863e454e", size = 693353 }, +] + +[[package]] +name = "packaging" +version = "26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366 }, +] + +[[package]] +name = "pandas" +version = "2.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "python-dateutil", marker = "python_full_version < '3.11'" }, + { name = "pytz", marker = "python_full_version < '3.11'" }, + { name = "tzdata", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", size = 4495223 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/f7/f425a00df4fcc22b292c6895c6831c0c8ae1d9fac1e024d16f98a9ce8749/pandas-2.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:376c6446ae31770764215a6c937f72d917f214b43560603cd60da6408f183b6c", size = 11555763 }, + { url = "https://files.pythonhosted.org/packages/13/4f/66d99628ff8ce7857aca52fed8f0066ce209f96be2fede6cef9f84e8d04f/pandas-2.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e19d192383eab2f4ceb30b412b22ea30690c9e618f78870357ae1d682912015a", size = 10801217 }, + { url = "https://files.pythonhosted.org/packages/1d/03/3fc4a529a7710f890a239cc496fc6d50ad4a0995657dccc1d64695adb9f4/pandas-2.3.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5caf26f64126b6c7aec964f74266f435afef1c1b13da3b0636c7518a1fa3e2b1", size = 12148791 }, + { url = "https://files.pythonhosted.org/packages/40/a8/4dac1f8f8235e5d25b9955d02ff6f29396191d4e665d71122c3722ca83c5/pandas-2.3.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd7478f1463441ae4ca7308a70e90b33470fa593429f9d4c578dd00d1fa78838", size = 12769373 }, + { url = "https://files.pythonhosted.org/packages/df/91/82cc5169b6b25440a7fc0ef3a694582418d875c8e3ebf796a6d6470aa578/pandas-2.3.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4793891684806ae50d1288c9bae9330293ab4e083ccd1c5e383c34549c6e4250", size = 13200444 }, + { url = "https://files.pythonhosted.org/packages/10/ae/89b3283800ab58f7af2952704078555fa60c807fff764395bb57ea0b0dbd/pandas-2.3.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28083c648d9a99a5dd035ec125d42439c6c1c525098c58af0fc38dd1a7a1b3d4", size = 13858459 }, + { url = "https://files.pythonhosted.org/packages/85/72/530900610650f54a35a19476eca5104f38555afccda1aa11a92ee14cb21d/pandas-2.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:503cf027cf9940d2ceaa1a93cfb5f8c8c7e6e90720a2850378f0b3f3b1e06826", size = 11346086 }, + { url = "https://files.pythonhosted.org/packages/c1/fa/7ac648108144a095b4fb6aa3de1954689f7af60a14cf25583f4960ecb878/pandas-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:602b8615ebcc4a0c1751e71840428ddebeb142ec02c786e8ad6b1ce3c8dec523", size = 11578790 }, + { url = "https://files.pythonhosted.org/packages/9b/35/74442388c6cf008882d4d4bdfc4109be87e9b8b7ccd097ad1e7f006e2e95/pandas-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8fe25fc7b623b0ef6b5009149627e34d2a4657e880948ec3c840e9402e5c1b45", size = 10833831 }, + { url = "https://files.pythonhosted.org/packages/fe/e4/de154cbfeee13383ad58d23017da99390b91d73f8c11856f2095e813201b/pandas-2.3.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b468d3dad6ff947df92dcb32ede5b7bd41a9b3cceef0a30ed925f6d01fb8fa66", size = 12199267 }, + { url = "https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b98560e98cb334799c0b07ca7967ac361a47326e9b4e5a7dfb5ab2b1c9d35a1b", size = 12789281 }, + { url = "https://files.pythonhosted.org/packages/f2/00/a5ac8c7a0e67fd1a6059e40aa08fa1c52cc00709077d2300e210c3ce0322/pandas-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37b5848ba49824e5c30bedb9c830ab9b7751fd049bc7914533e01c65f79791", size = 13240453 }, + { url = "https://files.pythonhosted.org/packages/27/4d/5c23a5bc7bd209231618dd9e606ce076272c9bc4f12023a70e03a86b4067/pandas-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db4301b2d1f926ae677a751eb2bd0e8c5f5319c9cb3f88b0becbbb0b07b34151", size = 13890361 }, + { url = "https://files.pythonhosted.org/packages/8e/59/712db1d7040520de7a4965df15b774348980e6df45c129b8c64d0dbe74ef/pandas-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:f086f6fe114e19d92014a1966f43a3e62285109afe874f067f5abbdcbb10e59c", size = 11348702 }, + { url = "https://files.pythonhosted.org/packages/9c/fb/231d89e8637c808b997d172b18e9d4a4bc7bf31296196c260526055d1ea0/pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53", size = 11597846 }, + { url = "https://files.pythonhosted.org/packages/5c/bd/bf8064d9cfa214294356c2d6702b716d3cf3bb24be59287a6a21e24cae6b/pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35", size = 10729618 }, + { url = "https://files.pythonhosted.org/packages/57/56/cf2dbe1a3f5271370669475ead12ce77c61726ffd19a35546e31aa8edf4e/pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908", size = 11737212 }, + { url = "https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89", size = 12362693 }, + { url = "https://files.pythonhosted.org/packages/a6/de/8b1895b107277d52f2b42d3a6806e69cfef0d5cf1d0ba343470b9d8e0a04/pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98", size = 12771002 }, + { url = "https://files.pythonhosted.org/packages/87/21/84072af3187a677c5893b170ba2c8fbe450a6ff911234916da889b698220/pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084", size = 13450971 }, + { url = "https://files.pythonhosted.org/packages/86/41/585a168330ff063014880a80d744219dbf1dd7a1c706e75ab3425a987384/pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b", size = 10992722 }, + { url = "https://files.pythonhosted.org/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713", size = 11544671 }, + { url = "https://files.pythonhosted.org/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8", size = 10680807 }, + { url = "https://files.pythonhosted.org/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d", size = 11709872 }, + { url = "https://files.pythonhosted.org/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac", size = 12306371 }, + { url = "https://files.pythonhosted.org/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c", size = 12765333 }, + { url = "https://files.pythonhosted.org/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493", size = 13418120 }, + { url = "https://files.pythonhosted.org/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee", size = 10993991 }, + { url = "https://files.pythonhosted.org/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5", size = 12048227 }, + { url = "https://files.pythonhosted.org/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21", size = 11411056 }, + { url = "https://files.pythonhosted.org/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78", size = 11645189 }, + { url = "https://files.pythonhosted.org/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110", size = 12121912 }, + { url = "https://files.pythonhosted.org/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86", size = 12712160 }, + { url = "https://files.pythonhosted.org/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc", size = 13199233 }, + { url = "https://files.pythonhosted.org/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0", size = 11540635 }, + { url = "https://files.pythonhosted.org/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593", size = 10759079 }, + { url = "https://files.pythonhosted.org/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c", size = 11814049 }, + { url = "https://files.pythonhosted.org/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b", size = 12332638 }, + { url = "https://files.pythonhosted.org/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6", size = 12886834 }, + { url = "https://files.pythonhosted.org/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3", size = 13409925 }, + { url = "https://files.pythonhosted.org/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5", size = 11109071 }, + { url = "https://files.pythonhosted.org/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec", size = 12048504 }, + { url = "https://files.pythonhosted.org/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7", size = 11410702 }, + { url = "https://files.pythonhosted.org/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450", size = 11634535 }, + { url = "https://files.pythonhosted.org/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5", size = 12121582 }, + { url = "https://files.pythonhosted.org/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788", size = 12699963 }, + { url = "https://files.pythonhosted.org/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87", size = 13202175 }, +] + +[[package]] +name = "pandas" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten'", + "python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +dependencies = [ + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "python-dateutil", marker = "python_full_version >= '3.11'" }, + { name = "tzdata", marker = "(python_full_version >= '3.11' and sys_platform == 'emscripten') or (python_full_version >= '3.11' and sys_platform == 'win32')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/da/b1dc0481ab8d55d0f46e343cfe67d4551a0e14fcee52bd38ca1bd73258d8/pandas-3.0.0.tar.gz", hash = "sha256:0facf7e87d38f721f0af46fe70d97373a37701b1c09f7ed7aeeb292ade5c050f", size = 4633005 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/1e/b184654a856e75e975a6ee95d6577b51c271cd92cb2b020c9378f53e0032/pandas-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d64ce01eb9cdca96a15266aa679ae50212ec52757c79204dbc7701a222401850", size = 10313247 }, + { url = "https://files.pythonhosted.org/packages/dd/5e/e04a547ad0f0183bf151fd7c7a477468e3b85ff2ad231c566389e6cc9587/pandas-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:613e13426069793aa1ec53bdcc3b86e8d32071daea138bbcf4fa959c9cdaa2e2", size = 9913131 }, + { url = "https://files.pythonhosted.org/packages/a2/93/bb77bfa9fc2aba9f7204db807d5d3fb69832ed2854c60ba91b4c65ba9219/pandas-3.0.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0192fee1f1a8e743b464a6607858ee4b071deb0b118eb143d71c2a1d170996d5", size = 10741925 }, + { url = "https://files.pythonhosted.org/packages/62/fb/89319812eb1d714bfc04b7f177895caeba8ab4a37ef6712db75ed786e2e0/pandas-3.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f0b853319dec8d5e0c8b875374c078ef17f2269986a78168d9bd57e49bf650ae", size = 11245979 }, + { url = "https://files.pythonhosted.org/packages/a9/63/684120486f541fc88da3862ed31165b3b3e12b6a1c7b93be4597bc84e26c/pandas-3.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:707a9a877a876c326ae2cb640fbdc4ef63b0a7b9e2ef55c6df9942dcee8e2af9", size = 11756337 }, + { url = "https://files.pythonhosted.org/packages/39/92/7eb0ad232312b59aec61550c3c81ad0743898d10af5df7f80bc5e5065416/pandas-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:afd0aa3d0b5cda6e0b8ffc10dbcca3b09ef3cbcd3fe2b27364f85fdc04e1989d", size = 12325517 }, + { url = "https://files.pythonhosted.org/packages/51/27/bf9436dd0a4fc3130acec0828951c7ef96a0631969613a9a35744baf27f6/pandas-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:113b4cca2614ff7e5b9fee9b6f066618fe73c5a83e99d721ffc41217b2bf57dd", size = 9881576 }, + { url = "https://files.pythonhosted.org/packages/e7/2b/c618b871fce0159fd107516336e82891b404e3f340821853c2fc28c7830f/pandas-3.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c14837eba8e99a8da1527c0280bba29b0eb842f64aa94982c5e21227966e164b", size = 9140807 }, + { url = "https://files.pythonhosted.org/packages/0b/38/db33686f4b5fa64d7af40d96361f6a4615b8c6c8f1b3d334eee46ae6160e/pandas-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9803b31f5039b3c3b10cc858c5e40054adb4b29b4d81cb2fd789f4121c8efbcd", size = 10334013 }, + { url = "https://files.pythonhosted.org/packages/a5/7b/9254310594e9774906bacdd4e732415e1f86ab7dbb4b377ef9ede58cd8ec/pandas-3.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14c2a4099cd38a1d18ff108168ea417909b2dea3bd1ebff2ccf28ddb6a74d740", size = 9874154 }, + { url = "https://files.pythonhosted.org/packages/63/d4/726c5a67a13bc66643e66d2e9ff115cead482a44fc56991d0c4014f15aaf/pandas-3.0.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d257699b9a9960e6125686098d5714ac59d05222bef7a5e6af7a7fd87c650801", size = 10384433 }, + { url = "https://files.pythonhosted.org/packages/bf/2e/9211f09bedb04f9832122942de8b051804b31a39cfbad199a819bb88d9f3/pandas-3.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:69780c98f286076dcafca38d8b8eee1676adf220199c0a39f0ecbf976b68151a", size = 10864519 }, + { url = "https://files.pythonhosted.org/packages/00/8d/50858522cdc46ac88b9afdc3015e298959a70a08cd21e008a44e9520180c/pandas-3.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4a66384f017240f3858a4c8a7cf21b0591c3ac885cddb7758a589f0f71e87ebb", size = 11394124 }, + { url = "https://files.pythonhosted.org/packages/86/3f/83b2577db02503cd93d8e95b0f794ad9d4be0ba7cb6c8bcdcac964a34a42/pandas-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:be8c515c9bc33989d97b89db66ea0cececb0f6e3c2a87fcc8b69443a6923e95f", size = 11920444 }, + { url = "https://files.pythonhosted.org/packages/64/2d/4f8a2f192ed12c90a0aab47f5557ece0e56b0370c49de9454a09de7381b2/pandas-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:a453aad8c4f4e9f166436994a33884442ea62aa8b27d007311e87521b97246e1", size = 9730970 }, + { url = "https://files.pythonhosted.org/packages/d4/64/ff571be435cf1e643ca98d0945d76732c0b4e9c37191a89c8550b105eed1/pandas-3.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:da768007b5a33057f6d9053563d6b74dd6d029c337d93c6d0d22a763a5c2ecc0", size = 9041950 }, + { url = "https://files.pythonhosted.org/packages/6f/fa/7f0ac4ca8877c57537aaff2a842f8760e630d8e824b730eb2e859ffe96ca/pandas-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b78d646249b9a2bc191040988c7bb524c92fa8534fb0898a0741d7e6f2ffafa6", size = 10307129 }, + { url = "https://files.pythonhosted.org/packages/6f/11/28a221815dcea4c0c9414dfc845e34a84a6a7dabc6da3194498ed5ba4361/pandas-3.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bc9cba7b355cb4162442a88ce495e01cb605f17ac1e27d6596ac963504e0305f", size = 9850201 }, + { url = "https://files.pythonhosted.org/packages/ba/da/53bbc8c5363b7e5bd10f9ae59ab250fc7a382ea6ba08e4d06d8694370354/pandas-3.0.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c9a1a149aed3b6c9bf246033ff91e1b02d529546c5d6fb6b74a28fea0cf4c70", size = 10354031 }, + { url = "https://files.pythonhosted.org/packages/f7/a3/51e02ebc2a14974170d51e2410dfdab58870ea9bcd37cda15bd553d24dc4/pandas-3.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95683af6175d884ee89471842acfca29172a85031fccdabc35e50c0984470a0e", size = 10861165 }, + { url = "https://files.pythonhosted.org/packages/a5/fe/05a51e3cac11d161472b8297bd41723ea98013384dd6d76d115ce3482f9b/pandas-3.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1fbbb5a7288719e36b76b4f18d46ede46e7f916b6c8d9915b756b0a6c3f792b3", size = 11359359 }, + { url = "https://files.pythonhosted.org/packages/ee/56/ba620583225f9b85a4d3e69c01df3e3870659cc525f67929b60e9f21dcd1/pandas-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8e8b9808590fa364416b49b2a35c1f4cf2785a6c156935879e57f826df22038e", size = 11912907 }, + { url = "https://files.pythonhosted.org/packages/c9/8c/c6638d9f67e45e07656b3826405c5cc5f57f6fd07c8b2572ade328c86e22/pandas-3.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:98212a38a709feb90ae658cb6227ea3657c22ba8157d4b8f913cd4c950de5e7e", size = 9732138 }, + { url = "https://files.pythonhosted.org/packages/7b/bf/bd1335c3bf1770b6d8fed2799993b11c4971af93bb1b729b9ebbc02ca2ec/pandas-3.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:177d9df10b3f43b70307a149d7ec49a1229a653f907aa60a48f1877d0e6be3be", size = 9033568 }, + { url = "https://files.pythonhosted.org/packages/8e/c6/f5e2171914d5e29b9171d495344097d54e3ffe41d2d85d8115baba4dc483/pandas-3.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2713810ad3806767b89ad3b7b69ba153e1c6ff6d9c20f9c2140379b2a98b6c98", size = 10741936 }, + { url = "https://files.pythonhosted.org/packages/51/88/9a0164f99510a1acb9f548691f022c756c2314aad0d8330a24616c14c462/pandas-3.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:15d59f885ee5011daf8335dff47dcb8a912a27b4ad7826dc6cbe809fd145d327", size = 10393884 }, + { url = "https://files.pythonhosted.org/packages/e0/53/b34d78084d88d8ae2b848591229da8826d1e65aacf00b3abe34023467648/pandas-3.0.0-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:24e6547fb64d2c92665dd2adbfa4e85fa4fd70a9c070e7cfb03b629a0bbab5eb", size = 10310740 }, + { url = "https://files.pythonhosted.org/packages/5b/d3/bee792e7c3d6930b74468d990604325701412e55d7aaf47460a22311d1a5/pandas-3.0.0-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:48ee04b90e2505c693d3f8e8f524dab8cb8aaf7ddcab52c92afa535e717c4812", size = 10700014 }, + { url = "https://files.pythonhosted.org/packages/55/db/2570bc40fb13aaed1cbc3fbd725c3a60ee162477982123c3adc8971e7ac1/pandas-3.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:66f72fb172959af42a459e27a8d8d2c7e311ff4c1f7db6deb3b643dbc382ae08", size = 11323737 }, + { url = "https://files.pythonhosted.org/packages/bc/2e/297ac7f21c8181b62a4cccebad0a70caf679adf3ae5e83cb676194c8acc3/pandas-3.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4a4a400ca18230976724a5066f20878af785f36c6756e498e94c2a5e5d57779c", size = 11771558 }, + { url = "https://files.pythonhosted.org/packages/0a/46/e1c6876d71c14332be70239acce9ad435975a80541086e5ffba2f249bcf6/pandas-3.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:940eebffe55528074341a5a36515f3e4c5e25e958ebbc764c9502cfc35ba3faa", size = 10473771 }, + { url = "https://files.pythonhosted.org/packages/c0/db/0270ad9d13c344b7a36fa77f5f8344a46501abf413803e885d22864d10bf/pandas-3.0.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:597c08fb9fef0edf1e4fa2f9828dd27f3d78f9b8c9b4a748d435ffc55732310b", size = 10312075 }, + { url = "https://files.pythonhosted.org/packages/09/9f/c176f5e9717f7c91becfe0f55a52ae445d3f7326b4a2cf355978c51b7913/pandas-3.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:447b2d68ac5edcbf94655fe909113a6dba6ef09ad7f9f60c80477825b6c489fe", size = 9900213 }, + { url = "https://files.pythonhosted.org/packages/d9/e7/63ad4cc10b257b143e0a5ebb04304ad806b4e1a61c5da25f55896d2ca0f4/pandas-3.0.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:debb95c77ff3ed3ba0d9aa20c3a2f19165cc7956362f9873fce1ba0a53819d70", size = 10428768 }, + { url = "https://files.pythonhosted.org/packages/9e/0e/4e4c2d8210f20149fd2248ef3fff26623604922bd564d915f935a06dd63d/pandas-3.0.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fedabf175e7cd82b69b74c30adbaa616de301291a5231138d7242596fc296a8d", size = 10882954 }, + { url = "https://files.pythonhosted.org/packages/c6/60/c9de8ac906ba1f4d2250f8a951abe5135b404227a55858a75ad26f84db47/pandas-3.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:412d1a89aab46889f3033a386912efcdfa0f1131c5705ff5b668dda88305e986", size = 11430293 }, + { url = "https://files.pythonhosted.org/packages/a1/69/806e6637c70920e5787a6d6896fd707f8134c2c55cd761e7249a97b7dc5a/pandas-3.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e979d22316f9350c516479dd3a92252be2937a9531ed3a26ec324198a99cdd49", size = 11952452 }, + { url = "https://files.pythonhosted.org/packages/cb/de/918621e46af55164c400ab0ef389c9d969ab85a43d59ad1207d4ddbe30a5/pandas-3.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:083b11415b9970b6e7888800c43c82e81a06cd6b06755d84804444f0007d6bb7", size = 9851081 }, + { url = "https://files.pythonhosted.org/packages/91/a1/3562a18dd0bd8c73344bfa26ff90c53c72f827df119d6d6b1dacc84d13e3/pandas-3.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:5db1e62cb99e739fa78a28047e861b256d17f88463c76b8dafc7c1338086dca8", size = 9174610 }, + { url = "https://files.pythonhosted.org/packages/ce/26/430d91257eaf366f1737d7a1c158677caaf6267f338ec74e3a1ec444111c/pandas-3.0.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:697b8f7d346c68274b1b93a170a70974cdc7d7354429894d5927c1effdcccd73", size = 10761999 }, + { url = "https://files.pythonhosted.org/packages/ec/1a/954eb47736c2b7f7fe6a9d56b0cb6987773c00faa3c6451a43db4beb3254/pandas-3.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:8cb3120f0d9467ed95e77f67a75e030b67545bcfa08964e349252d674171def2", size = 10410279 }, + { url = "https://files.pythonhosted.org/packages/20/fc/b96f3a5a28b250cd1b366eb0108df2501c0f38314a00847242abab71bb3a/pandas-3.0.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:33fd3e6baa72899746b820c31e4b9688c8e1b7864d7aec2de7ab5035c285277a", size = 10330198 }, + { url = "https://files.pythonhosted.org/packages/90/b3/d0e2952f103b4fbef1ef22d0c2e314e74fc9064b51cee30890b5e3286ee6/pandas-3.0.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8942e333dc67ceda1095227ad0febb05a3b36535e520154085db632c40ad084", size = 10728513 }, + { url = "https://files.pythonhosted.org/packages/76/81/832894f286df828993dc5fd61c63b231b0fb73377e99f6c6c369174cf97e/pandas-3.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:783ac35c4d0fe0effdb0d67161859078618b1b6587a1af15928137525217a721", size = 11345550 }, + { url = "https://files.pythonhosted.org/packages/34/a0/ed160a00fb4f37d806406bc0a79a8b62fe67f29d00950f8d16203ff3409b/pandas-3.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:125eb901e233f155b268bbef9abd9afb5819db74f0e677e89a61b246228c71ac", size = 11799386 }, + { url = "https://files.pythonhosted.org/packages/36/c8/2ac00d7255252c5e3cf61b35ca92ca25704b0188f7454ca4aec08a33cece/pandas-3.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b86d113b6c109df3ce0ad5abbc259fe86a1bd4adfd4a31a89da42f84f65509bb", size = 10873041 }, + { url = "https://files.pythonhosted.org/packages/e6/3f/a80ac00acbc6b35166b42850e98a4f466e2c0d9c64054161ba9620f95680/pandas-3.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:1c39eab3ad38f2d7a249095f0a3d8f8c22cc0f847e98ccf5bbe732b272e2d9fa", size = 9441003 }, +] + +[[package]] +name = "peft" +version = "0.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "accelerate" }, + { name = "huggingface-hub" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyyaml" }, + { name = "safetensors" }, + { name = "torch" }, + { name = "tqdm" }, + { name = "transformers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d8/48/147b3ea999560b40a34fd78724c7777aa9d18409c2250bdcaf9c4f2db7fc/peft-0.18.1.tar.gz", hash = "sha256:2dd0d6bfce936d1850e48aaddbd250941c5c02fc8ef3237cd8fd5aac35e0bae2", size = 635030 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/14/b4e3f574acf349ae6f61f9c000a77f97a3b315b4bb6ad03791e79ae4a568/peft-0.18.1-py3-none-any.whl", hash = "sha256:0bf06847a3551e3019fc58c440cffc9a6b73e6e2962c95b52e224f77bbdb50f1", size = 556960 }, +] + +[[package]] +name = "propcache" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", size = 46442 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/0e/934b541323035566a9af292dba85a195f7b78179114f2c6ebb24551118a9/propcache-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db", size = 79534 }, + { url = "https://files.pythonhosted.org/packages/a1/6b/db0d03d96726d995dc7171286c6ba9d8d14251f37433890f88368951a44e/propcache-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1eb2994229cc8ce7fe9b3db88f5465f5fd8651672840b2e426b88cdb1a30aac8", size = 45526 }, + { url = "https://files.pythonhosted.org/packages/e4/c3/82728404aea669e1600f304f2609cde9e665c18df5a11cdd57ed73c1dceb/propcache-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:66c1f011f45a3b33d7bcb22daed4b29c0c9e2224758b6be00686731e1b46f925", size = 47263 }, + { url = "https://files.pythonhosted.org/packages/df/1b/39313ddad2bf9187a1432654c38249bab4562ef535ef07f5eb6eb04d0b1b/propcache-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9a52009f2adffe195d0b605c25ec929d26b36ef986ba85244891dee3b294df21", size = 201012 }, + { url = "https://files.pythonhosted.org/packages/5b/01/f1d0b57d136f294a142acf97f4ed58c8e5b974c21e543000968357115011/propcache-0.4.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5d4e2366a9c7b837555cf02fb9be2e3167d333aff716332ef1b7c3a142ec40c5", size = 209491 }, + { url = "https://files.pythonhosted.org/packages/a1/c8/038d909c61c5bb039070b3fb02ad5cccdb1dde0d714792e251cdb17c9c05/propcache-0.4.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9d2b6caef873b4f09e26ea7e33d65f42b944837563a47a94719cc3544319a0db", size = 215319 }, + { url = "https://files.pythonhosted.org/packages/08/57/8c87e93142b2c1fa2408e45695205a7ba05fb5db458c0bf5c06ba0e09ea6/propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b16ec437a8c8a965ecf95739448dd938b5c7f56e67ea009f4300d8df05f32b7", size = 196856 }, + { url = "https://files.pythonhosted.org/packages/42/df/5615fec76aa561987a534759b3686008a288e73107faa49a8ae5795a9f7a/propcache-0.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:296f4c8ed03ca7476813fe666c9ea97869a8d7aec972618671b33a38a5182ef4", size = 193241 }, + { url = "https://files.pythonhosted.org/packages/d5/21/62949eb3a7a54afe8327011c90aca7e03547787a88fb8bd9726806482fea/propcache-0.4.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1f0978529a418ebd1f49dad413a2b68af33f85d5c5ca5c6ca2a3bed375a7ac60", size = 190552 }, + { url = "https://files.pythonhosted.org/packages/30/ee/ab4d727dd70806e5b4de96a798ae7ac6e4d42516f030ee60522474b6b332/propcache-0.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fd138803047fb4c062b1c1dd95462f5209456bfab55c734458f15d11da288f8f", size = 200113 }, + { url = "https://files.pythonhosted.org/packages/8a/0b/38b46208e6711b016aa8966a3ac793eee0d05c7159d8342aa27fc0bc365e/propcache-0.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8c9b3cbe4584636d72ff556d9036e0c9317fa27b3ac1f0f558e7e84d1c9c5900", size = 200778 }, + { url = "https://files.pythonhosted.org/packages/cf/81/5abec54355ed344476bee711e9f04815d4b00a311ab0535599204eecc257/propcache-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f93243fdc5657247533273ac4f86ae106cc6445a0efacb9a1bfe982fcfefd90c", size = 193047 }, + { url = "https://files.pythonhosted.org/packages/ec/b6/1f237c04e32063cb034acd5f6ef34ef3a394f75502e72703545631ab1ef6/propcache-0.4.1-cp310-cp310-win32.whl", hash = "sha256:a0ee98db9c5f80785b266eb805016e36058ac72c51a064040f2bc43b61101cdb", size = 38093 }, + { url = "https://files.pythonhosted.org/packages/a6/67/354aac4e0603a15f76439caf0427781bcd6797f370377f75a642133bc954/propcache-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cdb7988c4e5ac7f6d175a28a9aa0c94cb6f2ebe52756a3c0cda98d2809a9e37", size = 41638 }, + { url = "https://files.pythonhosted.org/packages/e0/e1/74e55b9fd1a4c209ff1a9a824bf6c8b3d1fc5a1ac3eabe23462637466785/propcache-0.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:d82ad62b19645419fe79dd63b3f9253e15b30e955c0170e5cebc350c1844e581", size = 38229 }, + { url = "https://files.pythonhosted.org/packages/8c/d4/4e2c9aaf7ac2242b9358f98dccd8f90f2605402f5afeff6c578682c2c491/propcache-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60a8fda9644b7dfd5dece8c61d8a85e271cb958075bfc4e01083c148b61a7caf", size = 80208 }, + { url = "https://files.pythonhosted.org/packages/c2/21/d7b68e911f9c8e18e4ae43bdbc1e1e9bbd971f8866eb81608947b6f585ff/propcache-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c30b53e7e6bda1d547cabb47c825f3843a0a1a42b0496087bb58d8fedf9f41b5", size = 45777 }, + { url = "https://files.pythonhosted.org/packages/d3/1d/11605e99ac8ea9435651ee71ab4cb4bf03f0949586246476a25aadfec54a/propcache-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6918ecbd897443087a3b7cd978d56546a812517dcaaca51b49526720571fa93e", size = 47647 }, + { url = "https://files.pythonhosted.org/packages/58/1a/3c62c127a8466c9c843bccb503d40a273e5cc69838805f322e2826509e0d/propcache-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d902a36df4e5989763425a8ab9e98cd8ad5c52c823b34ee7ef307fd50582566", size = 214929 }, + { url = "https://files.pythonhosted.org/packages/56/b9/8fa98f850960b367c4b8fe0592e7fc341daa7a9462e925228f10a60cf74f/propcache-0.4.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a9695397f85973bb40427dedddf70d8dc4a44b22f1650dd4af9eedf443d45165", size = 221778 }, + { url = "https://files.pythonhosted.org/packages/46/a6/0ab4f660eb59649d14b3d3d65c439421cf2f87fe5dd68591cbe3c1e78a89/propcache-0.4.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2bb07ffd7eaad486576430c89f9b215f9e4be68c4866a96e97db9e97fead85dc", size = 228144 }, + { url = "https://files.pythonhosted.org/packages/52/6a/57f43e054fb3d3a56ac9fc532bc684fc6169a26c75c353e65425b3e56eef/propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd6f30fdcf9ae2a70abd34da54f18da086160e4d7d9251f81f3da0ff84fc5a48", size = 210030 }, + { url = "https://files.pythonhosted.org/packages/40/e2/27e6feebb5f6b8408fa29f5efbb765cd54c153ac77314d27e457a3e993b7/propcache-0.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc38cba02d1acba4e2869eef1a57a43dfbd3d49a59bf90dda7444ec2be6a5570", size = 208252 }, + { url = "https://files.pythonhosted.org/packages/9e/f8/91c27b22ccda1dbc7967f921c42825564fa5336a01ecd72eb78a9f4f53c2/propcache-0.4.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:67fad6162281e80e882fb3ec355398cf72864a54069d060321f6cd0ade95fe85", size = 202064 }, + { url = "https://files.pythonhosted.org/packages/f2/26/7f00bd6bd1adba5aafe5f4a66390f243acab58eab24ff1a08bebb2ef9d40/propcache-0.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f10207adf04d08bec185bae14d9606a1444715bc99180f9331c9c02093e1959e", size = 212429 }, + { url = "https://files.pythonhosted.org/packages/84/89/fd108ba7815c1117ddca79c228f3f8a15fc82a73bca8b142eb5de13b2785/propcache-0.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e9b0d8d0845bbc4cfcdcbcdbf5086886bc8157aa963c31c777ceff7846c77757", size = 216727 }, + { url = "https://files.pythonhosted.org/packages/79/37/3ec3f7e3173e73f1d600495d8b545b53802cbf35506e5732dd8578db3724/propcache-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:981333cb2f4c1896a12f4ab92a9cc8f09ea664e9b7dbdc4eff74627af3a11c0f", size = 205097 }, + { url = "https://files.pythonhosted.org/packages/61/b0/b2631c19793f869d35f47d5a3a56fb19e9160d3c119f15ac7344fc3ccae7/propcache-0.4.1-cp311-cp311-win32.whl", hash = "sha256:f1d2f90aeec838a52f1c1a32fe9a619fefd5e411721a9117fbf82aea638fe8a1", size = 38084 }, + { url = "https://files.pythonhosted.org/packages/f4/78/6cce448e2098e9f3bfc91bb877f06aa24b6ccace872e39c53b2f707c4648/propcache-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:364426a62660f3f699949ac8c621aad6977be7126c5807ce48c0aeb8e7333ea6", size = 41637 }, + { url = "https://files.pythonhosted.org/packages/9c/e9/754f180cccd7f51a39913782c74717c581b9cc8177ad0e949f4d51812383/propcache-0.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:e53f3a38d3510c11953f3e6a33f205c6d1b001129f972805ca9b42fc308bc239", size = 38064 }, + { url = "https://files.pythonhosted.org/packages/a2/0f/f17b1b2b221d5ca28b4b876e8bb046ac40466513960646bda8e1853cdfa2/propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2", size = 80061 }, + { url = "https://files.pythonhosted.org/packages/76/47/8ccf75935f51448ba9a16a71b783eb7ef6b9ee60f5d14c7f8a8a79fbeed7/propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403", size = 46037 }, + { url = "https://files.pythonhosted.org/packages/0a/b6/5c9a0e42df4d00bfb4a3cbbe5cf9f54260300c88a0e9af1f47ca5ce17ac0/propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207", size = 47324 }, + { url = "https://files.pythonhosted.org/packages/9e/d3/6c7ee328b39a81ee877c962469f1e795f9db87f925251efeb0545e0020d0/propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72", size = 225505 }, + { url = "https://files.pythonhosted.org/packages/01/5d/1c53f4563490b1d06a684742cc6076ef944bc6457df6051b7d1a877c057b/propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367", size = 230242 }, + { url = "https://files.pythonhosted.org/packages/20/e1/ce4620633b0e2422207c3cb774a0ee61cac13abc6217763a7b9e2e3f4a12/propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4", size = 238474 }, + { url = "https://files.pythonhosted.org/packages/46/4b/3aae6835b8e5f44ea6a68348ad90f78134047b503765087be2f9912140ea/propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf", size = 221575 }, + { url = "https://files.pythonhosted.org/packages/6e/a5/8a5e8678bcc9d3a1a15b9a29165640d64762d424a16af543f00629c87338/propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3", size = 216736 }, + { url = "https://files.pythonhosted.org/packages/f1/63/b7b215eddeac83ca1c6b934f89d09a625aa9ee4ba158338854c87210cc36/propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778", size = 213019 }, + { url = "https://files.pythonhosted.org/packages/57/74/f580099a58c8af587cac7ba19ee7cb418506342fbbe2d4a4401661cca886/propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6", size = 220376 }, + { url = "https://files.pythonhosted.org/packages/c4/ee/542f1313aff7eaf19c2bb758c5d0560d2683dac001a1c96d0774af799843/propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9", size = 226988 }, + { url = "https://files.pythonhosted.org/packages/8f/18/9c6b015dd9c6930f6ce2229e1f02fb35298b847f2087ea2b436a5bfa7287/propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75", size = 215615 }, + { url = "https://files.pythonhosted.org/packages/80/9e/e7b85720b98c45a45e1fca6a177024934dc9bc5f4d5dd04207f216fc33ed/propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8", size = 38066 }, + { url = "https://files.pythonhosted.org/packages/54/09/d19cff2a5aaac632ec8fc03737b223597b1e347416934c1b3a7df079784c/propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db", size = 41655 }, + { url = "https://files.pythonhosted.org/packages/68/ab/6b5c191bb5de08036a8c697b265d4ca76148efb10fa162f14af14fb5f076/propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1", size = 37789 }, + { url = "https://files.pythonhosted.org/packages/bf/df/6d9c1b6ac12b003837dde8a10231a7344512186e87b36e855bef32241942/propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf", size = 77750 }, + { url = "https://files.pythonhosted.org/packages/8b/e8/677a0025e8a2acf07d3418a2e7ba529c9c33caf09d3c1f25513023c1db56/propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311", size = 44780 }, + { url = "https://files.pythonhosted.org/packages/89/a4/92380f7ca60f99ebae761936bc48a72a639e8a47b29050615eef757cb2a7/propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74", size = 46308 }, + { url = "https://files.pythonhosted.org/packages/2d/48/c5ac64dee5262044348d1d78a5f85dd1a57464a60d30daee946699963eb3/propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe", size = 208182 }, + { url = "https://files.pythonhosted.org/packages/c6/0c/cd762dd011a9287389a6a3eb43aa30207bde253610cca06824aeabfe9653/propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af", size = 211215 }, + { url = "https://files.pythonhosted.org/packages/30/3e/49861e90233ba36890ae0ca4c660e95df565b2cd15d4a68556ab5865974e/propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c", size = 218112 }, + { url = "https://files.pythonhosted.org/packages/f1/8b/544bc867e24e1bd48f3118cecd3b05c694e160a168478fa28770f22fd094/propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f", size = 204442 }, + { url = "https://files.pythonhosted.org/packages/50/a6/4282772fd016a76d3e5c0df58380a5ea64900afd836cec2c2f662d1b9bb3/propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1", size = 199398 }, + { url = "https://files.pythonhosted.org/packages/3e/ec/d8a7cd406ee1ddb705db2139f8a10a8a427100347bd698e7014351c7af09/propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24", size = 196920 }, + { url = "https://files.pythonhosted.org/packages/f6/6c/f38ab64af3764f431e359f8baf9e0a21013e24329e8b85d2da32e8ed07ca/propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa", size = 203748 }, + { url = "https://files.pythonhosted.org/packages/d6/e3/fa846bd70f6534d647886621388f0a265254d30e3ce47e5c8e6e27dbf153/propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61", size = 205877 }, + { url = "https://files.pythonhosted.org/packages/e2/39/8163fc6f3133fea7b5f2827e8eba2029a0277ab2c5beee6c1db7b10fc23d/propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66", size = 199437 }, + { url = "https://files.pythonhosted.org/packages/93/89/caa9089970ca49c7c01662bd0eeedfe85494e863e8043565aeb6472ce8fe/propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81", size = 37586 }, + { url = "https://files.pythonhosted.org/packages/f5/ab/f76ec3c3627c883215b5c8080debb4394ef5a7a29be811f786415fc1e6fd/propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e", size = 40790 }, + { url = "https://files.pythonhosted.org/packages/59/1b/e71ae98235f8e2ba5004d8cb19765a74877abf189bc53fc0c80d799e56c3/propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1", size = 37158 }, + { url = "https://files.pythonhosted.org/packages/83/ce/a31bbdfc24ee0dcbba458c8175ed26089cf109a55bbe7b7640ed2470cfe9/propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b", size = 81451 }, + { url = "https://files.pythonhosted.org/packages/25/9c/442a45a470a68456e710d96cacd3573ef26a1d0a60067e6a7d5e655621ed/propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566", size = 46374 }, + { url = "https://files.pythonhosted.org/packages/f4/bf/b1d5e21dbc3b2e889ea4327044fb16312a736d97640fb8b6aa3f9c7b3b65/propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835", size = 48396 }, + { url = "https://files.pythonhosted.org/packages/f4/04/5b4c54a103d480e978d3c8a76073502b18db0c4bc17ab91b3cb5092ad949/propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e", size = 275950 }, + { url = "https://files.pythonhosted.org/packages/b4/c1/86f846827fb969c4b78b0af79bba1d1ea2156492e1b83dea8b8a6ae27395/propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859", size = 273856 }, + { url = "https://files.pythonhosted.org/packages/36/1d/fc272a63c8d3bbad6878c336c7a7dea15e8f2d23a544bda43205dfa83ada/propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b", size = 280420 }, + { url = "https://files.pythonhosted.org/packages/07/0c/01f2219d39f7e53d52e5173bcb09c976609ba30209912a0680adfb8c593a/propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0", size = 263254 }, + { url = "https://files.pythonhosted.org/packages/2d/18/cd28081658ce597898f0c4d174d4d0f3c5b6d4dc27ffafeef835c95eb359/propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af", size = 261205 }, + { url = "https://files.pythonhosted.org/packages/7a/71/1f9e22eb8b8316701c2a19fa1f388c8a3185082607da8e406a803c9b954e/propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393", size = 247873 }, + { url = "https://files.pythonhosted.org/packages/4a/65/3d4b61f36af2b4eddba9def857959f1016a51066b4f1ce348e0cf7881f58/propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874", size = 262739 }, + { url = "https://files.pythonhosted.org/packages/2a/42/26746ab087faa77c1c68079b228810436ccd9a5ce9ac85e2b7307195fd06/propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7", size = 263514 }, + { url = "https://files.pythonhosted.org/packages/94/13/630690fe201f5502d2403dd3cfd451ed8858fe3c738ee88d095ad2ff407b/propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1", size = 257781 }, + { url = "https://files.pythonhosted.org/packages/92/f7/1d4ec5841505f423469efbfc381d64b7b467438cd5a4bbcbb063f3b73d27/propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717", size = 41396 }, + { url = "https://files.pythonhosted.org/packages/48/f0/615c30622316496d2cbbc29f5985f7777d3ada70f23370608c1d3e081c1f/propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37", size = 44897 }, + { url = "https://files.pythonhosted.org/packages/fd/ca/6002e46eccbe0e33dcd4069ef32f7f1c9e243736e07adca37ae8c4830ec3/propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a", size = 39789 }, + { url = "https://files.pythonhosted.org/packages/8e/5c/bca52d654a896f831b8256683457ceddd490ec18d9ec50e97dfd8fc726a8/propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", size = 78152 }, + { url = "https://files.pythonhosted.org/packages/65/9b/03b04e7d82a5f54fb16113d839f5ea1ede58a61e90edf515f6577c66fa8f/propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", size = 44869 }, + { url = "https://files.pythonhosted.org/packages/b2/fa/89a8ef0468d5833a23fff277b143d0573897cf75bd56670a6d28126c7d68/propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", size = 46596 }, + { url = "https://files.pythonhosted.org/packages/86/bd/47816020d337f4a746edc42fe8d53669965138f39ee117414c7d7a340cfe/propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", size = 206981 }, + { url = "https://files.pythonhosted.org/packages/df/f6/c5fa1357cc9748510ee55f37173eb31bfde6d94e98ccd9e6f033f2fc06e1/propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", size = 211490 }, + { url = "https://files.pythonhosted.org/packages/80/1e/e5889652a7c4a3846683401a48f0f2e5083ce0ec1a8a5221d8058fbd1adf/propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", size = 215371 }, + { url = "https://files.pythonhosted.org/packages/b2/f2/889ad4b2408f72fe1a4f6a19491177b30ea7bf1a0fd5f17050ca08cfc882/propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", size = 201424 }, + { url = "https://files.pythonhosted.org/packages/27/73/033d63069b57b0812c8bd19f311faebeceb6ba31b8f32b73432d12a0b826/propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", size = 197566 }, + { url = "https://files.pythonhosted.org/packages/dc/89/ce24f3dc182630b4e07aa6d15f0ff4b14ed4b9955fae95a0b54c58d66c05/propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", size = 193130 }, + { url = "https://files.pythonhosted.org/packages/a9/24/ef0d5fd1a811fb5c609278d0209c9f10c35f20581fcc16f818da959fc5b4/propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", size = 202625 }, + { url = "https://files.pythonhosted.org/packages/f5/02/98ec20ff5546f68d673df2f7a69e8c0d076b5abd05ca882dc7ee3a83653d/propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", size = 204209 }, + { url = "https://files.pythonhosted.org/packages/a0/87/492694f76759b15f0467a2a93ab68d32859672b646aa8a04ce4864e7932d/propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", size = 197797 }, + { url = "https://files.pythonhosted.org/packages/ee/36/66367de3575db1d2d3f3d177432bd14ee577a39d3f5d1b3d5df8afe3b6e2/propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f", size = 38140 }, + { url = "https://files.pythonhosted.org/packages/0c/2a/a758b47de253636e1b8aef181c0b4f4f204bf0dd964914fb2af90a95b49b/propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153", size = 41257 }, + { url = "https://files.pythonhosted.org/packages/34/5e/63bd5896c3fec12edcbd6f12508d4890d23c265df28c74b175e1ef9f4f3b/propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992", size = 38097 }, + { url = "https://files.pythonhosted.org/packages/99/85/9ff785d787ccf9bbb3f3106f79884a130951436f58392000231b4c737c80/propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", size = 81455 }, + { url = "https://files.pythonhosted.org/packages/90/85/2431c10c8e7ddb1445c1f7c4b54d886e8ad20e3c6307e7218f05922cad67/propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", size = 46372 }, + { url = "https://files.pythonhosted.org/packages/01/20/b0972d902472da9bcb683fa595099911f4d2e86e5683bcc45de60dd05dc3/propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", size = 48411 }, + { url = "https://files.pythonhosted.org/packages/e2/e3/7dc89f4f21e8f99bad3d5ddb3a3389afcf9da4ac69e3deb2dcdc96e74169/propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", size = 275712 }, + { url = "https://files.pythonhosted.org/packages/20/67/89800c8352489b21a8047c773067644e3897f02ecbbd610f4d46b7f08612/propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", size = 273557 }, + { url = "https://files.pythonhosted.org/packages/e2/a1/b52b055c766a54ce6d9c16d9aca0cad8059acd9637cdf8aa0222f4a026ef/propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", size = 280015 }, + { url = "https://files.pythonhosted.org/packages/48/c8/33cee30bd890672c63743049f3c9e4be087e6780906bfc3ec58528be59c1/propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", size = 262880 }, + { url = "https://files.pythonhosted.org/packages/0c/b1/8f08a143b204b418285c88b83d00edbd61afbc2c6415ffafc8905da7038b/propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", size = 260938 }, + { url = "https://files.pythonhosted.org/packages/cf/12/96e4664c82ca2f31e1c8dff86afb867348979eb78d3cb8546a680287a1e9/propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", size = 247641 }, + { url = "https://files.pythonhosted.org/packages/18/ed/e7a9cfca28133386ba52278136d42209d3125db08d0a6395f0cba0c0285c/propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", size = 262510 }, + { url = "https://files.pythonhosted.org/packages/f5/76/16d8bf65e8845dd62b4e2b57444ab81f07f40caa5652b8969b87ddcf2ef6/propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", size = 263161 }, + { url = "https://files.pythonhosted.org/packages/e7/70/c99e9edb5d91d5ad8a49fa3c1e8285ba64f1476782fed10ab251ff413ba1/propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", size = 257393 }, + { url = "https://files.pythonhosted.org/packages/08/02/87b25304249a35c0915d236575bc3574a323f60b47939a2262b77632a3ee/propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85", size = 42546 }, + { url = "https://files.pythonhosted.org/packages/cb/ef/3c6ecf8b317aa982f309835e8f96987466123c6e596646d4e6a1dfcd080f/propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1", size = 46259 }, + { url = "https://files.pythonhosted.org/packages/c4/2d/346e946d4951f37eca1e4f55be0f0174c52cd70720f84029b02f296f4a38/propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9", size = 40428 }, + { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305 }, +] + +[[package]] +name = "protobuf" +version = "6.33.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/b8/cda15d9d46d03d4aa3a67cb6bffe05173440ccf86a9541afaf7ac59a1b6b/protobuf-6.33.4.tar.gz", hash = "sha256:dc2e61bca3b10470c1912d166fe0af67bfc20eb55971dcef8dfa48ce14f0ed91", size = 444346 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/be/24ef9f3095bacdf95b458543334d0c4908ccdaee5130420bf064492c325f/protobuf-6.33.4-cp310-abi3-win32.whl", hash = "sha256:918966612c8232fc6c24c78e1cd89784307f5814ad7506c308ee3cf86662850d", size = 425612 }, + { url = "https://files.pythonhosted.org/packages/31/ad/e5693e1974a28869e7cd244302911955c1cebc0161eb32dfa2b25b6e96f0/protobuf-6.33.4-cp310-abi3-win_amd64.whl", hash = "sha256:8f11ffae31ec67fc2554c2ef891dcb561dae9a2a3ed941f9e134c2db06657dbc", size = 436962 }, + { url = "https://files.pythonhosted.org/packages/66/15/6ee23553b6bfd82670207ead921f4d8ef14c107e5e11443b04caeb5ab5ec/protobuf-6.33.4-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2fe67f6c014c84f655ee06f6f66213f9254b3a8b6bda6cda0ccd4232c73c06f0", size = 427612 }, + { url = "https://files.pythonhosted.org/packages/2b/48/d301907ce6d0db75f959ca74f44b475a9caa8fcba102d098d3c3dd0f2d3f/protobuf-6.33.4-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:757c978f82e74d75cba88eddec479df9b99a42b31193313b75e492c06a51764e", size = 324484 }, + { url = "https://files.pythonhosted.org/packages/92/1c/e53078d3f7fe710572ab2dcffd993e1e3b438ae71cfc031b71bae44fcb2d/protobuf-6.33.4-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:c7c64f259c618f0bef7bee042075e390debbf9682334be2b67408ec7c1c09ee6", size = 339256 }, + { url = "https://files.pythonhosted.org/packages/e8/8e/971c0edd084914f7ee7c23aa70ba89e8903918adca179319ee94403701d5/protobuf-6.33.4-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:3df850c2f8db9934de4cf8f9152f8dc2558f49f298f37f90c517e8e5c84c30e9", size = 323311 }, + { url = "https://files.pythonhosted.org/packages/75/b1/1dc83c2c661b4c62d56cc081706ee33a4fc2835bd90f965baa2663ef7676/protobuf-6.33.4-py3-none-any.whl", hash = "sha256:1fe3730068fcf2e595816a6c34fe66eeedd37d51d0400b72fabc848811fdc1bc", size = 170532 }, +] + +[[package]] +name = "psutil" +version = "7.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/73/cb/09e5184fb5fc0358d110fc3ca7f6b1d033800734d34cac10f4136cfac10e/psutil-7.2.1.tar.gz", hash = "sha256:f7583aec590485b43ca601dd9cea0dcd65bd7bb21d30ef4ddbf4ea6b5ed1bdd3", size = 490253 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/8e/f0c242053a368c2aa89584ecd1b054a18683f13d6e5a318fc9ec36582c94/psutil-7.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ba9f33bb525b14c3ea563b2fd521a84d2fa214ec59e3e6a2858f78d0844dd60d", size = 129624 }, + { url = "https://files.pythonhosted.org/packages/26/97/a58a4968f8990617decee234258a2b4fc7cd9e35668387646c1963e69f26/psutil-7.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:81442dac7abfc2f4f4385ea9e12ddf5a796721c0f6133260687fec5c3780fa49", size = 130132 }, + { url = "https://files.pythonhosted.org/packages/db/6d/ed44901e830739af5f72a85fa7ec5ff1edea7f81bfbf4875e409007149bd/psutil-7.2.1-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ea46c0d060491051d39f0d2cff4f98d5c72b288289f57a21556cc7d504db37fc", size = 180612 }, + { url = "https://files.pythonhosted.org/packages/c7/65/b628f8459bca4efbfae50d4bf3feaab803de9a160b9d5f3bd9295a33f0c2/psutil-7.2.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35630d5af80d5d0d49cfc4d64c1c13838baf6717a13effb35869a5919b854cdf", size = 183201 }, + { url = "https://files.pythonhosted.org/packages/fb/23/851cadc9764edcc18f0effe7d0bf69f727d4cf2442deb4a9f78d4e4f30f2/psutil-7.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:923f8653416604e356073e6e0bccbe7c09990acef442def2f5640dd0faa9689f", size = 139081 }, + { url = "https://files.pythonhosted.org/packages/59/82/d63e8494ec5758029f31c6cb06d7d161175d8281e91d011a4a441c8a43b5/psutil-7.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:cfbe6b40ca48019a51827f20d830887b3107a74a79b01ceb8cc8de4ccb17b672", size = 134767 }, + { url = "https://files.pythonhosted.org/packages/05/c2/5fb764bd61e40e1fe756a44bd4c21827228394c17414ade348e28f83cd79/psutil-7.2.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:494c513ccc53225ae23eec7fe6e1482f1b8a44674241b54561f755a898650679", size = 129716 }, + { url = "https://files.pythonhosted.org/packages/c9/d2/935039c20e06f615d9ca6ca0ab756cf8408a19d298ffaa08666bc18dc805/psutil-7.2.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3fce5f92c22b00cdefd1645aa58ab4877a01679e901555067b1bd77039aa589f", size = 130133 }, + { url = "https://files.pythonhosted.org/packages/77/69/19f1eb0e01d24c2b3eacbc2f78d3b5add8a89bf0bb69465bc8d563cc33de/psutil-7.2.1-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93f3f7b0bb07711b49626e7940d6fe52aa9940ad86e8f7e74842e73189712129", size = 181518 }, + { url = "https://files.pythonhosted.org/packages/e1/6d/7e18b1b4fa13ad370787626c95887b027656ad4829c156bb6569d02f3262/psutil-7.2.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d34d2ca888208eea2b5c68186841336a7f5e0b990edec929be909353a202768a", size = 184348 }, + { url = "https://files.pythonhosted.org/packages/98/60/1672114392dd879586d60dd97896325df47d9a130ac7401318005aab28ec/psutil-7.2.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2ceae842a78d1603753561132d5ad1b2f8a7979cb0c283f5b52fb4e6e14b1a79", size = 140400 }, + { url = "https://files.pythonhosted.org/packages/fb/7b/d0e9d4513c46e46897b46bcfc410d51fc65735837ea57a25170f298326e6/psutil-7.2.1-cp314-cp314t-win_arm64.whl", hash = "sha256:08a2f175e48a898c8eb8eace45ce01777f4785bc744c90aa2cc7f2fa5462a266", size = 135430 }, + { url = "https://files.pythonhosted.org/packages/c5/cf/5180eb8c8bdf6a503c6919f1da28328bd1e6b3b1b5b9d5b01ae64f019616/psutil-7.2.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:b2e953fcfaedcfbc952b44744f22d16575d3aa78eb4f51ae74165b4e96e55f42", size = 128137 }, + { url = "https://files.pythonhosted.org/packages/c5/2c/78e4a789306a92ade5000da4f5de3255202c534acdadc3aac7b5458fadef/psutil-7.2.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:05cc68dbb8c174828624062e73078e7e35406f4ca2d0866c272c2410d8ef06d1", size = 128947 }, + { url = "https://files.pythonhosted.org/packages/29/f8/40e01c350ad9a2b3cb4e6adbcc8a83b17ee50dd5792102b6142385937db5/psutil-7.2.1-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e38404ca2bb30ed7267a46c02f06ff842e92da3bb8c5bfdadbd35a5722314d8", size = 154694 }, + { url = "https://files.pythonhosted.org/packages/06/e4/b751cdf839c011a9714a783f120e6a86b7494eb70044d7d81a25a5cd295f/psutil-7.2.1-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ab2b98c9fc19f13f59628d94df5cc4cc4844bc572467d113a8b517d634e362c6", size = 156136 }, + { url = "https://files.pythonhosted.org/packages/44/ad/bbf6595a8134ee1e94a4487af3f132cef7fce43aef4a93b49912a48c3af7/psutil-7.2.1-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:f78baafb38436d5a128f837fab2d92c276dfb48af01a240b861ae02b2413ada8", size = 148108 }, + { url = "https://files.pythonhosted.org/packages/1c/15/dd6fd869753ce82ff64dcbc18356093471a5a5adf4f77ed1f805d473d859/psutil-7.2.1-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:99a4cd17a5fdd1f3d014396502daa70b5ec21bf4ffe38393e152f8e449757d67", size = 147402 }, + { url = "https://files.pythonhosted.org/packages/34/68/d9317542e3f2b180c4306e3f45d3c922d7e86d8ce39f941bb9e2e9d8599e/psutil-7.2.1-cp37-abi3-win_amd64.whl", hash = "sha256:b1b0671619343aa71c20ff9767eced0483e4fc9e1f489d50923738caf6a03c17", size = 136938 }, + { url = "https://files.pythonhosted.org/packages/3e/73/2ce007f4198c80fcf2cb24c169884f833fe93fbc03d55d302627b094ee91/psutil-7.2.1-cp37-abi3-win_arm64.whl", hash = "sha256:0d67c1822c355aa6f7314d92018fb4268a76668a536f133599b91edd48759442", size = 133836 }, +] + +[[package]] +name = "pyarrow" +version = "23.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/33/ffd9c3eb087fa41dd79c3cf20c4c0ae3cdb877c4f8e1107a446006344924/pyarrow-23.0.0.tar.gz", hash = "sha256:180e3150e7edfcd182d3d9afba72f7cf19839a497cc76555a8dce998a8f67615", size = 1167185 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ae/2f/23e042a5aa99bcb15e794e14030e8d065e00827e846e53a66faec73c7cd6/pyarrow-23.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:cbdc2bf5947aa4d462adcf8453cf04aee2f7932653cb67a27acd96e5e8528a67", size = 34281861 }, + { url = "https://files.pythonhosted.org/packages/8b/65/1651933f504b335ec9cd8f99463718421eb08d883ed84f0abd2835a16cad/pyarrow-23.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:4d38c836930ce15cd31dce20114b21ba082da231c884bdc0a7b53e1477fe7f07", size = 35825067 }, + { url = "https://files.pythonhosted.org/packages/84/ec/d6fceaec050c893f4e35c0556b77d4cc9973fcc24b0a358a5781b1234582/pyarrow-23.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:4222ff8f76919ecf6c716175a0e5fddb5599faeed4c56d9ea41a2c42be4998b2", size = 44458539 }, + { url = "https://files.pythonhosted.org/packages/fd/d9/369f134d652b21db62fe3ec1c5c2357e695f79eb67394b8a93f3a2b2cffa/pyarrow-23.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:87f06159cbe38125852657716889296c83c37b4d09a5e58f3d10245fd1f69795", size = 47535889 }, + { url = "https://files.pythonhosted.org/packages/a3/95/f37b6a252fdbf247a67a78fb3f61a529fe0600e304c4d07741763d3522b1/pyarrow-23.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1675c374570d8b91ea6d4edd4608fa55951acd44e0c31bd146e091b4005de24f", size = 48157777 }, + { url = "https://files.pythonhosted.org/packages/ab/ab/fb94923108c9c6415dab677cf1f066d3307798eafc03f9a65ab4abc61056/pyarrow-23.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:247374428fde4f668f138b04031a7e7077ba5fa0b5b1722fdf89a017bf0b7ee0", size = 50580441 }, + { url = "https://files.pythonhosted.org/packages/ae/78/897ba6337b517fc8e914891e1bd918da1c4eb8e936a553e95862e67b80f6/pyarrow-23.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:de53b1bd3b88a2ee93c9af412c903e57e738c083be4f6392288294513cd8b2c1", size = 27530028 }, + { url = "https://files.pythonhosted.org/packages/aa/c0/57fe251102ca834fee0ef69a84ad33cc0ff9d5dfc50f50b466846356ecd7/pyarrow-23.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5574d541923efcbfdf1294a2746ae3b8c2498a2dc6cd477882f6f4e7b1ac08d3", size = 34276762 }, + { url = "https://files.pythonhosted.org/packages/f8/4e/24130286548a5bc250cbed0b6bbf289a2775378a6e0e6f086ae8c68fc098/pyarrow-23.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:2ef0075c2488932e9d3c2eb3482f9459c4be629aa673b725d5e3cf18f777f8e4", size = 35821420 }, + { url = "https://files.pythonhosted.org/packages/ee/55/a869e8529d487aa2e842d6c8865eb1e2c9ec33ce2786eb91104d2c3e3f10/pyarrow-23.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:65666fc269669af1ef1c14478c52222a2aa5c907f28b68fb50a203c777e4f60c", size = 44457412 }, + { url = "https://files.pythonhosted.org/packages/36/81/1de4f0edfa9a483bbdf0082a05790bd6a20ed2169ea12a65039753be3a01/pyarrow-23.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:4d85cb6177198f3812db4788e394b757223f60d9a9f5ad6634b3e32be1525803", size = 47534285 }, + { url = "https://files.pythonhosted.org/packages/f2/04/464a052d673b5ece074518f27377861662449f3c1fdb39ce740d646fd098/pyarrow-23.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1a9ff6fa4141c24a03a1a434c63c8fa97ce70f8f36bccabc18ebba905ddf0f17", size = 48157913 }, + { url = "https://files.pythonhosted.org/packages/f4/1b/32a4de9856ee6688c670ca2def588382e573cce45241a965af04c2f61687/pyarrow-23.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:84839d060a54ae734eb60a756aeacb62885244aaa282f3c968f5972ecc7b1ecc", size = 50582529 }, + { url = "https://files.pythonhosted.org/packages/db/c7/d6581f03e9b9e44ea60b52d1750ee1a7678c484c06f939f45365a45f7eef/pyarrow-23.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:a149a647dbfe928ce8830a713612aa0b16e22c64feac9d1761529778e4d4eaa5", size = 27542646 }, + { url = "https://files.pythonhosted.org/packages/3d/bd/c861d020831ee57609b73ea721a617985ece817684dc82415b0bc3e03ac3/pyarrow-23.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:5961a9f646c232697c24f54d3419e69b4261ba8a8b66b0ac54a1851faffcbab8", size = 34189116 }, + { url = "https://files.pythonhosted.org/packages/8c/23/7725ad6cdcbaf6346221391e7b3eecd113684c805b0a95f32014e6fa0736/pyarrow-23.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:632b3e7c3d232f41d64e1a4a043fb82d44f8a349f339a1188c6a0dd9d2d47d8a", size = 35803831 }, + { url = "https://files.pythonhosted.org/packages/57/06/684a421543455cdc2944d6a0c2cc3425b028a4c6b90e34b35580c4899743/pyarrow-23.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:76242c846db1411f1d6c2cc3823be6b86b40567ee24493344f8226ba34a81333", size = 44436452 }, + { url = "https://files.pythonhosted.org/packages/c6/6f/8f9eb40c2328d66e8b097777ddcf38494115ff9f1b5bc9754ba46991191e/pyarrow-23.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b73519f8b52ae28127000986bf228fda781e81d3095cd2d3ece76eb5cf760e1b", size = 47557396 }, + { url = "https://files.pythonhosted.org/packages/10/6e/f08075f1472e5159553501fde2cc7bc6700944bdabe49a03f8a035ee6ccd/pyarrow-23.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:068701f6823449b1b6469120f399a1239766b117d211c5d2519d4ed5861f75de", size = 48147129 }, + { url = "https://files.pythonhosted.org/packages/7d/82/d5a680cd507deed62d141cc7f07f7944a6766fc51019f7f118e4d8ad0fb8/pyarrow-23.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1801ba947015d10e23bca9dd6ef5d0e9064a81569a89b6e9a63b59224fd060df", size = 50596642 }, + { url = "https://files.pythonhosted.org/packages/a9/26/4f29c61b3dce9fa7780303b86895ec6a0917c9af927101daaaf118fbe462/pyarrow-23.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:52265266201ec25b6839bf6bd4ea918ca6d50f31d13e1cf200b4261cd11dc25c", size = 27660628 }, + { url = "https://files.pythonhosted.org/packages/66/34/564db447d083ec7ff93e0a883a597d2f214e552823bfc178a2d0b1f2c257/pyarrow-23.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:ad96a597547af7827342ffb3c503c8316e5043bb09b47a84885ce39394c96e00", size = 34184630 }, + { url = "https://files.pythonhosted.org/packages/aa/3a/3999daebcb5e6119690c92a621c4d78eef2ffba7a0a1b56386d2875fcd77/pyarrow-23.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:b9edf990df77c2901e79608f08c13fbde60202334a4fcadb15c1f57bf7afee43", size = 35796820 }, + { url = "https://files.pythonhosted.org/packages/ec/ee/39195233056c6a8d0976d7d1ac1cd4fe21fb0ec534eca76bc23ef3f60e11/pyarrow-23.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:36d1b5bc6ddcaff0083ceec7e2561ed61a51f49cce8be079ee8ed406acb6fdef", size = 44438735 }, + { url = "https://files.pythonhosted.org/packages/2c/41/6a7328ee493527e7afc0c88d105ecca69a3580e29f2faaeac29308369fd7/pyarrow-23.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:4292b889cd224f403304ddda8b63a36e60f92911f89927ec8d98021845ea21be", size = 47557263 }, + { url = "https://files.pythonhosted.org/packages/c6/ee/34e95b21ee84db494eae60083ddb4383477b31fb1fd19fd866d794881696/pyarrow-23.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dfd9e133e60eaa847fd80530a1b89a052f09f695d0b9c34c235ea6b2e0924cf7", size = 48153529 }, + { url = "https://files.pythonhosted.org/packages/52/88/8a8d83cea30f4563efa1b7bf51d241331ee5cd1b185a7e063f5634eca415/pyarrow-23.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832141cc09fac6aab1cd3719951d23301396968de87080c57c9a7634e0ecd068", size = 50598851 }, + { url = "https://files.pythonhosted.org/packages/c6/4c/2929c4be88723ba025e7b3453047dc67e491c9422965c141d24bab6b5962/pyarrow-23.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:7a7d067c9a88faca655c71bcc30ee2782038d59c802d57950826a07f60d83c4c", size = 27577747 }, + { url = "https://files.pythonhosted.org/packages/64/52/564a61b0b82d72bd68ec3aef1adda1e3eba776f89134b9ebcb5af4b13cb6/pyarrow-23.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:ce9486e0535a843cf85d990e2ec5820a47918235183a5c7b8b97ed7e92c2d47d", size = 34446038 }, + { url = "https://files.pythonhosted.org/packages/cc/c9/232d4f9855fd1de0067c8a7808a363230d223c83aeee75e0fe6eab851ba9/pyarrow-23.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:075c29aeaa685fd1182992a9ed2499c66f084ee54eea47da3eb76e125e06064c", size = 35921142 }, + { url = "https://files.pythonhosted.org/packages/96/f2/60af606a3748367b906bb82d41f0032e059f075444445d47e32a7ff1df62/pyarrow-23.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:799965a5379589510d888be3094c2296efd186a17ca1cef5b77703d4d5121f53", size = 44490374 }, + { url = "https://files.pythonhosted.org/packages/ff/2d/7731543050a678ea3a413955a2d5d80d2a642f270aa57a3cb7d5a86e3f46/pyarrow-23.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ef7cac8fe6fccd8b9e7617bfac785b0371a7fe26af59463074e4882747145d40", size = 47527896 }, + { url = "https://files.pythonhosted.org/packages/5a/90/f3342553b7ac9879413aed46500f1637296f3c8222107523a43a1c08b42a/pyarrow-23.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15a414f710dc927132dd67c361f78c194447479555af57317066ee5116b90e9e", size = 48210401 }, + { url = "https://files.pythonhosted.org/packages/f3/da/9862ade205ecc46c172b6ce5038a74b5151c7401e36255f15975a45878b2/pyarrow-23.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3e0d2e6915eca7d786be6a77bf227fbc06d825a75b5b5fe9bcbef121dec32685", size = 50579677 }, + { url = "https://files.pythonhosted.org/packages/c2/4c/f11f371f5d4740a5dafc2e11c76bcf42d03dfdb2d68696da97de420b6963/pyarrow-23.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:4b317ea6e800b5704e5e5929acb6e2dc13e9276b708ea97a39eb8b345aa2658b", size = 27631889 }, + { url = "https://files.pythonhosted.org/packages/97/bb/15aec78bcf43a0c004067bd33eb5352836a29a49db8581fc56f2b6ca88b7/pyarrow-23.0.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:20b187ed9550d233a872074159f765f52f9d92973191cd4b93f293a19efbe377", size = 34213265 }, + { url = "https://files.pythonhosted.org/packages/f6/6c/deb2c594bbba41c37c5d9aa82f510376998352aa69dfcb886cb4b18ad80f/pyarrow-23.0.0-cp314-cp314-macosx_12_0_x86_64.whl", hash = "sha256:18ec84e839b493c3886b9b5e06861962ab4adfaeb79b81c76afbd8d84c7d5fda", size = 35819211 }, + { url = "https://files.pythonhosted.org/packages/e0/e5/ee82af693cb7b5b2b74f6524cdfede0e6ace779d7720ebca24d68b57c36b/pyarrow-23.0.0-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:e438dd3f33894e34fd02b26bd12a32d30d006f5852315f611aa4add6c7fab4bc", size = 44502313 }, + { url = "https://files.pythonhosted.org/packages/9c/86/95c61ad82236495f3c31987e85135926ba3ec7f3819296b70a68d8066b49/pyarrow-23.0.0-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:a244279f240c81f135631be91146d7fa0e9e840e1dfed2aba8483eba25cd98e6", size = 47585886 }, + { url = "https://files.pythonhosted.org/packages/bb/6e/a72d901f305201802f016d015de1e05def7706fff68a1dedefef5dc7eff7/pyarrow-23.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c4692e83e42438dba512a570c6eaa42be2f8b6c0f492aea27dec54bdc495103a", size = 48207055 }, + { url = "https://files.pythonhosted.org/packages/f9/e5/5de029c537630ca18828db45c30e2a78da03675a70ac6c3528203c416fe3/pyarrow-23.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ae7f30f898dfe44ea69654a35c93e8da4cef6606dc4c72394068fd95f8e9f54a", size = 50619812 }, + { url = "https://files.pythonhosted.org/packages/59/8d/2af846cd2412e67a087f5bda4a8e23dfd4ebd570f777db2e8686615dafc1/pyarrow-23.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:5b86bb649e4112fb0614294b7d0a175c7513738876b89655605ebb87c804f861", size = 28263851 }, + { url = "https://files.pythonhosted.org/packages/7b/7f/caab863e587041156f6786c52e64151b7386742c8c27140f637176e9230e/pyarrow-23.0.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:ebc017d765d71d80a3f8584ca0566b53e40464586585ac64176115baa0ada7d3", size = 34463240 }, + { url = "https://files.pythonhosted.org/packages/c9/fa/3a5b8c86c958e83622b40865e11af0857c48ec763c11d472c87cd518283d/pyarrow-23.0.0-cp314-cp314t-macosx_12_0_x86_64.whl", hash = "sha256:0800cc58a6d17d159df823f87ad66cefebf105b982493d4bad03ee7fab84b993", size = 35935712 }, + { url = "https://files.pythonhosted.org/packages/c5/08/17a62078fc1a53decb34a9aa79cf9009efc74d63d2422e5ade9fed2f99e3/pyarrow-23.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:3a7c68c722da9bb5b0f8c10e3eae71d9825a4b429b40b32709df5d1fa55beb3d", size = 44503523 }, + { url = "https://files.pythonhosted.org/packages/cc/70/84d45c74341e798aae0323d33b7c39194e23b1abc439ceaf60a68a7a969a/pyarrow-23.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:bd5556c24622df90551063ea41f559b714aa63ca953db884cfb958559087a14e", size = 47542490 }, + { url = "https://files.pythonhosted.org/packages/61/d9/d1274b0e6f19e235de17441e53224f4716574b2ca837022d55702f24d71d/pyarrow-23.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:54810f6e6afc4ffee7c2e0051b61722fbea9a4961b46192dcfae8ea12fa09059", size = 48233605 }, + { url = "https://files.pythonhosted.org/packages/39/07/e4e2d568cb57543d84482f61e510732820cddb0f47c4bb7df629abfed852/pyarrow-23.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:14de7d48052cf4b0ed174533eafa3cfe0711b8076ad70bede32cf59f744f0d7c", size = 50603979 }, + { url = "https://files.pythonhosted.org/packages/72/9c/47693463894b610f8439b2e970b82ef81e9599c757bf2049365e40ff963c/pyarrow-23.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:427deac1f535830a744a4f04a6ac183a64fcac4341b3f618e693c41b7b98d2b0", size = 28338905 }, +] + +[[package]] +name = "pyscripts" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "flagembedding" }, + { name = "onnx" }, + { name = "onnxscript" }, + { name = "transformers" }, +] + +[package.metadata] +requires-dist = [ + { name = "flagembedding", specifier = "==1.3.5" }, + { name = "onnx", specifier = "==1.20.1" }, + { name = "onnxscript", specifier = "==0.5.7" }, + { name = "transformers", specifier = "==4.57.3" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225 }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", size = 184227 }, + { url = "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", size = 174019 }, + { url = "https://files.pythonhosted.org/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", size = 740646 }, + { url = "https://files.pythonhosted.org/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", size = 840793 }, + { url = "https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", size = 770293 }, + { url = "https://files.pythonhosted.org/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", size = 732872 }, + { url = "https://files.pythonhosted.org/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", size = 758828 }, + { url = "https://files.pythonhosted.org/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", size = 142415 }, + { url = "https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", size = 158561 }, + { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826 }, + { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577 }, + { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556 }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114 }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638 }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463 }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986 }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543 }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763 }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063 }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973 }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116 }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011 }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870 }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089 }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181 }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658 }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003 }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344 }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669 }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252 }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081 }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159 }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626 }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613 }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115 }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427 }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090 }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246 }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814 }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809 }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454 }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355 }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175 }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228 }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194 }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429 }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912 }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108 }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641 }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901 }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132 }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261 }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272 }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923 }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062 }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341 }, +] + +[[package]] +name = "regex" +version = "2026.1.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/86/07d5056945f9ec4590b518171c4254a5925832eb727b56d3c38a7476f316/regex-2026.1.15.tar.gz", hash = "sha256:164759aa25575cbc0651bef59a0b18353e54300d79ace8084c818ad8ac72b7d5", size = 414811 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/d2/e6ee96b7dff201a83f650241c52db8e5bd080967cb93211f57aa448dc9d6/regex-2026.1.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4e3dd93c8f9abe8aa4b6c652016da9a3afa190df5ad822907efe6b206c09896e", size = 488166 }, + { url = "https://files.pythonhosted.org/packages/23/8a/819e9ce14c9f87af026d0690901b3931f3101160833e5d4c8061fa3a1b67/regex-2026.1.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:97499ff7862e868b1977107873dd1a06e151467129159a6ffd07b66706ba3a9f", size = 290632 }, + { url = "https://files.pythonhosted.org/packages/d5/c3/23dfe15af25d1d45b07dfd4caa6003ad710dcdcb4c4b279909bdfe7a2de8/regex-2026.1.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0bda75ebcac38d884240914c6c43d8ab5fb82e74cde6da94b43b17c411aa4c2b", size = 288500 }, + { url = "https://files.pythonhosted.org/packages/c6/31/1adc33e2f717df30d2f4d973f8776d2ba6ecf939301efab29fca57505c95/regex-2026.1.15-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7dcc02368585334f5bc81fc73a2a6a0bbade60e7d83da21cead622faf408f32c", size = 781670 }, + { url = "https://files.pythonhosted.org/packages/23/ce/21a8a22d13bc4adcb927c27b840c948f15fc973e21ed2346c1bd0eae22dc/regex-2026.1.15-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:693b465171707bbe882a7a05de5e866f33c76aa449750bee94a8d90463533cc9", size = 850820 }, + { url = "https://files.pythonhosted.org/packages/6c/4f/3eeacdf587a4705a44484cd0b30e9230a0e602811fb3e2cc32268c70d509/regex-2026.1.15-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b0d190e6f013ea938623a58706d1469a62103fb2a241ce2873a9906e0386582c", size = 898777 }, + { url = "https://files.pythonhosted.org/packages/79/a9/1898a077e2965c35fc22796488141a22676eed2d73701e37c73ad7c0b459/regex-2026.1.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ff818702440a5878a81886f127b80127f5d50563753a28211482867f8318106", size = 791750 }, + { url = "https://files.pythonhosted.org/packages/4c/84/e31f9d149a178889b3817212827f5e0e8c827a049ff31b4b381e76b26e2d/regex-2026.1.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f052d1be37ef35a54e394de66136e30fa1191fab64f71fc06ac7bc98c9a84618", size = 782674 }, + { url = "https://files.pythonhosted.org/packages/d2/ff/adf60063db24532add6a1676943754a5654dcac8237af024ede38244fd12/regex-2026.1.15-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6bfc31a37fd1592f0c4fc4bfc674b5c42e52efe45b4b7a6a14f334cca4bcebe4", size = 767906 }, + { url = "https://files.pythonhosted.org/packages/af/3e/e6a216cee1e2780fec11afe7fc47b6f3925d7264e8149c607ac389fd9b1a/regex-2026.1.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3d6ce5ae80066b319ae3bc62fd55a557c9491baa5efd0d355f0de08c4ba54e79", size = 774798 }, + { url = "https://files.pythonhosted.org/packages/0f/98/23a4a8378a9208514ed3efc7e7850c27fa01e00ed8557c958df0335edc4a/regex-2026.1.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1704d204bd42b6bb80167df0e4554f35c255b579ba99616def38f69e14a5ccb9", size = 845861 }, + { url = "https://files.pythonhosted.org/packages/f8/57/d7605a9d53bd07421a8785d349cd29677fe660e13674fa4c6cbd624ae354/regex-2026.1.15-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:e3174a5ed4171570dc8318afada56373aa9289eb6dc0d96cceb48e7358b0e220", size = 755648 }, + { url = "https://files.pythonhosted.org/packages/6f/76/6f2e24aa192da1e299cc1101674a60579d3912391867ce0b946ba83e2194/regex-2026.1.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:87adf5bd6d72e3e17c9cb59ac4096b1faaf84b7eb3037a5ffa61c4b4370f0f13", size = 836250 }, + { url = "https://files.pythonhosted.org/packages/11/3a/1f2a1d29453299a7858eab7759045fc3d9d1b429b088dec2dc85b6fa16a2/regex-2026.1.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e85dc94595f4d766bd7d872a9de5ede1ca8d3063f3bdf1e2c725f5eb411159e3", size = 779919 }, + { url = "https://files.pythonhosted.org/packages/c0/67/eab9bc955c9dcc58e9b222c801e39cff7ca0b04261792a2149166ce7e792/regex-2026.1.15-cp310-cp310-win32.whl", hash = "sha256:21ca32c28c30d5d65fc9886ff576fc9b59bbca08933e844fa2363e530f4c8218", size = 265888 }, + { url = "https://files.pythonhosted.org/packages/1d/62/31d16ae24e1f8803bddb0885508acecaec997fcdcde9c243787103119ae4/regex-2026.1.15-cp310-cp310-win_amd64.whl", hash = "sha256:3038a62fc7d6e5547b8915a3d927a0fbeef84cdbe0b1deb8c99bbd4a8961b52a", size = 277830 }, + { url = "https://files.pythonhosted.org/packages/e5/36/5d9972bccd6417ecd5a8be319cebfd80b296875e7f116c37fb2a2deecebf/regex-2026.1.15-cp310-cp310-win_arm64.whl", hash = "sha256:505831646c945e3e63552cc1b1b9b514f0e93232972a2d5bedbcc32f15bc82e3", size = 270376 }, + { url = "https://files.pythonhosted.org/packages/d0/c9/0c80c96eab96948363d270143138d671d5731c3a692b417629bf3492a9d6/regex-2026.1.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ae6020fb311f68d753b7efa9d4b9a5d47a5d6466ea0d5e3b5a471a960ea6e4a", size = 488168 }, + { url = "https://files.pythonhosted.org/packages/17/f0/271c92f5389a552494c429e5cc38d76d1322eb142fb5db3c8ccc47751468/regex-2026.1.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:eddf73f41225942c1f994914742afa53dc0d01a6e20fe14b878a1b1edc74151f", size = 290636 }, + { url = "https://files.pythonhosted.org/packages/a0/f9/5f1fd077d106ca5655a0f9ff8f25a1ab55b92128b5713a91ed7134ff688e/regex-2026.1.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e8cd52557603f5c66a548f69421310886b28b7066853089e1a71ee710e1cdc1", size = 288496 }, + { url = "https://files.pythonhosted.org/packages/b5/e1/8f43b03a4968c748858ec77f746c286d81f896c2e437ccf050ebc5d3128c/regex-2026.1.15-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5170907244b14303edc5978f522f16c974f32d3aa92109fabc2af52411c9433b", size = 793503 }, + { url = "https://files.pythonhosted.org/packages/8d/4e/a39a5e8edc5377a46a7c875c2f9a626ed3338cb3bb06931be461c3e1a34a/regex-2026.1.15-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2748c1ec0663580b4510bd89941a31560b4b439a0b428b49472a3d9944d11cd8", size = 860535 }, + { url = "https://files.pythonhosted.org/packages/dc/1c/9dce667a32a9477f7a2869c1c767dc00727284a9fa3ff5c09a5c6c03575e/regex-2026.1.15-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2f2775843ca49360508d080eaa87f94fa248e2c946bbcd963bb3aae14f333413", size = 907225 }, + { url = "https://files.pythonhosted.org/packages/a4/3c/87ca0a02736d16b6262921425e84b48984e77d8e4e572c9072ce96e66c30/regex-2026.1.15-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9ea2604370efc9a174c1b5dcc81784fb040044232150f7f33756049edfc9026", size = 800526 }, + { url = "https://files.pythonhosted.org/packages/4b/ff/647d5715aeea7c87bdcbd2f578f47b415f55c24e361e639fe8c0cc88878f/regex-2026.1.15-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0dcd31594264029b57bf16f37fd7248a70b3b764ed9e0839a8f271b2d22c0785", size = 773446 }, + { url = "https://files.pythonhosted.org/packages/af/89/bf22cac25cb4ba0fe6bff52ebedbb65b77a179052a9d6037136ae93f42f4/regex-2026.1.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c08c1f3e34338256732bd6938747daa3c0d5b251e04b6e43b5813e94d503076e", size = 783051 }, + { url = "https://files.pythonhosted.org/packages/1e/f4/6ed03e71dca6348a5188363a34f5e26ffd5db1404780288ff0d79513bce4/regex-2026.1.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e43a55f378df1e7a4fa3547c88d9a5a9b7113f653a66821bcea4718fe6c58763", size = 854485 }, + { url = "https://files.pythonhosted.org/packages/d9/9a/8e8560bd78caded8eb137e3e47612430a05b9a772caf60876435192d670a/regex-2026.1.15-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:f82110ab962a541737bd0ce87978d4c658f06e7591ba899192e2712a517badbb", size = 762195 }, + { url = "https://files.pythonhosted.org/packages/38/6b/61fc710f9aa8dfcd764fe27d37edfaa023b1a23305a0d84fccd5adb346ea/regex-2026.1.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:27618391db7bdaf87ac6c92b31e8f0dfb83a9de0075855152b720140bda177a2", size = 845986 }, + { url = "https://files.pythonhosted.org/packages/fd/2e/fbee4cb93f9d686901a7ca8d94285b80405e8c34fe4107f63ffcbfb56379/regex-2026.1.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bfb0d6be01fbae8d6655c8ca21b3b72458606c4aec9bbc932db758d47aba6db1", size = 788992 }, + { url = "https://files.pythonhosted.org/packages/ed/14/3076348f3f586de64b1ab75a3fbabdaab7684af7f308ad43be7ef1849e55/regex-2026.1.15-cp311-cp311-win32.whl", hash = "sha256:b10e42a6de0e32559a92f2f8dc908478cc0fa02838d7dbe764c44dca3fa13569", size = 265893 }, + { url = "https://files.pythonhosted.org/packages/0f/19/772cf8b5fc803f5c89ba85d8b1870a1ca580dc482aa030383a9289c82e44/regex-2026.1.15-cp311-cp311-win_amd64.whl", hash = "sha256:e9bf3f0bbdb56633c07d7116ae60a576f846efdd86a8848f8d62b749e1209ca7", size = 277840 }, + { url = "https://files.pythonhosted.org/packages/78/84/d05f61142709474da3c0853222d91086d3e1372bcdab516c6fd8d80f3297/regex-2026.1.15-cp311-cp311-win_arm64.whl", hash = "sha256:41aef6f953283291c4e4e6850607bd71502be67779586a61472beacb315c97ec", size = 270374 }, + { url = "https://files.pythonhosted.org/packages/92/81/10d8cf43c807d0326efe874c1b79f22bfb0fb226027b0b19ebc26d301408/regex-2026.1.15-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4c8fcc5793dde01641a35905d6731ee1548f02b956815f8f1cab89e515a5bdf1", size = 489398 }, + { url = "https://files.pythonhosted.org/packages/90/b0/7c2a74e74ef2a7c32de724658a69a862880e3e4155cba992ba04d1c70400/regex-2026.1.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bfd876041a956e6a90ad7cdb3f6a630c07d491280bfeed4544053cd434901681", size = 291339 }, + { url = "https://files.pythonhosted.org/packages/19/4d/16d0773d0c818417f4cc20aa0da90064b966d22cd62a8c46765b5bd2d643/regex-2026.1.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9250d087bc92b7d4899ccd5539a1b2334e44eee85d848c4c1aef8e221d3f8c8f", size = 289003 }, + { url = "https://files.pythonhosted.org/packages/c6/e4/1fc4599450c9f0863d9406e944592d968b8d6dfd0d552a7d569e43bceada/regex-2026.1.15-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c8a154cf6537ebbc110e24dabe53095e714245c272da9c1be05734bdad4a61aa", size = 798656 }, + { url = "https://files.pythonhosted.org/packages/b2/e6/59650d73a73fa8a60b3a590545bfcf1172b4384a7df2e7fe7b9aab4e2da9/regex-2026.1.15-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8050ba2e3ea1d8731a549e83c18d2f0999fbc99a5f6bd06b4c91449f55291804", size = 864252 }, + { url = "https://files.pythonhosted.org/packages/6e/ab/1d0f4d50a1638849a97d731364c9a80fa304fec46325e48330c170ee8e80/regex-2026.1.15-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf065240704cb8951cc04972cf107063917022511273e0969bdb34fc173456c", size = 912268 }, + { url = "https://files.pythonhosted.org/packages/dd/df/0d722c030c82faa1d331d1921ee268a4e8fb55ca8b9042c9341c352f17fa/regex-2026.1.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c32bef3e7aeee75746748643667668ef941d28b003bfc89994ecf09a10f7a1b5", size = 803589 }, + { url = "https://files.pythonhosted.org/packages/66/23/33289beba7ccb8b805c6610a8913d0131f834928afc555b241caabd422a9/regex-2026.1.15-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d5eaa4a4c5b1906bd0d2508d68927f15b81821f85092e06f1a34a4254b0e1af3", size = 775700 }, + { url = "https://files.pythonhosted.org/packages/e7/65/bf3a42fa6897a0d3afa81acb25c42f4b71c274f698ceabd75523259f6688/regex-2026.1.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:86c1077a3cc60d453d4084d5b9649065f3bf1184e22992bd322e1f081d3117fb", size = 787928 }, + { url = "https://files.pythonhosted.org/packages/f4/f5/13bf65864fc314f68cdd6d8ca94adcab064d4d39dbd0b10fef29a9da48fc/regex-2026.1.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:2b091aefc05c78d286657cd4db95f2e6313375ff65dcf085e42e4c04d9c8d410", size = 858607 }, + { url = "https://files.pythonhosted.org/packages/a3/31/040e589834d7a439ee43fb0e1e902bc81bd58a5ba81acffe586bb3321d35/regex-2026.1.15-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:57e7d17f59f9ebfa9667e6e5a1c0127b96b87cb9cede8335482451ed00788ba4", size = 763729 }, + { url = "https://files.pythonhosted.org/packages/9b/84/6921e8129687a427edf25a34a5594b588b6d88f491320b9de5b6339a4fcb/regex-2026.1.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:c6c4dcdfff2c08509faa15d36ba7e5ef5fcfab25f1e8f85a0c8f45bc3a30725d", size = 850697 }, + { url = "https://files.pythonhosted.org/packages/8a/87/3d06143d4b128f4229158f2de5de6c8f2485170c7221e61bf381313314b2/regex-2026.1.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cf8ff04c642716a7f2048713ddc6278c5fd41faa3b9cab12607c7abecd012c22", size = 789849 }, + { url = "https://files.pythonhosted.org/packages/77/69/c50a63842b6bd48850ebc7ab22d46e7a2a32d824ad6c605b218441814639/regex-2026.1.15-cp312-cp312-win32.whl", hash = "sha256:82345326b1d8d56afbe41d881fdf62f1926d7264b2fc1537f99ae5da9aad7913", size = 266279 }, + { url = "https://files.pythonhosted.org/packages/f2/36/39d0b29d087e2b11fd8191e15e81cce1b635fcc845297c67f11d0d19274d/regex-2026.1.15-cp312-cp312-win_amd64.whl", hash = "sha256:4def140aa6156bc64ee9912383d4038f3fdd18fee03a6f222abd4de6357ce42a", size = 277166 }, + { url = "https://files.pythonhosted.org/packages/28/32/5b8e476a12262748851fa8ab1b0be540360692325975b094e594dfebbb52/regex-2026.1.15-cp312-cp312-win_arm64.whl", hash = "sha256:c6c565d9a6e1a8d783c1948937ffc377dd5771e83bd56de8317c450a954d2056", size = 270415 }, + { url = "https://files.pythonhosted.org/packages/f8/2e/6870bb16e982669b674cce3ee9ff2d1d46ab80528ee6bcc20fb2292efb60/regex-2026.1.15-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e69d0deeb977ffe7ed3d2e4439360089f9c3f217ada608f0f88ebd67afb6385e", size = 489164 }, + { url = "https://files.pythonhosted.org/packages/dc/67/9774542e203849b0286badf67199970a44ebdb0cc5fb739f06e47ada72f8/regex-2026.1.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3601ffb5375de85a16f407854d11cca8fe3f5febbe3ac78fb2866bb220c74d10", size = 291218 }, + { url = "https://files.pythonhosted.org/packages/b2/87/b0cda79f22b8dee05f774922a214da109f9a4c0eca5da2c9d72d77ea062c/regex-2026.1.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4c5ef43b5c2d4114eb8ea424bb8c9cec01d5d17f242af88b2448f5ee81caadbc", size = 288895 }, + { url = "https://files.pythonhosted.org/packages/3b/6a/0041f0a2170d32be01ab981d6346c83a8934277d82c780d60b127331f264/regex-2026.1.15-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:968c14d4f03e10b2fd960f1d5168c1f0ac969381d3c1fcc973bc45fb06346599", size = 798680 }, + { url = "https://files.pythonhosted.org/packages/58/de/30e1cfcdbe3e891324aa7568b7c968771f82190df5524fabc1138cb2d45a/regex-2026.1.15-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56a5595d0f892f214609c9f76b41b7428bed439d98dc961efafdd1354d42baae", size = 864210 }, + { url = "https://files.pythonhosted.org/packages/64/44/4db2f5c5ca0ccd40ff052ae7b1e9731352fcdad946c2b812285a7505ca75/regex-2026.1.15-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf650f26087363434c4e560011f8e4e738f6f3e029b85d4904c50135b86cfa5", size = 912358 }, + { url = "https://files.pythonhosted.org/packages/79/b6/e6a5665d43a7c42467138c8a2549be432bad22cbd206f5ec87162de74bd7/regex-2026.1.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18388a62989c72ac24de75f1449d0fb0b04dfccd0a1a7c1c43af5eb503d890f6", size = 803583 }, + { url = "https://files.pythonhosted.org/packages/e7/53/7cd478222169d85d74d7437e74750005e993f52f335f7c04ff7adfda3310/regex-2026.1.15-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6d220a2517f5893f55daac983bfa9fe998a7dbcaee4f5d27a88500f8b7873788", size = 775782 }, + { url = "https://files.pythonhosted.org/packages/ca/b5/75f9a9ee4b03a7c009fe60500fe550b45df94f0955ca29af16333ef557c5/regex-2026.1.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c9c08c2fbc6120e70abff5d7f28ffb4d969e14294fb2143b4b5c7d20e46d1714", size = 787978 }, + { url = "https://files.pythonhosted.org/packages/72/b3/79821c826245bbe9ccbb54f6eadb7879c722fd3e0248c17bfc90bf54e123/regex-2026.1.15-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7ef7d5d4bd49ec7364315167a4134a015f61e8266c6d446fc116a9ac4456e10d", size = 858550 }, + { url = "https://files.pythonhosted.org/packages/4a/85/2ab5f77a1c465745bfbfcb3ad63178a58337ae8d5274315e2cc623a822fa/regex-2026.1.15-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:6e42844ad64194fa08d5ccb75fe6a459b9b08e6d7296bd704460168d58a388f3", size = 763747 }, + { url = "https://files.pythonhosted.org/packages/6d/84/c27df502d4bfe2873a3e3a7cf1bdb2b9cc10284d1a44797cf38bed790470/regex-2026.1.15-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:cfecdaa4b19f9ca534746eb3b55a5195d5c95b88cac32a205e981ec0a22b7d31", size = 850615 }, + { url = "https://files.pythonhosted.org/packages/7d/b7/658a9782fb253680aa8ecb5ccbb51f69e088ed48142c46d9f0c99b46c575/regex-2026.1.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:08df9722d9b87834a3d701f3fca570b2be115654dbfd30179f30ab2f39d606d3", size = 789951 }, + { url = "https://files.pythonhosted.org/packages/fc/2a/5928af114441e059f15b2f63e188bd00c6529b3051c974ade7444b85fcda/regex-2026.1.15-cp313-cp313-win32.whl", hash = "sha256:d426616dae0967ca225ab12c22274eb816558f2f99ccb4a1d52ca92e8baf180f", size = 266275 }, + { url = "https://files.pythonhosted.org/packages/4f/16/5bfbb89e435897bff28cf0352a992ca719d9e55ebf8b629203c96b6ce4f7/regex-2026.1.15-cp313-cp313-win_amd64.whl", hash = "sha256:febd38857b09867d3ed3f4f1af7d241c5c50362e25ef43034995b77a50df494e", size = 277145 }, + { url = "https://files.pythonhosted.org/packages/56/c1/a09ff7392ef4233296e821aec5f78c51be5e91ffde0d163059e50fd75835/regex-2026.1.15-cp313-cp313-win_arm64.whl", hash = "sha256:8e32f7896f83774f91499d239e24cebfadbc07639c1494bb7213983842348337", size = 270411 }, + { url = "https://files.pythonhosted.org/packages/3c/38/0cfd5a78e5c6db00e6782fdae70458f89850ce95baa5e8694ab91d89744f/regex-2026.1.15-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ec94c04149b6a7b8120f9f44565722c7ae31b7a6d2275569d2eefa76b83da3be", size = 492068 }, + { url = "https://files.pythonhosted.org/packages/50/72/6c86acff16cb7c959c4355826bbf06aad670682d07c8f3998d9ef4fee7cd/regex-2026.1.15-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:40c86d8046915bb9aeb15d3f3f15b6fd500b8ea4485b30e1bbc799dab3fe29f8", size = 292756 }, + { url = "https://files.pythonhosted.org/packages/4e/58/df7fb69eadfe76526ddfce28abdc0af09ffe65f20c2c90932e89d705153f/regex-2026.1.15-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:726ea4e727aba21643205edad8f2187ec682d3305d790f73b7a51c7587b64bdd", size = 291114 }, + { url = "https://files.pythonhosted.org/packages/ed/6c/a4011cd1cf96b90d2cdc7e156f91efbd26531e822a7fbb82a43c1016678e/regex-2026.1.15-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1cb740d044aff31898804e7bf1181cc72c03d11dfd19932b9911ffc19a79070a", size = 807524 }, + { url = "https://files.pythonhosted.org/packages/1d/25/a53ffb73183f69c3e9f4355c4922b76d2840aee160af6af5fac229b6201d/regex-2026.1.15-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:05d75a668e9ea16f832390d22131fe1e8acc8389a694c8febc3e340b0f810b93", size = 873455 }, + { url = "https://files.pythonhosted.org/packages/66/0b/8b47fc2e8f97d9b4a851736f3890a5f786443aa8901061c55f24c955f45b/regex-2026.1.15-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d991483606f3dbec93287b9f35596f41aa2e92b7c2ebbb935b63f409e243c9af", size = 915007 }, + { url = "https://files.pythonhosted.org/packages/c2/fa/97de0d681e6d26fabe71968dbee06dd52819e9a22fdce5dac7256c31ed84/regex-2026.1.15-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:194312a14819d3e44628a44ed6fea6898fdbecb0550089d84c403475138d0a09", size = 812794 }, + { url = "https://files.pythonhosted.org/packages/22/38/e752f94e860d429654aa2b1c51880bff8dfe8f084268258adf9151cf1f53/regex-2026.1.15-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe2fda4110a3d0bc163c2e0664be44657431440722c5c5315c65155cab92f9e5", size = 781159 }, + { url = "https://files.pythonhosted.org/packages/e9/a7/d739ffaef33c378fc888302a018d7f81080393d96c476b058b8c64fd2b0d/regex-2026.1.15-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:124dc36c85d34ef2d9164da41a53c1c8c122cfb1f6e1ec377a1f27ee81deb794", size = 795558 }, + { url = "https://files.pythonhosted.org/packages/3e/c4/542876f9a0ac576100fc73e9c75b779f5c31e3527576cfc9cb3009dcc58a/regex-2026.1.15-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:a1774cd1981cd212506a23a14dba7fdeaee259f5deba2df6229966d9911e767a", size = 868427 }, + { url = "https://files.pythonhosted.org/packages/fc/0f/d5655bea5b22069e32ae85a947aa564912f23758e112cdb74212848a1a1b/regex-2026.1.15-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:b5f7d8d2867152cdb625e72a530d2ccb48a3d199159144cbdd63870882fb6f80", size = 769939 }, + { url = "https://files.pythonhosted.org/packages/20/06/7e18a4fa9d326daeda46d471a44ef94201c46eaa26dbbb780b5d92cbfdda/regex-2026.1.15-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:492534a0ab925d1db998defc3c302dae3616a2fc3fe2e08db1472348f096ddf2", size = 854753 }, + { url = "https://files.pythonhosted.org/packages/3b/67/dc8946ef3965e166f558ef3b47f492bc364e96a265eb4a2bb3ca765c8e46/regex-2026.1.15-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c661fc820cfb33e166bf2450d3dadbda47c8d8981898adb9b6fe24e5e582ba60", size = 799559 }, + { url = "https://files.pythonhosted.org/packages/a5/61/1bba81ff6d50c86c65d9fd84ce9699dd106438ee4cdb105bf60374ee8412/regex-2026.1.15-cp313-cp313t-win32.whl", hash = "sha256:99ad739c3686085e614bf77a508e26954ff1b8f14da0e3765ff7abbf7799f952", size = 268879 }, + { url = "https://files.pythonhosted.org/packages/e9/5e/cef7d4c5fb0ea3ac5c775fd37db5747f7378b29526cc83f572198924ff47/regex-2026.1.15-cp313-cp313t-win_amd64.whl", hash = "sha256:32655d17905e7ff8ba5c764c43cb124e34a9245e45b83c22e81041e1071aee10", size = 280317 }, + { url = "https://files.pythonhosted.org/packages/b4/52/4317f7a5988544e34ab57b4bde0f04944c4786128c933fb09825924d3e82/regex-2026.1.15-cp313-cp313t-win_arm64.whl", hash = "sha256:b2a13dd6a95e95a489ca242319d18fc02e07ceb28fa9ad146385194d95b3c829", size = 271551 }, + { url = "https://files.pythonhosted.org/packages/52/0a/47fa888ec7cbbc7d62c5f2a6a888878e76169170ead271a35239edd8f0e8/regex-2026.1.15-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:d920392a6b1f353f4aa54328c867fec3320fa50657e25f64abf17af054fc97ac", size = 489170 }, + { url = "https://files.pythonhosted.org/packages/ac/c4/d000e9b7296c15737c9301708e9e7fbdea009f8e93541b6b43bdb8219646/regex-2026.1.15-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b5a28980a926fa810dbbed059547b02783952e2efd9c636412345232ddb87ff6", size = 291146 }, + { url = "https://files.pythonhosted.org/packages/f9/b6/921cc61982e538682bdf3bdf5b2c6ab6b34368da1f8e98a6c1ddc503c9cf/regex-2026.1.15-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:621f73a07595d83f28952d7bd1e91e9d1ed7625fb7af0064d3516674ec93a2a2", size = 288986 }, + { url = "https://files.pythonhosted.org/packages/ca/33/eb7383dde0bbc93f4fb9d03453aab97e18ad4024ac7e26cef8d1f0a2cff0/regex-2026.1.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d7d92495f47567a9b1669c51fc8d6d809821849063d168121ef801bbc213846", size = 799098 }, + { url = "https://files.pythonhosted.org/packages/27/56/b664dccae898fc8d8b4c23accd853f723bde0f026c747b6f6262b688029c/regex-2026.1.15-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8dd16fba2758db7a3780a051f245539c4451ca20910f5a5e6ea1c08d06d4a76b", size = 864980 }, + { url = "https://files.pythonhosted.org/packages/16/40/0999e064a170eddd237bae9ccfcd8f28b3aa98a38bf727a086425542a4fc/regex-2026.1.15-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1e1808471fbe44c1a63e5f577a1d5f02fe5d66031dcbdf12f093ffc1305a858e", size = 911607 }, + { url = "https://files.pythonhosted.org/packages/07/78/c77f644b68ab054e5a674fb4da40ff7bffb2c88df58afa82dbf86573092d/regex-2026.1.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0751a26ad39d4f2ade8fe16c59b2bf5cb19eb3d2cd543e709e583d559bd9efde", size = 803358 }, + { url = "https://files.pythonhosted.org/packages/27/31/d4292ea8566eaa551fafc07797961c5963cf5235c797cc2ae19b85dfd04d/regex-2026.1.15-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0f0c7684c7f9ca241344ff95a1de964f257a5251968484270e91c25a755532c5", size = 775833 }, + { url = "https://files.pythonhosted.org/packages/ce/b2/cff3bf2fea4133aa6fb0d1e370b37544d18c8350a2fa118c7e11d1db0e14/regex-2026.1.15-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:74f45d170a21df41508cb67165456538425185baaf686281fa210d7e729abc34", size = 788045 }, + { url = "https://files.pythonhosted.org/packages/8d/99/2cb9b69045372ec877b6f5124bda4eb4253bc58b8fe5848c973f752bc52c/regex-2026.1.15-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f1862739a1ffb50615c0fde6bae6569b5efbe08d98e59ce009f68a336f64da75", size = 859374 }, + { url = "https://files.pythonhosted.org/packages/09/16/710b0a5abe8e077b1729a562d2f297224ad079f3a66dce46844c193416c8/regex-2026.1.15-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:453078802f1b9e2b7303fb79222c054cb18e76f7bdc220f7530fdc85d319f99e", size = 763940 }, + { url = "https://files.pythonhosted.org/packages/dd/d1/7585c8e744e40eb3d32f119191969b91de04c073fca98ec14299041f6e7e/regex-2026.1.15-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:a30a68e89e5a218b8b23a52292924c1f4b245cb0c68d1cce9aec9bbda6e2c160", size = 850112 }, + { url = "https://files.pythonhosted.org/packages/af/d6/43e1dd85df86c49a347aa57c1f69d12c652c7b60e37ec162e3096194a278/regex-2026.1.15-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9479cae874c81bf610d72b85bb681a94c95722c127b55445285fb0e2c82db8e1", size = 789586 }, + { url = "https://files.pythonhosted.org/packages/93/38/77142422f631e013f316aaae83234c629555729a9fbc952b8a63ac91462a/regex-2026.1.15-cp314-cp314-win32.whl", hash = "sha256:d639a750223132afbfb8f429c60d9d318aeba03281a5f1ab49f877456448dcf1", size = 271691 }, + { url = "https://files.pythonhosted.org/packages/4a/a9/ab16b4649524ca9e05213c1cdbb7faa85cc2aa90a0230d2f796cbaf22736/regex-2026.1.15-cp314-cp314-win_amd64.whl", hash = "sha256:4161d87f85fa831e31469bfd82c186923070fc970b9de75339b68f0c75b51903", size = 280422 }, + { url = "https://files.pythonhosted.org/packages/be/2a/20fd057bf3521cb4791f69f869635f73e0aaf2b9ad2d260f728144f9047c/regex-2026.1.15-cp314-cp314-win_arm64.whl", hash = "sha256:91c5036ebb62663a6b3999bdd2e559fd8456d17e2b485bf509784cd31a8b1705", size = 273467 }, + { url = "https://files.pythonhosted.org/packages/ad/77/0b1e81857060b92b9cad239104c46507dd481b3ff1fa79f8e7f865aae38a/regex-2026.1.15-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ee6854c9000a10938c79238de2379bea30c82e4925a371711af45387df35cab8", size = 492073 }, + { url = "https://files.pythonhosted.org/packages/70/f3/f8302b0c208b22c1e4f423147e1913fd475ddd6230565b299925353de644/regex-2026.1.15-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2c2b80399a422348ce5de4fe40c418d6299a0fa2803dd61dc0b1a2f28e280fcf", size = 292757 }, + { url = "https://files.pythonhosted.org/packages/bf/f0/ef55de2460f3b4a6da9d9e7daacd0cb79d4ef75c64a2af316e68447f0df0/regex-2026.1.15-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:dca3582bca82596609959ac39e12b7dad98385b4fefccb1151b937383cec547d", size = 291122 }, + { url = "https://files.pythonhosted.org/packages/cf/55/bb8ccbacabbc3a11d863ee62a9f18b160a83084ea95cdfc5d207bfc3dd75/regex-2026.1.15-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef71d476caa6692eea743ae5ea23cde3260677f70122c4d258ca952e5c2d4e84", size = 807761 }, + { url = "https://files.pythonhosted.org/packages/8f/84/f75d937f17f81e55679a0509e86176e29caa7298c38bd1db7ce9c0bf6075/regex-2026.1.15-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c243da3436354f4af6c3058a3f81a97d47ea52c9bd874b52fd30274853a1d5df", size = 873538 }, + { url = "https://files.pythonhosted.org/packages/b8/d9/0da86327df70349aa8d86390da91171bd3ca4f0e7c1d1d453a9c10344da3/regex-2026.1.15-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8355ad842a7c7e9e5e55653eade3b7d1885ba86f124dd8ab1f722f9be6627434", size = 915066 }, + { url = "https://files.pythonhosted.org/packages/2a/5e/f660fb23fc77baa2a61aa1f1fe3a4eea2bbb8a286ddec148030672e18834/regex-2026.1.15-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f192a831d9575271a22d804ff1a5355355723f94f31d9eef25f0d45a152fdc1a", size = 812938 }, + { url = "https://files.pythonhosted.org/packages/69/33/a47a29bfecebbbfd1e5cd3f26b28020a97e4820f1c5148e66e3b7d4b4992/regex-2026.1.15-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:166551807ec20d47ceaeec380081f843e88c8949780cd42c40f18d16168bed10", size = 781314 }, + { url = "https://files.pythonhosted.org/packages/65/ec/7ec2bbfd4c3f4e494a24dec4c6943a668e2030426b1b8b949a6462d2c17b/regex-2026.1.15-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:f9ca1cbdc0fbfe5e6e6f8221ef2309988db5bcede52443aeaee9a4ad555e0dac", size = 795652 }, + { url = "https://files.pythonhosted.org/packages/46/79/a5d8651ae131fe27d7c521ad300aa7f1c7be1dbeee4d446498af5411b8a9/regex-2026.1.15-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b30bcbd1e1221783c721483953d9e4f3ab9c5d165aa709693d3f3946747b1aea", size = 868550 }, + { url = "https://files.pythonhosted.org/packages/06/b7/25635d2809664b79f183070786a5552dd4e627e5aedb0065f4e3cf8ee37d/regex-2026.1.15-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:2a8d7b50c34578d0d3bf7ad58cde9652b7d683691876f83aedc002862a35dc5e", size = 769981 }, + { url = "https://files.pythonhosted.org/packages/16/8b/fc3fcbb2393dcfa4a6c5ffad92dc498e842df4581ea9d14309fcd3c55fb9/regex-2026.1.15-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9d787e3310c6a6425eb346be4ff2ccf6eece63017916fd77fe8328c57be83521", size = 854780 }, + { url = "https://files.pythonhosted.org/packages/d0/38/dde117c76c624713c8a2842530be9c93ca8b606c0f6102d86e8cd1ce8bea/regex-2026.1.15-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:619843841e220adca114118533a574a9cd183ed8a28b85627d2844c500a2b0db", size = 799778 }, + { url = "https://files.pythonhosted.org/packages/e3/0d/3a6cfa9ae99606afb612d8fb7a66b245a9d5ff0f29bb347c8a30b6ad561b/regex-2026.1.15-cp314-cp314t-win32.whl", hash = "sha256:e90b8db97f6f2c97eb045b51a6b2c5ed69cedd8392459e0642d4199b94fabd7e", size = 274667 }, + { url = "https://files.pythonhosted.org/packages/5b/b2/297293bb0742fd06b8d8e2572db41a855cdf1cae0bf009b1cb74fe07e196/regex-2026.1.15-cp314-cp314t-win_amd64.whl", hash = "sha256:5ef19071f4ac9f0834793af85bd04a920b4407715624e40cb7a0631a11137cdf", size = 284386 }, + { url = "https://files.pythonhosted.org/packages/95/e4/a3b9480c78cf8ee86626cb06f8d931d74d775897d44201ccb813097ae697/regex-2026.1.15-cp314-cp314t-win_arm64.whl", hash = "sha256:ca89c5e596fc05b015f27561b3793dc2fa0917ea0d7507eebb448efd35274a70", size = 274837 }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738 }, +] + +[[package]] +name = "safetensors" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/29/9c/6e74567782559a63bd040a236edca26fd71bc7ba88de2ef35d75df3bca5e/safetensors-0.7.0.tar.gz", hash = "sha256:07663963b67e8bd9f0b8ad15bb9163606cd27cc5a1b96235a50d8369803b96b0", size = 200878 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/47/aef6c06649039accf914afef490268e1067ed82be62bcfa5b7e886ad15e8/safetensors-0.7.0-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c82f4d474cf725255d9e6acf17252991c3c8aac038d6ef363a4bf8be2f6db517", size = 467781 }, + { url = "https://files.pythonhosted.org/packages/e8/00/374c0c068e30cd31f1e1b46b4b5738168ec79e7689ca82ee93ddfea05109/safetensors-0.7.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:94fd4858284736bb67a897a41608b5b0c2496c9bdb3bf2af1fa3409127f20d57", size = 447058 }, + { url = "https://files.pythonhosted.org/packages/f1/06/578ffed52c2296f93d7fd2d844cabfa92be51a587c38c8afbb8ae449ca89/safetensors-0.7.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e07d91d0c92a31200f25351f4acb2bc6aff7f48094e13ebb1d0fb995b54b6542", size = 491748 }, + { url = "https://files.pythonhosted.org/packages/ae/33/1debbbb70e4791dde185edb9413d1fe01619255abb64b300157d7f15dddd/safetensors-0.7.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8469155f4cb518bafb4acf4865e8bb9d6804110d2d9bdcaa78564b9fd841e104", size = 503881 }, + { url = "https://files.pythonhosted.org/packages/8e/1c/40c2ca924d60792c3be509833df711b553c60effbd91da6f5284a83f7122/safetensors-0.7.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:54bef08bf00a2bff599982f6b08e8770e09cc012d7bba00783fc7ea38f1fb37d", size = 623463 }, + { url = "https://files.pythonhosted.org/packages/9b/3a/13784a9364bd43b0d61eef4bea2845039bc2030458b16594a1bd787ae26e/safetensors-0.7.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:42cb091236206bb2016d245c377ed383aa7f78691748f3bb6ee1bfa51ae2ce6a", size = 532855 }, + { url = "https://files.pythonhosted.org/packages/a0/60/429e9b1cb3fc651937727befe258ea24122d9663e4d5709a48c9cbfceecb/safetensors-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac7252938f0696ddea46f5e855dd3138444e82236e3be475f54929f0c510d48", size = 507152 }, + { url = "https://files.pythonhosted.org/packages/3c/a8/4b45e4e059270d17af60359713ffd83f97900d45a6afa73aaa0d737d48b6/safetensors-0.7.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1d060c70284127fa805085d8f10fbd0962792aed71879d00864acda69dbab981", size = 541856 }, + { url = "https://files.pythonhosted.org/packages/06/87/d26d8407c44175d8ae164a95b5a62707fcc445f3c0c56108e37d98070a3d/safetensors-0.7.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:cdab83a366799fa730f90a4ebb563e494f28e9e92c4819e556152ad55e43591b", size = 674060 }, + { url = "https://files.pythonhosted.org/packages/11/f5/57644a2ff08dc6325816ba7217e5095f17269dada2554b658442c66aed51/safetensors-0.7.0-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:672132907fcad9f2aedcb705b2d7b3b93354a2aec1b2f706c4db852abe338f85", size = 771715 }, + { url = "https://files.pythonhosted.org/packages/86/31/17883e13a814bd278ae6e266b13282a01049b0c81341da7fd0e3e71a80a3/safetensors-0.7.0-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:5d72abdb8a4d56d4020713724ba81dac065fedb7f3667151c4a637f1d3fb26c0", size = 714377 }, + { url = "https://files.pythonhosted.org/packages/4a/d8/0c8a7dc9b41dcac53c4cbf9df2b9c83e0e0097203de8b37a712b345c0be5/safetensors-0.7.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0f6d66c1c538d5a94a73aa9ddca8ccc4227e6c9ff555322ea40bdd142391dd4", size = 677368 }, + { url = "https://files.pythonhosted.org/packages/05/e5/cb4b713c8a93469e3c5be7c3f8d77d307e65fe89673e731f5c2bfd0a9237/safetensors-0.7.0-cp38-abi3-win32.whl", hash = "sha256:c74af94bf3ac15ac4d0f2a7c7b4663a15f8c2ab15ed0fc7531ca61d0835eccba", size = 326423 }, + { url = "https://files.pythonhosted.org/packages/5d/e6/ec8471c8072382cb91233ba7267fd931219753bb43814cbc71757bfd4dab/safetensors-0.7.0-cp38-abi3-win_amd64.whl", hash = "sha256:d1239932053f56f3456f32eb9625590cc7582e905021f94636202a864d470755", size = 341380 }, + { url = "https://files.pythonhosted.org/packages/a7/6a/4d08d89a6fcbe905c5ae68b8b34f0791850882fc19782d0d02c65abbdf3b/safetensors-0.7.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4729811a6640d019a4b7ba8638ee2fd21fa5ca8c7e7bdf0fed62068fcaac737", size = 492430 }, + { url = "https://files.pythonhosted.org/packages/dd/29/59ed8152b30f72c42d00d241e58eaca558ae9dbfa5695206e2e0f54c7063/safetensors-0.7.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:12f49080303fa6bb424b362149a12949dfbbf1e06811a88f2307276b0c131afd", size = 503977 }, + { url = "https://files.pythonhosted.org/packages/d3/0b/4811bfec67fa260e791369b16dab105e4bae82686120554cc484064e22b4/safetensors-0.7.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0071bffba4150c2f46cae1432d31995d77acfd9f8db598b5d1a2ce67e8440ad2", size = 623890 }, + { url = "https://files.pythonhosted.org/packages/58/5b/632a58724221ef03d78ab65062e82a1010e1bef8e8e0b9d7c6d7b8044841/safetensors-0.7.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:473b32699f4200e69801bf5abf93f1a4ecd432a70984df164fc22ccf39c4a6f3", size = 531885 }, +] + +[[package]] +name = "scikit-learn" +version = "1.7.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "joblib", marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "threadpoolctl", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/c2/a7855e41c9d285dfe86dc50b250978105dce513d6e459ea66a6aeb0e1e0c/scikit_learn-1.7.2.tar.gz", hash = "sha256:20e9e49ecd130598f1ca38a1d85090e1a600147b9c02fa6f15d69cb53d968fda", size = 7193136 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ba/3e/daed796fd69cce768b8788401cc464ea90b306fb196ae1ffed0b98182859/scikit_learn-1.7.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b33579c10a3081d076ab403df4a4190da4f4432d443521674637677dc91e61f", size = 9336221 }, + { url = "https://files.pythonhosted.org/packages/1c/ce/af9d99533b24c55ff4e18d9b7b4d9919bbc6cd8f22fe7a7be01519a347d5/scikit_learn-1.7.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:36749fb62b3d961b1ce4fedf08fa57a1986cd409eff2d783bca5d4b9b5fce51c", size = 8653834 }, + { url = "https://files.pythonhosted.org/packages/58/0e/8c2a03d518fb6bd0b6b0d4b114c63d5f1db01ff0f9925d8eb10960d01c01/scikit_learn-1.7.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7a58814265dfc52b3295b1900cfb5701589d30a8bb026c7540f1e9d3499d5ec8", size = 9660938 }, + { url = "https://files.pythonhosted.org/packages/2b/75/4311605069b5d220e7cf5adabb38535bd96f0079313cdbb04b291479b22a/scikit_learn-1.7.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a847fea807e278f821a0406ca01e387f97653e284ecbd9750e3ee7c90347f18", size = 9477818 }, + { url = "https://files.pythonhosted.org/packages/7f/9b/87961813c34adbca21a6b3f6b2bea344c43b30217a6d24cc437c6147f3e8/scikit_learn-1.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:ca250e6836d10e6f402436d6463d6c0e4d8e0234cfb6a9a47835bd392b852ce5", size = 8886969 }, + { url = "https://files.pythonhosted.org/packages/43/83/564e141eef908a5863a54da8ca342a137f45a0bfb71d1d79704c9894c9d1/scikit_learn-1.7.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7509693451651cd7361d30ce4e86a1347493554f172b1c72a39300fa2aea79e", size = 9331967 }, + { url = "https://files.pythonhosted.org/packages/18/d6/ba863a4171ac9d7314c4d3fc251f015704a2caeee41ced89f321c049ed83/scikit_learn-1.7.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:0486c8f827c2e7b64837c731c8feff72c0bd2b998067a8a9cbc10643c31f0fe1", size = 8648645 }, + { url = "https://files.pythonhosted.org/packages/ef/0e/97dbca66347b8cf0ea8b529e6bb9367e337ba2e8be0ef5c1a545232abfde/scikit_learn-1.7.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:89877e19a80c7b11a2891a27c21c4894fb18e2c2e077815bcade10d34287b20d", size = 9715424 }, + { url = "https://files.pythonhosted.org/packages/f7/32/1f3b22e3207e1d2c883a7e09abb956362e7d1bd2f14458c7de258a26ac15/scikit_learn-1.7.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8da8bf89d4d79aaec192d2bda62f9b56ae4e5b4ef93b6a56b5de4977e375c1f1", size = 9509234 }, + { url = "https://files.pythonhosted.org/packages/9f/71/34ddbd21f1da67c7a768146968b4d0220ee6831e4bcbad3e03dd3eae88b6/scikit_learn-1.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:9b7ed8d58725030568523e937c43e56bc01cadb478fc43c042a9aca1dacb3ba1", size = 8894244 }, + { url = "https://files.pythonhosted.org/packages/a7/aa/3996e2196075689afb9fce0410ebdb4a09099d7964d061d7213700204409/scikit_learn-1.7.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8d91a97fa2b706943822398ab943cde71858a50245e31bc71dba62aab1d60a96", size = 9259818 }, + { url = "https://files.pythonhosted.org/packages/43/5d/779320063e88af9c4a7c2cf463ff11c21ac9c8bd730c4a294b0000b666c9/scikit_learn-1.7.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:acbc0f5fd2edd3432a22c69bed78e837c70cf896cd7993d71d51ba6708507476", size = 8636997 }, + { url = "https://files.pythonhosted.org/packages/5c/d0/0c577d9325b05594fdd33aa970bf53fb673f051a45496842caee13cfd7fe/scikit_learn-1.7.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e5bf3d930aee75a65478df91ac1225ff89cd28e9ac7bd1196853a9229b6adb0b", size = 9478381 }, + { url = "https://files.pythonhosted.org/packages/82/70/8bf44b933837ba8494ca0fc9a9ab60f1c13b062ad0197f60a56e2fc4c43e/scikit_learn-1.7.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4d6e9deed1a47aca9fe2f267ab8e8fe82ee20b4526b2c0cd9e135cea10feb44", size = 9300296 }, + { url = "https://files.pythonhosted.org/packages/c6/99/ed35197a158f1fdc2fe7c3680e9c70d0128f662e1fee4ed495f4b5e13db0/scikit_learn-1.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:6088aa475f0785e01bcf8529f55280a3d7d298679f50c0bb70a2364a82d0b290", size = 8731256 }, + { url = "https://files.pythonhosted.org/packages/ae/93/a3038cb0293037fd335f77f31fe053b89c72f17b1c8908c576c29d953e84/scikit_learn-1.7.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0b7dacaa05e5d76759fb071558a8b5130f4845166d88654a0f9bdf3eb57851b7", size = 9212382 }, + { url = "https://files.pythonhosted.org/packages/40/dd/9a88879b0c1104259136146e4742026b52df8540c39fec21a6383f8292c7/scikit_learn-1.7.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:abebbd61ad9e1deed54cca45caea8ad5f79e1b93173dece40bb8e0c658dbe6fe", size = 8592042 }, + { url = "https://files.pythonhosted.org/packages/46/af/c5e286471b7d10871b811b72ae794ac5fe2989c0a2df07f0ec723030f5f5/scikit_learn-1.7.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:502c18e39849c0ea1a5d681af1dbcf15f6cce601aebb657aabbfe84133c1907f", size = 9434180 }, + { url = "https://files.pythonhosted.org/packages/f1/fd/df59faa53312d585023b2da27e866524ffb8faf87a68516c23896c718320/scikit_learn-1.7.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a4c328a71785382fe3fe676a9ecf2c86189249beff90bf85e22bdb7efaf9ae0", size = 9283660 }, + { url = "https://files.pythonhosted.org/packages/a7/c7/03000262759d7b6f38c836ff9d512f438a70d8a8ddae68ee80de72dcfb63/scikit_learn-1.7.2-cp313-cp313-win_amd64.whl", hash = "sha256:63a9afd6f7b229aad94618c01c252ce9e6fa97918c5ca19c9a17a087d819440c", size = 8702057 }, + { url = "https://files.pythonhosted.org/packages/55/87/ef5eb1f267084532c8e4aef98a28b6ffe7425acbfd64b5e2f2e066bc29b3/scikit_learn-1.7.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9acb6c5e867447b4e1390930e3944a005e2cb115922e693c08a323421a6966e8", size = 9558731 }, + { url = "https://files.pythonhosted.org/packages/93/f8/6c1e3fc14b10118068d7938878a9f3f4e6d7b74a8ddb1e5bed65159ccda8/scikit_learn-1.7.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:2a41e2a0ef45063e654152ec9d8bcfc39f7afce35b08902bfe290c2498a67a6a", size = 9038852 }, + { url = "https://files.pythonhosted.org/packages/83/87/066cafc896ee540c34becf95d30375fe5cbe93c3b75a0ee9aa852cd60021/scikit_learn-1.7.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:98335fb98509b73385b3ab2bd0639b1f610541d3988ee675c670371d6a87aa7c", size = 9527094 }, + { url = "https://files.pythonhosted.org/packages/9c/2b/4903e1ccafa1f6453b1ab78413938c8800633988c838aa0be386cbb33072/scikit_learn-1.7.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:191e5550980d45449126e23ed1d5e9e24b2c68329ee1f691a3987476e115e09c", size = 9367436 }, + { url = "https://files.pythonhosted.org/packages/b5/aa/8444be3cfb10451617ff9d177b3c190288f4563e6c50ff02728be67ad094/scikit_learn-1.7.2-cp313-cp313t-win_amd64.whl", hash = "sha256:57dc4deb1d3762c75d685507fbd0bc17160144b2f2ba4ccea5dc285ab0d0e973", size = 9275749 }, + { url = "https://files.pythonhosted.org/packages/d9/82/dee5acf66837852e8e68df6d8d3a6cb22d3df997b733b032f513d95205b7/scikit_learn-1.7.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fa8f63940e29c82d1e67a45d5297bdebbcb585f5a5a50c4914cc2e852ab77f33", size = 9208906 }, + { url = "https://files.pythonhosted.org/packages/3c/30/9029e54e17b87cb7d50d51a5926429c683d5b4c1732f0507a6c3bed9bf65/scikit_learn-1.7.2-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:f95dc55b7902b91331fa4e5845dd5bde0580c9cd9612b1b2791b7e80c3d32615", size = 8627836 }, + { url = "https://files.pythonhosted.org/packages/60/18/4a52c635c71b536879f4b971c2cedf32c35ee78f48367885ed8025d1f7ee/scikit_learn-1.7.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9656e4a53e54578ad10a434dc1f993330568cfee176dff07112b8785fb413106", size = 9426236 }, + { url = "https://files.pythonhosted.org/packages/99/7e/290362f6ab582128c53445458a5befd471ed1ea37953d5bcf80604619250/scikit_learn-1.7.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96dc05a854add0e50d3f47a1ef21a10a595016da5b007c7d9cd9d0bffd1fcc61", size = 9312593 }, + { url = "https://files.pythonhosted.org/packages/8e/87/24f541b6d62b1794939ae6422f8023703bbf6900378b2b34e0b4384dfefd/scikit_learn-1.7.2-cp314-cp314-win_amd64.whl", hash = "sha256:bb24510ed3f9f61476181e4db51ce801e2ba37541def12dc9333b946fc7a9cf8", size = 8820007 }, +] + +[[package]] +name = "scikit-learn" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten'", + "python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +dependencies = [ + { name = "joblib", marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "threadpoolctl", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/d4/40988bf3b8e34feec1d0e6a051446b1f66225f8529b9309becaeef62b6c4/scikit_learn-1.8.0.tar.gz", hash = "sha256:9bccbb3b40e3de10351f8f5068e105d0f4083b1a65fa07b6634fbc401a6287fd", size = 7335585 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c9/92/53ea2181da8ac6bf27170191028aee7251f8f841f8d3edbfdcaf2008fde9/scikit_learn-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:146b4d36f800c013d267b29168813f7a03a43ecd2895d04861f1240b564421da", size = 8595835 }, + { url = "https://files.pythonhosted.org/packages/01/18/d154dc1638803adf987910cdd07097d9c526663a55666a97c124d09fb96a/scikit_learn-1.8.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f984ca4b14914e6b4094c5d52a32ea16b49832c03bd17a110f004db3c223e8e1", size = 8080381 }, + { url = "https://files.pythonhosted.org/packages/8a/44/226142fcb7b7101e64fdee5f49dbe6288d4c7af8abf593237b70fca080a4/scikit_learn-1.8.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e30adb87f0cc81c7690a84f7932dd66be5bac57cfe16b91cb9151683a4a2d3b", size = 8799632 }, + { url = "https://files.pythonhosted.org/packages/36/4d/4a67f30778a45d542bbea5db2dbfa1e9e100bf9ba64aefe34215ba9f11f6/scikit_learn-1.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ada8121bcb4dac28d930febc791a69f7cb1673c8495e5eee274190b73a4559c1", size = 9103788 }, + { url = "https://files.pythonhosted.org/packages/89/3c/45c352094cfa60050bcbb967b1faf246b22e93cb459f2f907b600f2ceda5/scikit_learn-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:c57b1b610bd1f40ba43970e11ce62821c2e6569e4d74023db19c6b26f246cb3b", size = 8081706 }, + { url = "https://files.pythonhosted.org/packages/3d/46/5416595bb395757f754feb20c3d776553a386b661658fb21b7c814e89efe/scikit_learn-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:2838551e011a64e3053ad7618dda9310175f7515f1742fa2d756f7c874c05961", size = 7688451 }, + { url = "https://files.pythonhosted.org/packages/90/74/e6a7cc4b820e95cc38cf36cd74d5aa2b42e8ffc2d21fe5a9a9c45c1c7630/scikit_learn-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5fb63362b5a7ddab88e52b6dbb47dac3fd7dafeee740dc6c8d8a446ddedade8e", size = 8548242 }, + { url = "https://files.pythonhosted.org/packages/49/d8/9be608c6024d021041c7f0b3928d4749a706f4e2c3832bbede4fb4f58c95/scikit_learn-1.8.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:5025ce924beccb28298246e589c691fe1b8c1c96507e6d27d12c5fadd85bfd76", size = 8079075 }, + { url = "https://files.pythonhosted.org/packages/dd/47/f187b4636ff80cc63f21cd40b7b2d177134acaa10f6bb73746130ee8c2e5/scikit_learn-1.8.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4496bb2cf7a43ce1a2d7524a79e40bc5da45cf598dbf9545b7e8316ccba47bb4", size = 8660492 }, + { url = "https://files.pythonhosted.org/packages/97/74/b7a304feb2b49df9fafa9382d4d09061a96ee9a9449a7cbea7988dda0828/scikit_learn-1.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a0bcfe4d0d14aec44921545fd2af2338c7471de9cb701f1da4c9d85906ab847a", size = 8931904 }, + { url = "https://files.pythonhosted.org/packages/9f/c4/0ab22726a04ede56f689476b760f98f8f46607caecff993017ac1b64aa5d/scikit_learn-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:35c007dedb2ffe38fe3ee7d201ebac4a2deccd2408e8621d53067733e3c74809", size = 8019359 }, + { url = "https://files.pythonhosted.org/packages/24/90/344a67811cfd561d7335c1b96ca21455e7e472d281c3c279c4d3f2300236/scikit_learn-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:8c497fff237d7b4e07e9ef1a640887fa4fb765647f86fbe00f969ff6280ce2bb", size = 7641898 }, + { url = "https://files.pythonhosted.org/packages/03/aa/e22e0768512ce9255eba34775be2e85c2048da73da1193e841707f8f039c/scikit_learn-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0d6ae97234d5d7079dc0040990a6f7aeb97cb7fa7e8945f1999a429b23569e0a", size = 8513770 }, + { url = "https://files.pythonhosted.org/packages/58/37/31b83b2594105f61a381fc74ca19e8780ee923be2d496fcd8d2e1147bd99/scikit_learn-1.8.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:edec98c5e7c128328124a029bceb09eda2d526997780fef8d65e9a69eead963e", size = 8044458 }, + { url = "https://files.pythonhosted.org/packages/2d/5a/3f1caed8765f33eabb723596666da4ebbf43d11e96550fb18bdec42b467b/scikit_learn-1.8.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:74b66d8689d52ed04c271e1329f0c61635bcaf5b926db9b12d58914cdc01fe57", size = 8610341 }, + { url = "https://files.pythonhosted.org/packages/38/cf/06896db3f71c75902a8e9943b444a56e727418f6b4b4a90c98c934f51ed4/scikit_learn-1.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8fdf95767f989b0cfedb85f7ed8ca215d4be728031f56ff5a519ee1e3276dc2e", size = 8900022 }, + { url = "https://files.pythonhosted.org/packages/1c/f9/9b7563caf3ec8873e17a31401858efab6b39a882daf6c1bfa88879c0aa11/scikit_learn-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:2de443b9373b3b615aec1bb57f9baa6bb3a9bd093f1269ba95c17d870422b271", size = 7989409 }, + { url = "https://files.pythonhosted.org/packages/49/bd/1f4001503650e72c4f6009ac0c4413cb17d2d601cef6f71c0453da2732fc/scikit_learn-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:eddde82a035681427cbedded4e6eff5e57fa59216c2e3e90b10b19ab1d0a65c3", size = 7619760 }, + { url = "https://files.pythonhosted.org/packages/d2/7d/a630359fc9dcc95496588c8d8e3245cc8fd81980251079bc09c70d41d951/scikit_learn-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7cc267b6108f0a1499a734167282c00c4ebf61328566b55ef262d48e9849c735", size = 8826045 }, + { url = "https://files.pythonhosted.org/packages/cc/56/a0c86f6930cfcd1c7054a2bc417e26960bb88d32444fe7f71d5c2cfae891/scikit_learn-1.8.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:fe1c011a640a9f0791146011dfd3c7d9669785f9fed2b2a5f9e207536cf5c2fd", size = 8420324 }, + { url = "https://files.pythonhosted.org/packages/46/1e/05962ea1cebc1cf3876667ecb14c283ef755bf409993c5946ade3b77e303/scikit_learn-1.8.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72358cce49465d140cc4e7792015bb1f0296a9742d5622c67e31399b75468b9e", size = 8680651 }, + { url = "https://files.pythonhosted.org/packages/fe/56/a85473cd75f200c9759e3a5f0bcab2d116c92a8a02ee08ccd73b870f8bb4/scikit_learn-1.8.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:80832434a6cc114f5219211eec13dcbc16c2bac0e31ef64c6d346cde3cf054cb", size = 8925045 }, + { url = "https://files.pythonhosted.org/packages/cc/b7/64d8cfa896c64435ae57f4917a548d7ac7a44762ff9802f75a79b77cb633/scikit_learn-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ee787491dbfe082d9c3013f01f5991658b0f38aa8177e4cd4bf434c58f551702", size = 8507994 }, + { url = "https://files.pythonhosted.org/packages/5e/37/e192ea709551799379958b4c4771ec507347027bb7c942662c7fbeba31cb/scikit_learn-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf97c10a3f5a7543f9b88cbf488d33d175e9146115a451ae34568597ba33dcde", size = 7869518 }, + { url = "https://files.pythonhosted.org/packages/24/05/1af2c186174cc92dcab2233f327336058c077d38f6fe2aceb08e6ab4d509/scikit_learn-1.8.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c22a2da7a198c28dd1a6e1136f19c830beab7fdca5b3e5c8bba8394f8a5c45b3", size = 8528667 }, + { url = "https://files.pythonhosted.org/packages/a8/25/01c0af38fe969473fb292bba9dc2b8f9b451f3112ff242c647fee3d0dfe7/scikit_learn-1.8.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:6b595b07a03069a2b1740dc08c2299993850ea81cce4fe19b2421e0c970de6b7", size = 8066524 }, + { url = "https://files.pythonhosted.org/packages/be/ce/a0623350aa0b68647333940ee46fe45086c6060ec604874e38e9ab7d8e6c/scikit_learn-1.8.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:29ffc74089f3d5e87dfca4c2c8450f88bdc61b0fc6ed5d267f3988f19a1309f6", size = 8657133 }, + { url = "https://files.pythonhosted.org/packages/b8/cb/861b41341d6f1245e6ca80b1c1a8c4dfce43255b03df034429089ca2a2c5/scikit_learn-1.8.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fb65db5d7531bccf3a4f6bec3462223bea71384e2cda41da0f10b7c292b9e7c4", size = 8923223 }, + { url = "https://files.pythonhosted.org/packages/76/18/a8def8f91b18cd1ba6e05dbe02540168cb24d47e8dcf69e8d00b7da42a08/scikit_learn-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:56079a99c20d230e873ea40753102102734c5953366972a71d5cb39a32bc40c6", size = 8096518 }, + { url = "https://files.pythonhosted.org/packages/d1/77/482076a678458307f0deb44e29891d6022617b2a64c840c725495bee343f/scikit_learn-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:3bad7565bc9cf37ce19a7c0d107742b320c1285df7aab1a6e2d28780df167242", size = 7754546 }, + { url = "https://files.pythonhosted.org/packages/2d/d1/ef294ca754826daa043b2a104e59960abfab4cf653891037d19dd5b6f3cf/scikit_learn-1.8.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:4511be56637e46c25721e83d1a9cea9614e7badc7040c4d573d75fbe257d6fd7", size = 8848305 }, + { url = "https://files.pythonhosted.org/packages/5b/e2/b1f8b05138ee813b8e1a4149f2f0d289547e60851fd1bb268886915adbda/scikit_learn-1.8.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:a69525355a641bf8ef136a7fa447672fb54fe8d60cab5538d9eb7c6438543fb9", size = 8432257 }, + { url = "https://files.pythonhosted.org/packages/26/11/c32b2138a85dcb0c99f6afd13a70a951bfdff8a6ab42d8160522542fb647/scikit_learn-1.8.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c2656924ec73e5939c76ac4c8b026fc203b83d8900362eb2599d8aee80e4880f", size = 8678673 }, + { url = "https://files.pythonhosted.org/packages/c7/57/51f2384575bdec454f4fe4e7a919d696c9ebce914590abf3e52d47607ab8/scikit_learn-1.8.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15fc3b5d19cc2be65404786857f2e13c70c83dd4782676dd6814e3b89dc8f5b9", size = 8922467 }, + { url = "https://files.pythonhosted.org/packages/35/4d/748c9e2872637a57981a04adc038dacaa16ba8ca887b23e34953f0b3f742/scikit_learn-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:00d6f1d66fbcf4eba6e356e1420d33cc06c70a45bb1363cd6f6a8e4ebbbdece2", size = 8774395 }, + { url = "https://files.pythonhosted.org/packages/60/22/d7b2ebe4704a5e50790ba089d5c2ae308ab6bb852719e6c3bd4f04c3a363/scikit_learn-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:f28dd15c6bb0b66ba09728cf09fd8736c304be29409bd8445a080c1280619e8c", size = 8002647 }, +] + +[[package]] +name = "scipy" +version = "1.15.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/2f/4966032c5f8cc7e6a60f1b2e0ad686293b9474b65246b0c642e3ef3badd0/scipy-1.15.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a345928c86d535060c9c2b25e71e87c39ab2f22fc96e9636bd74d1dbf9de448c", size = 38702770 }, + { url = "https://files.pythonhosted.org/packages/a0/6e/0c3bf90fae0e910c274db43304ebe25a6b391327f3f10b5dcc638c090795/scipy-1.15.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:ad3432cb0f9ed87477a8d97f03b763fd1d57709f1bbde3c9369b1dff5503b253", size = 30094511 }, + { url = "https://files.pythonhosted.org/packages/ea/b1/4deb37252311c1acff7f101f6453f0440794f51b6eacb1aad4459a134081/scipy-1.15.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:aef683a9ae6eb00728a542b796f52a5477b78252edede72b8327a886ab63293f", size = 22368151 }, + { url = "https://files.pythonhosted.org/packages/38/7d/f457626e3cd3c29b3a49ca115a304cebb8cc6f31b04678f03b216899d3c6/scipy-1.15.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:1c832e1bd78dea67d5c16f786681b28dd695a8cb1fb90af2e27580d3d0967e92", size = 25121732 }, + { url = "https://files.pythonhosted.org/packages/db/0a/92b1de4a7adc7a15dcf5bddc6e191f6f29ee663b30511ce20467ef9b82e4/scipy-1.15.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:263961f658ce2165bbd7b99fa5135195c3a12d9bef045345016b8b50c315cb82", size = 35547617 }, + { url = "https://files.pythonhosted.org/packages/8e/6d/41991e503e51fc1134502694c5fa7a1671501a17ffa12716a4a9151af3df/scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2abc762b0811e09a0d3258abee2d98e0c703eee49464ce0069590846f31d40", size = 37662964 }, + { url = "https://files.pythonhosted.org/packages/25/e1/3df8f83cb15f3500478c889be8fb18700813b95e9e087328230b98d547ff/scipy-1.15.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed7284b21a7a0c8f1b6e5977ac05396c0d008b89e05498c8b7e8f4a1423bba0e", size = 37238749 }, + { url = "https://files.pythonhosted.org/packages/93/3e/b3257cf446f2a3533ed7809757039016b74cd6f38271de91682aa844cfc5/scipy-1.15.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5380741e53df2c566f4d234b100a484b420af85deb39ea35a1cc1be84ff53a5c", size = 40022383 }, + { url = "https://files.pythonhosted.org/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13", size = 41259201 }, + { url = "https://files.pythonhosted.org/packages/96/ab/5cc9f80f28f6a7dff646c5756e559823614a42b1939d86dd0ed550470210/scipy-1.15.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:993439ce220d25e3696d1b23b233dd010169b62f6456488567e830654ee37a6b", size = 38714255 }, + { url = "https://files.pythonhosted.org/packages/4a/4a/66ba30abe5ad1a3ad15bfb0b59d22174012e8056ff448cb1644deccbfed2/scipy-1.15.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:34716e281f181a02341ddeaad584205bd2fd3c242063bd3423d61ac259ca7eba", size = 30111035 }, + { url = "https://files.pythonhosted.org/packages/4b/fa/a7e5b95afd80d24313307f03624acc65801846fa75599034f8ceb9e2cbf6/scipy-1.15.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b0334816afb8b91dab859281b1b9786934392aa3d527cd847e41bb6f45bee65", size = 22384499 }, + { url = "https://files.pythonhosted.org/packages/17/99/f3aaddccf3588bb4aea70ba35328c204cadd89517a1612ecfda5b2dd9d7a/scipy-1.15.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6db907c7368e3092e24919b5e31c76998b0ce1684d51a90943cb0ed1b4ffd6c1", size = 25152602 }, + { url = "https://files.pythonhosted.org/packages/56/c5/1032cdb565f146109212153339f9cb8b993701e9fe56b1c97699eee12586/scipy-1.15.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721d6b4ef5dc82ca8968c25b111e307083d7ca9091bc38163fb89243e85e3889", size = 35503415 }, + { url = "https://files.pythonhosted.org/packages/bd/37/89f19c8c05505d0601ed5650156e50eb881ae3918786c8fd7262b4ee66d3/scipy-1.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39cb9c62e471b1bb3750066ecc3a3f3052b37751c7c3dfd0fd7e48900ed52982", size = 37652622 }, + { url = "https://files.pythonhosted.org/packages/7e/31/be59513aa9695519b18e1851bb9e487de66f2d31f835201f1b42f5d4d475/scipy-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:795c46999bae845966368a3c013e0e00947932d68e235702b5c3f6ea799aa8c9", size = 37244796 }, + { url = "https://files.pythonhosted.org/packages/10/c0/4f5f3eeccc235632aab79b27a74a9130c6c35df358129f7ac8b29f562ac7/scipy-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18aaacb735ab38b38db42cb01f6b92a2d0d4b6aabefeb07f02849e47f8fb3594", size = 40047684 }, + { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504 }, + { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735 }, + { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284 }, + { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958 }, + { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454 }, + { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199 }, + { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455 }, + { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140 }, + { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549 }, + { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184 }, + { url = "https://files.pythonhosted.org/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759", size = 38728256 }, + { url = "https://files.pythonhosted.org/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62", size = 30109540 }, + { url = "https://files.pythonhosted.org/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb", size = 22383115 }, + { url = "https://files.pythonhosted.org/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730", size = 25163884 }, + { url = "https://files.pythonhosted.org/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825", size = 35174018 }, + { url = "https://files.pythonhosted.org/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7", size = 37269716 }, + { url = "https://files.pythonhosted.org/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11", size = 36872342 }, + { url = "https://files.pythonhosted.org/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126", size = 39670869 }, + { url = "https://files.pythonhosted.org/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163", size = 40988851 }, + { url = "https://files.pythonhosted.org/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8", size = 38863011 }, + { url = "https://files.pythonhosted.org/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5", size = 30266407 }, + { url = "https://files.pythonhosted.org/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e", size = 22540030 }, + { url = "https://files.pythonhosted.org/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb", size = 25218709 }, + { url = "https://files.pythonhosted.org/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723", size = 34809045 }, + { url = "https://files.pythonhosted.org/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb", size = 36703062 }, + { url = "https://files.pythonhosted.org/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4", size = 36393132 }, + { url = "https://files.pythonhosted.org/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5", size = 38979503 }, + { url = "https://files.pythonhosted.org/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca", size = 40308097 }, +] + +[[package]] +name = "scipy" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.13.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'win32'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten'", + "python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +dependencies = [ + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/56/3e/9cca699f3486ce6bc12ff46dc2031f1ec8eb9ccc9a320fdaf925f1417426/scipy-1.17.0.tar.gz", hash = "sha256:2591060c8e648d8b96439e111ac41fd8342fdeff1876be2e19dea3fe8930454e", size = 30396830 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/4b/c89c131aa87cad2b77a54eb0fb94d633a842420fa7e919dc2f922037c3d8/scipy-1.17.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:2abd71643797bd8a106dff97894ff7869eeeb0af0f7a5ce02e4227c6a2e9d6fd", size = 31381316 }, + { url = "https://files.pythonhosted.org/packages/5e/5f/a6b38f79a07d74989224d5f11b55267714707582908a5f1ae854cf9a9b84/scipy-1.17.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:ef28d815f4d2686503e5f4f00edc387ae58dfd7a2f42e348bb53359538f01558", size = 27966760 }, + { url = "https://files.pythonhosted.org/packages/c1/20/095ad24e031ee8ed3c5975954d816b8e7e2abd731e04f8be573de8740885/scipy-1.17.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:272a9f16d6bb4667e8b50d25d71eddcc2158a214df1b566319298de0939d2ab7", size = 20138701 }, + { url = "https://files.pythonhosted.org/packages/89/11/4aad2b3858d0337756f3323f8960755704e530b27eb2a94386c970c32cbe/scipy-1.17.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:7204fddcbec2fe6598f1c5fdf027e9f259106d05202a959a9f1aecf036adc9f6", size = 22480574 }, + { url = "https://files.pythonhosted.org/packages/85/bd/f5af70c28c6da2227e510875cadf64879855193a687fb19951f0f44cfd6b/scipy-1.17.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fc02c37a5639ee67d8fb646ffded6d793c06c5622d36b35cfa8fe5ececb8f042", size = 32862414 }, + { url = "https://files.pythonhosted.org/packages/ef/df/df1457c4df3826e908879fe3d76bc5b6e60aae45f4ee42539512438cfd5d/scipy-1.17.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dac97a27520d66c12a34fd90a4fe65f43766c18c0d6e1c0a80f114d2260080e4", size = 35112380 }, + { url = "https://files.pythonhosted.org/packages/5f/bb/88e2c16bd1dd4de19d80d7c5e238387182993c2fb13b4b8111e3927ad422/scipy-1.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ebb7446a39b3ae0fe8f416a9a3fdc6fba3f11c634f680f16a239c5187bc487c0", size = 34922676 }, + { url = "https://files.pythonhosted.org/packages/02/ba/5120242cc735f71fc002cff0303d536af4405eb265f7c60742851e7ccfe9/scipy-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:474da16199f6af66601a01546144922ce402cb17362e07d82f5a6cf8f963e449", size = 37507599 }, + { url = "https://files.pythonhosted.org/packages/52/c8/08629657ac6c0da198487ce8cd3de78e02cfde42b7f34117d56a3fe249dc/scipy-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:255c0da161bd7b32a6c898e7891509e8a9289f0b1c6c7d96142ee0d2b114c2ea", size = 36380284 }, + { url = "https://files.pythonhosted.org/packages/6c/4a/465f96d42c6f33ad324a40049dfd63269891db9324aa66c4a1c108c6f994/scipy-1.17.0-cp311-cp311-win_arm64.whl", hash = "sha256:85b0ac3ad17fa3be50abd7e69d583d98792d7edc08367e01445a1e2076005379", size = 24370427 }, + { url = "https://files.pythonhosted.org/packages/0b/11/7241a63e73ba5a516f1930ac8d5b44cbbfabd35ac73a2d08ca206df007c4/scipy-1.17.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:0d5018a57c24cb1dd828bcf51d7b10e65986d549f52ef5adb6b4d1ded3e32a57", size = 31364580 }, + { url = "https://files.pythonhosted.org/packages/ed/1d/5057f812d4f6adc91a20a2d6f2ebcdb517fdbc87ae3acc5633c9b97c8ba5/scipy-1.17.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:88c22af9e5d5a4f9e027e26772cc7b5922fab8bcc839edb3ae33de404feebd9e", size = 27969012 }, + { url = "https://files.pythonhosted.org/packages/e3/21/f6ec556c1e3b6ec4e088da667d9987bb77cc3ab3026511f427dc8451187d/scipy-1.17.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:f3cd947f20fe17013d401b64e857c6b2da83cae567adbb75b9dcba865abc66d8", size = 20140691 }, + { url = "https://files.pythonhosted.org/packages/7a/fe/5e5ad04784964ba964a96f16c8d4676aa1b51357199014dce58ab7ec5670/scipy-1.17.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e8c0b331c2c1f531eb51f1b4fc9ba709521a712cce58f1aa627bc007421a5306", size = 22463015 }, + { url = "https://files.pythonhosted.org/packages/4a/69/7c347e857224fcaf32a34a05183b9d8a7aca25f8f2d10b8a698b8388561a/scipy-1.17.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5194c445d0a1c7a6c1a4a4681b6b7c71baad98ff66d96b949097e7513c9d6742", size = 32724197 }, + { url = "https://files.pythonhosted.org/packages/d1/fe/66d73b76d378ba8cc2fe605920c0c75092e3a65ae746e1e767d9d020a75a/scipy-1.17.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9eeb9b5f5997f75507814ed9d298ab23f62cf79f5a3ef90031b1ee2506abdb5b", size = 35009148 }, + { url = "https://files.pythonhosted.org/packages/af/07/07dec27d9dc41c18d8c43c69e9e413431d20c53a0339c388bcf72f353c4b/scipy-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:40052543f7bbe921df4408f46003d6f01c6af109b9e2c8a66dd1cf6cf57f7d5d", size = 34798766 }, + { url = "https://files.pythonhosted.org/packages/81/61/0470810c8a093cdacd4ba7504b8a218fd49ca070d79eca23a615f5d9a0b0/scipy-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0cf46c8013fec9d3694dc572f0b54100c28405d55d3e2cb15e2895b25057996e", size = 37405953 }, + { url = "https://files.pythonhosted.org/packages/92/ce/672ed546f96d5d41ae78c4b9b02006cedd0b3d6f2bf5bb76ea455c320c28/scipy-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:0937a0b0d8d593a198cededd4c439a0ea216a3f36653901ea1f3e4be949056f8", size = 36328121 }, + { url = "https://files.pythonhosted.org/packages/9d/21/38165845392cae67b61843a52c6455d47d0cc2a40dd495c89f4362944654/scipy-1.17.0-cp312-cp312-win_arm64.whl", hash = "sha256:f603d8a5518c7426414d1d8f82e253e454471de682ce5e39c29adb0df1efb86b", size = 24314368 }, + { url = "https://files.pythonhosted.org/packages/0c/51/3468fdfd49387ddefee1636f5cf6d03ce603b75205bf439bbf0e62069bfd/scipy-1.17.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:65ec32f3d32dfc48c72df4291345dae4f048749bc8d5203ee0a3f347f96c5ce6", size = 31344101 }, + { url = "https://files.pythonhosted.org/packages/b2/9a/9406aec58268d437636069419e6977af953d1e246df941d42d3720b7277b/scipy-1.17.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:1f9586a58039d7229ce77b52f8472c972448cded5736eaf102d5658bbac4c269", size = 27950385 }, + { url = "https://files.pythonhosted.org/packages/4f/98/e7342709e17afdfd1b26b56ae499ef4939b45a23a00e471dfb5375eea205/scipy-1.17.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:9fad7d3578c877d606b1150135c2639e9de9cecd3705caa37b66862977cc3e72", size = 20122115 }, + { url = "https://files.pythonhosted.org/packages/fd/0e/9eeeb5357a64fd157cbe0302c213517c541cc16b8486d82de251f3c68ede/scipy-1.17.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:423ca1f6584fc03936972b5f7c06961670dbba9f234e71676a7c7ccf938a0d61", size = 22442402 }, + { url = "https://files.pythonhosted.org/packages/c9/10/be13397a0e434f98e0c79552b2b584ae5bb1c8b2be95db421533bbca5369/scipy-1.17.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fe508b5690e9eaaa9467fc047f833af58f1152ae51a0d0aed67aa5801f4dd7d6", size = 32696338 }, + { url = "https://files.pythonhosted.org/packages/63/1e/12fbf2a3bb240161651c94bb5cdd0eae5d4e8cc6eaeceb74ab07b12a753d/scipy-1.17.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6680f2dfd4f6182e7d6db161344537da644d1cf85cf293f015c60a17ecf08752", size = 34977201 }, + { url = "https://files.pythonhosted.org/packages/19/5b/1a63923e23ccd20bd32156d7dd708af5bbde410daa993aa2500c847ab2d2/scipy-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eec3842ec9ac9de5917899b277428886042a93db0b227ebbe3a333b64ec7643d", size = 34777384 }, + { url = "https://files.pythonhosted.org/packages/39/22/b5da95d74edcf81e540e467202a988c50fef41bd2011f46e05f72ba07df6/scipy-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d7425fcafbc09a03731e1bc05581f5fad988e48c6a861f441b7ab729a49a55ea", size = 37379586 }, + { url = "https://files.pythonhosted.org/packages/b9/b6/8ac583d6da79e7b9e520579f03007cb006f063642afd6b2eeb16b890bf93/scipy-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:87b411e42b425b84777718cc41516b8a7e0795abfa8e8e1d573bf0ef014f0812", size = 36287211 }, + { url = "https://files.pythonhosted.org/packages/55/fb/7db19e0b3e52f882b420417644ec81dd57eeef1bd1705b6f689d8ff93541/scipy-1.17.0-cp313-cp313-win_arm64.whl", hash = "sha256:357ca001c6e37601066092e7c89cca2f1ce74e2a520ca78d063a6d2201101df2", size = 24312646 }, + { url = "https://files.pythonhosted.org/packages/20/b6/7feaa252c21cc7aff335c6c55e1b90ab3e3306da3f048109b8b639b94648/scipy-1.17.0-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:ec0827aa4d36cb79ff1b81de898e948a51ac0b9b1c43e4a372c0508c38c0f9a3", size = 31693194 }, + { url = "https://files.pythonhosted.org/packages/76/bb/bbb392005abce039fb7e672cb78ac7d158700e826b0515cab6b5b60c26fb/scipy-1.17.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:819fc26862b4b3c73a60d486dbb919202f3d6d98c87cf20c223511429f2d1a97", size = 28365415 }, + { url = "https://files.pythonhosted.org/packages/37/da/9d33196ecc99fba16a409c691ed464a3a283ac454a34a13a3a57c0d66f3a/scipy-1.17.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:363ad4ae2853d88ebcde3ae6ec46ccca903ea9835ee8ba543f12f575e7b07e4e", size = 20537232 }, + { url = "https://files.pythonhosted.org/packages/56/9d/f4b184f6ddb28e9a5caea36a6f98e8ecd2a524f9127354087ce780885d83/scipy-1.17.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:979c3a0ff8e5ba254d45d59ebd38cde48fce4f10b5125c680c7a4bfe177aab07", size = 22791051 }, + { url = "https://files.pythonhosted.org/packages/9b/9d/025cccdd738a72140efc582b1641d0dd4caf2e86c3fb127568dc80444e6e/scipy-1.17.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:130d12926ae34399d157de777472bf82e9061c60cc081372b3118edacafe1d00", size = 32815098 }, + { url = "https://files.pythonhosted.org/packages/48/5f/09b879619f8bca15ce392bfc1894bd9c54377e01d1b3f2f3b595a1b4d945/scipy-1.17.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e886000eb4919eae3a44f035e63f0fd8b651234117e8f6f29bad1cd26e7bc45", size = 35031342 }, + { url = "https://files.pythonhosted.org/packages/f2/9a/f0f0a9f0aa079d2f106555b984ff0fbb11a837df280f04f71f056ea9c6e4/scipy-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:13c4096ac6bc31d706018f06a49abe0485f96499deb82066b94d19b02f664209", size = 34893199 }, + { url = "https://files.pythonhosted.org/packages/90/b8/4f0f5cf0c5ea4d7548424e6533e6b17d164f34a6e2fb2e43ffebb6697b06/scipy-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cacbaddd91fcffde703934897c5cd2c7cb0371fac195d383f4e1f1c5d3f3bd04", size = 37438061 }, + { url = "https://files.pythonhosted.org/packages/f9/cc/2bd59140ed3b2fa2882fb15da0a9cb1b5a6443d67cfd0d98d4cec83a57ec/scipy-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:edce1a1cf66298cccdc48a1bdf8fb10a3bf58e8b58d6c3883dd1530e103f87c0", size = 36328593 }, + { url = "https://files.pythonhosted.org/packages/13/1b/c87cc44a0d2c7aaf0f003aef2904c3d097b422a96c7e7c07f5efd9073c1b/scipy-1.17.0-cp313-cp313t-win_arm64.whl", hash = "sha256:30509da9dbec1c2ed8f168b8d8aa853bc6723fede1dbc23c7d43a56f5ab72a67", size = 24625083 }, + { url = "https://files.pythonhosted.org/packages/1a/2d/51006cd369b8e7879e1c630999a19d1fbf6f8b5ed3e33374f29dc87e53b3/scipy-1.17.0-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:c17514d11b78be8f7e6331b983a65a7f5ca1fd037b95e27b280921fe5606286a", size = 31346803 }, + { url = "https://files.pythonhosted.org/packages/d6/2e/2349458c3ce445f53a6c93d4386b1c4c5c0c540917304c01222ff95ff317/scipy-1.17.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:4e00562e519c09da34c31685f6acc3aa384d4d50604db0f245c14e1b4488bfa2", size = 27967182 }, + { url = "https://files.pythonhosted.org/packages/5e/7c/df525fbfa77b878d1cfe625249529514dc02f4fd5f45f0f6295676a76528/scipy-1.17.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:f7df7941d71314e60a481e02d5ebcb3f0185b8d799c70d03d8258f6c80f3d467", size = 20139125 }, + { url = "https://files.pythonhosted.org/packages/33/11/fcf9d43a7ed1234d31765ec643b0515a85a30b58eddccc5d5a4d12b5f194/scipy-1.17.0-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:aabf057c632798832f071a8dde013c2e26284043934f53b00489f1773b33527e", size = 22443554 }, + { url = "https://files.pythonhosted.org/packages/80/5c/ea5d239cda2dd3d31399424967a24d556cf409fbea7b5b21412b0fd0a44f/scipy-1.17.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a38c3337e00be6fd8a95b4ed66b5d988bac4ec888fd922c2ea9fe5fb1603dd67", size = 32757834 }, + { url = "https://files.pythonhosted.org/packages/b8/7e/8c917cc573310e5dc91cbeead76f1b600d3fb17cf0969db02c9cf92e3cfa/scipy-1.17.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00fb5f8ec8398ad90215008d8b6009c9db9fa924fd4c7d6be307c6f945f9cd73", size = 34995775 }, + { url = "https://files.pythonhosted.org/packages/c5/43/176c0c3c07b3f7df324e7cdd933d3e2c4898ca202b090bd5ba122f9fe270/scipy-1.17.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f2a4942b0f5f7c23c7cd641a0ca1955e2ae83dedcff537e3a0259096635e186b", size = 34841240 }, + { url = "https://files.pythonhosted.org/packages/44/8c/d1f5f4b491160592e7f084d997de53a8e896a3ac01cd07e59f43ca222744/scipy-1.17.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:dbf133ced83889583156566d2bdf7a07ff89228fe0c0cb727f777de92092ec6b", size = 37394463 }, + { url = "https://files.pythonhosted.org/packages/9f/ec/42a6657f8d2d087e750e9a5dde0b481fd135657f09eaf1cf5688bb23c338/scipy-1.17.0-cp314-cp314-win_amd64.whl", hash = "sha256:3625c631a7acd7cfd929e4e31d2582cf00f42fcf06011f59281271746d77e061", size = 37053015 }, + { url = "https://files.pythonhosted.org/packages/27/58/6b89a6afd132787d89a362d443a7bddd511b8f41336a1ae47f9e4f000dc4/scipy-1.17.0-cp314-cp314-win_arm64.whl", hash = "sha256:9244608d27eafe02b20558523ba57f15c689357c85bdcfe920b1828750aa26eb", size = 24951312 }, + { url = "https://files.pythonhosted.org/packages/e9/01/f58916b9d9ae0112b86d7c3b10b9e685625ce6e8248df139d0fcb17f7397/scipy-1.17.0-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:2b531f57e09c946f56ad0b4a3b2abee778789097871fc541e267d2eca081cff1", size = 31706502 }, + { url = "https://files.pythonhosted.org/packages/59/8e/2912a87f94a7d1f8b38aabc0faf74b82d3b6c9e22be991c49979f0eceed8/scipy-1.17.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:13e861634a2c480bd237deb69333ac79ea1941b94568d4b0efa5db5e263d4fd1", size = 28380854 }, + { url = "https://files.pythonhosted.org/packages/bd/1c/874137a52dddab7d5d595c1887089a2125d27d0601fce8c0026a24a92a0b/scipy-1.17.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:eb2651271135154aa24f6481cbae5cc8af1f0dd46e6533fb7b56aa9727b6a232", size = 20552752 }, + { url = "https://files.pythonhosted.org/packages/3f/f0/7518d171cb735f6400f4576cf70f756d5b419a07fe1867da34e2c2c9c11b/scipy-1.17.0-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:c5e8647f60679790c2f5c76be17e2e9247dc6b98ad0d3b065861e082c56e078d", size = 22803972 }, + { url = "https://files.pythonhosted.org/packages/7c/74/3498563a2c619e8a3ebb4d75457486c249b19b5b04a30600dfd9af06bea5/scipy-1.17.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5fb10d17e649e1446410895639f3385fd2bf4c3c7dfc9bea937bddcbc3d7b9ba", size = 32829770 }, + { url = "https://files.pythonhosted.org/packages/48/d1/7b50cedd8c6c9d6f706b4b36fa8544d829c712a75e370f763b318e9638c1/scipy-1.17.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8547e7c57f932e7354a2319fab613981cde910631979f74c9b542bb167a8b9db", size = 35051093 }, + { url = "https://files.pythonhosted.org/packages/e2/82/a2d684dfddb87ba1b3ea325df7c3293496ee9accb3a19abe9429bce94755/scipy-1.17.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33af70d040e8af9d5e7a38b5ed3b772adddd281e3062ff23fec49e49681c38cf", size = 34909905 }, + { url = "https://files.pythonhosted.org/packages/ef/5e/e565bd73991d42023eb82bb99e51c5b3d9e2c588ca9d4b3e2cc1d3ca62a6/scipy-1.17.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb55bb97d00f8b7ab95cb64f873eb0bf54d9446264d9f3609130381233483f", size = 37457743 }, + { url = "https://files.pythonhosted.org/packages/58/a8/a66a75c3d8f1fb2b83f66007d6455a06a6f6cf5618c3dc35bc9b69dd096e/scipy-1.17.0-cp314-cp314t-win_amd64.whl", hash = "sha256:1ff269abf702f6c7e67a4b7aad981d42871a11b9dd83c58d2d2ea624efbd1088", size = 37098574 }, + { url = "https://files.pythonhosted.org/packages/56/a5/df8f46ef7da168f1bc52cd86e09a9de5c6f19cc1da04454d51b7d4f43408/scipy-1.17.0-cp314-cp314t-win_arm64.whl", hash = "sha256:031121914e295d9791319a1875444d55079885bbae5bdc9c5e0f2ee5f09d34ff", size = 25246266 }, +] + +[[package]] +name = "sentence-transformers" +version = "5.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "huggingface-hub" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scikit-learn", version = "1.7.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scikit-learn", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "torch" }, + { name = "tqdm" }, + { name = "transformers" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a6/bc/0bc9c0ec1cf83ab2ec6e6f38667d167349b950fff6dd2086b79bd360eeca/sentence_transformers-5.2.2.tar.gz", hash = "sha256:7033ee0a24bc04c664fd490abf2ef194d387b3a58a97adcc528783ff505159fa", size = 381607 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/21/7e925890636791386e81b52878134f114d63072e79fffe14cdcc5e7a5e6a/sentence_transformers-5.2.2-py3-none-any.whl", hash = "sha256:280ac54bffb84c110726b4d8848ba7b7c60813b9034547f8aea6e9a345cd1c23", size = 494106 }, +] + +[[package]] +name = "sentencepiece" +version = "0.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/15/2e7a025fc62d764b151ae6d0f2a92f8081755ebe8d4a64099accc6f77ba6/sentencepiece-0.2.1.tar.gz", hash = "sha256:8138cec27c2f2282f4a34d9a016e3374cd40e5c6e9cb335063db66a0a3b71fad", size = 3228515 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/31/5b7cccb307b485db1a2372d6d2980b0a65d067f8be5ca943a103b4acd5b3/sentencepiece-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e10fa50bdbaa5e2445dbd387979980d391760faf0ec99a09bd7780ff37eaec44", size = 1942557 }, + { url = "https://files.pythonhosted.org/packages/1f/41/0ac923a8e685ad290c5afc8ae55c5844977b8d75076fcc04302b9a324274/sentencepiece-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f27ae6deea72efdb6f361750c92f6c21fd0ad087445082770cc34015213c526", size = 1325384 }, + { url = "https://files.pythonhosted.org/packages/fc/ef/3751555d67daf9003384978f169d31c775cb5c7baf28633caaf1eb2b2b4d/sentencepiece-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:60937c959e6f44159fdd9f56fbdd302501f96114a5ba436829496d5f32d8de3f", size = 1253317 }, + { url = "https://files.pythonhosted.org/packages/46/a5/742c69b7bd144eb32b6e5fd50dbd8abbbc7a95fce2fe16e50156fa400e3b/sentencepiece-0.2.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8b1d91545578852f128650b8cce4ec20f93d39b378ff554ebe66290f2dabb92", size = 1316379 }, + { url = "https://files.pythonhosted.org/packages/c8/89/8deeafbba2871e8fa10f20f17447786f4ac38085925335728d360eaf4cae/sentencepiece-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:27e38eee653abc3d387862e67bc5c8b6f428cd604e688b85d29170b7e725c26c", size = 1387926 }, + { url = "https://files.pythonhosted.org/packages/c3/ca/67fe73005f0ab617c6a970b199754e28e524b6873aa7025224fad3cda252/sentencepiece-0.2.1-cp310-cp310-win32.whl", hash = "sha256:251874d720ac7f28024a168501f3c7bb15d1802245f6e66de565f18bbb9b5eaa", size = 999550 }, + { url = "https://files.pythonhosted.org/packages/6d/33/dc5b54042050d2dda4229c3ce1f862541c99966390b6aa20f54d520d2dc2/sentencepiece-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:e52144670738b4b477fade6c2a9b6af71a8d0094514c9853ac9f6fc1fcfabae7", size = 1054613 }, + { url = "https://files.pythonhosted.org/packages/fa/19/1ea47f46ff97fe04422b78997da1a37cd632f414aae042d27a9009c5b733/sentencepiece-0.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:9076430ac25dfa7147d9d05751dbc66a04bc1aaac371c07f84952979ea59f0d0", size = 1033884 }, + { url = "https://files.pythonhosted.org/packages/d8/15/46afbab00733d81788b64be430ca1b93011bb9388527958e26cc31832de5/sentencepiece-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6356d0986b8b8dc351b943150fcd81a1c6e6e4d439772e8584c64230e58ca987", size = 1942560 }, + { url = "https://files.pythonhosted.org/packages/fa/79/7c01b8ef98a0567e9d84a4e7a910f8e7074fcbf398a5cd76f93f4b9316f9/sentencepiece-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8f8ba89a3acb3dc1ae90f65ec1894b0b9596fdb98ab003ff38e058f898b39bc7", size = 1325385 }, + { url = "https://files.pythonhosted.org/packages/bb/88/2b41e07bd24f33dcf2f18ec3b74247aa4af3526bad8907b8727ea3caba03/sentencepiece-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:02593eca45440ef39247cee8c47322a34bdcc1d8ae83ad28ba5a899a2cf8d79a", size = 1253319 }, + { url = "https://files.pythonhosted.org/packages/a0/54/38a1af0c6210a3c6f95aa46d23d6640636d020fba7135cd0d9a84ada05a7/sentencepiece-0.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a0d15781a171d188b661ae4bde1d998c303f6bd8621498c50c671bd45a4798e", size = 1316162 }, + { url = "https://files.pythonhosted.org/packages/ef/66/fb191403ade791ad2c3c1e72fe8413e63781b08cfa3aa4c9dfc536d6e795/sentencepiece-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f5a3e0d9f445ed9d66c0fec47d4b23d12cfc858b407a03c194c1b26c2ac2a63", size = 1387785 }, + { url = "https://files.pythonhosted.org/packages/a9/2d/3bd9b08e70067b2124518b308db6a84a4f8901cc8a4317e2e4288cdd9b4d/sentencepiece-0.2.1-cp311-cp311-win32.whl", hash = "sha256:6d297a1748d429ba8534eebe5535448d78b8acc32d00a29b49acf28102eeb094", size = 999555 }, + { url = "https://files.pythonhosted.org/packages/32/b8/f709977f5fda195ae1ea24f24e7c581163b6f142b1005bc3d0bbfe4d7082/sentencepiece-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:82d9ead6591015f009cb1be1cb1c015d5e6f04046dbb8c9588b931e869a29728", size = 1054617 }, + { url = "https://files.pythonhosted.org/packages/7a/40/a1fc23be23067da0f703709797b464e8a30a1c78cc8a687120cd58d4d509/sentencepiece-0.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:39f8651bd10974eafb9834ce30d9bcf5b73e1fc798a7f7d2528f9820ca86e119", size = 1033877 }, + { url = "https://files.pythonhosted.org/packages/4a/be/32ce495aa1d0e0c323dcb1ba87096037358edee539cac5baf8755a6bd396/sentencepiece-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:57cae326c8727de58c85977b175af132a7138d84c764635d7e71bbee7e774133", size = 1943152 }, + { url = "https://files.pythonhosted.org/packages/88/7e/ff23008899a58678e98c6ff592bf4d368eee5a71af96d0df6b38a039dd4f/sentencepiece-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:56dd39a3c4d6493db3cdca7e8cc68c6b633f0d4195495cbadfcf5af8a22d05a6", size = 1325651 }, + { url = "https://files.pythonhosted.org/packages/19/84/42eb3ce4796777a1b5d3699dfd4dca85113e68b637f194a6c8d786f16a04/sentencepiece-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d9381351182ff9888cc80e41c632e7e274b106f450de33d67a9e8f6043da6f76", size = 1253645 }, + { url = "https://files.pythonhosted.org/packages/89/fa/d3d5ebcba3cb9e6d3775a096251860c41a6bc53a1b9461151df83fe93255/sentencepiece-0.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:99f955df238021bf11f0fc37cdb54fd5e5b5f7fd30ecc3d93fb48b6815437167", size = 1316273 }, + { url = "https://files.pythonhosted.org/packages/04/88/14f2f4a2b922d8b39be45bf63d79e6cd3a9b2f248b2fcb98a69b12af12f5/sentencepiece-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cdfecef430d985f1c2bcbfff3defd1d95dae876fbd0173376012d2d7d24044b", size = 1387881 }, + { url = "https://files.pythonhosted.org/packages/fd/b8/903e5ccb77b4ef140605d5d71b4f9e0ad95d456d6184688073ed11712809/sentencepiece-0.2.1-cp312-cp312-win32.whl", hash = "sha256:a483fd29a34c3e34c39ac5556b0a90942bec253d260235729e50976f5dba1068", size = 999540 }, + { url = "https://files.pythonhosted.org/packages/2d/81/92df5673c067148c2545b1bfe49adfd775bcc3a169a047f5a0e6575ddaca/sentencepiece-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:4cdc7c36234fda305e85c32949c5211faaf8dd886096c7cea289ddc12a2d02de", size = 1054671 }, + { url = "https://files.pythonhosted.org/packages/fe/02/c5e3bc518655d714622bec87d83db9cdba1cd0619a4a04e2109751c4f47f/sentencepiece-0.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:daeb5e9e9fcad012324807856113708614d534f596d5008638eb9b40112cd9e4", size = 1033923 }, + { url = "https://files.pythonhosted.org/packages/ba/4a/85fbe1706d4d04a7e826b53f327c4b80f849cf1c7b7c5e31a20a97d8f28b/sentencepiece-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dcd8161eee7b41aae57ded06272905dbd680a0a04b91edd0f64790c796b2f706", size = 1943150 }, + { url = "https://files.pythonhosted.org/packages/c2/83/4cfb393e287509fc2155480b9d184706ef8d9fa8cbf5505d02a5792bf220/sentencepiece-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c6c8f42949f419ff8c7e9960dbadcfbc982d7b5efc2f6748210d3dd53a7de062", size = 1325651 }, + { url = "https://files.pythonhosted.org/packages/8d/de/5a007fb53b1ab0aafc69d11a5a3dd72a289d5a3e78dcf2c3a3d9b14ffe93/sentencepiece-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:097f3394e99456e9e4efba1737c3749d7e23563dd1588ce71a3d007f25475fff", size = 1253641 }, + { url = "https://files.pythonhosted.org/packages/2c/d2/f552be5928105588f4f4d66ee37dd4c61460d8097e62d0e2e0eec41bc61d/sentencepiece-0.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d7b670879c370d350557edabadbad1f6561a9e6968126e6debca4029e5547820", size = 1316271 }, + { url = "https://files.pythonhosted.org/packages/96/df/0cfe748ace5485be740fed9476dee7877f109da32ed0d280312c94ec259f/sentencepiece-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7f0fd2f2693309e6628aeeb2e2faf6edd221134dfccac3308ca0de01f8dab47", size = 1387882 }, + { url = "https://files.pythonhosted.org/packages/ac/dd/f7774d42a881ced8e1739f393ab1e82ece39fc9abd4779e28050c2e975b5/sentencepiece-0.2.1-cp313-cp313-win32.whl", hash = "sha256:92b3816aa2339355fda2c8c4e021a5de92180b00aaccaf5e2808972e77a4b22f", size = 999541 }, + { url = "https://files.pythonhosted.org/packages/dd/e9/932b9eae6fd7019548321eee1ab8d5e3b3d1294df9d9a0c9ac517c7b636d/sentencepiece-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:10ed3dab2044c47f7a2e7b4969b0c430420cdd45735d78c8f853191fa0e3148b", size = 1054669 }, + { url = "https://files.pythonhosted.org/packages/c9/3a/76488a00ea7d6931689cda28726a1447d66bf1a4837943489314593d5596/sentencepiece-0.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:ac650534e2251083c5f75dde4ff28896ce7c8904133dc8fef42780f4d5588fcd", size = 1033922 }, + { url = "https://files.pythonhosted.org/packages/4a/b6/08fe2ce819e02ccb0296f4843e3f195764ce9829cbda61b7513f29b95718/sentencepiece-0.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8dd4b477a7b069648d19363aad0cab9bad2f4e83b2d179be668efa672500dc94", size = 1946052 }, + { url = "https://files.pythonhosted.org/packages/ab/d9/1ea0e740591ff4c6fc2b6eb1d7510d02f3fb885093f19b2f3abd1363b402/sentencepiece-0.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0c0f672da370cc490e4c59d89e12289778310a0e71d176c541e4834759e1ae07", size = 1327408 }, + { url = "https://files.pythonhosted.org/packages/99/7e/1fb26e8a21613f6200e1ab88824d5d203714162cf2883248b517deb500b7/sentencepiece-0.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ad8493bea8432dae8d6830365352350f3b4144415a1d09c4c8cb8d30cf3b6c3c", size = 1254857 }, + { url = "https://files.pythonhosted.org/packages/bc/85/c72fd1f3c7a6010544d6ae07f8ddb38b5e2a7e33bd4318f87266c0bbafbf/sentencepiece-0.2.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b81a24733726e3678d2db63619acc5a8dccd074f7aa7a54ecd5ca33ca6d2d596", size = 1315722 }, + { url = "https://files.pythonhosted.org/packages/4a/e8/661e5bd82a8aa641fd6c1020bd0e890ef73230a2b7215ddf9c8cd8e941c2/sentencepiece-0.2.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0a81799d0a68d618e89063fb423c3001a034c893069135ffe51fee439ae474d6", size = 1387452 }, + { url = "https://files.pythonhosted.org/packages/99/5e/ae66c361023a470afcbc1fbb8da722c72ea678a2fcd9a18f1a12598c7501/sentencepiece-0.2.1-cp313-cp313t-win32.whl", hash = "sha256:89a3ea015517c42c0341d0d962f3e6aaf2cf10d71b1932d475c44ba48d00aa2b", size = 1002501 }, + { url = "https://files.pythonhosted.org/packages/c1/03/d332828c4ff764e16c1b56c2c8f9a33488bbe796b53fb6b9c4205ddbf167/sentencepiece-0.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:33f068c9382dc2e7c228eedfd8163b52baa86bb92f50d0488bf2b7da7032e484", size = 1057555 }, + { url = "https://files.pythonhosted.org/packages/88/14/5aee0bf0864df9bd82bd59e7711362908e4935e3f9cdc1f57246b5d5c9b9/sentencepiece-0.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:b3616ad246f360e52c85781e47682d31abfb6554c779e42b65333d4b5f44ecc0", size = 1036042 }, + { url = "https://files.pythonhosted.org/packages/24/9c/89eb8b2052f720a612478baf11c8227dcf1dc28cd4ea4c0c19506b5af2a2/sentencepiece-0.2.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:5d0350b686c320068702116276cfb26c066dc7e65cfef173980b11bb4d606719", size = 1943147 }, + { url = "https://files.pythonhosted.org/packages/82/0b/a1432bc87f97c2ace36386ca23e8bd3b91fb40581b5e6148d24b24186419/sentencepiece-0.2.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c7f54a31cde6fa5cb030370566f68152a742f433f8d2be458463d06c208aef33", size = 1325624 }, + { url = "https://files.pythonhosted.org/packages/ea/99/bbe054ebb5a5039457c590e0a4156ed073fb0fe9ce4f7523404dd5b37463/sentencepiece-0.2.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c83b85ab2d6576607f31df77ff86f28182be4a8de6d175d2c33ca609925f5da1", size = 1253670 }, + { url = "https://files.pythonhosted.org/packages/19/ad/d5c7075f701bd97971d7c2ac2904f227566f51ef0838dfbdfdccb58cd212/sentencepiece-0.2.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1855f57db07b51fb51ed6c9c452f570624d2b169b36f0f79ef71a6e6c618cd8b", size = 1316247 }, + { url = "https://files.pythonhosted.org/packages/fb/03/35fbe5f3d9a7435eebd0b473e09584bd3cc354ce118b960445b060d33781/sentencepiece-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01e6912125cb45d3792f530a4d38f8e21bf884d6b4d4ade1b2de5cf7a8d2a52b", size = 1387894 }, + { url = "https://files.pythonhosted.org/packages/dc/aa/956ef729aafb6c8f9c443104c9636489093bb5c61d6b90fc27aa1a865574/sentencepiece-0.2.1-cp314-cp314-win32.whl", hash = "sha256:c415c9de1447e0a74ae3fdb2e52f967cb544113a3a5ce3a194df185cbc1f962f", size = 1096698 }, + { url = "https://files.pythonhosted.org/packages/b8/cb/fe400d8836952cc535c81a0ce47dc6875160e5fedb71d2d9ff0e9894c2a6/sentencepiece-0.2.1-cp314-cp314-win_amd64.whl", hash = "sha256:881b2e44b14fc19feade3cbed314be37de639fc415375cefaa5bc81a4be137fd", size = 1155115 }, + { url = "https://files.pythonhosted.org/packages/32/89/047921cf70f36c7b6b6390876b2399b3633ab73b8d0cb857e5a964238941/sentencepiece-0.2.1-cp314-cp314-win_arm64.whl", hash = "sha256:2005242a16d2dc3ac5fe18aa7667549134d37854823df4c4db244752453b78a8", size = 1133890 }, + { url = "https://files.pythonhosted.org/packages/a1/11/5b414b9fae6255b5fb1e22e2ed3dc3a72d3a694e5703910e640ac78346bb/sentencepiece-0.2.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:a19adcec27c524cb7069a1c741060add95f942d1cbf7ad0d104dffa0a7d28a2b", size = 1946081 }, + { url = "https://files.pythonhosted.org/packages/77/eb/7a5682bb25824db8545f8e5662e7f3e32d72a508fdce086029d89695106b/sentencepiece-0.2.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:e37e4b4c4a11662b5db521def4e44d4d30ae69a1743241412a93ae40fdcab4bb", size = 1327406 }, + { url = "https://files.pythonhosted.org/packages/03/b0/811dae8fb9f2784e138785d481469788f2e0d0c109c5737372454415f55f/sentencepiece-0.2.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:477c81505db072b3ab627e7eab972ea1025331bd3a92bacbf798df2b75ea86ec", size = 1254846 }, + { url = "https://files.pythonhosted.org/packages/ef/23/195b2e7ec85ebb6a547969f60b723c7aca5a75800ece6cc3f41da872d14e/sentencepiece-0.2.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:010f025a544ef770bb395091d57cb94deb9652d8972e0d09f71d85d5a0816c8c", size = 1315721 }, + { url = "https://files.pythonhosted.org/packages/7e/aa/553dbe4178b5f23eb28e59393dddd64186178b56b81d9b8d5c3ff1c28395/sentencepiece-0.2.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:733e59ff1794d26db706cd41fc2d7ca5f6c64a820709cb801dc0ea31780d64ab", size = 1387458 }, + { url = "https://files.pythonhosted.org/packages/66/7c/08ff0012507297a4dd74a5420fdc0eb9e3e80f4e88cab1538d7f28db303d/sentencepiece-0.2.1-cp314-cp314t-win32.whl", hash = "sha256:d3233770f78e637dc8b1fda2cd7c3b99ec77e7505041934188a4e7fe751de3b0", size = 1099765 }, + { url = "https://files.pythonhosted.org/packages/91/d5/2a69e1ce15881beb9ddfc7e3f998322f5cedcd5e4d244cb74dade9441663/sentencepiece-0.2.1-cp314-cp314t-win_amd64.whl", hash = "sha256:5e4366c97b68218fd30ea72d70c525e6e78a6c0a88650f57ac4c43c63b234a9d", size = 1157807 }, + { url = "https://files.pythonhosted.org/packages/f3/16/54f611fcfc2d1c46cbe3ec4169780b2cfa7cf63708ef2b71611136db7513/sentencepiece-0.2.1-cp314-cp314t-win_arm64.whl", hash = "sha256:105e36e75cbac1292642045458e8da677b2342dcd33df503e640f0b457cb6751", size = 1136264 }, +] + +[[package]] +name = "setuptools" +version = "80.10.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/76/95/faf61eb8363f26aa7e1d762267a8d602a1b26d4f3a1e758e92cb3cb8b054/setuptools-80.10.2.tar.gz", hash = "sha256:8b0e9d10c784bf7d262c4e5ec5d4ec94127ce206e8738f29a437945fbc219b70", size = 1200343 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/b8/f1f62a5e3c0ad2ff1d189590bfa4c46b4f3b6e49cef6f26c6ee4e575394d/setuptools-80.10.2-py3-none-any.whl", hash = "sha256:95b30ddfb717250edb492926c92b5221f7ef3fbcc2b07579bcd4a27da21d0173", size = 1064234 }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, +] + +[[package]] +name = "soupsieve" +version = "2.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz", hash = "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349", size = 118627 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95", size = 37016 }, +] + +[[package]] +name = "sympy" +version = "1.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mpmath" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353 }, +] + +[[package]] +name = "threadpoolctl" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638 }, +] + +[[package]] +name = "tokenizers" +version = "0.22.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "huggingface-hub" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/73/6f/f80cfef4a312e1fb34baf7d85c72d4411afde10978d4657f8cdd811d3ccc/tokenizers-0.22.2.tar.gz", hash = "sha256:473b83b915e547aa366d1eee11806deaf419e17be16310ac0a14077f1e28f917", size = 372115 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/97/5dbfabf04c7e348e655e907ed27913e03db0923abb5dfdd120d7b25630e1/tokenizers-0.22.2-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:544dd704ae7238755d790de45ba8da072e9af3eea688f698b137915ae959281c", size = 3100275 }, + { url = "https://files.pythonhosted.org/packages/2e/47/174dca0502ef88b28f1c9e06b73ce33500eedfac7a7692108aec220464e7/tokenizers-0.22.2-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:1e418a55456beedca4621dbab65a318981467a2b188e982a23e117f115ce5001", size = 2981472 }, + { url = "https://files.pythonhosted.org/packages/d6/84/7990e799f1309a8b87af6b948f31edaa12a3ed22d11b352eaf4f4b2e5753/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249487018adec45d6e3554c71d46eb39fa8ea67156c640f7513eb26f318cec7", size = 3290736 }, + { url = "https://files.pythonhosted.org/packages/78/59/09d0d9ba94dcd5f4f1368d4858d24546b4bdc0231c2354aa31d6199f0399/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25b85325d0815e86e0bac263506dd114578953b7b53d7de09a6485e4a160a7dd", size = 3168835 }, + { url = "https://files.pythonhosted.org/packages/47/50/b3ebb4243e7160bda8d34b731e54dd8ab8b133e50775872e7a434e524c28/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfb88f22a209ff7b40a576d5324bf8286b519d7358663db21d6246fb17eea2d5", size = 3521673 }, + { url = "https://files.pythonhosted.org/packages/e0/fa/89f4cb9e08df770b57adb96f8cbb7e22695a4cb6c2bd5f0c4f0ebcf33b66/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c774b1276f71e1ef716e5486f21e76333464f47bece56bbd554485982a9e03e", size = 3724818 }, + { url = "https://files.pythonhosted.org/packages/64/04/ca2363f0bfbe3b3d36e95bf67e56a4c88c8e3362b658e616d1ac185d47f2/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df6c4265b289083bf710dff49bc51ef252f9d5be33a45ee2bed151114a56207b", size = 3379195 }, + { url = "https://files.pythonhosted.org/packages/2e/76/932be4b50ef6ccedf9d3c6639b056a967a86258c6d9200643f01269211ca/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:369cc9fc8cc10cb24143873a0d95438bb8ee257bb80c71989e3ee290e8d72c67", size = 3274982 }, + { url = "https://files.pythonhosted.org/packages/1d/28/5f9f5a4cc211b69e89420980e483831bcc29dade307955cc9dc858a40f01/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:29c30b83d8dcd061078b05ae0cb94d3c710555fbb44861139f9f83dcca3dc3e4", size = 9478245 }, + { url = "https://files.pythonhosted.org/packages/6c/fb/66e2da4704d6aadebf8cb39f1d6d1957df667ab24cff2326b77cda0dcb85/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:37ae80a28c1d3265bb1f22464c856bd23c02a05bb211e56d0c5301a435be6c1a", size = 9560069 }, + { url = "https://files.pythonhosted.org/packages/16/04/fed398b05caa87ce9b1a1bb5166645e38196081b225059a6edaff6440fac/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:791135ee325f2336f498590eb2f11dc5c295232f288e75c99a36c5dbce63088a", size = 9899263 }, + { url = "https://files.pythonhosted.org/packages/05/a1/d62dfe7376beaaf1394917e0f8e93ee5f67fea8fcf4107501db35996586b/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:38337540fbbddff8e999d59970f3c6f35a82de10053206a7562f1ea02d046fa5", size = 10033429 }, + { url = "https://files.pythonhosted.org/packages/fd/18/a545c4ea42af3df6effd7d13d250ba77a0a86fb20393143bbb9a92e434d4/tokenizers-0.22.2-cp39-abi3-win32.whl", hash = "sha256:a6bf3f88c554a2b653af81f3204491c818ae2ac6fbc09e76ef4773351292bc92", size = 2502363 }, + { url = "https://files.pythonhosted.org/packages/65/71/0670843133a43d43070abeb1949abfdef12a86d490bea9cd9e18e37c5ff7/tokenizers-0.22.2-cp39-abi3-win_amd64.whl", hash = "sha256:c9ea31edff2968b44a88f97d784c2f16dc0729b8b143ed004699ebca91f05c48", size = 2747786 }, + { url = "https://files.pythonhosted.org/packages/72/f4/0de46cfa12cdcbcd464cc59fde36912af405696f687e53a091fb432f694c/tokenizers-0.22.2-cp39-abi3-win_arm64.whl", hash = "sha256:9ce725d22864a1e965217204946f830c37876eee3b2ba6fc6255e8e903d5fcbc", size = 2612133 }, + { url = "https://files.pythonhosted.org/packages/84/04/655b79dbcc9b3ac5f1479f18e931a344af67e5b7d3b251d2dcdcd7558592/tokenizers-0.22.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:753d47ebd4542742ef9261d9da92cd545b2cacbb48349a1225466745bb866ec4", size = 3282301 }, + { url = "https://files.pythonhosted.org/packages/46/cd/e4851401f3d8f6f45d8480262ab6a5c8cb9c4302a790a35aa14eeed6d2fd/tokenizers-0.22.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e10bf9113d209be7cd046d40fbabbaf3278ff6d18eb4da4c500443185dc1896c", size = 3161308 }, + { url = "https://files.pythonhosted.org/packages/6f/6e/55553992a89982cd12d4a66dddb5e02126c58677ea3931efcbe601d419db/tokenizers-0.22.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64d94e84f6660764e64e7e0b22baa72f6cd942279fdbb21d46abd70d179f0195", size = 3718964 }, + { url = "https://files.pythonhosted.org/packages/59/8c/b1c87148aa15e099243ec9f0cf9d0e970cc2234c3257d558c25a2c5304e6/tokenizers-0.22.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f01a9c019878532f98927d2bacb79bbb404b43d3437455522a00a30718cdedb5", size = 3373542 }, +] + +[[package]] +name = "torch" +version = "2.10.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cuda-bindings", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "filelock" }, + { name = "fsspec" }, + { name = "jinja2" }, + { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "nvidia-cublas-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cuda-cupti-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cuda-nvrtc-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cuda-runtime-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cudnn-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cufft-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cufile-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-curand-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cusolver-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cusparse-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cusparselt-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-nccl-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-nvjitlink-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-nvshmem-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-nvtx-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "setuptools", marker = "python_full_version >= '3.12'" }, + { name = "sympy" }, + { name = "triton", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "typing-extensions" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/1a/c61f36cfd446170ec27b3a4984f072fd06dab6b5d7ce27e11adb35d6c838/torch-2.10.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:5276fa790a666ee8becaffff8acb711922252521b28fbce5db7db5cf9cb2026d", size = 145992962 }, + { url = "https://files.pythonhosted.org/packages/b5/60/6662535354191e2d1555296045b63e4279e5a9dbad49acf55a5d38655a39/torch-2.10.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:aaf663927bcd490ae971469a624c322202a2a1e68936eb952535ca4cd3b90444", size = 915599237 }, + { url = "https://files.pythonhosted.org/packages/40/b8/66bbe96f0d79be2b5c697b2e0b187ed792a15c6c4b8904613454651db848/torch-2.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:a4be6a2a190b32ff5c8002a0977a25ea60e64f7ba46b1be37093c141d9c49aeb", size = 113720931 }, + { url = "https://files.pythonhosted.org/packages/76/bb/d820f90e69cda6c8169b32a0c6a3ab7b17bf7990b8f2c680077c24a3c14c/torch-2.10.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:35e407430795c8d3edb07a1d711c41cc1f9eaddc8b2f1cc0a165a6767a8fb73d", size = 79411450 }, + { url = "https://files.pythonhosted.org/packages/78/89/f5554b13ebd71e05c0b002f95148033e730d3f7067f67423026cc9c69410/torch-2.10.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:3282d9febd1e4e476630a099692b44fdc214ee9bf8ee5377732d9d9dfe5712e4", size = 145992610 }, + { url = "https://files.pythonhosted.org/packages/ae/30/a3a2120621bf9c17779b169fc17e3dc29b230c29d0f8222f499f5e159aa8/torch-2.10.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a2f9edd8dbc99f62bc4dfb78af7bf89499bca3d753423ac1b4e06592e467b763", size = 915607863 }, + { url = "https://files.pythonhosted.org/packages/6f/3d/c87b33c5f260a2a8ad68da7147e105f05868c281c63d65ed85aa4da98c66/torch-2.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:29b7009dba4b7a1c960260fc8ac85022c784250af43af9fb0ebafc9883782ebd", size = 113723116 }, + { url = "https://files.pythonhosted.org/packages/61/d8/15b9d9d3a6b0c01b883787bd056acbe5cc321090d4b216d3ea89a8fcfdf3/torch-2.10.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:b7bd80f3477b830dd166c707c5b0b82a898e7b16f59a7d9d42778dd058272e8b", size = 79423461 }, + { url = "https://files.pythonhosted.org/packages/cc/af/758e242e9102e9988969b5e621d41f36b8f258bb4a099109b7a4b4b50ea4/torch-2.10.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:5fd4117d89ffd47e3dcc71e71a22efac24828ad781c7e46aaaf56bf7f2796acf", size = 145996088 }, + { url = "https://files.pythonhosted.org/packages/23/8e/3c74db5e53bff7ed9e34c8123e6a8bfef718b2450c35eefab85bb4a7e270/torch-2.10.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:787124e7db3b379d4f1ed54dd12ae7c741c16a4d29b49c0226a89bea50923ffb", size = 915711952 }, + { url = "https://files.pythonhosted.org/packages/6e/01/624c4324ca01f66ae4c7cd1b74eb16fb52596dce66dbe51eff95ef9e7a4c/torch-2.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:2c66c61f44c5f903046cc696d088e21062644cbe541c7f1c4eaae88b2ad23547", size = 113757972 }, + { url = "https://files.pythonhosted.org/packages/c9/5c/dee910b87c4d5c0fcb41b50839ae04df87c1cfc663cf1b5fca7ea565eeaa/torch-2.10.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:6d3707a61863d1c4d6ebba7be4ca320f42b869ee657e9b2c21c736bf17000294", size = 79498198 }, + { url = "https://files.pythonhosted.org/packages/c9/6f/f2e91e34e3fcba2e3fc8d8f74e7d6c22e74e480bbd1db7bc8900fdf3e95c/torch-2.10.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:5c4d217b14741e40776dd7074d9006fd28b8a97ef5654db959d8635b2fe5f29b", size = 146004247 }, + { url = "https://files.pythonhosted.org/packages/98/fb/5160261aeb5e1ee12ee95fe599d0541f7c976c3701d607d8fc29e623229f/torch-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:6b71486353fce0f9714ca0c9ef1c850a2ae766b409808acd58e9678a3edb7738", size = 915716445 }, + { url = "https://files.pythonhosted.org/packages/6a/16/502fb1b41e6d868e8deb5b0e3ae926bbb36dab8ceb0d1b769b266ad7b0c3/torch-2.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c2ee399c644dc92ef7bc0d4f7e74b5360c37cdbe7c5ba11318dda49ffac2bc57", size = 113757050 }, + { url = "https://files.pythonhosted.org/packages/1a/0b/39929b148f4824bc3ad6f9f72a29d4ad865bcf7ebfc2fa67584773e083d2/torch-2.10.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:3202429f58309b9fa96a614885eace4b7995729f44beb54d3e4a47773649d382", size = 79851305 }, + { url = "https://files.pythonhosted.org/packages/d8/14/21fbce63bc452381ba5f74a2c0a959fdf5ad5803ccc0c654e752e0dbe91a/torch-2.10.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:aae1b29cd68e50a9397f5ee897b9c24742e9e306f88a807a27d617f07adb3bd8", size = 146005472 }, + { url = "https://files.pythonhosted.org/packages/54/fd/b207d1c525cb570ef47f3e9f836b154685011fce11a2f444ba8a4084d042/torch-2.10.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:6021db85958db2f07ec94e1bc77212721ba4920c12a18dc552d2ae36a3eb163f", size = 915612644 }, + { url = "https://files.pythonhosted.org/packages/36/53/0197f868c75f1050b199fe58f9bf3bf3aecac9b4e85cc9c964383d745403/torch-2.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff43db38af76fda183156153983c9a096fc4c78d0cd1e07b14a2314c7f01c2c8", size = 113997015 }, + { url = "https://files.pythonhosted.org/packages/0e/13/e76b4d9c160e89fff48bf16b449ea324bda84745d2ab30294c37c2434c0d/torch-2.10.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:cdf2a523d699b70d613243211ecaac14fe9c5df8a0b0a9c02add60fb2a413e0f", size = 79498248 }, + { url = "https://files.pythonhosted.org/packages/4f/93/716b5ac0155f1be70ed81bacc21269c3ece8dba0c249b9994094110bfc51/torch-2.10.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:bf0d9ff448b0218e0433aeb198805192346c4fd659c852370d5cc245f602a06a", size = 79464992 }, + { url = "https://files.pythonhosted.org/packages/69/2b/51e663ff190c9d16d4a8271203b71bc73a16aa7619b9f271a69b9d4a936b/torch-2.10.0-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:233aed0659a2503b831d8a67e9da66a62c996204c0bba4f4c442ccc0c68a3f60", size = 146018567 }, + { url = "https://files.pythonhosted.org/packages/5e/cd/4b95ef7f293b927c283db0b136c42be91c8ec6845c44de0238c8c23bdc80/torch-2.10.0-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:682497e16bdfa6efeec8cde66531bc8d1fbbbb4d8788ec6173c089ed3cc2bfe5", size = 915721646 }, + { url = "https://files.pythonhosted.org/packages/56/97/078a007208f8056d88ae43198833469e61a0a355abc0b070edd2c085eb9a/torch-2.10.0-cp314-cp314-win_amd64.whl", hash = "sha256:6528f13d2a8593a1a412ea07a99812495bec07e9224c28b2a25c0a30c7da025c", size = 113752373 }, + { url = "https://files.pythonhosted.org/packages/d8/94/71994e7d0d5238393df9732fdab607e37e2b56d26a746cb59fdb415f8966/torch-2.10.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:f5ab4ba32383061be0fb74bda772d470140a12c1c3b58a0cfbf3dae94d164c28", size = 79850324 }, + { url = "https://files.pythonhosted.org/packages/e2/65/1a05346b418ea8ccd10360eef4b3e0ce688fba544e76edec26913a8d0ee0/torch-2.10.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:716b01a176c2a5659c98f6b01bf868244abdd896526f1c692712ab36dbaf9b63", size = 146006482 }, + { url = "https://files.pythonhosted.org/packages/1d/b9/5f6f9d9e859fc3235f60578fa64f52c9c6e9b4327f0fe0defb6de5c0de31/torch-2.10.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:d8f5912ba938233f86361e891789595ff35ca4b4e2ac8fe3670895e5976731d6", size = 915613050 }, + { url = "https://files.pythonhosted.org/packages/66/4d/35352043ee0eaffdeff154fad67cd4a31dbed7ff8e3be1cc4549717d6d51/torch-2.10.0-cp314-cp314t-win_amd64.whl", hash = "sha256:71283a373f0ee2c89e0f0d5f446039bdabe8dbc3c9ccf35f0f784908b0acd185", size = 113995816 }, +] + +[[package]] +name = "tqdm" +version = "4.67.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 }, +] + +[[package]] +name = "transformers" +version = "4.57.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock" }, + { name = "huggingface-hub" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "regex" }, + { name = "requests" }, + { name = "safetensors" }, + { name = "tokenizers" }, + { name = "tqdm" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dd/70/d42a739e8dfde3d92bb2fff5819cbf331fe9657323221e79415cd5eb65ee/transformers-4.57.3.tar.gz", hash = "sha256:df4945029aaddd7c09eec5cad851f30662f8bd1746721b34cc031d70c65afebc", size = 10139680 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/6b/2f416568b3c4c91c96e5a365d164f8a4a4a88030aa8ab4644181fdadce97/transformers-4.57.3-py3-none-any.whl", hash = "sha256:c77d353a4851b1880191603d36acb313411d3577f6e2897814f333841f7003f4", size = 11993463 }, +] + +[[package]] +name = "trec-car-tools" +version = "2.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cbor" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d4/71/7b62e2e56de6cdf0c648f0033a9faa41b8f712bacd71968af96277185400/trec-car-tools-2.6.tar.gz", hash = "sha256:2fce2de120224fd569b151d5bed358a4ed334e643889b9e3dfe3e5a3d15d21c8", size = 7513 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/75/661b406371f96622975eb25f9e70945d97fbe6b8e5af40342c59191962a3/trec_car_tools-2.6-py3-none-any.whl", hash = "sha256:e6f0373259e1c234222da7270ab54ca7af7a6f8d0dd32b13e158c1659d3991cf", size = 8414 }, +] + +[[package]] +name = "triton" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/ba/b1b04f4b291a3205d95ebd24465de0e5bf010a2df27a4e58a9b5f039d8f2/triton-3.6.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6c723cfb12f6842a0ae94ac307dba7e7a44741d720a40cf0e270ed4a4e3be781", size = 175972180 }, + { url = "https://files.pythonhosted.org/packages/8c/f7/f1c9d3424ab199ac53c2da567b859bcddbb9c9e7154805119f8bd95ec36f/triton-3.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a6550fae429e0667e397e5de64b332d1e5695b73650ee75a6146e2e902770bea", size = 188105201 }, + { url = "https://files.pythonhosted.org/packages/0f/2c/96f92f3c60387e14cc45aed49487f3486f89ea27106c1b1376913c62abe4/triton-3.6.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49df5ef37379c0c2b5c0012286f80174fcf0e073e5ade1ca9a86c36814553651", size = 176081190 }, + { url = "https://files.pythonhosted.org/packages/e0/12/b05ba554d2c623bffa59922b94b0775673de251f468a9609bc9e45de95e9/triton-3.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8e323d608e3a9bfcc2d9efcc90ceefb764a82b99dea12a86d643c72539ad5d3", size = 188214640 }, + { url = "https://files.pythonhosted.org/packages/17/5d/08201db32823bdf77a0e2b9039540080b2e5c23a20706ddba942924ebcd6/triton-3.6.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:374f52c11a711fd062b4bfbb201fd9ac0a5febd28a96fb41b4a0f51dde3157f4", size = 176128243 }, + { url = "https://files.pythonhosted.org/packages/ab/a8/cdf8b3e4c98132f965f88c2313a4b493266832ad47fb52f23d14d4f86bb5/triton-3.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:74caf5e34b66d9f3a429af689c1c7128daba1d8208df60e81106b115c00d6fca", size = 188266850 }, + { url = "https://files.pythonhosted.org/packages/3c/12/34d71b350e89a204c2c7777a9bba0dcf2f19a5bfdd70b57c4dbc5ffd7154/triton-3.6.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:448e02fe6dc898e9e5aa89cf0ee5c371e99df5aa5e8ad976a80b93334f3494fd", size = 176133521 }, + { url = "https://files.pythonhosted.org/packages/f9/0b/37d991d8c130ce81a8728ae3c25b6e60935838e9be1b58791f5997b24a54/triton-3.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10c7f76c6e72d2ef08df639e3d0d30729112f47a56b0c81672edc05ee5116ac9", size = 188289450 }, + { url = "https://files.pythonhosted.org/packages/ce/4e/41b0c8033b503fd3cfcd12392cdd256945026a91ff02452bef40ec34bee7/triton-3.6.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1722e172d34e32abc3eb7711d0025bb69d7959ebea84e3b7f7a341cd7ed694d6", size = 176276087 }, + { url = "https://files.pythonhosted.org/packages/35/f8/9c66bfc55361ec6d0e4040a0337fb5924ceb23de4648b8a81ae9d33b2b38/triton-3.6.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d002e07d7180fd65e622134fbd980c9a3d4211fb85224b56a0a0efbd422ab72f", size = 188400296 }, + { url = "https://files.pythonhosted.org/packages/49/55/5ecf0dcaa0f2fbbd4420f7ef227ee3cb172e91e5fede9d0ecaddc43363b4/triton-3.6.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef5523241e7d1abca00f1d240949eebdd7c673b005edbbce0aca95b8191f1d43", size = 176138577 }, + { url = "https://files.pythonhosted.org/packages/df/3d/9e7eee57b37c80cec63322c0231bb6da3cfe535a91d7a4d64896fcb89357/triton-3.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a17a5d5985f0ac494ed8a8e54568f092f7057ef60e1b0fa09d3fd1512064e803", size = 188273063 }, + { url = "https://files.pythonhosted.org/packages/48/db/56ee649cab5eaff4757541325aca81f52d02d4a7cd3506776cad2451e060/triton-3.6.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b3a97e8ed304dfa9bd23bb41ca04cdf6b2e617d5e782a8653d616037a5d537d", size = 176274804 }, + { url = "https://files.pythonhosted.org/packages/f6/56/6113c23ff46c00aae423333eb58b3e60bdfe9179d542781955a5e1514cb3/triton-3.6.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:46bd1c1af4b6704e554cad2eeb3b0a6513a980d470ccfa63189737340c7746a7", size = 188397994 }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614 }, +] + +[[package]] +name = "tzdata" +version = "2025.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/a7/c202b344c5ca7daf398f3b8a477eeb205cf3b6f32e7ec3a6bac0629ca975/tzdata-2025.3.tar.gz", hash = "sha256:de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7", size = 196772 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl", hash = "sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1", size = 348521 }, +] + +[[package]] +name = "unlzw3" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/08/f1/72b313366285263aaba21a17714fbef597d7662a8737a928b2b4784eb46e/unlzw3-0.2.3.tar.gz", hash = "sha256:ede5d928c792fff9da406f20334f9739693327f448f383ae1df1774627197bbb", size = 5426 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/fb/617af9b317ac75f5663285d3a3cc38903a76d63c6e7397768307545f4ff4/unlzw3-0.2.3-py3-none-any.whl", hash = "sha256:7760fb4f3afa1225623944c061991d89a061f7fb78665dbc4cddfdb562bb4a8b", size = 6729 }, +] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584 }, +] + +[[package]] +name = "warc3-wet" +version = "0.2.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/c6/24c9b4a2b2b1741b57d7f44ff9790eb4ef28de898c17c2b1ca1efabf8c96/warc3_wet-0.2.5.tar.gz", hash = "sha256:15e50402dabaa1e95307f1e2a6169cfd5f137b70761d9f0b16a10aa6de227970", size = 17937 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/99/0a5582a106679fd9439af51631b6c6cb627fd96cbc85a02927e6812605b8/warc3_wet-0.2.5-py3-none-any.whl", hash = "sha256:5a9a525383fb1af159734baa75f349a7c4ec7bccd1b938681b5748515d2bf624", size = 18657 }, +] + +[[package]] +name = "warc3-wet-clueweb09" +version = "0.2.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9f/c1/dd817bf57e0274dacb10e0ac868cb6cd70876950cf361c41879c030a2b8b/warc3-wet-clueweb09-0.2.5.tar.gz", hash = "sha256:3054bfc07da525d5967df8ca3175f78fa3f78514c82643f8c81fbca96300b836", size = 17853 } + +[[package]] +name = "xxhash" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/02/84/30869e01909fb37a6cc7e18688ee8bf1e42d57e7e0777636bd47524c43c7/xxhash-3.6.0.tar.gz", hash = "sha256:f0162a78b13a0d7617b2845b90c763339d1f1d82bb04a4b07f4ab535cc5e05d6", size = 85160 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/ee/f9f1d656ad168681bb0f6b092372c1e533c4416b8069b1896a175c46e484/xxhash-3.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:87ff03d7e35c61435976554477a7f4cd1704c3596a89a8300d5ce7fc83874a71", size = 32845 }, + { url = "https://files.pythonhosted.org/packages/a3/b1/93508d9460b292c74a09b83d16750c52a0ead89c51eea9951cb97a60d959/xxhash-3.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f572dfd3d0e2eb1a57511831cf6341242f5a9f8298a45862d085f5b93394a27d", size = 30807 }, + { url = "https://files.pythonhosted.org/packages/07/55/28c93a3662f2d200c70704efe74aab9640e824f8ce330d8d3943bf7c9b3c/xxhash-3.6.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:89952ea539566b9fed2bbd94e589672794b4286f342254fad28b149f9615fef8", size = 193786 }, + { url = "https://files.pythonhosted.org/packages/c1/96/fec0be9bb4b8f5d9c57d76380a366f31a1781fb802f76fc7cda6c84893c7/xxhash-3.6.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:48e6f2ffb07a50b52465a1032c3cf1f4a5683f944acaca8a134a2f23674c2058", size = 212830 }, + { url = "https://files.pythonhosted.org/packages/c4/a0/c706845ba77b9611f81fd2e93fad9859346b026e8445e76f8c6fd057cc6d/xxhash-3.6.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b5b848ad6c16d308c3ac7ad4ba6bede80ed5df2ba8ed382f8932df63158dd4b2", size = 211606 }, + { url = "https://files.pythonhosted.org/packages/67/1e/164126a2999e5045f04a69257eea946c0dc3e86541b400d4385d646b53d7/xxhash-3.6.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a034590a727b44dd8ac5914236a7b8504144447a9682586c3327e935f33ec8cc", size = 444872 }, + { url = "https://files.pythonhosted.org/packages/2d/4b/55ab404c56cd70a2cf5ecfe484838865d0fea5627365c6c8ca156bd09c8f/xxhash-3.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8a8f1972e75ebdd161d7896743122834fe87378160c20e97f8b09166213bf8cc", size = 193217 }, + { url = "https://files.pythonhosted.org/packages/45/e6/52abf06bac316db33aa269091ae7311bd53cfc6f4b120ae77bac1b348091/xxhash-3.6.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ee34327b187f002a596d7b167ebc59a1b729e963ce645964bbc050d2f1b73d07", size = 210139 }, + { url = "https://files.pythonhosted.org/packages/34/37/db94d490b8691236d356bc249c08819cbcef9273a1a30acf1254ff9ce157/xxhash-3.6.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:339f518c3c7a850dd033ab416ea25a692759dc7478a71131fe8869010d2b75e4", size = 197669 }, + { url = "https://files.pythonhosted.org/packages/b7/36/c4f219ef4a17a4f7a64ed3569bc2b5a9c8311abdb22249ac96093625b1a4/xxhash-3.6.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:bf48889c9630542d4709192578aebbd836177c9f7a4a2778a7d6340107c65f06", size = 210018 }, + { url = "https://files.pythonhosted.org/packages/fd/06/bfac889a374fc2fc439a69223d1750eed2e18a7db8514737ab630534fa08/xxhash-3.6.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:5576b002a56207f640636056b4160a378fe36a58db73ae5c27a7ec8db35f71d4", size = 413058 }, + { url = "https://files.pythonhosted.org/packages/c9/d1/555d8447e0dd32ad0930a249a522bb2e289f0d08b6b16204cfa42c1f5a0c/xxhash-3.6.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:af1f3278bd02814d6dedc5dec397993b549d6f16c19379721e5a1d31e132c49b", size = 190628 }, + { url = "https://files.pythonhosted.org/packages/d1/15/8751330b5186cedc4ed4b597989882ea05e0408b53fa47bcb46a6125bfc6/xxhash-3.6.0-cp310-cp310-win32.whl", hash = "sha256:aed058764db109dc9052720da65fafe84873b05eb8b07e5e653597951af57c3b", size = 30577 }, + { url = "https://files.pythonhosted.org/packages/bb/cc/53f87e8b5871a6eb2ff7e89c48c66093bda2be52315a8161ddc54ea550c4/xxhash-3.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:e82da5670f2d0d98950317f82a0e4a0197150ff19a6df2ba40399c2a3b9ae5fb", size = 31487 }, + { url = "https://files.pythonhosted.org/packages/9f/00/60f9ea3bb697667a14314d7269956f58bf56bb73864f8f8d52a3c2535e9a/xxhash-3.6.0-cp310-cp310-win_arm64.whl", hash = "sha256:4a082ffff8c6ac07707fb6b671caf7c6e020c75226c561830b73d862060f281d", size = 27863 }, + { url = "https://files.pythonhosted.org/packages/17/d4/cc2f0400e9154df4b9964249da78ebd72f318e35ccc425e9f403c392f22a/xxhash-3.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b47bbd8cf2d72797f3c2772eaaac0ded3d3af26481a26d7d7d41dc2d3c46b04a", size = 32844 }, + { url = "https://files.pythonhosted.org/packages/5e/ec/1cc11cd13e26ea8bc3cb4af4eaadd8d46d5014aebb67be3f71fb0b68802a/xxhash-3.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2b6821e94346f96db75abaa6e255706fb06ebd530899ed76d32cd99f20dc52fa", size = 30809 }, + { url = "https://files.pythonhosted.org/packages/04/5f/19fe357ea348d98ca22f456f75a30ac0916b51c753e1f8b2e0e6fb884cce/xxhash-3.6.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d0a9751f71a1a65ce3584e9cae4467651c7e70c9d31017fa57574583a4540248", size = 194665 }, + { url = "https://files.pythonhosted.org/packages/90/3b/d1f1a8f5442a5fd8beedae110c5af7604dc37349a8e16519c13c19a9a2de/xxhash-3.6.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b29ee68625ab37b04c0b40c3fafdf24d2f75ccd778333cfb698f65f6c463f62", size = 213550 }, + { url = "https://files.pythonhosted.org/packages/c4/ef/3a9b05eb527457d5db13a135a2ae1a26c80fecd624d20f3e8dcc4cb170f3/xxhash-3.6.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6812c25fe0d6c36a46ccb002f40f27ac903bf18af9f6dd8f9669cb4d176ab18f", size = 212384 }, + { url = "https://files.pythonhosted.org/packages/0f/18/ccc194ee698c6c623acbf0f8c2969811a8a4b6185af5e824cd27b9e4fd3e/xxhash-3.6.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4ccbff013972390b51a18ef1255ef5ac125c92dc9143b2d1909f59abc765540e", size = 445749 }, + { url = "https://files.pythonhosted.org/packages/a5/86/cf2c0321dc3940a7aa73076f4fd677a0fb3e405cb297ead7d864fd90847e/xxhash-3.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:297b7fbf86c82c550e12e8fb71968b3f033d27b874276ba3624ea868c11165a8", size = 193880 }, + { url = "https://files.pythonhosted.org/packages/82/fb/96213c8560e6f948a1ecc9a7613f8032b19ee45f747f4fca4eb31bb6d6ed/xxhash-3.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dea26ae1eb293db089798d3973a5fc928a18fdd97cc8801226fae705b02b14b0", size = 210912 }, + { url = "https://files.pythonhosted.org/packages/40/aa/4395e669b0606a096d6788f40dbdf2b819d6773aa290c19e6e83cbfc312f/xxhash-3.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7a0b169aafb98f4284f73635a8e93f0735f9cbde17bd5ec332480484241aaa77", size = 198654 }, + { url = "https://files.pythonhosted.org/packages/67/74/b044fcd6b3d89e9b1b665924d85d3f400636c23590226feb1eb09e1176ce/xxhash-3.6.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:08d45aef063a4531b785cd72de4887766d01dc8f362a515693df349fdb825e0c", size = 210867 }, + { url = "https://files.pythonhosted.org/packages/bc/fd/3ce73bf753b08cb19daee1eb14aa0d7fe331f8da9c02dd95316ddfe5275e/xxhash-3.6.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:929142361a48ee07f09121fe9e96a84950e8d4df3bb298ca5d88061969f34d7b", size = 414012 }, + { url = "https://files.pythonhosted.org/packages/ba/b3/5a4241309217c5c876f156b10778f3ab3af7ba7e3259e6d5f5c7d0129eb2/xxhash-3.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:51312c768403d8540487dbbfb557454cfc55589bbde6424456951f7fcd4facb3", size = 191409 }, + { url = "https://files.pythonhosted.org/packages/c0/01/99bfbc15fb9abb9a72b088c1d95219fc4782b7d01fc835bd5744d66dd0b8/xxhash-3.6.0-cp311-cp311-win32.whl", hash = "sha256:d1927a69feddc24c987b337ce81ac15c4720955b667fe9b588e02254b80446fd", size = 30574 }, + { url = "https://files.pythonhosted.org/packages/65/79/9d24d7f53819fe301b231044ea362ce64e86c74f6e8c8e51320de248b3e5/xxhash-3.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:26734cdc2d4ffe449b41d186bbeac416f704a482ed835d375a5c0cb02bc63fef", size = 31481 }, + { url = "https://files.pythonhosted.org/packages/30/4e/15cd0e3e8772071344eab2961ce83f6e485111fed8beb491a3f1ce100270/xxhash-3.6.0-cp311-cp311-win_arm64.whl", hash = "sha256:d72f67ef8bf36e05f5b6c65e8524f265bd61071471cd4cf1d36743ebeeeb06b7", size = 27861 }, + { url = "https://files.pythonhosted.org/packages/9a/07/d9412f3d7d462347e4511181dea65e47e0d0e16e26fbee2ea86a2aefb657/xxhash-3.6.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:01362c4331775398e7bb34e3ab403bc9ee9f7c497bc7dee6272114055277dd3c", size = 32744 }, + { url = "https://files.pythonhosted.org/packages/79/35/0429ee11d035fc33abe32dca1b2b69e8c18d236547b9a9b72c1929189b9a/xxhash-3.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b7b2df81a23f8cb99656378e72501b2cb41b1827c0f5a86f87d6b06b69f9f204", size = 30816 }, + { url = "https://files.pythonhosted.org/packages/b7/f2/57eb99aa0f7d98624c0932c5b9a170e1806406cdbcdb510546634a1359e0/xxhash-3.6.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:dc94790144e66b14f67b10ac8ed75b39ca47536bf8800eb7c24b50271ea0c490", size = 194035 }, + { url = "https://files.pythonhosted.org/packages/4c/ed/6224ba353690d73af7a3f1c7cdb1fc1b002e38f783cb991ae338e1eb3d79/xxhash-3.6.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:93f107c673bccf0d592cdba077dedaf52fe7f42dcd7676eba1f6d6f0c3efffd2", size = 212914 }, + { url = "https://files.pythonhosted.org/packages/38/86/fb6b6130d8dd6b8942cc17ab4d90e223653a89aa32ad2776f8af7064ed13/xxhash-3.6.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2aa5ee3444c25b69813663c9f8067dcfaa2e126dc55e8dddf40f4d1c25d7effa", size = 212163 }, + { url = "https://files.pythonhosted.org/packages/ee/dc/e84875682b0593e884ad73b2d40767b5790d417bde603cceb6878901d647/xxhash-3.6.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7f99123f0e1194fa59cc69ad46dbae2e07becec5df50a0509a808f90a0f03f0", size = 445411 }, + { url = "https://files.pythonhosted.org/packages/11/4f/426f91b96701ec2f37bb2b8cec664eff4f658a11f3fa9d94f0a887ea6d2b/xxhash-3.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49e03e6fe2cac4a1bc64952dd250cf0dbc5ef4ebb7b8d96bce82e2de163c82a2", size = 193883 }, + { url = "https://files.pythonhosted.org/packages/53/5a/ddbb83eee8e28b778eacfc5a85c969673e4023cdeedcfcef61f36731610b/xxhash-3.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bd17fede52a17a4f9a7bc4472a5867cb0b160deeb431795c0e4abe158bc784e9", size = 210392 }, + { url = "https://files.pythonhosted.org/packages/1e/c2/ff69efd07c8c074ccdf0a4f36fcdd3d27363665bcdf4ba399abebe643465/xxhash-3.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:6fb5f5476bef678f69db04f2bd1efbed3030d2aba305b0fc1773645f187d6a4e", size = 197898 }, + { url = "https://files.pythonhosted.org/packages/58/ca/faa05ac19b3b622c7c9317ac3e23954187516298a091eb02c976d0d3dd45/xxhash-3.6.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:843b52f6d88071f87eba1631b684fcb4b2068cd2180a0224122fe4ef011a9374", size = 210655 }, + { url = "https://files.pythonhosted.org/packages/d4/7a/06aa7482345480cc0cb597f5c875b11a82c3953f534394f620b0be2f700c/xxhash-3.6.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7d14a6cfaf03b1b6f5f9790f76880601ccc7896aff7ab9cd8978a939c1eb7e0d", size = 414001 }, + { url = "https://files.pythonhosted.org/packages/23/07/63ffb386cd47029aa2916b3d2f454e6cc5b9f5c5ada3790377d5430084e7/xxhash-3.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:418daf3db71e1413cfe211c2f9a528456936645c17f46b5204705581a45390ae", size = 191431 }, + { url = "https://files.pythonhosted.org/packages/0f/93/14fde614cadb4ddf5e7cebf8918b7e8fac5ae7861c1875964f17e678205c/xxhash-3.6.0-cp312-cp312-win32.whl", hash = "sha256:50fc255f39428a27299c20e280d6193d8b63b8ef8028995323bf834a026b4fbb", size = 30617 }, + { url = "https://files.pythonhosted.org/packages/13/5d/0d125536cbe7565a83d06e43783389ecae0c0f2ed037b48ede185de477c0/xxhash-3.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:c0f2ab8c715630565ab8991b536ecded9416d615538be8ecddce43ccf26cbc7c", size = 31534 }, + { url = "https://files.pythonhosted.org/packages/54/85/6ec269b0952ec7e36ba019125982cf11d91256a778c7c3f98a4c5043d283/xxhash-3.6.0-cp312-cp312-win_arm64.whl", hash = "sha256:eae5c13f3bc455a3bbb68bdc513912dc7356de7e2280363ea235f71f54064829", size = 27876 }, + { url = "https://files.pythonhosted.org/packages/33/76/35d05267ac82f53ae9b0e554da7c5e281ee61f3cad44c743f0fcd354f211/xxhash-3.6.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:599e64ba7f67472481ceb6ee80fa3bd828fd61ba59fb11475572cc5ee52b89ec", size = 32738 }, + { url = "https://files.pythonhosted.org/packages/31/a8/3fbce1cd96534a95e35d5120637bf29b0d7f5d8fa2f6374e31b4156dd419/xxhash-3.6.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7d8b8aaa30fca4f16f0c84a5c8d7ddee0e25250ec2796c973775373257dde8f1", size = 30821 }, + { url = "https://files.pythonhosted.org/packages/0c/ea/d387530ca7ecfa183cb358027f1833297c6ac6098223fd14f9782cd0015c/xxhash-3.6.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d597acf8506d6e7101a4a44a5e428977a51c0fadbbfd3c39650cca9253f6e5a6", size = 194127 }, + { url = "https://files.pythonhosted.org/packages/ba/0c/71435dcb99874b09a43b8d7c54071e600a7481e42b3e3ce1eb5226a5711a/xxhash-3.6.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:858dc935963a33bc33490128edc1c12b0c14d9c7ebaa4e387a7869ecc4f3e263", size = 212975 }, + { url = "https://files.pythonhosted.org/packages/84/7a/c2b3d071e4bb4a90b7057228a99b10d51744878f4a8a6dd643c8bd897620/xxhash-3.6.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba284920194615cb8edf73bf52236ce2e1664ccd4a38fdb543506413529cc546", size = 212241 }, + { url = "https://files.pythonhosted.org/packages/81/5f/640b6eac0128e215f177df99eadcd0f1b7c42c274ab6a394a05059694c5a/xxhash-3.6.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4b54219177f6c6674d5378bd862c6aedf64725f70dd29c472eaae154df1a2e89", size = 445471 }, + { url = "https://files.pythonhosted.org/packages/5e/1e/3c3d3ef071b051cc3abbe3721ffb8365033a172613c04af2da89d5548a87/xxhash-3.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:42c36dd7dbad2f5238950c377fcbf6811b1cdb1c444fab447960030cea60504d", size = 193936 }, + { url = "https://files.pythonhosted.org/packages/2c/bd/4a5f68381939219abfe1c22a9e3a5854a4f6f6f3c4983a87d255f21f2e5d/xxhash-3.6.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f22927652cba98c44639ffdc7aaf35828dccf679b10b31c4ad72a5b530a18eb7", size = 210440 }, + { url = "https://files.pythonhosted.org/packages/eb/37/b80fe3d5cfb9faff01a02121a0f4d565eb7237e9e5fc66e73017e74dcd36/xxhash-3.6.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b45fad44d9c5c119e9c6fbf2e1c656a46dc68e280275007bbfd3d572b21426db", size = 197990 }, + { url = "https://files.pythonhosted.org/packages/d7/fd/2c0a00c97b9e18f72e1f240ad4e8f8a90fd9d408289ba9c7c495ed7dc05c/xxhash-3.6.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:6f2580ffab1a8b68ef2b901cde7e55fa8da5e4be0977c68f78fc80f3c143de42", size = 210689 }, + { url = "https://files.pythonhosted.org/packages/93/86/5dd8076a926b9a95db3206aba20d89a7fc14dd5aac16e5c4de4b56033140/xxhash-3.6.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:40c391dd3cd041ebc3ffe6f2c862f402e306eb571422e0aa918d8070ba31da11", size = 414068 }, + { url = "https://files.pythonhosted.org/packages/af/3c/0bb129170ee8f3650f08e993baee550a09593462a5cddd8e44d0011102b1/xxhash-3.6.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f205badabde7aafd1a31e8ca2a3e5a763107a71c397c4481d6a804eb5063d8bd", size = 191495 }, + { url = "https://files.pythonhosted.org/packages/e9/3a/6797e0114c21d1725e2577508e24006fd7ff1d8c0c502d3b52e45c1771d8/xxhash-3.6.0-cp313-cp313-win32.whl", hash = "sha256:2577b276e060b73b73a53042ea5bd5203d3e6347ce0d09f98500f418a9fcf799", size = 30620 }, + { url = "https://files.pythonhosted.org/packages/86/15/9bc32671e9a38b413a76d24722a2bf8784a132c043063a8f5152d390b0f9/xxhash-3.6.0-cp313-cp313-win_amd64.whl", hash = "sha256:757320d45d2fbcce8f30c42a6b2f47862967aea7bf458b9625b4bbe7ee390392", size = 31542 }, + { url = "https://files.pythonhosted.org/packages/39/c5/cc01e4f6188656e56112d6a8e0dfe298a16934b8c47a247236549a3f7695/xxhash-3.6.0-cp313-cp313-win_arm64.whl", hash = "sha256:457b8f85dec5825eed7b69c11ae86834a018b8e3df5e77783c999663da2f96d6", size = 27880 }, + { url = "https://files.pythonhosted.org/packages/f3/30/25e5321c8732759e930c555176d37e24ab84365482d257c3b16362235212/xxhash-3.6.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a42e633d75cdad6d625434e3468126c73f13f7584545a9cf34e883aa1710e702", size = 32956 }, + { url = "https://files.pythonhosted.org/packages/9f/3c/0573299560d7d9f8ab1838f1efc021a280b5ae5ae2e849034ef3dee18810/xxhash-3.6.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:568a6d743219e717b07b4e03b0a828ce593833e498c3b64752e0f5df6bfe84db", size = 31072 }, + { url = "https://files.pythonhosted.org/packages/7a/1c/52d83a06e417cd9d4137722693424885cc9878249beb3a7c829e74bf7ce9/xxhash-3.6.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:bec91b562d8012dae276af8025a55811b875baace6af510412a5e58e3121bc54", size = 196409 }, + { url = "https://files.pythonhosted.org/packages/e3/8e/c6d158d12a79bbd0b878f8355432075fc82759e356ab5a111463422a239b/xxhash-3.6.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78e7f2f4c521c30ad5e786fdd6bae89d47a32672a80195467b5de0480aa97b1f", size = 215736 }, + { url = "https://files.pythonhosted.org/packages/bc/68/c4c80614716345d55071a396cf03d06e34b5f4917a467faf43083c995155/xxhash-3.6.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3ed0df1b11a79856df5ffcab572cbd6b9627034c1c748c5566fa79df9048a7c5", size = 214833 }, + { url = "https://files.pythonhosted.org/packages/7e/e9/ae27c8ffec8b953efa84c7c4a6c6802c263d587b9fc0d6e7cea64e08c3af/xxhash-3.6.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0e4edbfc7d420925b0dd5e792478ed393d6e75ff8fc219a6546fb446b6a417b1", size = 448348 }, + { url = "https://files.pythonhosted.org/packages/d7/6b/33e21afb1b5b3f46b74b6bd1913639066af218d704cc0941404ca717fc57/xxhash-3.6.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fba27a198363a7ef87f8c0f6b171ec36b674fe9053742c58dd7e3201c1ab30ee", size = 196070 }, + { url = "https://files.pythonhosted.org/packages/96/b6/fcabd337bc5fa624e7203aa0fa7d0c49eed22f72e93229431752bddc83d9/xxhash-3.6.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:794fe9145fe60191c6532fa95063765529770edcdd67b3d537793e8004cabbfd", size = 212907 }, + { url = "https://files.pythonhosted.org/packages/4b/d3/9ee6160e644d660fcf176c5825e61411c7f62648728f69c79ba237250143/xxhash-3.6.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:6105ef7e62b5ac73a837778efc331a591d8442f8ef5c7e102376506cb4ae2729", size = 200839 }, + { url = "https://files.pythonhosted.org/packages/0d/98/e8de5baa5109394baf5118f5e72ab21a86387c4f89b0e77ef3e2f6b0327b/xxhash-3.6.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:f01375c0e55395b814a679b3eea205db7919ac2af213f4a6682e01220e5fe292", size = 213304 }, + { url = "https://files.pythonhosted.org/packages/7b/1d/71056535dec5c3177eeb53e38e3d367dd1d16e024e63b1cee208d572a033/xxhash-3.6.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:d706dca2d24d834a4661619dcacf51a75c16d65985718d6a7d73c1eeeb903ddf", size = 416930 }, + { url = "https://files.pythonhosted.org/packages/dc/6c/5cbde9de2cd967c322e651c65c543700b19e7ae3e0aae8ece3469bf9683d/xxhash-3.6.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5f059d9faeacd49c0215d66f4056e1326c80503f51a1532ca336a385edadd033", size = 193787 }, + { url = "https://files.pythonhosted.org/packages/19/fa/0172e350361d61febcea941b0cc541d6e6c8d65d153e85f850a7b256ff8a/xxhash-3.6.0-cp313-cp313t-win32.whl", hash = "sha256:1244460adc3a9be84731d72b8e80625788e5815b68da3da8b83f78115a40a7ec", size = 30916 }, + { url = "https://files.pythonhosted.org/packages/ad/e6/e8cf858a2b19d6d45820f072eff1bea413910592ff17157cabc5f1227a16/xxhash-3.6.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b1e420ef35c503869c4064f4a2f2b08ad6431ab7b229a05cce39d74268bca6b8", size = 31799 }, + { url = "https://files.pythonhosted.org/packages/56/15/064b197e855bfb7b343210e82490ae672f8bc7cdf3ddb02e92f64304ee8a/xxhash-3.6.0-cp313-cp313t-win_arm64.whl", hash = "sha256:ec44b73a4220623235f67a996c862049f375df3b1052d9899f40a6382c32d746", size = 28044 }, + { url = "https://files.pythonhosted.org/packages/7e/5e/0138bc4484ea9b897864d59fce9be9086030825bc778b76cb5a33a906d37/xxhash-3.6.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:a40a3d35b204b7cc7643cbcf8c9976d818cb47befcfac8bbefec8038ac363f3e", size = 32754 }, + { url = "https://files.pythonhosted.org/packages/18/d7/5dac2eb2ec75fd771957a13e5dda560efb2176d5203f39502a5fc571f899/xxhash-3.6.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a54844be970d3fc22630b32d515e79a90d0a3ddb2644d8d7402e3c4c8da61405", size = 30846 }, + { url = "https://files.pythonhosted.org/packages/fe/71/8bc5be2bb00deb5682e92e8da955ebe5fa982da13a69da5a40a4c8db12fb/xxhash-3.6.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:016e9190af8f0a4e3741343777710e3d5717427f175adfdc3e72508f59e2a7f3", size = 194343 }, + { url = "https://files.pythonhosted.org/packages/e7/3b/52badfb2aecec2c377ddf1ae75f55db3ba2d321c5e164f14461c90837ef3/xxhash-3.6.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4f6f72232f849eb9d0141e2ebe2677ece15adfd0fa599bc058aad83c714bb2c6", size = 213074 }, + { url = "https://files.pythonhosted.org/packages/a2/2b/ae46b4e9b92e537fa30d03dbc19cdae57ed407e9c26d163895e968e3de85/xxhash-3.6.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:63275a8aba7865e44b1813d2177e0f5ea7eadad3dd063a21f7cf9afdc7054063", size = 212388 }, + { url = "https://files.pythonhosted.org/packages/f5/80/49f88d3afc724b4ac7fbd664c8452d6db51b49915be48c6982659e0e7942/xxhash-3.6.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cd01fa2aa00d8b017c97eb46b9a794fbdca53fc14f845f5a328c71254b0abb7", size = 445614 }, + { url = "https://files.pythonhosted.org/packages/ed/ba/603ce3961e339413543d8cd44f21f2c80e2a7c5cfe692a7b1f2cccf58f3c/xxhash-3.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0226aa89035b62b6a86d3c68df4d7c1f47a342b8683da2b60cedcddb46c4d95b", size = 194024 }, + { url = "https://files.pythonhosted.org/packages/78/d1/8e225ff7113bf81545cfdcd79eef124a7b7064a0bba53605ff39590b95c2/xxhash-3.6.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c6e193e9f56e4ca4923c61238cdaced324f0feac782544eb4c6d55ad5cc99ddd", size = 210541 }, + { url = "https://files.pythonhosted.org/packages/6f/58/0f89d149f0bad89def1a8dd38feb50ccdeb643d9797ec84707091d4cb494/xxhash-3.6.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:9176dcaddf4ca963d4deb93866d739a343c01c969231dbe21680e13a5d1a5bf0", size = 198305 }, + { url = "https://files.pythonhosted.org/packages/11/38/5eab81580703c4df93feb5f32ff8fa7fe1e2c51c1f183ee4e48d4bb9d3d7/xxhash-3.6.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c1ce4009c97a752e682b897aa99aef84191077a9433eb237774689f14f8ec152", size = 210848 }, + { url = "https://files.pythonhosted.org/packages/5e/6b/953dc4b05c3ce678abca756416e4c130d2382f877a9c30a20d08ee6a77c0/xxhash-3.6.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:8cb2f4f679b01513b7adbb9b1b2f0f9cdc31b70007eaf9d59d0878809f385b11", size = 414142 }, + { url = "https://files.pythonhosted.org/packages/08/a9/238ec0d4e81a10eb5026d4a6972677cbc898ba6c8b9dbaec12ae001b1b35/xxhash-3.6.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:653a91d7c2ab54a92c19ccf43508b6a555440b9be1bc8be553376778be7f20b5", size = 191547 }, + { url = "https://files.pythonhosted.org/packages/f1/ee/3cf8589e06c2164ac77c3bf0aa127012801128f1feebf2a079272da5737c/xxhash-3.6.0-cp314-cp314-win32.whl", hash = "sha256:a756fe893389483ee8c394d06b5ab765d96e68fbbfe6fde7aa17e11f5720559f", size = 31214 }, + { url = "https://files.pythonhosted.org/packages/02/5d/a19552fbc6ad4cb54ff953c3908bbc095f4a921bc569433d791f755186f1/xxhash-3.6.0-cp314-cp314-win_amd64.whl", hash = "sha256:39be8e4e142550ef69629c9cd71b88c90e9a5db703fecbcf265546d9536ca4ad", size = 32290 }, + { url = "https://files.pythonhosted.org/packages/b1/11/dafa0643bc30442c887b55baf8e73353a344ee89c1901b5a5c54a6c17d39/xxhash-3.6.0-cp314-cp314-win_arm64.whl", hash = "sha256:25915e6000338999236f1eb68a02a32c3275ac338628a7eaa5a269c401995679", size = 28795 }, + { url = "https://files.pythonhosted.org/packages/2c/db/0e99732ed7f64182aef4a6fb145e1a295558deec2a746265dcdec12d191e/xxhash-3.6.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c5294f596a9017ca5a3e3f8884c00b91ab2ad2933cf288f4923c3fd4346cf3d4", size = 32955 }, + { url = "https://files.pythonhosted.org/packages/55/f4/2a7c3c68e564a099becfa44bb3d398810cc0ff6749b0d3cb8ccb93f23c14/xxhash-3.6.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1cf9dcc4ab9cff01dfbba78544297a3a01dafd60f3bde4e2bfd016cf7e4ddc67", size = 31072 }, + { url = "https://files.pythonhosted.org/packages/c6/d9/72a29cddc7250e8a5819dad5d466facb5dc4c802ce120645630149127e73/xxhash-3.6.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:01262da8798422d0685f7cef03b2bd3f4f46511b02830861df548d7def4402ad", size = 196579 }, + { url = "https://files.pythonhosted.org/packages/63/93/b21590e1e381040e2ca305a884d89e1c345b347404f7780f07f2cdd47ef4/xxhash-3.6.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51a73fb7cb3a3ead9f7a8b583ffd9b8038e277cdb8cb87cf890e88b3456afa0b", size = 215854 }, + { url = "https://files.pythonhosted.org/packages/ce/b8/edab8a7d4fa14e924b29be877d54155dcbd8b80be85ea00d2be3413a9ed4/xxhash-3.6.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b9c6df83594f7df8f7f708ce5ebeacfc69f72c9fbaaababf6cf4758eaada0c9b", size = 214965 }, + { url = "https://files.pythonhosted.org/packages/27/67/dfa980ac7f0d509d54ea0d5a486d2bb4b80c3f1bb22b66e6a05d3efaf6c0/xxhash-3.6.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:627f0af069b0ea56f312fd5189001c24578868643203bca1abbc2c52d3a6f3ca", size = 448484 }, + { url = "https://files.pythonhosted.org/packages/8c/63/8ffc2cc97e811c0ca5d00ab36604b3ea6f4254f20b7bc658ca825ce6c954/xxhash-3.6.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa912c62f842dfd013c5f21a642c9c10cd9f4c4e943e0af83618b4a404d9091a", size = 196162 }, + { url = "https://files.pythonhosted.org/packages/4b/77/07f0e7a3edd11a6097e990f6e5b815b6592459cb16dae990d967693e6ea9/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:b465afd7909db30168ab62afe40b2fcf79eedc0b89a6c0ab3123515dc0df8b99", size = 213007 }, + { url = "https://files.pythonhosted.org/packages/ae/d8/bc5fa0d152837117eb0bef6f83f956c509332ce133c91c63ce07ee7c4873/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a881851cf38b0a70e7c4d3ce81fc7afd86fbc2a024f4cfb2a97cf49ce04b75d3", size = 200956 }, + { url = "https://files.pythonhosted.org/packages/26/a5/d749334130de9411783873e9b98ecc46688dad5db64ca6e04b02acc8b473/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9b3222c686a919a0f3253cfc12bb118b8b103506612253b5baeaac10d8027cf6", size = 213401 }, + { url = "https://files.pythonhosted.org/packages/89/72/abed959c956a4bfc72b58c0384bb7940663c678127538634d896b1195c10/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:c5aa639bc113e9286137cec8fadc20e9cd732b2cc385c0b7fa673b84fc1f2a93", size = 417083 }, + { url = "https://files.pythonhosted.org/packages/0c/b3/62fd2b586283b7d7d665fb98e266decadf31f058f1cf6c478741f68af0cb/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5c1343d49ac102799905e115aee590183c3921d475356cb24b4de29a4bc56518", size = 193913 }, + { url = "https://files.pythonhosted.org/packages/9a/9a/c19c42c5b3f5a4aad748a6d5b4f23df3bed7ee5445accc65a0fb3ff03953/xxhash-3.6.0-cp314-cp314t-win32.whl", hash = "sha256:5851f033c3030dd95c086b4a36a2683c2ff4a799b23af60977188b057e467119", size = 31586 }, + { url = "https://files.pythonhosted.org/packages/03/d6/4cc450345be9924fd5dc8c590ceda1db5b43a0a889587b0ae81a95511360/xxhash-3.6.0-cp314-cp314t-win_amd64.whl", hash = "sha256:0444e7967dac37569052d2409b00a8860c2135cff05502df4da80267d384849f", size = 32526 }, + { url = "https://files.pythonhosted.org/packages/0f/c9/7243eb3f9eaabd1a88a5a5acadf06df2d83b100c62684b7425c6a11bcaa8/xxhash-3.6.0-cp314-cp314t-win_arm64.whl", hash = "sha256:bb79b1e63f6fd84ec778a4b1916dfe0a7c3fdb986c06addd5db3a0d413819d95", size = 28898 }, + { url = "https://files.pythonhosted.org/packages/93/1e/8aec23647a34a249f62e2398c42955acd9b4c6ed5cf08cbea94dc46f78d2/xxhash-3.6.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0f7b7e2ec26c1666ad5fc9dbfa426a6a3367ceaf79db5dd76264659d509d73b0", size = 30662 }, + { url = "https://files.pythonhosted.org/packages/b8/0b/b14510b38ba91caf43006209db846a696ceea6a847a0c9ba0a5b1adc53d6/xxhash-3.6.0-pp311-pypy311_pp73-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5dc1e14d14fa0f5789ec29a7062004b5933964bb9b02aae6622b8f530dc40296", size = 41056 }, + { url = "https://files.pythonhosted.org/packages/50/55/15a7b8a56590e66ccd374bbfa3f9ffc45b810886c8c3b614e3f90bd2367c/xxhash-3.6.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:881b47fc47e051b37d94d13e7455131054b56749b91b508b0907eb07900d1c13", size = 36251 }, + { url = "https://files.pythonhosted.org/packages/62/b2/5ac99a041a29e58e95f907876b04f7067a0242cb85b5f39e726153981503/xxhash-3.6.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c6dc31591899f5e5666f04cc2e529e69b4072827085c1ef15294d91a004bc1bd", size = 32481 }, + { url = "https://files.pythonhosted.org/packages/7b/d9/8d95e906764a386a3d3b596f3c68bb63687dfca806373509f51ce8eea81f/xxhash-3.6.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:15e0dac10eb9309508bfc41f7f9deaa7755c69e35af835db9cb10751adebc35d", size = 31565 }, +] + +[[package]] +name = "yarl" +version = "1.22.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "multidict" }, + { name = "propcache" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/43/a2204825342f37c337f5edb6637040fa14e365b2fcc2346960201d457579/yarl-1.22.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c7bd6683587567e5a49ee6e336e0612bec8329be1b7d4c8af5687dcdeb67ee1e", size = 140517 }, + { url = "https://files.pythonhosted.org/packages/44/6f/674f3e6f02266428c56f704cd2501c22f78e8b2eeb23f153117cc86fb28a/yarl-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5cdac20da754f3a723cceea5b3448e1a2074866406adeb4ef35b469d089adb8f", size = 93495 }, + { url = "https://files.pythonhosted.org/packages/b8/12/5b274d8a0f30c07b91b2f02cba69152600b47830fcfb465c108880fcee9c/yarl-1.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07a524d84df0c10f41e3ee918846e1974aba4ec017f990dc735aad487a0bdfdf", size = 94400 }, + { url = "https://files.pythonhosted.org/packages/e2/7f/df1b6949b1fa1aa9ff6de6e2631876ad4b73c4437822026e85d8acb56bb1/yarl-1.22.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1b329cb8146d7b736677a2440e422eadd775d1806a81db2d4cded80a48efc1a", size = 347545 }, + { url = "https://files.pythonhosted.org/packages/84/09/f92ed93bd6cd77872ab6c3462df45ca45cd058d8f1d0c9b4f54c1704429f/yarl-1.22.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:75976c6945d85dbb9ee6308cd7ff7b1fb9409380c82d6119bd778d8fcfe2931c", size = 319598 }, + { url = "https://files.pythonhosted.org/packages/c3/97/ac3f3feae7d522cf7ccec3d340bb0b2b61c56cb9767923df62a135092c6b/yarl-1.22.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:80ddf7a5f8c86cb3eb4bc9028b07bbbf1f08a96c5c0bc1244be5e8fefcb94147", size = 363893 }, + { url = "https://files.pythonhosted.org/packages/06/49/f3219097403b9c84a4d079b1d7bda62dd9b86d0d6e4428c02d46ab2c77fc/yarl-1.22.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d332fc2e3c94dad927f2112395772a4e4fedbcf8f80efc21ed7cdfae4d574fdb", size = 371240 }, + { url = "https://files.pythonhosted.org/packages/35/9f/06b765d45c0e44e8ecf0fe15c9eacbbde342bb5b7561c46944f107bfb6c3/yarl-1.22.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cf71bf877efeac18b38d3930594c0948c82b64547c1cf420ba48722fe5509f6", size = 346965 }, + { url = "https://files.pythonhosted.org/packages/c5/69/599e7cea8d0fcb1694323b0db0dda317fa3162f7b90166faddecf532166f/yarl-1.22.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:663e1cadaddae26be034a6ab6072449a8426ddb03d500f43daf952b74553bba0", size = 342026 }, + { url = "https://files.pythonhosted.org/packages/95/6f/9dfd12c8bc90fea9eab39832ee32ea48f8e53d1256252a77b710c065c89f/yarl-1.22.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:6dcbb0829c671f305be48a7227918cfcd11276c2d637a8033a99a02b67bf9eda", size = 335637 }, + { url = "https://files.pythonhosted.org/packages/57/2e/34c5b4eb9b07e16e873db5b182c71e5f06f9b5af388cdaa97736d79dd9a6/yarl-1.22.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f0d97c18dfd9a9af4490631905a3f131a8e4c9e80a39353919e2cfed8f00aedc", size = 359082 }, + { url = "https://files.pythonhosted.org/packages/31/71/fa7e10fb772d273aa1f096ecb8ab8594117822f683bab7d2c5a89914c92a/yarl-1.22.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:437840083abe022c978470b942ff832c3940b2ad3734d424b7eaffcd07f76737", size = 357811 }, + { url = "https://files.pythonhosted.org/packages/26/da/11374c04e8e1184a6a03cf9c8f5688d3e5cec83ed6f31ad3481b3207f709/yarl-1.22.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a899cbd98dce6f5d8de1aad31cb712ec0a530abc0a86bd6edaa47c1090138467", size = 351223 }, + { url = "https://files.pythonhosted.org/packages/82/8f/e2d01f161b0c034a30410e375e191a5d27608c1f8693bab1a08b089ca096/yarl-1.22.0-cp310-cp310-win32.whl", hash = "sha256:595697f68bd1f0c1c159fcb97b661fc9c3f5db46498043555d04805430e79bea", size = 82118 }, + { url = "https://files.pythonhosted.org/packages/62/46/94c76196642dbeae634c7a61ba3da88cd77bed875bf6e4a8bed037505aa6/yarl-1.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:cb95a9b1adaa48e41815a55ae740cfda005758104049a640a398120bf02515ca", size = 86852 }, + { url = "https://files.pythonhosted.org/packages/af/af/7df4f179d3b1a6dcb9a4bd2ffbc67642746fcafdb62580e66876ce83fff4/yarl-1.22.0-cp310-cp310-win_arm64.whl", hash = "sha256:b85b982afde6df99ecc996990d4ad7ccbdbb70e2a4ba4de0aecde5922ba98a0b", size = 82012 }, + { url = "https://files.pythonhosted.org/packages/4d/27/5ab13fc84c76a0250afd3d26d5936349a35be56ce5785447d6c423b26d92/yarl-1.22.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ab72135b1f2db3fed3997d7e7dc1b80573c67138023852b6efb336a5eae6511", size = 141607 }, + { url = "https://files.pythonhosted.org/packages/6a/a1/d065d51d02dc02ce81501d476b9ed2229d9a990818332242a882d5d60340/yarl-1.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:669930400e375570189492dc8d8341301578e8493aec04aebc20d4717f899dd6", size = 94027 }, + { url = "https://files.pythonhosted.org/packages/c1/da/8da9f6a53f67b5106ffe902c6fa0164e10398d4e150d85838b82f424072a/yarl-1.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:792a2af6d58177ef7c19cbf0097aba92ca1b9cb3ffdd9c7470e156c8f9b5e028", size = 94963 }, + { url = "https://files.pythonhosted.org/packages/68/fe/2c1f674960c376e29cb0bec1249b117d11738db92a6ccc4a530b972648db/yarl-1.22.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ea66b1c11c9150f1372f69afb6b8116f2dd7286f38e14ea71a44eee9ec51b9d", size = 368406 }, + { url = "https://files.pythonhosted.org/packages/95/26/812a540e1c3c6418fec60e9bbd38e871eaba9545e94fa5eff8f4a8e28e1e/yarl-1.22.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3e2daa88dc91870215961e96a039ec73e4937da13cf77ce17f9cad0c18df3503", size = 336581 }, + { url = "https://files.pythonhosted.org/packages/0b/f5/5777b19e26fdf98563985e481f8be3d8a39f8734147a6ebf459d0dab5a6b/yarl-1.22.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba440ae430c00eee41509353628600212112cd5018d5def7e9b05ea7ac34eb65", size = 388924 }, + { url = "https://files.pythonhosted.org/packages/86/08/24bd2477bd59c0bbd994fe1d93b126e0472e4e3df5a96a277b0a55309e89/yarl-1.22.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e6438cc8f23a9c1478633d216b16104a586b9761db62bfacb6425bac0a36679e", size = 392890 }, + { url = "https://files.pythonhosted.org/packages/46/00/71b90ed48e895667ecfb1eaab27c1523ee2fa217433ed77a73b13205ca4b/yarl-1.22.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c52a6e78aef5cf47a98ef8e934755abf53953379b7d53e68b15ff4420e6683d", size = 365819 }, + { url = "https://files.pythonhosted.org/packages/30/2d/f715501cae832651d3282387c6a9236cd26bd00d0ff1e404b3dc52447884/yarl-1.22.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3b06bcadaac49c70f4c88af4ffcfbe3dc155aab3163e75777818092478bcbbe7", size = 363601 }, + { url = "https://files.pythonhosted.org/packages/f8/f9/a678c992d78e394e7126ee0b0e4e71bd2775e4334d00a9278c06a6cce96a/yarl-1.22.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:6944b2dc72c4d7f7052683487e3677456050ff77fcf5e6204e98caf785ad1967", size = 358072 }, + { url = "https://files.pythonhosted.org/packages/2c/d1/b49454411a60edb6fefdcad4f8e6dbba7d8019e3a508a1c5836cba6d0781/yarl-1.22.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d5372ca1df0f91a86b047d1277c2aaf1edb32d78bbcefffc81b40ffd18f027ed", size = 385311 }, + { url = "https://files.pythonhosted.org/packages/87/e5/40d7a94debb8448c7771a916d1861d6609dddf7958dc381117e7ba36d9e8/yarl-1.22.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:51af598701f5299012b8416486b40fceef8c26fc87dc6d7d1f6fc30609ea0aa6", size = 381094 }, + { url = "https://files.pythonhosted.org/packages/35/d8/611cc282502381ad855448643e1ad0538957fc82ae83dfe7762c14069e14/yarl-1.22.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b266bd01fedeffeeac01a79ae181719ff848a5a13ce10075adbefc8f1daee70e", size = 370944 }, + { url = "https://files.pythonhosted.org/packages/2d/df/fadd00fb1c90e1a5a8bd731fa3d3de2e165e5a3666a095b04e31b04d9cb6/yarl-1.22.0-cp311-cp311-win32.whl", hash = "sha256:a9b1ba5610a4e20f655258d5a1fdc7ebe3d837bb0e45b581398b99eb98b1f5ca", size = 81804 }, + { url = "https://files.pythonhosted.org/packages/b5/f7/149bb6f45f267cb5c074ac40c01c6b3ea6d8a620d34b337f6321928a1b4d/yarl-1.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:078278b9b0b11568937d9509b589ee83ef98ed6d561dfe2020e24a9fd08eaa2b", size = 86858 }, + { url = "https://files.pythonhosted.org/packages/2b/13/88b78b93ad3f2f0b78e13bfaaa24d11cbc746e93fe76d8c06bf139615646/yarl-1.22.0-cp311-cp311-win_arm64.whl", hash = "sha256:b6a6f620cfe13ccec221fa312139135166e47ae169f8253f72a0abc0dae94376", size = 81637 }, + { url = "https://files.pythonhosted.org/packages/75/ff/46736024fee3429b80a165a732e38e5d5a238721e634ab41b040d49f8738/yarl-1.22.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e340382d1afa5d32b892b3ff062436d592ec3d692aeea3bef3a5cfe11bbf8c6f", size = 142000 }, + { url = "https://files.pythonhosted.org/packages/5a/9a/b312ed670df903145598914770eb12de1bac44599549b3360acc96878df8/yarl-1.22.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f1e09112a2c31ffe8d80be1b0988fa6a18c5d5cad92a9ffbb1c04c91bfe52ad2", size = 94338 }, + { url = "https://files.pythonhosted.org/packages/ba/f5/0601483296f09c3c65e303d60c070a5c19fcdbc72daa061e96170785bc7d/yarl-1.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:939fe60db294c786f6b7c2d2e121576628468f65453d86b0fe36cb52f987bd74", size = 94909 }, + { url = "https://files.pythonhosted.org/packages/60/41/9a1fe0b73dbcefce72e46cf149b0e0a67612d60bfc90fb59c2b2efdfbd86/yarl-1.22.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1651bf8e0398574646744c1885a41198eba53dc8a9312b954073f845c90a8df", size = 372940 }, + { url = "https://files.pythonhosted.org/packages/17/7a/795cb6dfee561961c30b800f0ed616b923a2ec6258b5def2a00bf8231334/yarl-1.22.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b8a0588521a26bf92a57a1705b77b8b59044cdceccac7151bd8d229e66b8dedb", size = 345825 }, + { url = "https://files.pythonhosted.org/packages/d7/93/a58f4d596d2be2ae7bab1a5846c4d270b894958845753b2c606d666744d3/yarl-1.22.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:42188e6a615c1a75bcaa6e150c3fe8f3e8680471a6b10150c5f7e83f47cc34d2", size = 386705 }, + { url = "https://files.pythonhosted.org/packages/61/92/682279d0e099d0e14d7fd2e176bd04f48de1484f56546a3e1313cd6c8e7c/yarl-1.22.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6d2cb59377d99718913ad9a151030d6f83ef420a2b8f521d94609ecc106ee82", size = 396518 }, + { url = "https://files.pythonhosted.org/packages/db/0f/0d52c98b8a885aeda831224b78f3be7ec2e1aa4a62091f9f9188c3c65b56/yarl-1.22.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50678a3b71c751d58d7908edc96d332af328839eea883bb554a43f539101277a", size = 377267 }, + { url = "https://files.pythonhosted.org/packages/22/42/d2685e35908cbeaa6532c1fc73e89e7f2efb5d8a7df3959ea8e37177c5a3/yarl-1.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e8fbaa7cec507aa24ea27a01456e8dd4b6fab829059b69844bd348f2d467124", size = 365797 }, + { url = "https://files.pythonhosted.org/packages/a2/83/cf8c7bcc6355631762f7d8bdab920ad09b82efa6b722999dfb05afa6cfac/yarl-1.22.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:433885ab5431bc3d3d4f2f9bd15bfa1614c522b0f1405d62c4f926ccd69d04fa", size = 365535 }, + { url = "https://files.pythonhosted.org/packages/25/e1/5302ff9b28f0c59cac913b91fe3f16c59a033887e57ce9ca5d41a3a94737/yarl-1.22.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b790b39c7e9a4192dc2e201a282109ed2985a1ddbd5ac08dc56d0e121400a8f7", size = 382324 }, + { url = "https://files.pythonhosted.org/packages/bf/cd/4617eb60f032f19ae3a688dc990d8f0d89ee0ea378b61cac81ede3e52fae/yarl-1.22.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31f0b53913220599446872d757257be5898019c85e7971599065bc55065dc99d", size = 383803 }, + { url = "https://files.pythonhosted.org/packages/59/65/afc6e62bb506a319ea67b694551dab4a7e6fb7bf604e9bd9f3e11d575fec/yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a49370e8f711daec68d09b821a34e1167792ee2d24d405cbc2387be4f158b520", size = 374220 }, + { url = "https://files.pythonhosted.org/packages/e7/3d/68bf18d50dc674b942daec86a9ba922d3113d8399b0e52b9897530442da2/yarl-1.22.0-cp312-cp312-win32.whl", hash = "sha256:70dfd4f241c04bd9239d53b17f11e6ab672b9f1420364af63e8531198e3f5fe8", size = 81589 }, + { url = "https://files.pythonhosted.org/packages/c8/9a/6ad1a9b37c2f72874f93e691b2e7ecb6137fb2b899983125db4204e47575/yarl-1.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:8884d8b332a5e9b88e23f60bb166890009429391864c685e17bd73a9eda9105c", size = 87213 }, + { url = "https://files.pythonhosted.org/packages/44/c5/c21b562d1680a77634d748e30c653c3ca918beb35555cff24986fff54598/yarl-1.22.0-cp312-cp312-win_arm64.whl", hash = "sha256:ea70f61a47f3cc93bdf8b2f368ed359ef02a01ca6393916bc8ff877427181e74", size = 81330 }, + { url = "https://files.pythonhosted.org/packages/ea/f3/d67de7260456ee105dc1d162d43a019ecad6b91e2f51809d6cddaa56690e/yarl-1.22.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53", size = 139980 }, + { url = "https://files.pythonhosted.org/packages/01/88/04d98af0b47e0ef42597b9b28863b9060bb515524da0a65d5f4db160b2d5/yarl-1.22.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a", size = 93424 }, + { url = "https://files.pythonhosted.org/packages/18/91/3274b215fd8442a03975ce6bee5fe6aa57a8326b29b9d3d56234a1dca244/yarl-1.22.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c", size = 93821 }, + { url = "https://files.pythonhosted.org/packages/61/3a/caf4e25036db0f2da4ca22a353dfeb3c9d3c95d2761ebe9b14df8fc16eb0/yarl-1.22.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601", size = 373243 }, + { url = "https://files.pythonhosted.org/packages/6e/9e/51a77ac7516e8e7803b06e01f74e78649c24ee1021eca3d6a739cb6ea49c/yarl-1.22.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a", size = 342361 }, + { url = "https://files.pythonhosted.org/packages/d4/f8/33b92454789dde8407f156c00303e9a891f1f51a0330b0fad7c909f87692/yarl-1.22.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df", size = 387036 }, + { url = "https://files.pythonhosted.org/packages/d9/9a/c5db84ea024f76838220280f732970aa4ee154015d7f5c1bfb60a267af6f/yarl-1.22.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2", size = 397671 }, + { url = "https://files.pythonhosted.org/packages/11/c9/cd8538dc2e7727095e0c1d867bad1e40c98f37763e6d995c1939f5fdc7b1/yarl-1.22.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b", size = 377059 }, + { url = "https://files.pythonhosted.org/packages/a1/b9/ab437b261702ced75122ed78a876a6dec0a1b0f5e17a4ac7a9a2482d8abe/yarl-1.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273", size = 365356 }, + { url = "https://files.pythonhosted.org/packages/b2/9d/8e1ae6d1d008a9567877b08f0ce4077a29974c04c062dabdb923ed98e6fe/yarl-1.22.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a", size = 361331 }, + { url = "https://files.pythonhosted.org/packages/ca/5a/09b7be3905962f145b73beb468cdd53db8aa171cf18c80400a54c5b82846/yarl-1.22.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d", size = 382590 }, + { url = "https://files.pythonhosted.org/packages/aa/7f/59ec509abf90eda5048b0bc3e2d7b5099dffdb3e6b127019895ab9d5ef44/yarl-1.22.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02", size = 385316 }, + { url = "https://files.pythonhosted.org/packages/e5/84/891158426bc8036bfdfd862fabd0e0fa25df4176ec793e447f4b85cf1be4/yarl-1.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67", size = 374431 }, + { url = "https://files.pythonhosted.org/packages/bb/49/03da1580665baa8bef5e8ed34c6df2c2aca0a2f28bf397ed238cc1bbc6f2/yarl-1.22.0-cp313-cp313-win32.whl", hash = "sha256:d3e32536234a95f513bd374e93d717cf6b2231a791758de6c509e3653f234c95", size = 81555 }, + { url = "https://files.pythonhosted.org/packages/9a/ee/450914ae11b419eadd067c6183ae08381cfdfcb9798b90b2b713bbebddda/yarl-1.22.0-cp313-cp313-win_amd64.whl", hash = "sha256:47743b82b76d89a1d20b83e60d5c20314cbd5ba2befc9cda8f28300c4a08ed4d", size = 86965 }, + { url = "https://files.pythonhosted.org/packages/98/4d/264a01eae03b6cf629ad69bae94e3b0e5344741e929073678e84bf7a3e3b/yarl-1.22.0-cp313-cp313-win_arm64.whl", hash = "sha256:5d0fcda9608875f7d052eff120c7a5da474a6796fe4d83e152e0e4d42f6d1a9b", size = 81205 }, + { url = "https://files.pythonhosted.org/packages/88/fc/6908f062a2f77b5f9f6d69cecb1747260831ff206adcbc5b510aff88df91/yarl-1.22.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10", size = 146209 }, + { url = "https://files.pythonhosted.org/packages/65/47/76594ae8eab26210b4867be6f49129861ad33da1f1ebdf7051e98492bf62/yarl-1.22.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3", size = 95966 }, + { url = "https://files.pythonhosted.org/packages/ab/ce/05e9828a49271ba6b5b038b15b3934e996980dd78abdfeb52a04cfb9467e/yarl-1.22.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9", size = 97312 }, + { url = "https://files.pythonhosted.org/packages/d1/c5/7dffad5e4f2265b29c9d7ec869c369e4223166e4f9206fc2243ee9eea727/yarl-1.22.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f", size = 361967 }, + { url = "https://files.pythonhosted.org/packages/50/b2/375b933c93a54bff7fc041e1a6ad2c0f6f733ffb0c6e642ce56ee3b39970/yarl-1.22.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0", size = 323949 }, + { url = "https://files.pythonhosted.org/packages/66/50/bfc2a29a1d78644c5a7220ce2f304f38248dc94124a326794e677634b6cf/yarl-1.22.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e", size = 361818 }, + { url = "https://files.pythonhosted.org/packages/46/96/f3941a46af7d5d0f0498f86d71275696800ddcdd20426298e572b19b91ff/yarl-1.22.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708", size = 372626 }, + { url = "https://files.pythonhosted.org/packages/c1/42/8b27c83bb875cd89448e42cd627e0fb971fa1675c9ec546393d18826cb50/yarl-1.22.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f", size = 341129 }, + { url = "https://files.pythonhosted.org/packages/49/36/99ca3122201b382a3cf7cc937b95235b0ac944f7e9f2d5331d50821ed352/yarl-1.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d", size = 346776 }, + { url = "https://files.pythonhosted.org/packages/85/b4/47328bf996acd01a4c16ef9dcd2f59c969f495073616586f78cd5f2efb99/yarl-1.22.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8", size = 334879 }, + { url = "https://files.pythonhosted.org/packages/c2/ad/b77d7b3f14a4283bffb8e92c6026496f6de49751c2f97d4352242bba3990/yarl-1.22.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5", size = 350996 }, + { url = "https://files.pythonhosted.org/packages/81/c8/06e1d69295792ba54d556f06686cbd6a7ce39c22307100e3fb4a2c0b0a1d/yarl-1.22.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f", size = 356047 }, + { url = "https://files.pythonhosted.org/packages/4b/b8/4c0e9e9f597074b208d18cef227d83aac36184bfbc6eab204ea55783dbc5/yarl-1.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62", size = 342947 }, + { url = "https://files.pythonhosted.org/packages/e0/e5/11f140a58bf4c6ad7aca69a892bff0ee638c31bea4206748fc0df4ebcb3a/yarl-1.22.0-cp313-cp313t-win32.whl", hash = "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03", size = 86943 }, + { url = "https://files.pythonhosted.org/packages/31/74/8b74bae38ed7fe6793d0c15a0c8207bbb819cf287788459e5ed230996cdd/yarl-1.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249", size = 93715 }, + { url = "https://files.pythonhosted.org/packages/69/66/991858aa4b5892d57aef7ee1ba6b4d01ec3b7eb3060795d34090a3ca3278/yarl-1.22.0-cp313-cp313t-win_arm64.whl", hash = "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b", size = 83857 }, + { url = "https://files.pythonhosted.org/packages/46/b3/e20ef504049f1a1c54a814b4b9bed96d1ac0e0610c3b4da178f87209db05/yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4", size = 140520 }, + { url = "https://files.pythonhosted.org/packages/e4/04/3532d990fdbab02e5ede063676b5c4260e7f3abea2151099c2aa745acc4c/yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683", size = 93504 }, + { url = "https://files.pythonhosted.org/packages/11/63/ff458113c5c2dac9a9719ac68ee7c947cb621432bcf28c9972b1c0e83938/yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b", size = 94282 }, + { url = "https://files.pythonhosted.org/packages/a7/bc/315a56aca762d44a6aaaf7ad253f04d996cb6b27bad34410f82d76ea8038/yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e", size = 372080 }, + { url = "https://files.pythonhosted.org/packages/3f/3f/08e9b826ec2e099ea6e7c69a61272f4f6da62cb5b1b63590bb80ca2e4a40/yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590", size = 338696 }, + { url = "https://files.pythonhosted.org/packages/e3/9f/90360108e3b32bd76789088e99538febfea24a102380ae73827f62073543/yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2", size = 387121 }, + { url = "https://files.pythonhosted.org/packages/98/92/ab8d4657bd5b46a38094cfaea498f18bb70ce6b63508fd7e909bd1f93066/yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da", size = 394080 }, + { url = "https://files.pythonhosted.org/packages/f5/e7/d8c5a7752fef68205296201f8ec2bf718f5c805a7a7e9880576c67600658/yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784", size = 372661 }, + { url = "https://files.pythonhosted.org/packages/b6/2e/f4d26183c8db0bb82d491b072f3127fb8c381a6206a3a56332714b79b751/yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b", size = 364645 }, + { url = "https://files.pythonhosted.org/packages/80/7c/428e5812e6b87cd00ee8e898328a62c95825bf37c7fa87f0b6bb2ad31304/yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", size = 355361 }, + { url = "https://files.pythonhosted.org/packages/ec/2a/249405fd26776f8b13c067378ef4d7dd49c9098d1b6457cdd152a99e96a9/yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d", size = 381451 }, + { url = "https://files.pythonhosted.org/packages/67/a8/fb6b1adbe98cf1e2dd9fad71003d3a63a1bc22459c6e15f5714eb9323b93/yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", size = 383814 }, + { url = "https://files.pythonhosted.org/packages/d9/f9/3aa2c0e480fb73e872ae2814c43bc1e734740bb0d54e8cb2a95925f98131/yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da", size = 370799 }, + { url = "https://files.pythonhosted.org/packages/50/3c/af9dba3b8b5eeb302f36f16f92791f3ea62e3f47763406abf6d5a4a3333b/yarl-1.22.0-cp314-cp314-win32.whl", hash = "sha256:6a635ea45ba4ea8238463b4f7d0e721bad669f80878b7bfd1f89266e2ae63da2", size = 82990 }, + { url = "https://files.pythonhosted.org/packages/ac/30/ac3a0c5bdc1d6efd1b41fa24d4897a4329b3b1e98de9449679dd327af4f0/yarl-1.22.0-cp314-cp314-win_amd64.whl", hash = "sha256:0d6e6885777af0f110b0e5d7e5dda8b704efed3894da26220b7f3d887b839a79", size = 88292 }, + { url = "https://files.pythonhosted.org/packages/df/0a/227ab4ff5b998a1b7410abc7b46c9b7a26b0ca9e86c34ba4b8d8bc7c63d5/yarl-1.22.0-cp314-cp314-win_arm64.whl", hash = "sha256:8218f4e98d3c10d683584cb40f0424f4b9fd6e95610232dd75e13743b070ee33", size = 82888 }, + { url = "https://files.pythonhosted.org/packages/06/5e/a15eb13db90abd87dfbefb9760c0f3f257ac42a5cac7e75dbc23bed97a9f/yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1", size = 146223 }, + { url = "https://files.pythonhosted.org/packages/18/82/9665c61910d4d84f41a5bf6837597c89e665fa88aa4941080704645932a9/yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca", size = 95981 }, + { url = "https://files.pythonhosted.org/packages/5d/9a/2f65743589809af4d0a6d3aa749343c4b5f4c380cc24a8e94a3c6625a808/yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53", size = 97303 }, + { url = "https://files.pythonhosted.org/packages/b0/ab/5b13d3e157505c43c3b43b5a776cbf7b24a02bc4cccc40314771197e3508/yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c", size = 361820 }, + { url = "https://files.pythonhosted.org/packages/fb/76/242a5ef4677615cf95330cfc1b4610e78184400699bdda0acb897ef5e49a/yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf", size = 323203 }, + { url = "https://files.pythonhosted.org/packages/8c/96/475509110d3f0153b43d06164cf4195c64d16999e0c7e2d8a099adcd6907/yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face", size = 363173 }, + { url = "https://files.pythonhosted.org/packages/c9/66/59db471aecfbd559a1fd48aedd954435558cd98c7d0da8b03cc6c140a32c/yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b", size = 373562 }, + { url = "https://files.pythonhosted.org/packages/03/1f/c5d94abc91557384719da10ff166b916107c1b45e4d0423a88457071dd88/yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486", size = 339828 }, + { url = "https://files.pythonhosted.org/packages/5f/97/aa6a143d3afba17b6465733681c70cf175af89f76ec8d9286e08437a7454/yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", size = 347551 }, + { url = "https://files.pythonhosted.org/packages/43/3c/45a2b6d80195959239a7b2a8810506d4eea5487dce61c2a3393e7fc3c52e/yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", size = 334512 }, + { url = "https://files.pythonhosted.org/packages/86/a0/c2ab48d74599c7c84cb104ebd799c5813de252bea0f360ffc29d270c2caa/yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", size = 352400 }, + { url = "https://files.pythonhosted.org/packages/32/75/f8919b2eafc929567d3d8411f72bdb1a2109c01caaab4ebfa5f8ffadc15b/yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093", size = 357140 }, + { url = "https://files.pythonhosted.org/packages/cf/72/6a85bba382f22cf78add705d8c3731748397d986e197e53ecc7835e76de7/yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c", size = 341473 }, + { url = "https://files.pythonhosted.org/packages/35/18/55e6011f7c044dc80b98893060773cefcfdbf60dfefb8cb2f58b9bacbd83/yarl-1.22.0-cp314-cp314t-win32.whl", hash = "sha256:8009b3173bcd637be650922ac455946197d858b3630b6d8787aa9e5c4564533e", size = 89056 }, + { url = "https://files.pythonhosted.org/packages/f9/86/0f0dccb6e59a9e7f122c5afd43568b1d31b8ab7dda5f1b01fb5c7025c9a9/yarl-1.22.0-cp314-cp314t-win_amd64.whl", hash = "sha256:9fb17ea16e972c63d25d4a97f016d235c78dd2344820eb35bc034bc32012ee27", size = 96292 }, + { url = "https://files.pythonhosted.org/packages/48/b7/503c98092fb3b344a179579f55814b613c1fbb1c23b3ec14a7b008a66a6e/yarl-1.22.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1", size = 85171 }, + { url = "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814 }, +] + +[[package]] +name = "zlib-state" +version = "0.1.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/3e/dd482d5bf99d1dabcce0a20a479859cb7a6bd8a365b07b41ebf46b3c0f3d/zlib_state-0.1.10.tar.gz", hash = "sha256:c29b6b93cea1b80025fbc96fa91ceed8b5e7b54ef08f16d6e4c7f8fb56aad777", size = 9573 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/8d/06b2342bbc7c41f0d6b12918d5d146aa92bce8fd0aa8d466e4b9469f5351/zlib_state-0.1.10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6496c2601d9558b95fac123b02e2e4e7b5fc89d5d7301027c34cdf8221ddf2a4", size = 21421 }, + { url = "https://files.pythonhosted.org/packages/af/90/86e128938601f39e780cbc780767592daa112923279a5e58b62b49765fa5/zlib_state-0.1.10-cp310-cp310-win_amd64.whl", hash = "sha256:d33eb2b35c0c761fdb4716cb07772f3fe53158e3656c739ed79556d569325b1d", size = 12780 }, + { url = "https://files.pythonhosted.org/packages/05/a0/6e9cea198c52d8c2222f21860f0cad536138327e1aa876f59230efe171f5/zlib_state-0.1.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:683e1c908305d2ef30a67010563dd9e58a2a6829deebae964baf15e6188c1e20", size = 21454 }, + { url = "https://files.pythonhosted.org/packages/fb/a6/f30f54138d25017f7bfbfc26815f4ea33cde5723b604ecf1ab62ebf1c8ba/zlib_state-0.1.10-cp311-cp311-win_amd64.whl", hash = "sha256:4cb909c0fc36dc07299b5b6c6f93208f1c7ab9b26c3af52efa1057393201a22c", size = 12777 }, + { url = "https://files.pythonhosted.org/packages/9e/c9/318a8fa73d41b94810816815e38372d75a8c83c02c9d10dd796443b74ccd/zlib_state-0.1.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6d4f3196f84a4d504f4c04147ec7fd9132651883830f6f07be3702d82731f99e", size = 22001 }, + { url = "https://files.pythonhosted.org/packages/38/d8/89a7e7fbea33b20dcdefa122afde7e79a9fdbe75cf5b48e13a110a2c8c8e/zlib_state-0.1.10-cp312-cp312-win_amd64.whl", hash = "sha256:8465b3ddb7fc11e30a49f38615426e369dd1ac5d3d780d89e759e731dfc7bbf4", size = 12810 }, + { url = "https://files.pythonhosted.org/packages/70/0c/2b0803cb9f30bddbc9eda87d251d958d21cfdde826bc1deb1e19ca0ff320/zlib_state-0.1.10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dfecba070cdeeab073573ac721459727d60e0b8ef7b38dac3c965459781b0eeb", size = 22045 }, + { url = "https://files.pythonhosted.org/packages/b1/d2/74ff59bb480801eae2731523f98be198eec135a9d37e27791b635f2c9124/zlib_state-0.1.10-cp313-cp313-win_amd64.whl", hash = "sha256:72e354f09c942055677ba59d76ca8c311a8129dfc98c3b44db33302843090204", size = 12801 }, + { url = "https://files.pythonhosted.org/packages/e1/b2/83cfa28037f152d623c1cf716013e5938513d414e8ac3c0312e1b839928f/zlib_state-0.1.10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c86d39c50e046547e23d2f0170556444f1f385c251ce0d5cc00c9d7ed6c0ef1e", size = 22059 }, + { url = "https://files.pythonhosted.org/packages/1b/c2/8eb4a17910c50f786f0ccdbb39c5528ab40e2d7de0521a34f0e588273792/zlib_state-0.1.10-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b689928cf95b317f8491ab81f02d13864477622a3c3bd8a133420274d8c5bce0", size = 24117 }, +] From ea4a3ea2a11c080e7dc3acebadf10338ee5fa0e1 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Wed, 28 Jan 2026 06:35:41 +0000 Subject: [PATCH 19/20] remove keyword search rs --- backend/src/keyword_search.rs | 199 ---------------------- backend/src/lib.rs | 2 +- mobile_app/pubspec.lock | 48 ++++++ mobile_app/rust/src/api/keyword_search.rs | 0 mobile_app/rust/src/api/mod.rs | 3 +- 5 files changed, 50 insertions(+), 202 deletions(-) delete mode 100644 backend/src/keyword_search.rs delete mode 100644 mobile_app/rust/src/api/keyword_search.rs diff --git a/backend/src/keyword_search.rs b/backend/src/keyword_search.rs deleted file mode 100644 index 97c8ff7..0000000 --- a/backend/src/keyword_search.rs +++ /dev/null @@ -1,199 +0,0 @@ -use clap::{Args, Parser, Subcommand}; -use seekstorm::index::open_index; -use std::path::Path; - -struct SearchFn { - path_to_index: String, -} - -impl SearchFn { - pub async fn new() -> SearchFn { - use seekstorm::index::{ - AccessType, FrequentwordType, IndexMetaObject, NgramSet, SimilarityType, StemmerType, - StopwordType, TokenizerType, create_index, - }; - - let schema = serde_json::from_str(schema_json).unwrap(); - let meta = IndexMetaObject { - id: 0, - name: "acho_index".into(), - similarity: SimilarityType::Bm25f, - tokenizer: TokenizerType::AsciiAlphabetic, - stemmer: StemmerType::None, - stop_words: StopwordType::None, - frequent_words: FrequentwordType::English, - ngram_indexing: NgramSet::NgramFF as u8, - access_type: AccessType::Mmap, - spelling_correction: None, - query_completion: None, - }; - let segment_number_bits1 = 11; - let index_arc = create_index( - Path::new(self.path_to_index.as_str()), - meta, - &schema, - &Vec::new(), - 11, - false, - None, - ) - .await; - - SearchFn { - path_to_index: self.path_to_index.clone(), - } - } - - pub async fn ingest_json(&self, json_file: &Path) -> Result<(), Box> { - use seekstorm::ingest::IngestJson; - - let index_arc = open_index(Path::new(self.path_to_index.as_str()), false).await; - - match index_arc { - Ok(index_arc) => { - index_arc.ingest_json(json_file).await; - println!("{}", self.path_to_index); - } - - Err(_error) => { - // Err(error.into()); - println!("error: {}", error) - } - } - - Ok(()) - } - - ///Functionality to search index - pub async fn search_index(&self, query: String) { - use seekstorm::highlighter::{Highlight, highlighter}; - use seekstorm::search::{QueryFacet, QueryRewriting, QueryType, ResultType, Search}; - use std::collections::HashSet; - - let offset = 0; - let length = 10; - let query_type = QueryType::Intersection; - let result_type = ResultType::TopkCount; - let include_uncommitted = false; - let field_filter = Vec::new(); - let query_facets = vec![QueryFacet::String16 { - field: "town".to_string(), - prefix: "".to_string(), - length: u16::MAX, - }]; - let facet_filter = Vec::new(); - - let result_sort = Vec::new(); - let index_arc = open_index(Path::new(self.path_to_index.as_str()), false).await; - println!("{}", query); - - match index_arc { - Ok(index_arc) => { - let result_object = index_arc - .search( - query, - query_type, - offset, - length, - result_type, - include_uncommitted, - field_filter, - query_facets, - facet_filter, - result_sort, - QueryRewriting::SearchOnly, - ) - .await; - - // ### display results - - let highlights: Vec = vec![Highlight { - field: "body".to_owned(), - name: String::new(), - fragment_number: 2, - fragment_size: 160, - highlight_markup: true, - ..Default::default() - }]; - let highlighter = - Some(highlighter(&index_arc, highlights, result_object.query_terms).await); - let return_fields_filter = HashSet::new(); - let distance_fields = Vec::new(); - let index = index_arc.write().await; - - for result in result_object.results.iter() { - let doc = index - .get_document( - result.doc_id, - false, - &highlighter, - &return_fields_filter, - &distance_fields, - ) - .await - .unwrap(); - println!( - "result {} rank {} body field {:?}", - result.doc_id, - result.score, - doc.get("body") - ); - } - println!( - "result counts {} {} {}", - result_object.results.len(), - result_object.result_count, - result_object.result_count_total - ); - - println!( - "{}", - serde_json::to_string_pretty(&result_object.facets).unwrap() - ); - } - - Err(_error) => { - // Err(error.into()); - } - } - } -} - -///CLI for keyword search -#[derive(Parser, Debug)] -#[command(version, about = "Index documents")] -pub struct SearchCli { - #[command(subcommand)] - pub action: Action, -} - -#[derive(Subcommand, Debug)] -pub enum Action { - Index { path_to_file: String }, - Search { keyword: String }, -} - -pub async fn search() -> Result<(), Box> { - let cli = SearchCli::parse(); - - match &cli.action { - Action::Index { path_to_file } => { - let user_search = SearchFn::new(&SearchFn { - path_to_index: String::from(""), //TODO: Add path_to_index - }) - .await; - let _ = user_search.ingest_json(Path::new(&path_to_file)).await; - Ok(()) - } - - Action::Search { keyword } => { - let user_search = SearchFn::new(&SearchFn { - path_to_index: String::from(""), //TODO: Add path_to_index - }) - .await; - - let _ = user_search.search_index(keyword.to_string()).await; - Ok(()) - } - } -} diff --git a/backend/src/lib.rs b/backend/src/lib.rs index d87586f..8b13789 100644 --- a/backend/src/lib.rs +++ b/backend/src/lib.rs @@ -1 +1 @@ -pub mod keyword_search.rs + diff --git a/mobile_app/pubspec.lock b/mobile_app/pubspec.lock index dea6c3b..c641df9 100644 --- a/mobile_app/pubspec.lock +++ b/mobile_app/pubspec.lock @@ -219,6 +219,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.11.1" + flutter_tantivy: + dependency: "direct main" + description: + name: flutter_tantivy + sha256: "5b024e4d68bff5aecd7397e20c9ae9e13d19288b707eb9b71233134a861935b5" + url: "https://pub.dev" + source: hosted + version: "0.0.1" flutter_test: dependency: "direct dev" description: flutter @@ -274,11 +282,35 @@ packages: url: "https://pub.dev" source: hosted version: "0.20.5" + http: + dependency: transitive + description: + name: http + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" + url: "https://pub.dev" + source: hosted + version: "1.6.0" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" integration_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" + intl: + dependency: transitive + description: + name: intl + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + url: "https://pub.dev" + source: hosted + version: "0.20.2" json_annotation: dependency: transitive description: @@ -595,6 +627,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.1" + syncfusion_flutter_core: + dependency: transitive + description: + name: syncfusion_flutter_core + sha256: "44ec7f2bc3257d4d5ecae9ad2ed73ec1ca123323e0b1662441bc7f756530844f" + url: "https://pub.dev" + source: hosted + version: "32.1.25" + syncfusion_flutter_pdf: + dependency: "direct main" + description: + name: syncfusion_flutter_pdf + sha256: "3cb4d617cb7c98850a9a19ab21d4d7140b1f753316b23c416c5f598671446fdc" + url: "https://pub.dev" + source: hosted + version: "32.1.25" term_glyph: dependency: transitive description: diff --git a/mobile_app/rust/src/api/keyword_search.rs b/mobile_app/rust/src/api/keyword_search.rs deleted file mode 100644 index e69de29..0000000 diff --git a/mobile_app/rust/src/api/mod.rs b/mobile_app/rust/src/api/mod.rs index a7da100..299aafc 100644 --- a/mobile_app/rust/src/api/mod.rs +++ b/mobile_app/rust/src/api/mod.rs @@ -1,2 +1 @@ -pub mod simple; -pub mod keyword_search; \ No newline at end of file +pub mod simple; \ No newline at end of file From c85ff43e578bbed027f79683cff8119dca19b3c8 Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Wed, 28 Jan 2026 06:36:19 +0000 Subject: [PATCH 20/20] dart format --- mobile_app/lib/home.dart | 227 ++++++++++++++++++-------------------- mobile_app/lib/utils.dart | 5 +- 2 files changed, 112 insertions(+), 120 deletions(-) diff --git a/mobile_app/lib/home.dart b/mobile_app/lib/home.dart index e5271cc..7509d9f 100644 --- a/mobile_app/lib/home.dart +++ b/mobile_app/lib/home.dart @@ -19,12 +19,10 @@ class _HomeAppState extends State { List matchedDocuments = []; List searchedItems = []; - @override Widget build(BuildContext context) { double width = MediaQuery.sizeOf(context).width; - void _showDocumentDetails(SearchResult result) { showDialog( context: context, @@ -65,128 +63,119 @@ class _HomeAppState extends State { ); } - return SizedBox.shrink( - child: Column( - children: [ - SizedBox( - height: 70, - width: width - 40, - child: SearchBar( - leading: const Icon(Icons.search), - hintText: "Search...", - shape: WidgetStateProperty.all( - const RoundedRectangleBorder( - borderRadius: BorderRadius.all( - Radius.circular(3)), // This makes the corners square - ), + child: Column(children: [ + SizedBox( + height: 70, + width: width - 40, + child: SearchBar( + leading: const Icon(Icons.search), + hintText: "Search...", + shape: WidgetStateProperty.all( + const RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(3)), // This makes the corners square ), - - backgroundColor: WidgetStateProperty.all(Colors.grey[200]), - elevation: WidgetStateProperty.all(0), // Flat style - - onChanged: (text) { - - }, - onSubmitted: (text) async { - final List docs = await compute(findMatch, text); - //TODO: Handle enter key press, - //TODO: similar to above depending on latency we may just use this - saveSearchHistory(text); - setState(() { - matchedDocuments = docs; - }); - - List _searchedItems = await getSearchHistory(); - setState(() { - searchedItems = _searchedItems; - }); - - }, ), - ), - const ListTile( - leading: Text( - "Recent Searches", - style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - )),Row( - children: List.generate(min(searchedItems.length, 3), (int index) { - return Expanded( - child: OutlinedButton( - //TODO: style to make borders visible - style: OutlinedButton.styleFrom( - shape: const StadiumBorder(), // Makes it look like a pill/chip - side: BorderSide(color: Colors.grey[300]!), - ), - onPressed: () async { - final List docs = await compute(findMatch, searchedItems[index]); - - setState(() { - matchedDocuments = docs; - }); - }, - child: - Text(searchedItems[index]), // Display results from search - )); - })), - matchedDocuments.length >= 1 - ? const ListTile( - leading: Text( - "Matching Documents", - style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - )) - : Expanded( - child: Column( - children: [ - const ListTile( - leading: Text( - "Files", - style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - )), - Column( - children: List.generate(widget.files.length, (int index) { - String fileName = widget.files[index].path.split("/").last; - String fileType = widget.files[index].path - .split("/") - .last - .split(".") - .last; - Map fileIcon = { - "pdf": Icon(Icons.picture_as_pdf) - }; - - return ListTile( - leading: fileIcon[fileType] ?? Icon(Icons.book), - trailing: Icon(Icons.chevron_right), - //TODO: style to make borders visible - onTap: () { - PdfScanner().openFile(widget.files[index]); - //TODO: Handle click, popular search bar with text controller - }, - title: Text(fileName), // Display results from search - ); - })), - ], - )), - Expanded( + backgroundColor: WidgetStateProperty.all(Colors.grey[200]), + elevation: WidgetStateProperty.all(0), // Flat style + + onChanged: (text) {}, + onSubmitted: (text) async { + final List docs = await compute(findMatch, text); + //TODO: Handle enter key press, + //TODO: similar to above depending on latency we may just use this + saveSearchHistory(text); + setState(() { + matchedDocuments = docs; + }); + + List _searchedItems = await getSearchHistory(); + setState(() { + searchedItems = _searchedItems; + }); + }, + ), + ), + const ListTile( + leading: Text( + "Recent Searches", + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + )), + Row( + children: List.generate(min(searchedItems.length, 3), (int index) { + return Expanded( + child: OutlinedButton( + //TODO: style to make borders visible + style: OutlinedButton.styleFrom( + shape: const StadiumBorder(), // Makes it look like a pill/chip + side: BorderSide(color: Colors.grey[300]!), + ), + onPressed: () async { + final List docs = + await compute(findMatch, searchedItems[index]); + + setState(() { + matchedDocuments = docs; + }); + }, + child: Text(searchedItems[index]), // Display results from search + )); + })), + matchedDocuments.length >= 1 + ? const ListTile( + leading: Text( + "Matching Documents", + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + )) + : Expanded( + child: Column( + children: [ + const ListTile( + leading: Text( + "Files", + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + )), + Column( + children: List.generate(widget.files.length, (int index) { + String fileName = widget.files[index].path.split("/").last; + String fileType = + widget.files[index].path.split("/").last.split(".").last; + + Map fileIcon = { + "pdf": Icon(Icons.picture_as_pdf) + }; + + return ListTile( + leading: fileIcon[fileType] ?? Icon(Icons.book), + trailing: Icon(Icons.chevron_right), + //TODO: style to make borders visible + onTap: () { + PdfScanner().openFile(widget.files[index]); + //TODO: Handle click, popular search bar with text controller + }, + title: Text(fileName), // Display results from search + ); + })), + ], + )), + Expanded( child: ListView.builder( - itemCount: matchedDocuments.length, - itemBuilder: (context, index) { - final result = matchedDocuments[index]; - - return ListTile( - leading: const Icon(Icons.picture_as_pdf), - onTap: () { - _showDocumentDetails(result); - }, - trailing: const Icon(Icons.chevron_right), - title: Text(result - .doc - .text - .substring(0, 50)), // Display results from search - ); - })), + itemCount: matchedDocuments.length, + itemBuilder: (context, index) { + final result = matchedDocuments[index]; + + return ListTile( + leading: const Icon(Icons.picture_as_pdf), + onTap: () { + _showDocumentDetails(result); + }, + trailing: const Icon(Icons.chevron_right), + title: Text(result.doc.text + .substring(0, 50)), // Display results from search + ); + })), ])); } } diff --git a/mobile_app/lib/utils.dart b/mobile_app/lib/utils.dart index 96d5b42..3eb0365 100644 --- a/mobile_app/lib/utils.dart +++ b/mobile_app/lib/utils.dart @@ -79,7 +79,9 @@ class PdfScanner { final PdfTextExtractor extractor = PdfTextExtractor(document); for (int j = 0; j < document.pages.count; j++) { String pageText = extractor.extractText(startPageIndex: j); - final doc = Document(id: "${fileName}-${j.toString()}", text: pageText.replaceAll(j.toString(), " ")); + final doc = Document( + id: "${fileName}-${j.toString()}", + text: pageText.replaceAll(j.toString(), " ")); await addDocument(doc: doc); } document.dispose(); @@ -115,6 +117,7 @@ Future saveSearchHistory(String text) async { await file.writeAsString(history.join('\n') + '\n'); } + Future> getSearchHistory() async { try { final directory = await getApplicationDocumentsDirectory();